# Full Content Archive for Dariusz Więckiewicz 🇵🇱 [PL]

This document contains the complete text content of the website for comprehensive AI context and analysis.


---
## Hugo, Netlify i dylemat z plikiem llms.txt
- **URL:** https://dariusz.wieckiewicz.org/hugo-netlify-llms-txt/
- **Date:** 2026-06-21
- **Tags:** Hugo, Netlify, Modele LLM, Przeglądanie autonomiczne, SEO, PageSpeed Insights

### Content

Temat `llms.txt` i dyskusje wokół niego budzą ostatnio spore kontrowersje.

Z jednej strony zespół Google odpowiedzialny za relacje z wyszukiwarką (Search Relations, prowadzony przez Johna Muellera i Gary'ego Illyesa) wprost zadeklarował, że pliki `llms.txt` w żaden sposób nie wpływają na SEO ani pozycję w wynikach wyszukiwania. Z drugiej strony zespół rozwijający narzędzia dla deweloperów dodał niedawno do Lighthouse oraz PageSpeed Insights eksperymentalną kategorię **„Agentic Browsing”** (przeglądanie autonomiczne), która sprawdza obecność pliku `llms.txt` podczas audytu strony.

Może się to wydawać sprzeczne, ale wszystko układa się w logiczną całość, gdy oddzielimy **indeksowanie stron w wyszukiwarce** od **nawigacji realizowanej bezpośrednio na stronie**.

<!--more-->

## Spojrzenie zespołu ds. wyszukiwarki — John Mueller

Krytyka ze strony Johna Muellera skupia się wyłącznie na kwestiach związanych z **SEO, indeksowaniem stron oraz zaufaniem**.

Wyszukiwarka Google ignoruje plik `llms.txt`, ponieważ zawiera on informacje deklaratywne, tworzone przez samych właścicieli stron. Jeśli dana marka napisze w swoim pliku `llms.txt`: *„Jesteśmy absolutnie najlepszą kancelarią prawną w Koszalinie”*, sztuczna inteligencja nie może na tej podstawie uplasować jej wyżej od konkurencji. Mueller porównał to rozwiązanie do starych tagów `meta keywords` z lat dwutysięcznych — webmasterzy zbyt łatwo mogliby nimi manipulować lub upychać tam spam. Z tego powodu wyszukiwarka Google oraz sekcja AI Overviews (podsumowania AI) opierają się na standardowym kodzie HTML oraz zewnętrznych sygnałach określających autorytet strony.

## PageSpeed a przeglądanie autonomiczne (Agentic Browsing)

Nowe audyty w sekcji **Agentic Browsing** w PageSpeed Insights nie oceniają Twojej strony pod kątem SEO. Ich celem jest sprawdzenie, jak łatwo agent AI może **wchodzić w interakcję ze stroną i z niej korzystać** *po tym*, jak już na nią trafi.

Gdy agent AI odwiedza Twoją witrynę w celu wykonania konkretnego zadania, potrzebuje jasnych wskazówek.

Plik **`llms.txt`** działa jak mapa lub spis sklepów umieszczony przy wejściu do centrum handlowego. Informuje on bota o istnieniu kluczowych podstron, dzięki czemu nie marnuje on czasu ani tokenów okna kontekstowego na bezmyślne przeszukiwanie całej struktury HTML.

---

O ile temat `llms.txt` to jedna kwestia, o tyle niezwykle interesująca okazała się analiza pod kątem **dostępności (accessibility)**.

PageSpeed Insights to świetne miejsce do oceny kondycji Twojej strony. Jeśli wykryjesz tam jakieś błędy, możesz nad nimi popracować, aby ulepszyć witrynę. Problem pojawia się w sytuacji – szczególnie gdy Twoje statystyki są słabe i strona nie zalicza **testu Core Web Vitals** – kiedy dane nie odświeżają się z dnia na dzień. Możesz naprawić wszystkie usterki dzisiaj, ale na to, by zobaczyć, jak wprowadzone zmiany wpłyną na końcowy wynik, przyjdzie Ci poczekać 28 dni lub dłużej.

**Drzewo dostępności (Accessibility Tree) i wskaźnik CLS:** Upewnij się, że układ strony jest stabilny i prawidłowo oznaczony etykietami. Dzięki temu agent AI analizujący kod (lub robiący zrzuty ekranu) nie przeoczy ważnych przycisków ani nie kliknie w puste miejsce, jeśli zawartość strony nagle się przesunie.

---

Temat `llms.txt` nie jest już żadną nowością. Wiele osób tworzących swoje strony za pomocą generatorów witryn statycznych (SSG), takich jak Hugo, zdążyło już wypracować sposoby na automatyczne wdrażanie tego rozwiązania.

Ja również postanowiłem pójść tą drogą, ale zależało mi na stworzeniu bardziej uniwersalnego szablonu. Część moich witryn jest dostępna wyłącznie po angielsku, inne tylko po polsku, ale mam też takie, które obsługują dwa lub trzy języki — szablon musiał więc bezproblemowo radzić sobie w każdym z tych scenariuszy.

Dla sztucznej inteligencji język nie ma aż tak dużego znaczenia jak dla nas, ludzi. Choć polszczyzna została uznana za jeden z najlepszych języków dla AI ze względu na swoją precyzję i opisowość (co zresztą sprawia, że obcokrajowcom tak trudno się jej nauczyć, w przeciwieństwie do angielskiego, w którym wiele niuansów umyka w tłumaczeniu), zdecydowałem, że na wszystkich moich stronach plik `llms.txt` będzie generowany po angielsku.

Warto pamiętać, że funkcja **Agentic Browsing** weryfikuje przede wszystkim to, czy plik `llms.txt` **spełnia wytyczne** opisane na stronie [llmstxt.org](https://llmstxt.org/).

> Zgodnie z oficjalną specyfikacją plik wymaga konkretnej struktury podzielonej na sekcje: głównego tytułu (`#`), krótkiego opisu, opcjonalnej listy kluczowych szczegółów, a następnie sekcji dla głównych podstron (`##`) oraz zasobów zewnętrznych.

Zanim jednak przejdę do samego szablonu, muszę odpowiednio skonfigurować Hugo, aby generował ten plik automatycznie — zwyczajnie nie mam czasu na ręczne aktualizowanie go przy każdej zmianie.

{{% ads-in-article %}}

## Hugo — Konfiguracja

W pliku konfiguracyjnym Hugo `hugo.toml` muszę znaleźć sekcję `[outputs]` i dodać opcję generowania odpowiednich plików.

Struktura `llms.txt` powinna być minimalistyczna, aby nie przeciążać AI nadmiarem informacji. Nie ma sensu wrzucać całej zawartości witryny do jednego pliku. 

Inspirując się artykułem [Getting our Hugo+Netlify site agent compatible](https://www.linkedin.com/pulse/getting-our-hugonetlify-site-agent-compatible-steph-locke-bnjoe/) autorstwa [Steph Locke](https://www.linkedin.com/in/stephanielocke/), zdecydowałem się na podejście oparte na dwóch osobnych plikach:

* `llms.txt` — uporządkowany indeks stron
* `llms-full.txt` — wersja z pełną zawartością do głębszego indeksowania

Mój wpis w konfiguracji będzie wyglądał następująco:
```toml
[outputs]
  page = [ "html"]
  home = [ "html", "rss", "llms", "llmsfull"]
```

Po tym kroku musimy zdefiniować te dwa formaty i określić, za co dokładnie odpowiada każdy z nich.
```toml
[outputFormats.llms]
  baseName = "llms"
  isPlainText = true
  mediaType = "text/plain"

[outputFormats.llmsfull]
  baseName = "llms-full"
  isPlainText = true
  mediaType = "text/plain"
```

## Hugo — Poprawka nagłówka w Netlify

Jeśli po prostu wygenerujesz plik `llms.txt` za pomocą Hugo, Netlify zaserwuje go ze standardowym nagłówkiem `text/plain` (zgodnie z rozszerzeniem). Jednak ze względu na to, że plik ten zawiera składnię Markdown, przeglądarki oraz zaawansowane agenty AI mogą mieć problem z jego prawidłowym zinterpretowaniem.

Aby temu zaradzić, warto wymusić na Netlify przesyłanie pliku jako Markdown, nawet jeśli zachowuje on rozszerzenie `.txt`. Możesz to skonfigurować bezpośrednio w pliku `netlify.toml`, dzięki czemu Netlify doda odpowiedni nagłówek przy każdym zapytaniu o ten plik:

```
[[headers]]
  for = "/llms.txt"
  [headers.values]
    Content-Type = "text/markdown; charset=utf-8"

[[headers]]
  for = "/llms-full.txt"
  [headers.values]
    Content-Type = "text/markdown; charset=utf-8"
```

Albo korzystając z mojej ulubionej metody, czyli za pomocą pliku `_headers` umieszczonego w katalogu `static`.

```
/llms.txt
  Content-Type: text/markdown; charset=utf-8

/llms-full.txt
  Content-Type: text/markdown; charset=utf-8
```

## Hugo — Szablon

Mając to wszystko przygotowane, mogę przejść do stworzenia szablonu.

> Podczas weryfikacji obecności pliku `llms.txt`, funkcja Agentic Browsing *na ten moment* nie szuka go w podfolderach — sprawdza wyłącznie katalog główny domeny. Jeśli jednak moja główna strona znajduje się w katalogu `/`, a pozostałe wersje językowe w podfolderach (np. `/en/`), chcę zachować strukturę analogiczną do map stron (sitemaps). Szczególnie w przypadku witryn wielojęzycznych zależy mi na tym, aby informować AI o innych dostępnych wersjach językowych oraz o pliku `llms-full.txt`.

Zaczynamy od pliku `layout/home.llms.txt`, który posłuży do wygenerowania `llms.txt`

```markdown
# {{ .Site.Title }} [Language: {{ .Language.Name | upper }}]

> {{ .Site.Params.description | default "Website content index for AI agents." }}

{{ if .IsTranslated -}}
## Alternative Languages
{{ range .AllTranslations -}}
- [{{ .Language.Label }}]({{ .Permalink }}llms.txt)
{{ end }}
{{- end }}

## Key Information
- Current Language: {{ .Language.Lang }}
- Full Content Archive: {{ with .OutputFormats.Get "llmsfull" }}{{ .Permalink }}{{ else }}{{ "llms-full.txt" | absURL }}{{ end }}

## Main Sections
{{ range .Site.Sections -}}
- [{{ .Title }}]({{ .Permalink }}): {{ .Description | default (printf "Browse the %s section." .Title) }}
{{ end }}

## Recent Content
{{ range first 15 .Site.RegularPages -}}
- [{{ .Title }}]({{ .Permalink }}): {{ .Summary | plainify | htmlUnescape | chomp }}
{{ end }}
```

A następnie przechodzimy do pliku `home.llmsfull.txt`, który wygeneruje `llms-full.txt`

```markdown
# Full Content Archive for {{ .Site.Title }} [{{ .Language.Name | upper }}]

This document contains the complete text content of the website for comprehensive AI context and analysis.

{{ range .Site.RegularPages }}
---
## {{ .Title }}
- **URL:** {{ .Permalink }}
- **Date:** {{ .Date.Format "2006-01-02" }}
{{ with .Params.tags -}}- **Tags:** {{ delimit . ", " }}{{ end }}

### Content
{{ .RawContent }}

{{ end }}
```

To podejście pozwala uzyskać **uniwersalny i inteligentnie dopasowany do kontekstu** efekt. Szablon dynamicznie wykrywa bieżący język, automatycznie zmienia nagłówki i wyświetla listę stron należących *wyłącznie* do tej konkretnej wersji językowej.

W przypadku mojej strony, kiedy Hugo generuje plik `/llms.txt`, zmienna `.Language.Lang` ma wartość `"pl"`. Nagłówki zmieniają się na polskie, a pętla `.Site.RegularPages` przetwarza *tylko* artykuły napisane po polsku.

Gdy z kolei Hugo przechodzi do budowania pliku `/en/llms.txt`, zmienna `.Language.Lang` przyjmuje wartość `"en"`. Nagłówki natychmiast przełączają się na język angielski, a system generuje listę składającą się *wyłącznie* z anglojęzycznych wpisów.

Jeśli w konfiguracji `hugo.toml` masz zdefiniowany trzeci lub czwarty język, ten szablon nie wymaga absolutnie żadnych modyfikacji w kodzie i od razu działa bez zarzutu!

{{% ads-in-article %}}

---

W ten prosty sposób, bez względu na to, czy chcesz się w to zagłębiać, czy nie, całość działa w trybie „ustaw i zapomnij” – a PageSpeed Insights w sekcji Agentic Browsing bez problemu zaliczy test obecności pliku `llms.txt`.

Oto moje pliki wygenerowane już po wdrożeniu, jeśli chcesz sprawdzić, jak wyglądają i co zawierają:

* [https://dariusz.wieckiewicz.org/llms.txt](https://dariusz.wieckiewicz.org/llms.txt)
* [https://dariusz.wieckiewicz.org/en/llms.txt](https://dariusz.wieckiewicz.org/en/llms.txt)

* [https://dariusz.wieckiewicz.org/llms-full.txt](https://dariusz.wieckiewicz.org/llms-full.txt)
* [https://dariusz.wieckiewicz.org/en/llms-full.txt](https://dariusz.wieckiewicz.org/en/llms-full.txt)


---
## Przesiadka z Apple Watch: jednoczesna degradacja i ulepszenie
- **URL:** https://dariusz.wieckiewicz.org/przesiadka-z-apple-watch/
- **Date:** 2026-05-20
- **Tags:** Apple Watch, Smartwatch, Huawei Watch GT 5 Pro, Smartwatch hybrydowy, Opaska fitness, Żywotność baterii, Cyfrowy detoks, Withings ScanWatch 2, Garmin Venu 4, Xiaomi Smart Band

### Content

Jako użytkownik iPhone'a naturalne jest, że sięgam po urządzenia marki Apple, by zaspokoić codzienne potrzeby. Moim pierwszym Apple Watchem był Series 4, potem Series 6. Po kilku latach przesiadłem się na Series 10. Tym razem, przynajmniej w moim przypadku, nie planuję kolejnej aktualizacji we wrześniu 2026 roku, niezależnie od tego, która seria pojawi się jako następna.

*Pamiętam, jak dwadzieścia lat temu kupowałem dzwonki na telefon; dziś mój telefon przez większość czasu milczy, z pewnymi wyjątkami dla ważnych połączeń.*

Od lat jestem zadowolonym użytkownikiem Apple Watcha. Nie mam mu nic do zarzucenia, poza jedną kwestią. Urządzenie samo w sobie stało się doskonałe dzięki medycznym czujnikom. Często słyszymy historie o tym, jak Apple Watch uratował komuś życie, wcześnie wykrywając schorzenia mogące prowadzić do sytuacji zagrożenia życia.

Teraz, gdy jestem po czterdziestce, przyglądam się temu aspektowi znacznie uważniej. Funkcje zdrowotne stały się dla mnie głównym argumentem sprzedażowym. Jednak inne aspekty powoli zaczęły mnie irytować.

Wszystkie pomiary odbywają się w tle i są ładnie synchronizowane z moim urządzeniem. Funkcje komunikacyjne stały się jednak bardziej uciążliwe, zwłaszcza podczas stresujących dni w pracy. Ciągłe wibracje stały się rozpraszaczem, a nie użyteczną funkcją.

W ostatnich miesiącach próbowałem zerwać z uzależnieniem od ekranu zegarka. Doszło do tego, że naprawdę chciałem czegoś, co mniej przypomina telefon na nadgarstku, a bardziej zwykły zegarek – ale bez utraty tych kluczowych możliwości pomiarowych.

**Zacząłem więc szukać alternatywy.**

<!--more-->

Zanim przesiadłem się na Apple Watcha, używałem opasek Xiaomi Mi Band (obecnie pod marką Xiaomi Smart Band).

Zaczynając od pierwszej generacji, która nawet nie miała ekranu, a jedynie trzy diody LED, przeszedłem przez różne modele. Wciąż mam w domu generacje 6, 7 i 8, a moja córka wkrótce będzie używać najnowszej, 10. generacji.

Używałem Mi Banda, gdy byłem jeszcze zagorzałym użytkownikiem Androida. Nawet po przejściu do ekosystemu Apple, udawało mi się synchronizować dane z opasek wszędzie tam, gdzie potrzebowałem, używając dedykowanych aplikacji.

Mój pierwszy Apple Watch był prezentem i znaczącym ulepszeniem względem ówczesnego Mi Banda, więc trzymałem się tego ekosystemu aż do Series 10.

Pominąłem Series 11, a w tym roku zacząłem na nowo rozważać alternatywę. Na szczęście na rynku jest ogromny wybór.

Chcę zegarka, który dobrze wygląda i dokładnie mierzy to, co jest potrzebne, ale działa wystarczająco długo, zanim będę "musiał" go wymienić.

W przypadku Apple Watcha Series 6 wytrzymałem aż do pojawienia się Series 10 – nie dlatego, że wszystko było idealne, a raczej przeciwnie.

Mój Series 6 w końcu uległ awarii, ale [Apple mnie nie zawiodło](/en/apple-service-experience-to-infinity-and-beyond/). Kiedy bateria się zużyła, otrzymałem egzemplarz zastępczy, mimo że nie miałem już gwarancji ani AppleCare. Tutaj prawdopodobnie pomogła brytyjska zasada ["SAD FART"](https://www.moneysavingexpert.com/reclaim/consumer-rights-refunds-exchange/), choć wtedy nie wiedziałem o niej tyle, co teraz.

Głównym problemem Apple Watcha była konieczność wyrobienia nawyku ładowania go każdego dnia.

Mam biurko, na którym kładę go przed snem. Dzięki temu mogę utrzymać pełny dzień użytkowania.

Tutaj jednak straciłem możliwość śledzenia snu. Mimo że zegarek ma taką opcję, musiałbym pamiętać o naładowaniu go wcześnie rano i nie zapomnieć zdjąć go z ładowarki przed wyjściem z domu.

Stało się to bardziej uciążliwe niż użyteczne, więc po prostu całkowicie zrezygnowałem ze śledzenia snu.

Opaski Xiaomi Mi (Smart) Band rozpieściły mnie długim czasem pracy na baterii, liczonym w dniach, a nie godzinach.

Dlatego przestałem rozważać zakup kolejnego Apple Watcha – przynajmniej dopóki Apple znacząco nie naprawi baterii, wydłużając jej czas pracy do przynajmniej kilku dni.

Nie wierzę, żeby stało się to w najbliższym czasie. Dlatego postanowiłem poszukać gdzie indziej, zwłaszcza że konkurencja na rynku poradziła sobie z tym problemem!

## Withings ScanWatch 2

Hybrydowy smartwatch, taki jak Withings ScanWatch 2, przykuł moją uwagę (a może zrobiła to reklama w mediach społecznościowych).

Posiada fizyczne, mechaniczne wskazówki i prawdziwą tarczę. W środku ukryto maleńkie, czarno-białe kółko OLED dla powiadomień i danych zdrowotnych. Wygląda jak klasyczny zegarek premium i jest znacznie bardziej dyskretny.

Dodatkowo może pochwalić się oszałamiającą 30-dniową żywotnością baterii. Możesz wyjechać na miesięczne wakacje bez pakowania ładowarki.

Zarówno Withings, jak i Apple oferują bardzo dokładne, medyczne czujniki. Główny punkt zapalny Apple Watcha – żywotność baterii – został tutaj dobrze rozwiązany.

Moim głównym celem było ograniczenie interakcji z ekranem zegarka i skupienie się na długoterminowym monitorowaniu zdrowia.

Dodatkowo chcę, aby to urządzenie służyło latami, nie stając się przestarzałym i zawodnym.

Apple Watch to po prostu maleńki komputer na nadgarstku, który wymaga dużo energii do działania. Z tego powodu, oraz ze względu na schemat codziennego ładowania, bateria degraduje w ciągu dwóch-trzech lat. Z kolei Withings prawdopodobnie pozostanie w użyciu przez cztery do siedmiu lat, jeśli nie dłużej.

Żywotność baterii i długowieczność są dla mnie ogromnymi czynnikami, podczas gdy cena jest mniej istotna.

Urządzenia takie jak Apple Watch tracą z czasem na wartości, jak wszystko inne, choć po roku można odzyskać około 40–50% kosztów.

Gdybym miał zmieniać urządzenia, chciałbym przynajmniej sprzedać jedno, aby kupić drugie bez dokładania gotówki, albo za przysłowiowe grosze.

Problemem smartwatchy, podobnie jak telefonów, jest oprogramowanie. Nowe oprogramowanie staje się coraz bardziej wymagające dla starego sprzętu, co naturalnie popycha ludzi do szukania ulepszeń.

Oprócz fizycznej żywotności baterii przyjrzałem się temu, jak długo urządzenie będzie wspierane. Chciałem wiedzieć, czy będzie otrzymywać aktualizacje nie tylko aplikacji mobilnej, ale samego oprogramowania układowego (firmware). Utrzymanie długowieczności poprzez aktualizowanie oprogramowania przez jak najdłuższy czas stało się dla mnie wymogiem obowiązkowym, zaraz po żywotności baterii.

Ze względu na wysokie ceny niektórych modeli, szukałem dalej alternatywnych urządzeń, które **dobrze wyglądają**, pracują długo i będą wspierane przez lata. Wiem, że trudno to znaleźć, ponieważ taki model biznesowy nie zawsze przynosi korzyści firmom, które czerpią zyski ze sprzedaży nowego sprzętu co roku.

## Garmin Instinct Crossover

Garmin to kolejny hybrydowy zegarek, który przeanalizowałem jako potencjalnego kandydata. Jego przedział cenowy był akceptowalny. Sprzedaż mojego Apple Watcha oznaczałaby, że nie musiałbym wydać wiele z własnej kieszeni, aby założyć to urządzenie na nadgarstek. Jednak ponieważ nie mogłem zobaczyć urządzenia na żywo, obawiałem się na podstawie zdjęć, że będzie wyglądać zbyt masywnie.

W tym urządzeniu brakowało również jednej funkcji zdrowotnej, na której bardzo mi zależało: EKG. Choć może nie jest to dla każdego decydujący czynnik, to funkcja, z której wolę nie rezygnować. Co więcej, niektóre z jego funkcji pomiarowych nie są poparte prawdziwymi, klinicznie weryfikowalnymi danymi. To spycha go z kategorii sprzętu medycznego do kategorii trackerów fitness, podobnie jak w przypadku Xiaomi Smart Band.

Analizując kolejne funkcje – a raczej ich brak – szybko zdecydowałem się szukać czegoś innego.

Mimo to, obiecane 28 dni pracy na baterii było ogromną wygraną w starciu z Apple Watchem.

Ponieważ Garmin wydawał się bardziej degradacją z urządzenia medycznego do trackera fitness, rozważałem pójście w stronę ekstremalnie tanich rozwiązań. Sprzedaż mojego Apple Watch 10 zwróciłaby mi około 180 funtów. Za tę kwotę mógłbym wrócić do Xiaomi Smart Band 10 (wówczas 40 funtów) i zatrzymać znaczną ilość gotówki w portfelu!

Odświeżyłem nawet mojego starego Xiaomi Smart Band 7 i nosiłem go przez kilka dni, aby przypomnieć sobie to doświadczenie, zanim wydałem jakiekolwiek pieniądze.

## Xiaomi Smart Band 10

Xiaomi Smart Band oferuje do 21 dni pracy na baterii. Urządzenie jest małe i można je wygodnie nosić w nocy, co sprawia, że śledzenie wzorców snu jest łatwe.

Jednak wciąż była to ogromna degradacja do prostego trackera fitness, a nie urządzenia, które potrafi proaktywnie wykryć, że coś jest nie tak z Twoim zdrowiem układu krążenia.

Musiałem przewartościować swoje priorytety i wyjaśnić, czego naprawdę potrzebuję i czego chcę.

Jeśli chcę tylko liczyć kroki, śledzić aktywność w ciągu tygodnia i widzieć podstawowe wyniki snu bez wydawania fortuny, Smart Band 10 jest niezwykle silnym kandydatem.

Ponieważ używam iPhone'a, zawsze istnieje minus wynikający z ograniczonej, zamkniętej synchronizacji z wbudowanymi aplikacjami Apple Health i Fitness.

Poleganie na aplikacji innej firmy powoduje niewielkie tarcie i wymaga dostosowania codziennych rutyn, aby zapewnić synchronizację danych.

Moim celem było znalezienie czegoś, co oferuje dziś doskonały stosunek jakości do ceny, spełnia wszystkie moje wymagania i wytrzymuje znaczną ilość czasu.

Ogólnie rzecz biorąc, chcę czuć, że *chcę* ulepszenia, a nie że *muszę* je wprowadzić tylko dlatego, że w przeciwnym razie idealne urządzenie zawodzi z powodu zdegradowanej baterii.

## Dylemat Apple Pay

Chociaż płacenie zegarkiem za pomocą Apple Pay było początkowo fenomenalną nowością, szybko odkryłem, że w 99% przypadków płacę iPhone'em.

Przejście z Apple Watcha oznaczałoby utratę tej alternatywnej formy płatności z nadgarstka. W rzadkim przypadku, gdy mój telefon się rozładuje (co w zasadzie mi się jeszcze nie zdarzyło), nie byłbym w stanie dokonać płatności bez posiadania fizycznego portfela.

Byłem gotów zrezygnować z tej funkcji, ale gdyby oferowało ją alternatywne urządzenie, byłaby to ogromna wygrana.

Tutaj Xiaomi Smart Band 10 przegrywa natychmiast. Brytyjska wersja nie obsługuje płatności zbliżeniowych, a nawet importowany chiński model NFC nie spełni tego zadania z powodu braku wsparcia regionalnych banków.

Withings ScanWatch 2 również nie obsługuje płatności bezkontaktowych. Można dokupić paski z obsługą NFC innych firm, ale nie są one zbyt bezpieczne.

## Zerwanie z nawykiem "sprawdzania"

Moim głównym celem, pośród zajętego i stresującego życia codziennego, było zerwanie z ciągłym nawykiem "sprawdzania".

Apple Watch został zaprojektowany z myślą o tym, by na niego patrzeć. Jego żywy, zawsze włączony ekran zachęca do sprawdzania pierścieni, tętna i powiadomień dziesiątki razy dziennie.

Ponieważ Withings posiada fizyczną, analogową tarczę, wygląda jak biżuteria lub klasyczny zegarek. Maleńka tarcza pomocnicza OLED pozostaje przez większość czasu całkowicie ciemna. Nie tylko "rzucasz okiem" na dane; musisz celowo nacisnąć koronkę, aby cokolwiek zobaczyć. Ten niewielki fizyczny opór często wystarcza, aby zerwać z nawykiem ciągłego, niepotrzebnego sprawdzania.

To właśnie tu wygrywa filozofia "cichego strażnika" przy przesiadce z Apple.

Jeśli zegarek jest zaprojektowany przede wszystkim jako czasomierz, a jego algorytmy medyczne działają dyskretnie w tle, szybko przyjmujesz nastawienie, że brak wieści to dobre wieści. Brak dystrakcji, kiedy musisz się skupić, to świetny sposób na przełamanie psychologicznego polegania na kolejnym ekranie.

Zamiast ciągle zarządzać zegarkiem i patrzeć na nadgarstek, sprawdzasz dane raz lub dwa razy dziennie w dedykowanej aplikacji na smartfonie i to wszystko.

Osiągnięcie spokoju ducha ponad zmęczeniem danymi zawsze było z tyłu mojej głowy, gdy decydowałem, co dalej.

## Długowieczność baterii

Bateria Apple Watcha degraduje szybko, ponieważ jest codziennie wykorzystywana do absolutnych granic możliwości, a następnie doładowywana. To 365 dni w roku, 365 cykli ładowania. Nic dziwnego, że po dwóch latach jesteś zmuszony szukać ulepszenia – nie dlatego, że oprogramowanie lub sprzęt zwolniły, ale po prostu dlatego, że zegarek nie jest w stanie wytrzymać pełnego dnia.

Ładowanie urządzenia co dwa tygodnie lub raz w miesiącu wydłuża całkowitą żywotność baterii tak drastycznie, że sprzęt z łatwością może przetrwać pięć lat lub dłużej.

Gdybym miał kupić kolejny Apple Watch we wrześniu, bateria nieuchronnie wymusiłaby kolejną wymianę za dwa lub trzy lata. Jeśli kupię ScanWatch 2 lub podobne urządzenie z długą żywotnością baterii, ogniwo powinno z łatwością odpowiadać fizycznej żywotności samego zegarka.

## Znajdź mój...

Jedną z funkcji, na której polegam najbardziej, jest możliwość znalezienia zagubionego telefonu poprzez wysłanie do niego sygnału ping z zegarka. Czasami jest ukryty pod kocem lub zostawiony w innym pokoju, a ten słyszalny sygnał jest niezwykle przydatny.

Ponadto, ponieważ Apple Watch jest dość drogi, doceniam możliwość zlokalizowania go na mapie na żywo, jeśli zdarzy mi się zgubić go poza domem.

To właśnie tutaj sieć "Znajdź mój" (Find My) błyszczy. Apple zaprojektowało ją tak elegancko, że nawet urządzenia bez aktywnego połączenia z Internetem (używam Apple Watcha bez modułu cellular) mogą bezpiecznie pingować mijane urządzenia Apple, aby zgłosić swoją lokalizację na mapie.

Jeśli mam kupić drogie urządzenie, chcę mieć spokój ducha. Jeśli moje nowe urządzenie będzie znacznie tańsze, zgubienie go nie spowoduje ogromnego obciążenia finansowego. Choć brak globalnej sieci śledzenia nie jest czynnikiem decydującym, utrata podstawowej zdolności pingowania telefonu z nadgarstka wydaje się mniej luksusem, a bardziej koniecznością.

Kiedy testowałem Xiaomi Smart Band, ta funkcja pingowania nie działała niezawodnie z moim iPhone'em.

Withings jest zaprojektowany jako samodzielny instrument zdrowotny. Celowo brakuje mu wielu funkcji "smart", aby utrzymać 30-dniową baterię i design wolny od dystrakcji.

Analizując opcje, natknąłem się na inny zegarek hybrydowy, bardzo podobny do Withings: **Pininfarina Senso Hybrid**. Jednak ten kandydat nie wniósł wystarczająco dużo, by uzasadnić zakup – dopóki nie natknąłem się na coś zupełnie innego.

## Huawei Watch GT 5 Pro (GT5 Pro)

W poszukiwaniu alternatywy dla Apple Watcha odkryłem Huawei Watch GT 5 Pro (GT5 Pro), który jest powszechnie opisywany jako "smartwatch w przebraniu tradycyjnego luksusowego zegarka".

Wygląda fantastycznie, a w miarę dalszych badań szybko stał się moim najsilniejszym kandydatem do zastąpienia Apple Watcha.

Wersja, którą analizowałem, to model 46mm, wykonany z tytanu klasy lotniczej.

Na froncie zdrowotnym oferuje w pełni zatwierdzone w Wielkiej Brytanii EKG klasy medycznej wraz z ciągłym śledzeniem tętna, monitorowaniem SpO2 i bardzo dokładną analizą snu. Zawiera również wykrywanie stresu i nastroju, co według recenzji jest niezwykle dokładne. To coś, do czego Apple Watch wymaga aplikacji innej firmy, poświęcając jeszcze więcej swojej cennej baterii.

Zegarek Huawei pozwala mi pingować telefon, gdy jest to potrzebne, i oferuje ogromną bibliotekę konfigurowalnych tarcz. Co najważniejsze, oferuje do 14 dni pracy na baterii.

Ponieważ GT5 Pro wygląda jak kolejny pełnoprawny "minikomputer" na nadgarstku, byłem zaintrygowany, jak Huawei zdołał osiągnąć dwutygodniową żywotność baterii, podczas gdy Apple całkowicie zawodzi.

Ostatecznie sprowadza się to do ich systemu operacyjnego HarmonyOS, który jest doskonale zoptymalizowany wraz z wewnętrznym sprzętem. Procesy nie działają ciągle w tle; są uruchamiane ściśle wtedy, gdy są potrzebne. To bardzo imponujące.

Jako alternatywną sugestię do tego zegarka niektórzy polecali **Garmin Venu 3S**. Jednak to urządzenie wydaje się znacznie bardziej sportowym trackerem fitness niż urządzeniem medycznym w przebraniu klasycznego czasomierza.

Wracając do opcji Huawei, najciekawszym odkryciem (dokonanym tuż przed tym, jak zdałem sobie sprawę, że nowszy GT6 Pro trafił już na rynek) było to, że mogę kupić używany **GT5 Pro** w idealnym stanie za jedyne **99,99 funtów**. W porównaniu do wartości zwrotu mojego Apple Watcha (180 funtów), ta zamiana w rzeczywistości zwróciłaby mi gotówkę do portfela.

**Ale czy byłoby to ulepszenie czy degradacja?** Kontynuowałem badania i zadawałem pytania.

Najsilniejszymi elementami jego fizycznego designu są **tytanowa koperta i szafirowe szkło**. Przy zakupie używanego urządzenia trwałość tych materiałów praktycznie gwarantuje, że zegarek pozostanie w doskonałym, niemal nowym stanie.

Mimo że funkcje oprogramowania i sama bateria będą się powoli starzeć, fizyczne chassis jest zbudowane tak, aby przetrwać pięć lat bez większych zarysowań czy otarć – w przeciwieństwie do bardziej miękkiego aluminium mojego standardowego Apple Watch Series 10.

Oczywiście istnieją pewne **minusy** wynikające z ograniczeń iOS nałożonych na smartwatche innych firm. Na przykład nie będę mógł odpowiadać na wiadomości tekstowe bezpośrednio z nadgarstka. Możesz to zrobić, jeśli zegarek jest sparowany z telefonem z Androidem, ale nie z iPhone'em.

Choć wielu uznałoby to za poważną degradację, dla mnie brzmi to dokładnie tak, jak to, czego szukam. Ograniczenie interakcji z nadgarstkiem popycha mnie w stronę **wymuszonego cyfrowego detoksu**. Mogę czytać powiadomienia na zegarku, aby odfiltrować to, co pilne, ale jeśli naprawdę muszę odpowiedzieć, fizycznie wyjmę telefon z kieszeni.

Jeśli celem jest zaprzestanie obsesyjnego sprawdzania nadgarstka, to ograniczenie naturalnie łamie nawyk. To jednocześnie degradacja i "ulepszenie".

Innym często podkreślanym minusem był chip NFC, który najwyraźniej nie działa z brytyjskimi bankami. Chociaż obecnie mogę bezproblemowo używać Apple Pay na zegarku (nawet jeśli rzadko), początkowo myślałem, że stracę tę funkcję na Huawei całkowicie. **Ale to nie była do końca prawda.** Rozwinę ten temat niebawem.

Główną wadą GT5 Pro jest to, że **to wciąż ekran**.

W przeciwieństwie do Withings, który posiada fizyczne, mechaniczne wskazówki, Huawei nadal polega na cyfrowym wyświetlaczu OLED. Nawet jeśli skonfiguruję go tak, by używał klasycznej analogowej tarczy "Always-On", pozostaje to świecącym ekranem, co może nie wyleczyć nawyku sprawdzania tak skutecznie, jak prawdziwa mechaniczna tarcza.

---

Apple Watch zazwyczaj zmusza użytkownika do aktualizacji co dwa-trzy lata z powodu degradującej baterii. Zanim zdecyduję, w którą stronę pójść, chcę zaplanować, jak długo to nowe urządzenie mi posłuży.

Moim celem tym razem jest osiągnięcie granicy pięciu lat. Osiągnięcie tego byłoby ogromną korzyścią dla mojego osobistego budżetu, pozwalając skierować te środki gdzie indziej. To dokładnie dlatego szukałem Withings w pierwszej kolejności.

Jeśli jednak znajdę urządzenie, które wygodnie przekracza trzyletnią granicę, oferuje dwa tygodnie pracy na baterii i nadal działa płynnie, to pieniądze dobrze wydane.

Biorąc pod uwagę moje pragnienie zejścia z ciągłego cyklu aktualizacji Apple, zaprzestania ciągłego majstrowania przy nadgarstku i zabezpieczenia urządzenia, które cicho monitoruje moje zdrowie przez następne pięć lat, oferta używanego GT5 Pro za 100 funtów brzmiała wyjątkowo.

---

GT5 Pro zadebiutował pierwotnie we wrześniu 2024 roku. Huawei prawdopodobnie zapewni aktualizacje oprogramowania przez dwa do trzech lat od tej daty.

**Apple Watch** to niesamowite urządzenie z genialnym oprogramowaniem. Apple będzie aktywnie wspierać model nowymi aktualizacjami watchOS przez nawet pięć lat. **Haczyk** polega na tym, że fizyczna bateria litowo-jonowa jest wyczerpywana codziennym ładowaniem na długo przed końcem okresu wsparcia oprogramowania. Możesz mieć najnowszą wersję watchOS w trzecim roku, ale jeśli zegarek pada o 14:00, staje się bezużyteczny. Efektywnie, **sprzęt zawodzi szybciej niż oprogramowanie.**

Z zegarkami takimi jak GT5 Pro czy Withings ScanWatch 2 dynamika się zmienia.

Około 2027 roku Huawei prawdopodobnie przestanie wypychać nowe funkcje, świeże animacje interfejsu czy główne aktualizacje HarmonyOS do GT5 Pro. Oprogramowanie będzie skutecznie "zamrożone" w czasie.

Jednak ponieważ będę ładować GT5 Pro tylko dwa razy w miesiącu, tytanowy sprzęt i fizyczna bateria z łatwością przetrwają długo po 2029 roku. **Sprzęt przeżyje wsparcie oprogramowania.**

Jeśli w 2028 roku będę nosić GT5 Pro i nie będzie on już otrzymywał głównych aktualizacji systemu operacyjnego, **nie stanie się cegłą**. Nadal bezbłędnie będzie śledzić moje EKG i tętno. Nadal będzie pingować mój telefon, pomagając mi go znaleźć. Nadal będzie wyświetlać pogodę i datę. Nadal będzie trzymać ładowanie przez ponad tydzień.

Ponadto towarzysząca aplikacja Huawei Health na iPhone'a będzie nadal otrzymywać aktualizacje za pośrednictwem Apple App Store, co oznacza, że zegarek zachowa swoją zdolność do bezproblemowej synchronizacji z Apple Health.

**Mój plan na pięć lat**

Jeśli moim celem jest posiadanie urządzenia, które co wrzesień dodaje błyszczące nowe aplikacje i gadżeciarskie funkcje, GT5 Pro rozczaruje mnie w trzecim roku.

Ale jeśli moim celem jest zakup wysokiej klasy tytanowego zegarka dzisiaj, wyjście z drogiego corocznego cyklu aktualizacji i posiadanie niezawodnego narzędzia, które cicho monitoruje moje zdrowie i znajduje mój telefon **do 2031 roku**, Huawei z łatwością dotrzyma kroku właśnie dlatego, że bateria nie jest katowana na ładowarce każdej nocy.

W momencie mojej analizy, w kwietniu 2026 roku, GT5 Pro ma już około 18 miesięcy, co czyni go idealnym czasem na znalezienie świetnej oferty na używany sprzęt. Zakup za 99,99 funtów reprezentuje doskonały stosunek jakości do ceny.

## Garmin Venu 4

Spędziłem dużo czasu żonglując różnymi zegarkami różnych producentów w nadziei na znalezienie urządzenia, które spełnia każdy wymóg jako zamiennik Apple Watcha.

Wtedy natknąłem się na Garmin Venu 4, który trafił na rynek we wrześniu 2025 roku. Garmin specjalnie zaprojektował ten model, aby wypełnić lukę między wytrzymałym trackerem sportowym a eleganckim smartwatchem lifestylowym.

Ulepszone materiały i funkcje zdrowotne, w tym EKG z certyfikatem brytyjskim, czynią go silnym konkurentem dla Apple Watcha. Jednak jego cena premium wymagałaby ode mnie zainwestowania trochę gotówki z góry, bez konieczności zyskiwania ogromnej przewagi nad tym, co już mam.

Garmin Venu 4 spełnia wszystkie moje wymagania, rozwiązuje problem żywotności baterii i nie jest wcale tak masywny, jak standardowe zegarki sportowe Garmina. Może nawet odbierać połączenia telefoniczne bezpośrednio na nadgarstku, czego Withings nie potrafi.

Jest to jednak wciąż ekran. Wciąż będzie przypominał noszenie świecącego kawałka technologii, co może nie przełamać instynktownego nawyku "sprawdzania" tak skutecznie, jak analogowa stylistyka Huawei czy mechaniczne wskazówki Withings.

Ponieważ ta ścieżka wymagałaby ode mnie zainwestowania ponad 200 funtów z własnej kieszeni po sprzedaży obecnego zegarka, Huawei Watch GT5 Pro pozostaje lepszym strategicznym zagraniem. Pozwala mi zabezpieczyć tytanową konstrukcję premium za 100 funtów przy całkowitym uniknięciu codziennego obowiązku ładowania.

Szukając innych modeli podobnych do GT5 Pro, przyjrzałem się również **Amazfit Cheetah 2 Pro**. Jednak ponownie, po przeanalizowaniu funkcji, wydawał się znacznie bardziej dedykowanym trackerem fitness niż urządzeniem zdrowotnym imitującym zwykły zegarek.

Amazfit Cheetah 2 Pro to genialny zegarek, jeśli aktywnie trenujesz do półmaratonu – czego ja nie robię – ale to niewłaściwe narzędzie do moich konkretnych celów długoterminowych.

Najlepszy długoterminowy strażnik zdrowia, który zapewnia tytanową obudowę, brytyjskie EKG, 14-dniową baterię i funkcję pingowania telefonu, nadal wskazuje mnie zdecydowanie na **Huawei Watch GT 5 Pro**.

---

Kiedy zaczynasz prowadzić dogłębne badania w Internecie, **pliki cookie** śledzą Twoje zainteresowania w sieci i nagle Twoje kanały w mediach społecznościowych są zalewane ukierunkowanymi reklamami. Tak natknąłem się na reklamę zegarka **Norm Two**, który postanowiłem zbadać.

**Norm Two** jest prawdopodobnie najpiękniejszym zegarkiem, jaki analizowałem. Genialnie ukrywa swój cyfrowy ekran, aby zapobiec obsesyjnemu sprawdzaniu powiadomień. Jednak pod tym oszałamiającym duńskim minimalistycznym designem całkowicie brakuje mu jednej funkcji, na której polegam najbardziej przy długoterminowym monitorowaniu zdrowia: bezpieczeństwa medycznego EKG.

**Więc postanowiłem szukać dalej.**

Ponieważ obecnie posiadam Apple Watch Series 10, świat technologii oczekuje premiery Series 12 we wrześniu. Nadzieje są zawsze wysokie, ale mocno wątpię, by rozwiązało to najbardziej irytującą walkę tego urządzenia: żywotność baterii. Najnowsze przecieki już potwierdzają tę rozczarowującą rzeczywistość.

Odrzucając Apple Watch Ultra za bycie zbyt masywnym i drogim, a podstawową linię SE za brak EKG, nadchodzący Series 12 wciąż będzie przykuwać mnie do magnetycznej podstawki każdej nocy.

Huawei Watch GT5 Pro za 100 funtów pozostaje najbardziej logiczną drogą ucieczki.

Ostatecznie sprowadza się to do zaakceptowania surowego, nieuniknionego kompromisu. Żaden producent nie zdołał zbudować zegarka, który łączy 100% głęboko zintegrowanych funkcji oprogramowania Apple Watcha z prawdziwą dwutygodniową żywotnością baterii.

W tej chwili mam okazję zabezpieczyć tytanowy zegarek premium, który całkowicie uwalnia mnie od codziennego cyklu ładowania za jedyne 100 funtów.

Ten kompromis oznacza pójście na ustępstwa w kwestiach, o których wspominałem wcześniej, takich jak globalna sieć "Znajdź mój". Jeśli zgubię Apple Watcha gdzieś, nawet gdy jest offline, może bezpiecznie używać pobliskich urządzeń Apple, aby rozgłosić swoją lokalizację z powrotem do mojego telefonu.

Jeśli zaakceptuję, że zgubienie GT5 Pro oznacza, że nie można go śledzić na mapie, zgubienie urządzenia za 100 funtów boli znacznie mniej niż zgubienie urządzenia wartego ponad 400 funtów. Choć utrata globalnej sieci śledzenia nie jest czynnikiem decydującym, utrata podstawowej zdolności pingowania telefonu z nadgarstka wydaje się mniej luksusem, a bardziej koniecznością.

---

Kiedy rozważałem, którą drogę wybrać, odkryłem powrót do podstaw z Xiaomi Smart Band 10.

Zamówiłem najnowszą wersję opaski, ale zanim dotarła, nosiłem moją starą Band 7 przez kilka dni, aby przyzwyczaić się do nawyku synchronizacji danych zdrowotnych przez aplikację innej firmy.

Podczas noszenia zdałem sobie sprawę, że pójście w stronę budżetowego trackera oznacza poświęcenie zbyt wiele. Choć nie chciałbym kupować GT5 Pro w jego pełnej cenie detalicznej (189,99 funtów w Argos w tamtym czasie), a najnowsza flagowa wersja uszczupliłaby mój budżet jeszcze bardziej (299,99 funtów w Argos w tamtym czasie), oferta używanego za 100 funtów była przekonującym wyborem. Potrzebowałem tylko odrobiny zachęty, by podjąć ten krok.

---

**Ulepszenie:** Wybór GT5 Pro daje mi dwutygodniową żywotność baterii w tytanie klasy lotniczej i szafirowym szkle.

**Strażnik medyczny:** W przeciwieństwie do podstawowego trackera Xiaomi, GT5 Pro zawiera EKG z certyfikatem brytyjskim i wykrywanie sztywności tętnic, których wymagam, jeśli chcę bezpośredniego zamiennika dla pakietu zdrowotnego Apple Watcha.

**Finansowa wygrana:** Sprzedając mój Series 10 za 180 funtów i kupując Huawei za 100 funtów, wychodzę z 80 funtami zysku, wciąż nosząc wysokiej klasy sprzęt.

---

Odejście od Apple Watcha to ostatecznie kwestia przełamania psychologicznego nawyku. Apple celowo projektuje swoje zegarki tak, aby były wysoce interaktywne, domagając się naszej uwagi i nocnego miejsca na ładowarce.

Zarówno opaska Xiaomi, jak i zegarek Huawei zostały zaprojektowane tak, aby cicho działać w tle, wykonując swoją pracę bez ciągłego zarządzania.

Jeśli wykonam ten skok, wybieram wolność baterii i skupienie uwagi w moim zajętym codziennym życiu.

---

Podczas finalizowania decyzji wyskoczyła kolejna ukierunkowana reklama na nowo wydany **OnePlus Watch 4**.

Jednak jako użytkownik iPhone'a, szybko się rozczarowałem.

Chyba że planowałem sprzedać także swojego iPhone'a (czego absolutnie nie robię), OnePlus Watch 4 byłby dla mnie całkowicie bezużyteczny.

Ze względu na projekt oprogramowania, nie sparuje się z iOS. Nie możesz przejść przez ekran początkowej konfiguracji bez telefonu z Androidem. Gdybym kupił go dzisiaj, nie byłby niczym więcej niż tytanowym przyciskiem do papieru za ponad 300 funtów na moim biurku.

---

Degradacja z urządzenia klasy medycznej, takiego jak Apple Watch, do podstawowego trackera fitness, takiego jak Xiaomi Smart Band 10, prawdopodobnie doprowadziłaby do szybkiego rozczarowania.

Podczas gdy Xiaomi jest fenomenalnym trackerem fitness w tej cenie (i jeśli szukasz podstawowej opcji budżetowej, gorąco go polecam), przesiadka na GT5 Pro przywraca monitorowanie zdrowia klasy klinicznej. Po rzekroczeniu czterdziestki, posiadanie brytyjskiego EKG wbudowanego bezpośrednio w koronkę i ciągłego wykrywania sztywności tętnic oferuje głęboki poziom profilaktycznej pewności, której plastikowa opaska za 40 funtów po prostu nie może zapewnić.

## Idealny kompromis?

Po długiej rozmowie z przyjacielem, który używał poprzednich generacji zegarków Huawei z serii GT, w końcu zostałem przekonany, by spróbować.

Ostatecznie, jeśli zmienię zdanie, mogę go łatwo sprzedać bez straty pieniędzy lub po prostu zwrócić go w ciągu 14 dni do sklepu, w którym go kupiłem, ryzykując tylko koszt przesyłki zwrotnej.

Więc, podczas gdy Xiaomi Smart Band 10 wciąż siedzi w nieotwartym pudełku na moim biurku, **zamówiłem Huawei GT5 Pro.**

Jak w przypadku każdej nowej technologii, którą kupuję, lubię spędzać czas na szukaniu większej ilości informacji, by uzasadnić mój wybór.

Szybko zestawiłem ostateczne porównanie: **Apple Watch 10 vs. Huawei Watch GT 5 Pro**

* **ULEPSZENIE – Żywotność baterii**: Przechodzę z cyklu 18-godzinnego na 14-dniowy. Ładowanie staje się zadaniem wykonywanym dwa razy w miesiącu, a nie codziennym wymogiem.
* **DEGRADACJA – Fizyczne bezpieczeństwo (Znajdź mój)**: Apple Watch może być śledzony na mapie na żywo w dowolnym miejscu w kraju za pośrednictwem globalnej sieci "Znajdź mój". Huaweiowi brakuje tej możliwości; używa standardowego lokalnego sygnału Bluetooth, aby zlokalizować słuchawkę w pobliżu, ale nie może być śledzony globalnie, jeśli sam zegarek zostanie zgubiony.
* **ULEPSZENIE – Jakość wykonania**: Model Pro jest wykonany z tytanu klasy lotniczej z szafirowym szkiełkiem w standardzie. Jest znacznie trwalszy niż aluminiowy Apple Watch i wygląda jak tradycyjny zegarek mechaniczny.
* **TAK SOBIE – Komunikacja**: Na Huawei będę otrzymywać powiadomienia o SMS-ach, wiadomościach WhatsApp i e-mailach, ale nie mogę pisać odpowiedzi ani dyktować wiadomości tak, jak mogę na Apple Watchu. Co najważniejsze, **są to funkcje, których i tak aktywnie nie używałem.** Zapewnia to doświadczenie "tylko do odczytu", które naturalnie ogranicza czas przed ekranem.
* **REMIS – Zdrowie i medycyna**: Oba urządzenia oferują EKG z certyfikatem brytyjskim i monitorowanie SpO2. Jednak Huawei zapewnia bardziej ciągłe śledzenie temperatury skóry 24/7 i wykrywanie sztywności tętnic, podczas gdy Apple Watch koncentruje się głównie na nocnych liniach bazowych.

Ostatnim elementem układanki był kolejny **REMIS – Płatności zbliżeniowe**.

Jeśli czytasz ogólne informacje online o wsparciu NFC w zegarkach Huawei w Wielkiej Brytanii, szybko się rozczarujesz. Mimo oficjalnych oświadczeń odnotowujących, że system płatności Huawei nie jest bezpośrednio wspierany przez główne banki detaliczne, istnieje oficjalne, eleganckie obejście: **Curve**.

**Curve** działa jako pośrednik finansowy, oferując jedną fizyczną lub cyfrową kartę debetową, za którą możesz podpiąć wiele standardowych kart bankowych. Pozwala to na bezproblemowe przełączanie metod płatności, a nawet "powrót do przeszłości", aby przenieść transakcję z jednej karty na drugą po dokonaniu zakupu.

Ten wpis nie jest recenzją Curve, ale ponieważ już używam Curve jako mojego codziennego narzędzia finansowego, byłem zachwycony odkryciem, że Curve oficjalnie wspiera sprzęt Huawei w Wielkiej Brytanii.

Dzięki temu możesz bezproblemowo korzystać z chipu NFC w GT5 Pro, instalując oficjalną aplikację Curve przez ekosystem Huawei i synchronizując swoją kartę.

To pięknie wypełnia lukę pozostawioną przez Apple Pay na Apple Watchu!

## HarmonyOS

Kiedy otrzymałem mój GT5 Pro, pierwszą rzeczą, którą zrobiłem – poza naładowaniem go do 100% – była aktualizacja wbudowanego oprogramowania. Po serii kolejnych aktualizacji zegarek z powodzeniem wylądował na HarmonyOS 6.

HarmonyOS to całkowicie dedykowany system operacyjny Huawei.

Kilka lat temu, kiedy rząd USA ograniczył Huaweiowi możliwość korzystania z ekosystemu oprogramowania Google, firma została zmuszona do zbudowania własnej platformy oprogramowania od zera.

Dla swoich smartwatchy zaprojektowali niezwykle wydajny, lekki system. HarmonyOS to prawdziwy "tajny składnik", który pozwala GT5 Pro osiągnąć niezwykłą 14-dniową żywotność baterii.

W przeciwieństwie do watchOS Apple czy Wear OS Google (które są ciężkimi, zasobożernymi systemami działającymi ciągle w tle), HarmonyOS jest wysoce zoptymalizowany, aby pobierać energię tylko wtedy, gdy jest to wymagane.

Aktualizacja HarmonyOS 6 na GT5 Pro to ogromny krok w oprogramowaniu. Wnosi całkowicie przeprojektowaną aplikację Emotional Wellbeing, płynniejsze animacje interfejsu, lepsze ikony powiadomień systemowych i świeżą partię konfigurowalnych tarcz zegarka na moje urządzenie.

Dzięki oficjalnie dostępnej aplikacji Curve działającej na HarmonyOS, odkryłem ostateczną lukę w smartwatchach w Wielkiej Brytanii i z powodzeniem włączyłem bezproblemowe płatności zbliżeniowe.

Ponieważ Curve jest już moją domyślną metodą płatności, całkowicie zneutralizowałem wadę Apple Pay. Mogę po prostu dwukrotnie kliknąć dolny przycisk sprzętowy i przyłożyć nadgarstek do dowolnego terminala płatniczego dokładnie tak, jak to robiłem (choć rzadko) z moim Apple Watchem. To ogromna wygrana dla codziennej wygody, kiedy tylko tego potrzebuję.

## Wyrzuty sumienia kupującego

Szczerze mówiąc, kiedy prowadziłem wstępne badania i odkryłem GT5 Pro, nie przeprowadziłem dokładnego sprawdzenia, by zorientować się, że nowszy GT6 Pro został już wydany. Choć odkrycie tego po fakcie dało mi chwilę wahania...

**Zacząłem się zastanawiać, czy dokonałem właściwego wyboru.**

Jednak dzięki HarmonyOS 6 w pełni wdrożonemu na GT5 Pro (doprowadzając go do równości z oprogramowaniem działającym na GT6 Pro), zdałem sobie sprawę, że efektywnie kupiłem 95% wrażeń flagowca GT6 Pro za ułamek kosztów.

Wiem, że wymieniłem głęboko zintegrowane, wysoce połączone funkcje "smart" Apple Watcha. W zamian zyskałem trwałość strukturalną, wolność baterii i tradycyjną estetykę luksusowego czasomierza.

Przejście na GT5 Pro przyniosło również ukrytą korzyść w postaci finansowego spokoju ducha.

Noszenie delikatnego, aluminiowego urządzenia za 429 funtów na nadgarstku wywołuje subtelny, podświadomy codzienny niepokój. Kiedyś dużo inwestowałem w plastikowe ochraniacze ekranu tylko po to, by utrzymać jego wartość odsprzedaży na przyszłość.

Ciągle chroniłem ramię przed futrynami drzwi, aby nie uszkodzić zawartości kieszeni.

Przesiadając się na urządzenie za 100 funtów zbudowane z wytrzymałego tytanu lotniczego i szafirowego szkła, odzyskałem wolność noszenia zegarka jako wytrzymałego narzędzia. Nawet w absolutnie najgorszym scenariuszu, w którym zostanie zgubiony lub fizycznie zniszczony za kilka lat, nic mi nie wisi. Zabezpieczenie 180 funtów ze sprzedaży Apple Watch Series 10 czyni to finansowym zwycięstwem.

W pełni zaakceptowałem powiadomienia "tylko do odczytu" i odpowiednio zmodyfikowałem moje codzienne nastawienie.

Apple celowo projektuje swój zegarek tak, aby był wysoce interaktywnym komputerem na nadgarstku, który stale domaga się naszej uwagi, co nieuchronnie wyczerpuje zarówno maleńką 18-godzinną baterię, jak i nasze osobiste skupienie.

Mimo że zazwyczaj nie odbieram połączeń na nadgarstku, zastanawiałem się, czy byłoby to przynajmniej technicznie możliwe z GT5 Pro.

Apple blokuje swoje autorskie protokoły przesyłania wiadomości tak mocno, że tylko Apple Watch może bezpośrednio wchodzić w interakcje z przychodzącymi SMS-ami. Dlatego powiadomienia tekstowe są ściśle "tylko do odczytu" na zegarku Huawei, gdy jest sparowany z iOS.

Jednak połączenia telefoniczne działają na standardowych, uniwersalnych protokołach Bluetooth hands-free. Gdy przychodzi połączenie, mój iPhone po prostu patrzy na Huawei GT5 Pro i traktuje go dokładnie jak parę bezprzewodowych słuchawek lub zestaw głośnomówiącą w samochodzie. Ponieważ zegarek posiada wbudowany mikrofon i głośnik, iPhone z radością kieruje dźwięk prosto na Twój nadgarstek.

Niektóre opcje, nawet jeśli nie używasz ich codziennie, są po prostu warte posiadania na wypadek sytuacji awaryjnych.

Używam zegarka Huawei od trzech tygodni. Pierwszy tydzień był dość intensywny, ponieważ spędziłem dużo czasu bawiąc się ustawieniami i eksplorując interfejs. Jak przy każdym okresie miodowym z technologią, wyczerpałem baterię znacznie szybciej niż normalnie i po siedmiu dniach trafił z powrotem na ładowarkę. Drugi tydzień wyglądał znacznie lepiej; po pełnych siedmiu dniach standardowego użytkowania ogniwo nadal miało 51%.

Obecnie jesteśmy w tym momencie roku, w którym zaczynamy słyszeć zwykłe plotki dotyczące Apple Watch Series 12, który zostanie zaprezentowany we wrześniu 2026 roku. Większość przecieków przynosi nieco rozczarowania. Jeśli czekasz na ogromny przełom w żywotności baterii, jest mało prawdopodobne, że to nastąpi.

Byłoby niesamowicie, gdyby Apple zdecydowało się wdrożyć wydajność microkernela HarmonyOS obok optymalizacji sprzętowej obecnej w urządzeniach ubieralnych Huawei. Jednak zrobienie tego wymagałoby znaczącej, fundamentalnej zmiany w ich projekcie architektonicznym. Jak widzieliśmy przez lata, ta formuła rzadko ulega dużym zmianom.

Moja przesiadka zakończyła się pełnym sukcesem i z niecierpliwością czekam, aby zobaczyć, ile lat przyjemności czerpię z tego zegarka.


---
## Nie pozwól, aby AI (Gemini) zapomniało Twoje myśli, kiedy ich potrzebujesz.
- **URL:** https://dariusz.wieckiewicz.org/nie-pozwol-aby-ai-gemini-zapomnialo-twoje-mysli/
- **Date:** 2026-05-09
- **Tags:** Gemini, Google Gemini, Gemini Apps, Google Activity, Privacy Checkup, auto-delete, auto-delete activity, activity

### Content

Interakcje ze sztuczną inteligencją stają się coraz powszechniejsze. Dzięki niej w błyskawicznym tempie uzyskujemy mnóstwo przydatnych informacji (choć nierzadko też sporo bzdur), co pozwala nam oszczędzać czas i zwiększa naszą produktywność.

> Nie będę tu poruszać kwestii, której wszyscy się obecnie obawiamy – że AI zastąpi nas w pracy. To zupełnie inny temat. Skupię się na wykorzystaniu sztucznej inteligencji, w tym przypadku Gemini, do zwiększenia własnej produktywności – **poprzez pełne jej zaakceptowanie i wdrożenie**.

<!--more-->

W moim obecnym wieku **czas** jest jedyną rzeczą, której mi naprawdę brakuje. Przypomina mi to poniższy obrazek, który idealnie to podsumowuje.

[![Równowaga cyklu życia - Czas Pieniądze Energia](the_life_cycle_balance.png)](the_life_cycle_balance.png)

I tutaj na scenę wkracza sztuczna inteligencja.

Nie trzymaj się jednak kurczowo tego schematu. Przy intensywnym trybie życia nie wyczarujesz nagle dla siebie więcej czasu; to po prostu niemożliwe.

Otwórz się na AI, poznaj ją, korzystaj z niej i pozwól jej oszczędzać Twój czas.

**Nie bądźmy pokoleniem, które za wszelką cenę opiera się zmianom, aż do momentu, w którym ostatecznie zostanie przez nie zastąpione.**

Z wiekiem nasza pamięć z czasem staje się coraz słabsza. To naturalny proces starzenia się.

Korzystając ze sztucznej inteligencji, w moim przypadku z Gemini, gromadzimy "czaty" zawierające cenne informacje. Do niektórych z nich będziemy wracać i kontynuować je po czasie, **traktując je jak własną pamięć.**

Problem polega na tym, że tak jak my, ludzie, tracimy wspomnienia (myśli), tak samo dzieje się z AI. Nie mówię tu o "oknie kontekstowym" danego czatu; mam na myśli sytuacje, w których całe konwersacje po prostu **wyparowują!**

W ostatnich latach wszyscy staliśmy się bardziej **wyczuleni na punkcie prywatności**.

Kiedy korzystamy z usług Google, naturalne jest, że nie chcemy, aby firma zbierała o nas zbyt wiele informacji. Dlatego od czasu do czasu przechodzimy przez **[Sprawdzanie prywatności](https://myaccount.google.com/privacycheckup)** i czyścimy stare dane lub ustawiamy ich automatyczne usuwanie po określonym czasie.

**Problem w tym, że to ustawienie wpłynie również na nasze czaty z Gemini!**

Przekonałem się o tym **na własnej skórze**, kiedy straciłem jeden z czatów. Chciałem do niego wrócić po 4 miesiącach, ale już go nie było.

**To była całkowicie moja wina.** Nie dlatego, że sam go usunąłem (właściwie to nawet go przypiąłem, a mimo to zniknął), ale dlatego, że wydałem Google instrukcje dotyczące terminu usuwania moich starych danych.

A Google zastosowało się do tego co do joty.

Ustawienia, z których korzystałem, zanim zacząłem na poważnie używać Gemini, znajdowały się w sekcji [Moja aktywność](https://myactivity.google.com/myactivity). 

Zmieniłem domyślny czas przechowywania w "Aktywności w internecie i aplikacjach" z 18 na 3 miesiące. To samo zrobiłem z Osią czasu, a historię YouTube całkowicie wyłączyłem.

Dopiero po małym śledztwie, mającym na celu ustalenie, gdzie podziały się moje zaginione czaty, odkryłem, że niektóre z tych ustawień (jak usuwanie po 3 miesiącach) zostały odziedziczone również przez aktywność w Gemini.

**Na wspomnianej stronie nie ma do tego bezpośredniego linku i stąd właśnie bierze się całe zamieszanie.**

Musisz wejść na głęboko ukrytą stronę [Aktywność w aplikacjach Gemini](https://myactivity.google.com/product/gemini), aby zobaczyć ustawienia wpływające na przechowywanie Twoich konwersacji (możesz też kliknąć przycisk **Aktywność** pod swoimi czatami).

[![Aktywność w aplikacjach Gemini](Gemini_Apps_Activity.png)](Gemini_Apps_Activity.png)

Tam, w sekcji **Wybierz opcję automatycznego usuwania**, dowiedziałem się o dziedziczeniu moich pozostałych preferencji. 

[![Wybierz opcję automatycznego usuwania dla aktywności w aplikacjach Gemini](Gemini_Apps_Activity_auto-delete.png)](Gemini_Apps_Activity_auto-delete.png)

**Trzy miesiące.**

Po tym okresie czaty, w których nie podejmowałem żadnej interakcji, zostaną automatycznie usunięte – **nawet** jeśli są przypięte w aplikacji Gemini.

Osobiście zmieniłem to na **Nie usuwaj automatycznie aktywności**.

Nauczyłem się tego na błędach, tracąc cenne informacje, które zgromadziłem w kilku czatach. Nie jest to nic, czego nie mógłbym odtworzyć, ale znów wszystko sprowadza się do **czasu**, który musiałbym na to zmarnować. **Czasu**, którego z każdym dniem mam na tym świecie coraz mniej.

Jeśli używasz Gemini, wejdź już dziś na stronę [Aktywność w aplikacjach Gemini](https://myactivity.google.com/product/gemini) i sprawdź swoje ustawienia, aby uniknąć podobnych strat.

---

Opcja **Nie usuwaj automatycznie aktywności** może wydawać się nieco skrajna. Być może **18 miesięcy** byłoby wystarczające, ale nigdy nie wiadomo, jak ważne i wartościowe okażą się z biegiem lat informacje, które tam zgromadzisz.

O ile inne moje aktywności staram się mocniej ograniczać, o tyle tę chcę mieć zawsze pod ręką, gdy tylko będę jej potrzebować.


---
## Własny serwer do Asystowanej Aktualizacji routera z oprogramowaniem OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/wlasny-serwer-do-asystowanej-aktualizacji-openwrt/
- **Date:** 2026-03-29
- **Tags:** OpenWrt, Networking, Sieci Komputerowe, Attended Sysupgrade, Aktualizacja Routera, Asystowana Aktualizacja, Aktualizacja Oprogramowania, Firmware, Router, Serwer Ubuntu, ImageBuilder

### Content

Tak się złożyło, że od kiedy Asystowana Aktualizacja (wraz z najnowszą wersją OpenWrt 25.12) stała się domyślnym sposobem aktualizacji tych urządzeń, zaczęła gwałtownie zyskiwać na popularności.

Kiedy korzystałem z niej po raz pierwszy, byłem na samym początku kolejki, ewentualnie miałem przed sobą zaledwie kilku użytkowników. Kilka dni później, po premierze kolejnej wersji (25.12.1), liczba ta podskoczyła do około 200-300. Teraz, przy okazji następnego wydania (25.12.2), [serwery](https://sysupgrade.openwrt.org) nie są już w stanie tego udźwignąć.

> Odpowiedź serwera: przeciążenie serwera, w kolejce znajduje się zbyt wiele żądań kompilacji: 1001

Podczas dyskusji z jednym z czytelników padła sugestia, abym skorzystał z cudzego serwera do Asystowanej Aktualizacji, ale takie rozwiązanie zawsze ma jakiś haczyk. Polecany serwer domyślnie korzysta z kompilacji w wersji SNAPSHOT, czego zdecydowanie nie zalecam w środowisku produkcyjnym czy biznesowym. O ile można się w to bawić na domowym routerze, o tyle w firmie trzeba stawiać na stabilność.

Pomyślałem więc, że może po prostu postawię do tego celu własny serwer. Mam już w domu (a także w pracy) niewielkiego mini-PC — to Chromebox przerobiony na serwer Ubuntu z zainstalowanym Dockerem. Moje obciążenie nie jest ogromne, a sprzęt ten ma spory zapas mocy obliczeniowej.

<!--more-->

> W chwili pisania tego tekstu korzystam z urządzenia Asus Chromebox 3 z usuniętym systemem ChromeOS i zainstalowanym pełnym UEFI przy użyciu rozwiązania [MrChromebox.tech](https://docs.mrchromebox.tech).

W związku z tym zacząłem się zastanawiać: **dlaczego nie miałbym stworzyć własnego rozwiązania do Asystowanej Aktualizacji, aby uniknąć kolejek, gdy tylko zajdzie taka potrzeba?**

Biorąc pod uwagę rosnącą popularność ASU, nie spodziewam się, aby sytuacja miała się w najbliższym czasie poprawić. Dla firm, które muszą na bieżąco aktualizować swoje urządzenia, aby spełniać wymogi prawne, czekanie w nieskończoność po prostu nie wchodzi w grę.

> Budowa serwera do Asystowanej Aktualizacji to kolejny etap nauki, który pozwoli mi poszerzyć moje i tak już szerokie kompetencje.

Zagłębiłem się w temat i znalazłem potwierdzenie: **tak**, mogę **zbudować** własne rozwiązanie, a mój sprzęt ma do tego aż nadto mocy.

Zanim jednak przejdę dalej, muszę dokładnie zrozumieć, jak to wszystko działa.

## Jak w rzeczywistości działa lokalna Asystowana Aktualizacja (ASU)

Gdy wysyłasz żądanie aktualizacji systemowej (`sysupgrade`), serwer nie kompiluje oprogramowania od zera (co zajmowałoby całe godziny). Zamiast tego wykorzystuje narzędzie **OpenWrt ImageBuilder**. ImageBuilder po prostu pobiera wcześniej skompilowane pakiety (pliki `.ipk`) i łączy je w gotowy obraz oprogramowania układowego, dostosowany do Twojego konkretnego routera.

> Analizując wydajność moich urządzeń, spodziewam się, że cały proces lokalnie zajmie zaledwie kilka minut – to ogromna różnica w porównaniu do wielogodzinnego oczekiwania w publicznej kolejce.

{{% ads-in-article %}}

## Instalacja oficjalnego obrazu Docker dla Asystowanej Aktualizacji (ASU)

Dobra wiadomość jest taka, że **[OpenWrt utrzymuje oficjalną, zdokeryzowaną wersję serwera Attended Sysupgrade](https://hub.docker.com/r/openwrt/asu).** To ogromne ułatwienie!

> Przed przejściem dalej musisz mieć zainstalowanego Dockera na wybranym urządzeniu. Nie będę tutaj omawiać tego procesu – zakładam, że masz to już za sobą.

### Wymagania Asystowanej Aktualizacji (ASU)

Architektura ASU wymaga do działania trzech elementów:

1.  **Bazy danych Redis:** Służy do kolejkowania zadań kompilacji oraz przechowywania w pamięci podręcznej (cache) wcześniej utworzonych obrazów.
2.  **Serwera ASU:** To interfejs webowy/API, z którym komunikuje się Twój router.
3.  **Workera (procesu roboczego) ASU:** „Mięśnie” całego układu, które uruchamiają tymczasowe kontenery ImageBuilder w celu skompilowania oprogramowania.

### Tworzenie sieci Docker (Docker Network)

Ponieważ będziemy operować na trzech osobnych kontenerach, potrzebują one wspólnej sieci, aby móc się ze sobą komunikować.

```bash
sudo docker network create asu-network
```

### Uruchomienie pamięci podręcznej Redis

To polecenie uruchamia lekką instancję bazy danych Redis i dołącza ją do naszej nowej sieci.

```bash
sudo docker run -d \
  --name asu-redis \
  --network asu-network \
  --restart unless-stopped \
  redis:alpine
```

### Uruchomienie serwera ASU (API)

To kontener, z którym będzie komunikował się nasz router. Mapuję wewnętrzny port `8000` na mój własny, wybrany do tego celu port `8123`.

```bash
sudo docker run -d \
  --name asu-server \
  --network asu-network \
  -p 8123:8000 \
  -e REDIS_URL="redis://asu-redis:6379/0" \
  -e PUBLIC_PATH="/app/public" \
  -v asu-data:/app/public \
  --restart unless-stopped \
  openwrt/asu:latest \
  uv run uvicorn --host 0.0.0.0 asu.main:app
```

### Uruchomienie workera ASU

Ten kontener oczekuje na zadania w kolejce Redis i zajmuje się ich realizacją.

> Poniższe polecenie musi zawierać mapowanie pliku `/var/run/docker.sock`. Pozwala to kontenerowi roboczemu (worker) komunikować się z demonem Dockera na maszynie hosta, dzięki czemu może on bezpiecznie uruchamiać izolowane kontenery OpenWrt ImageBuilder niezbędne do spakowania Twojego oprogramowania.

```bash
sudo docker run -d \
  --name asu-worker \
  --network asu-network \
  -e REDIS_URL="redis://asu-redis:6379/0" \
  -e PUBLIC_PATH="/app/public" \
  -e CONTAINER_SOCKET_PATH="/var/run/docker.sock" \
  -v asu-data:/app/public \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --restart unless-stopped \
  openwrt/asu:latest \
  uv run rqworker --logging_level INFO
```

### Weryfikacja konfiguracji

Po wykonaniu wszystkich trzech poleceń możesz sprawdzić, czy wszystko działa poprawnie. W tym celu otwórz przeglądarkę i wpisz adres IP swojego urządzenia, na przykład:

```
http://192.168.1.12:8123/api/distros
```

Jeśli w odpowiedzi otrzymasz fragment tekstu w formacie JSON z listą obsługiwanych dystrybucji OpenWrt, oznacza to, że Twój serwer działa i ma się świetnie!

W moim przypadku odpowiedź wyglądała następująco:

```
{"detail":"Not Found"}
```

Jeśli widzisz taki lub podobny tekst, oznacza to, że Twój kontener Docker działa poprawnie i bez problemu odpowiada na zapytania sieciowe na porcie `8123`.

Jeśli wejdziesz bezpośrednio pod powyższy adres (pomijając końcówkę `/api/distros`), zobaczysz interfejs zbliżony do tego, który znasz z [oficjalnej strony sysupgrade.openwrt.org](https://sysupgrade.openwrt.org).

[![Strona główna serwera OpenWrt Sysupgrade](OpenWrt_Sysupgrade_Server_homepage.png)](OpenWrt_Sysupgrade_Server_homepage.png)

{{% ads-in-article %}}

## Podłączanie routera do lokalnego serwera ASU

Wiedząc już, że nasz lokalny serwer działa poprawnie, możemy skierować na niego router z systemem OpenWrt.

1. Zaloguj się do interfejsu graficznego LuCI w swoim routerze.
2. Przejdź do zakładki **System** -> **Attended Sysupgrade**.
3. Kliknij kartę **Configuration** (Konfiguracja).

[![LuCI - Attended Sysupgrade - Configuration Tab](Attended_Sysupgrade_LuCI_Configuration_Tab.png)](Attended_Sysupgrade_LuCI_Configuration_Tab.png)

4. Zmień adres serwera (Server Address) z `https://sysupgrade.openwrt.org` na adres IP i port Twojego serwera.

> Upewnij się, że podajesz jedynie bazowy adres URL, bez żadnych dodatkowych ścieżek API na końcu. Na przykład: `http://192.168.1.12:8123` (zastąp ten adres faktycznym IP swojego serwera).

5. Kliknij **Save & Apply** (Zapisz i zastosuj).

Po zapisaniu zmian wróć do zakładki **Overview** (Przegląd) w sekcji Attended Sysupgrade i kliknij przycisk **Search for firmware upgrade** (Szukaj aktualizacji oprogramowania).

[![LuCI - Attended Sysupgrade - Overview - Search for firmware upgrade](Attended_Sysupgrade_LuCI_Overview_Search.png)](Attended_Sysupgrade_LuCI_Overview_Search.png)

### Gdy router nie może połączyć się z Twoim lokalnym ASU

Kiedy ustawiłem adres własnego serwera w OpenWrt i kliknąłem przycisk **Search for firmware upgrade**, utknąłem na komunikacie:

```
Searching...

Searching for an available sysupgrade of 25.12.1 - r32768-b21cfa8f8c
```

Moje logi Dockera pokazały wcześniejsze próby testowe, gdy uruchamiałem `http://192.168.1.12:8123/api/distros` w przeglądarce, ale nie było widać żadnych śladów komunikacji z routerem.

Z jakiegoś powodu router może blokować sam sobie dostęp do adresu IP w sieci LAN. To dość dziwne, ale muszę to sprawdzić.

Zalogowałem się przez SSH na mój router i wykonałem polecenie:

```bash
curl -I http://192.168.1.12:8123/api/v1/overview
```

LUB, jeśli nie masz zainstalowanego narzędzia curl:

```bash
wget -qO- http://192.168.1.12:8123/api/v1/overview
```

i otrzymałem:

```
HTTP/1.1 405 Method Not Allowed
date: Sun, 29 Mar 2026 07:56:52 GMT
server: uvicorn
allow: GET
content-length: 31
content-type: application/json
```

Oznacza to, że pomimo błędu `HTTP/1.1 405 Method Not Allowed`, mój router i serwer Ubuntu komunikują się ze sobą bez zarzutu. Żadne zapory sieciowe (firewalle) nie blokują połączenia, a routing sieciowy jest poprawny. Logi w kontenerze Docker (`asu-server`) również potwierdzają aktywność ze strony routera.

Czas wykonać kolejne polecenie.

```bash
owut check --verbose
```

To pozwoli potwierdzić, czy router komunikuje się z naszym własnym serwerem ASU, oraz wyświetli więcej informacji o przyczynach ewentualnego niepowodzenia.

---

Jeśli nie masz zainstalowanego pakietu `owut` w swoim systemie, dodaj go za pomocą poniższego polecenia:

```bash
apk update
apk add owut
```

---

Wszystko wyglądało dobrze, więc zbadałem połączenie LuCI w przeglądarce Chrome przy pomocy Narzędzi Deweloperskich (DevTools). Po kliknięciu przycisku wyszukiwania nowego oprogramowania znalazłem błędy dotyczące **CORS (Cross-Origin Resource Sharing)** oraz **przekierowań 301**.

**Teoretycznie mógłbym pozostać przy SSH i wykonać polecenie `owut upgrade`, aby pójść dalej, ale zależy mi na naprawieniu interfejsu graficznego.**

Problem polega na tym, że przeglądarka wymaga od serwera wysłania nagłówka `Access-Control-Allow-Origin`, aby potwierdzić, że ma on prawo do udostępniania danych. Oficjalny kontener Docker `openwrt/asu` obecnie domyślnie nie wysyła tego nagłówka, więc musimy to naprawić.

Zacznijmy od cofnięcia się o krok i tymczasowego usunięcia kontenera `asu-server`.

```bash
sudo docker stop asu-server
sudo docker rm asu-server
```

Na serwerze utworzę plik, który przejmie działanie istniejącej aplikacji i wstrzyknie odpowiednie nagłówki do przeglądarki.

```bash
nano cors_wrapper.py
```

Wklej poniższy kod do pliku.

```bash
from asu.main import app
from fastapi.middleware.cors import CORSMiddleware

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)
```

**Teraz uruchommy kontener wraz z naszym "wrapperem" (opakowaniem)**.

```bash
sudo docker run -d \
  --name asu-server \
  --network asu-network \
  -p 8123:8000 \
  -e REDIS_URL="redis://asu-redis:6379/0" \
  -e PUBLIC_PATH="/app/public" \
  -v asu-data:/app/public \
  -v $(pwd)/cors_wrapper.py:/app/cors_wrapper.py:ro \
  --restart unless-stopped \
  openwrt/asu:latest \
  uv run uvicorn --host 0.0.0.0 cors_wrapper:app
```

Teraz, gdy przeglądarka wysyła zapytanie do punktu końcowego `/api/v1/overview` bez ukośnika na końcu, serwer Pythona generuje przekierowanie `301 Redirect`, aby go dodać. Poprzednio przeglądarka blokowała to przekierowanie z powodu braku nagłówków CORS. Obecnie `CORSMiddleware` gwarantuje, że każda odpowiedź — nawet przekierowanie — zawiera nagłówek `Access-Control-Allow-Origin`, co pozwala przeglądarce bezproblemowo podążać wyznaczoną ścieżką.

Teraz, po kliknięciu przycisku **Search for firmware upgrade**, natychmiast otrzymuję odpowiedź:

[![New firmware upgrade available - Request firmware image](New_firmware_upgrade_available.png)](New_firmware_upgrade_available.png)

I wtedy kliknąłem **Request firmware image**, tylko po to, by zobaczyć komunikat: **Error building the firmware image** (Błąd podczas budowania obrazu oprogramowania).

{{% ads-in-article %}}

### Błąd budowania obrazu oprogramowania – nie znaleziono programu Podman

```
podman.errors.exceptions.NotFound: 404 Client Error: Not Found
```

Niedawno deweloperzy OpenWrt całkowicie przepisali backend ASU. Ze względów bezpieczeństwa (aby zapobiec nadaniu zbyt wysokich uprawnień procesom budowania), na sztywno zaprogramowali workera tak, by do uruchamiania kontenerów ImageBuilder używał wyłącznie narzędzia **Podman** zamiast Dockera.

Mimo że z powodzeniem uruchamiamy workera wewnątrz kontenera Docker, skrypt Pythona w tym kontenerze korzysta z biblioteki specyficznej dla Podmana (`podman.version()`). Łączy się on z udostępnionym przez nas gniazdem `/var/run/docker.sock` i oczekuje odpowiedzi od Podmana, ale zamiast tego odpowiada Docker. Skrypt prosi o ścieżkę API charakterystyczną dla Podmana, Docker zwraca błąd „404 Page Not Found” i cały proces kompilacji się wywala.

Dobra wiadomość jest taka, że nie musimy porzucać naszej konfiguracji opartej na Dockerze. Musimy jedynie zainstalować Podmana obok Dockera na serwerze Ubuntu i zamiast gniazda Dockera, przekazać kontenerowi roboczemu gniazdo Podmana.

```bash
sudo apt update
sudo apt install podman
```

Domyślnie Podman nie utrzymuje usługi działającej w tle, tak jak robi to Docker. Musimy zatem aktywować jego gniazdo nasłuchujące (listening socket), aby worker ASU mógł się z nim komunikować.

```bash
sudo systemctl enable --now podman.socket
```

**Teraz musimy od nowa utworzyć workera ASU.**

```bash
sudo docker stop asu-worker
sudo docker rm asu-worker
```

Następnie uruchom poprawione polecenie dla workera. Zwróć uwagę, że obie ścieżki na końcu zostały zmienione na `/run/podman/podman.sock`.

```bash
sudo docker run -d \
  --name asu-worker \
  --network asu-network \
  -e REDIS_URL="redis://asu-redis:6379/0" \
  -e PUBLIC_PATH="/app/public" \
  -e CONTAINER_SOCKET_PATH="/run/podman/podman.sock" \
  -v asu-data:/app/public \
  -v /run/podman/podman.sock:/run/podman/podman.sock \
  --restart unless-stopped \
  openwrt/asu:latest \
  uv run rqworker --logging_level INFO
```

Ponieważ LuCI ma tendencję do przechowywania ostatniego komunikatu o błędzie w pamięci podręcznej, kliknięcie przycisku **Request firmware image** spowoduje ponowne wyświetlenie poprzedniego błędu. Aby to obejść, musimy albo zrestartować router poleceniem `reboot`, albo wyczyścić pliki tymczasowe utworzone przez ASU (które zazwyczaj są usuwane podczas restartu).

Uruchom poniższe polecenie na swoim routerze OpenWrt:

```bash
rm -rf /tmp/owut* /tmp/attended*
```

Wróćmy do interfejsu webowego OpenWrt i kliknijmy przycisk **Request firmware image** jeszcze raz. Worker nawiąże teraz pomyślnie połączenie z Podmanem, pobierze ImageBuilder i skompiluje nasze niestandardowe oprogramowanie.

**Tyle teorii!**

[![Queued - Request in build queue position 0](Queued_position_0.png)](Queued_position_0.png)

[![Building firmware - Progress - 10% Setting up ImageBuilder](Building_firmware_10_ImageBuilder.png)](Building_firmware_10_ImageBuilder.png)

Tak jak w moim przypadku, ponownie zakończyło się to niepowodzeniem.

```
invalid config provided: pasta networking is only supported for rootless mode
```

> Ktoś ma ochotę na makaron (pasta)? 🍝

**Pasta** to dość osobliwie nazwany sterownik sieciowy, którego Podman używa do bezpiecznego łączenia kontenerów z Internetem.

Dzieje się tak, ponieważ w poprzednim kroku uruchomiliśmy Podmana za pomocą `sudo systemctl`. To aktywowało gniazdo Podmana na poziomie **Administratora**. Skrypt workera sprawdził gniazdo, zauważył, że działa ono z uprawnieniami `root`, wpadł w panikę, ponieważ spodziewał się **użytkownika bez uprawnień roota (rootless)**, i wyrzucił błąd „500 Internal Server Error”.

**Cofnijmy się raz jeszcze o krok.**

Uruchom poniższe polecenie, aby wyłączyć gniazdo Podmana na poziomie `root`, które utworzyliśmy wcześniej.

```bash
sudo systemctl disable --now podman.socket
```

Teraz włączymy gniazdo dla Twojego standardowego użytkownika Ubuntu bez uprawnień administratora.

> **Nie używaj** `sudo` do tego polecenia! Musi ono zostać uruchomione z poziomu zwykłego użytkownika.

```bash
systemctl --user enable --now podman.socket
```

Jednak ze względu na to, że prawdopodobnie jesteśmy zalogowani do naszego serwera Ubuntu przez SSH, system próbuje oszczędzać zasoby i nie uruchamia dedykowanego menedżera `systemd` działającego w tle dla Twojego konkretnego konta użytkownika. Kiedy prosisz o uruchomienie usługi na poziomie użytkownika, takiej jak Podman, operacja kończy się niepowodzeniem, ponieważ instancja systemd użytkownika nie jest aktywna.

Musimy poinstruować Ubuntu, aby pozwoliło Twojemu kontu użytkownika (mój użytkownik to: `darek`, zamień to odpowiednio na swoją nazwę) na stałe uruchamiać usługi w tle, nawet po wylogowaniu. Nazywa się to "lingering" (pozostawanie w tle).

Zanim to zrobimy, usuńmy wszelkie blokady, które mogą znajdować się w systemie.

```bash
sudo rm -rf /run/user/1000/podman
```

**Włączmy „Linger” (pozostawanie w tle) dla naszego użytkownika.**

```bash
sudo loginctl enable-linger darek
```

Czasami sesje SSH tracą kluczową zmienną środowiskową, której systemd potrzebuje do znalezienia folderu Twojego użytkownika. Aby mieć pewność, wymuśmy jej ustawienie:

```bash
export XDG_RUNTIME_DIR=/run/user/$(id -u)
```

Skoro Twój użytkownik posiada już odpowiednie uprawnienia, a ścieżka została ustawiona, uruchommy ponownie gniazdo (Socket).

```bash
systemctl --user enable --now podman.socket
```

---

W końcu musimy podmienić ścieżkę do gniazda (socket) w naszym poleceniu Dockera dla kontenera workera.

Zacznijmy od usunięcia kontenera `asu-worker`.

```bash
sudo docker stop asu-worker
sudo docker rm asu-worker
```

I uruchom go ponownie z poprawną ścieżką do gniazda w trybie rootless.

> Jeśli z jakiegoś powodu Twój identyfikator użytkownika (User ID) to nie `1000`, będziesz musiał zmienić liczbę `1000` w drugiej linii parametru `-v`; jednak w 99% przypadków na Ubuntu jest to właśnie `1000`.

```bash
sudo docker run -d \
  --name asu-worker \
  --network asu-network \
  -e REDIS_URL="redis://asu-redis:6379/0" \
  -e PUBLIC_PATH="/app/public" \
  -e CONTAINER_SOCKET_PATH="/run/podman/podman.sock" \
  -v asu-data:/app/public \
  -v /run/user/1000/podman/podman.sock:/run/podman/podman.sock \
  --restart unless-stopped \
  openwrt/asu:latest \
  uv run rqworker --logging_level INFO
```

Uruchommy naszą szybką procedurę czyszczenia pamięci podręcznej na routerze OpenWrt.

```bash
rm -rf /tmp/owut* /tmp/attended*
```

Wróć do LuCI i ponownie naciśnij ten zielony przycisk.

[![Building firmware - Progress - 10% Setting up ImageBuilder](Building_firmware_10_ImageBuilder.png)](Building_firmware_10_ImageBuilder.png)

Tym razem udało mi się przekroczyć próg 10%.

[![Building firmware - Progress - 30% Validating package selection](Building_firmware_30_Validating.png)](Building_firmware_30_Validating.png)

[![Building firmware - Progress - 50% Generating firmware image](Building_firmware_50_Generating.png)](Building_firmware_50_Generating.png)

[![Successfully created firmware image](Successfully_created_firmware_image.png)](Successfully_created_firmware_image.png)

```
11:16:35 Successfully completed asu.build.build(BuildRequest(distro='openwrt', version='25.12.2', version_code='', target='...) job in 0:05:43.333466s on worker 172b8078680c4f64989ef57693b834a2
11:16:35 default: Job OK (f7b1b5f55f2de817f4d9ed18026a1ac8c31d664ef30a612d5430f14d899cb409)
11:16:35 Result is kept for 10800 seconds
```

Zajęło to nieco mniej niż 6 minut (na moim ASUS Chromebox 3) i mój lokalnie wygenerowany obraz był gotowy. Pozostawiłem zaznaczoną opcję zachowania konfiguracji, a po ponownym uruchomieniu wszystko działa świetnie!

W ten sposób stworzyłem własny, niezależny serwer ASU, który odciąży serwery OpenWrt i pozwoli mi na lepszą kontrolę nad całym procesem!


---
## Asystowana Aktualizacja – właściwy sposób na aktualizację oprogramowania OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/asystowana-aktualizacja-systemu-openwrt/
- **Date:** 2026-03-07
- **Tags:** OpenWrt, Networking, Sieci Komputerowe, Attended Sysupgrade, Aktualizacja Routera, Asystowana Aktualizacja, Aktualizacja Oprogramowania, Firmware, Router

### Content

**Powinienem był odkryć to lata temu!**

Nigdy wcześniej nie trafiłem na tę funkcję, mimo że najwyraźniej była dostępna już od kilku wersji. Dopiero teraz, wraz z oficjalnym wydaniem wersji 25.12.0, dowiedziałem się, jak uprościć proces przejścia z jednej wersji na drugą (sam wykonałem aktualizację z 24.10.2 do 25.12.0).

Z czasem wypracowałem [własną rutynę tworzenia kopii zapasowych pakietów i plików konfiguracyjnych, instalowania nowego obrazu i przywracania wszystkiego](/aktualizacja-oprogramowania-openwrt/). Szczerze mówiąc, **zawsze tego rozwiązania nienawidziłem**, zwłaszcza w środowisku biznesowym, ponieważ wiąże się to z koniecznością przestoju. To właśnie dlatego zdarzało mi się zostawać w tyle z niektórymi poprawkami OpenWrt (wciąż korzystałem z wersji 24.10.2 zamiast 24.10.5).

Jeśli nie możesz pozwolić sobie na długą przerwę w działaniu sieci, możesz ją zminimalizować, stosując to rozwiązanie: [**Asystowana Aktualizacja - ang. Attended Sysupgrade (ASU)**](https://openwrt.org/docs/guide-user/installation/attended.sysupgrade).

<!--more-->

Na oficjalnej stronie projektu możemy przeczytać:

> Kilka kliknięć i krótka chwila oczekiwania pozwalają pobrać oraz zainstalować nowy obraz wraz z Twoimi dotychczasowymi pakietami i konfiguracją. Eliminuje to konieczność tworzenia listy ręcznie zainstalowanych pakietów czy ponownego wprowadzania ustawień tylko po to, by zaktualizować oprogramowanie.

**Brzmi to jak spełnienie marzeń**, ponieważ była to jedyna funkcja, której brakowało wszystkim użytkownikom OpenWrt – możliwość aktualizacji systemu przy zachowaniu absolutnie wszystkiego na swoim miejscu.

> Pakiet ten jest domyślnie zainstalowany w serii OpenWrt 25.12, wraz z nowym menedżerem pakietów **apk**, który zastąpił **opkg**.

Działa to teraz podobnie jak w routerach z fabrycznym oprogramowaniem: aktualizujesz system, a Twoja konfiguracja zostaje nienaruszona. Sprawdźmy, czy ta magia rzeczywiście działa. **Uwaga, spojler: działa!**

Byłem ciekaw, czy uda mi się po prostu zaktualizować router z wersji OpenWrt 24.10.2 do 25.12.0 bez tracenia **czasu** na robienie kopii zapasowych i ich przywracanie, co miałem w zwyczaju robić w przeszłości.

> Oczywiście, na wszelki wypadek przygotowałem własny backup tak jak zawsze, ale na tym etapie byłem pełen nadziei, że wszystko pójdzie zgodnie z planem.

Na moim obecnym routerze z wersją **24.10.2** zainstalowałem pakiet **Attended Sysupgrade (ASU)**:

```bash
opkg update
opkg install luci-app-attendedsysupgrade
```

Kiedy wysyłasz prośbę o oprogramowanie orzez ASU, a którykolwiek z pakietów w Twoim systemie nie istnieje w najnowszej wersji, proces zostanie przerwany. System ostrzeże Cię, czego brakuje, i uniemożliwi dalsze kroki — **i to jest bardzo dobra wiadomość!** Wyjaśnię to dokładniej w dalszej części.

---

Istnieje jednak pewien haczyk, o którym musisz pamiętać.

**ASU** domyślnie nie tworzą kopii zapasowej folderu `/root` ani żadnej niestandardowej konfiguracji w folderze `/etc/`, jeśli wcześniej im tego nie nakażesz.

Możesz to oczywiście zmienić. Jeśli śledzisz moje inne wpisy o OpenWrt, wiesz, że możesz dodać pliki i foldery do zachowania, edytując `/etc/sysupgrade.conf` lub – z poziomu **LuCI** > **System** > **Backup / Flash Firmware** – dodając je w zakładce **Configuration**. **Proste!**

**Ważna uwaga!**

Przy przeskakiwaniu między głównymi wydaniami (takimi jak z 24.x na przyszłe 25.x), miej na uwadze, że struktury bazowe oprogramowania czasami ulegają zmianie. Choć mechanizm kopii zapasowej zachowa Twoje pliki konfiguracyjne, dobrą praktyką jest zawsze pobranie ręcznej kopii zapasowej (.tar.gz) na komputer przed rozpoczęciem aktualizacji. Może się to przydać, jeśli poważna zmiana składni zmusi Cię do resetu i ręcznej rekonfiguracji niektórych usług.

> W przeszłości miał miejsce bardzo znaczący skok z wersji 23.x do 24.x; ze względu na wiele zmian w Firewall4 i nazewnictwie interfejsów, często musiałem zaczynać od zera. W przypadku przejścia z 24.10 do 25.12.x nie musisz się już tak martwić.

**Zobaczmy, jak ASU sprawdza się w praktyce!**

---

{{% ads-in-article %}}

## Attended Sysupgrade (ASU) w praktyce

Po zainstalowaniu ASU i zalogowaniu się do panelu webowego LuCI, w menu **System** zobaczysz nową opcję o nazwie **Attended Sysupgrade**, gdzie przywita Cię następujący widok:

[![Attended Sysupgrade](01_Attended_Sysupgrade.png)](01_Attended_Sysupgrade.png)

Po kliknięciu zielonego przycisku **Szukaj aktualizacji oprogramowania** (Search for firmware upgrade), zostaną wyświetlone opcje dostępne dla Twojego urządzenia.

[![Dostępna nowa wersja oprogramowania 24.10.5](02_New_firmware_upgrade_available_24_10_5.png)](02_New_firmware_upgrade_available_24_10_5.png)

Ponieważ moje urządzenie pracowało na wersji 24.10.2, kolejną zaproponowaną mi wersją była 24.10.5. Z menu rozwijanego mogłem jednak wybrać wersję 25.12.0.

[![Dostępna nowa wersja oprogramowania 25.12.0](03_New_firmware_upgrade_available_25_12_0.png)](03_New_firmware_upgrade_available_25_12_0.png)

Gdy będziesz gotowy, kliknij (**JESZCZE NIE TERAZ!**) zielony przycisk **Zażądaj obrazu oprogramowania** (Request firmware image).

**Ale zanim to zrobisz...**

---

Upewnij się, że wejdziesz w **System > Backup / Flash Firmware**, a następnie przejdziesz do zakładki **Configuration**.

Tam musisz dodać wszystkie niestandardowe pliki konfiguracyjne i foldery, które masz na swoim routerze, a które muszą zostać zachowane, uwzględnione w kopii zapasowej i przywrócone po aktualizacji.

W moim przypadku wygląda to następująco:

```
# /etc/example.conf
# /etc/openvpn/
/etc/ssl/
/etc/cloudflared/
/root/
```

Chcę zachować folder **ssl** wraz z jego zawartością, a także folder **cloudflared** i mój folder **/root**.

Gorąco polecam również wybranie opcji **Wygeneruj archiwum** (Generate archive) w zakładce **Actions** i sprawdzenie, czy archiwum daje się poprawnie wypakować (czy nie jest uszkodzone). Jeśli z jakiegoś powodu plik jest uszkodzony, zajrzyj do mojego wpisu: [Jak wykonać kopię zapasową routera OpenWrt, gdy wbudowane narzędzia zawodzą](/jak-wykonac-kopie-zapasowa-routera-openwrt/).

> Jeśli z jakiegoś powodu oprogramowanie zaktualizuje się do nowej wersji z pakietami, ale straci Twoje ustawienia, możesz łatwo wgrać kopię zapasową przez **System** > **Backup / Flash Firmware** > **Restore backup** i w mgnieniu oka przywrócić wszystko do poprzedniego stanu.

**Idąc dalej...**

---

Twój router połączy się z oficjalnymi serwerami OpenWrt i sprawdzi dostępność zasobów. W tym momencie zweryfikuje, jakie pakiety znajdują się obecnie na Twoim urządzeniu i co jest dostępne w nowym repozytorium.

Jeśli serwer wykryje, że którykolwiek z Twoich pakietów nie został jeszcze przeniesiony do nowej wersji, wyrzuci **błąd**.

[![Błąd budowania obrazu oprogramowania](04_Error_building_the_firmware_image.png)](04_Error_building_the_firmware_image.png)

Na ekranie błędu zobaczysz na przykład, że pakiet (`luci-app-nft-qos`), który jest dostępny w repozytorium 24.10.x, nie jest jeszcze gotowy dla wersji 25.12.x.

Z tego powodu nie możesz przejść dalej i musisz najpierw rozwiązać ten problem.

**Masz dwie opcje:**

1. Wstrzymać się z aktualizacją do czasu, aż pakiet, na którym polegasz, stanie się dostępny dla nowej wersji, lub
2. Usunąć pakiet powodujący konflikt, **zrestartować** urządzenie i spróbować ponownie.

Gdy konflikt zostanie rozwiązany, możemy iść dalej.

---

{{% ads-in-article %}}

Teraz kliknij **Zażądaj obrazu oprogramowania** (Request firmware image) i zaczekaj.

[![Budowanie oprogramowania - Odebrano żądanie kompilacji](05_Building_firmware_Received_build_request.png)](05_Building_firmware_Received_build_request.png)

W pierwszej kolejności serwer zweryfikuje pakiety, które mają zostać dołączone do Twojego oprogramowania.

[![Budowanie oprogramowania - Walidacja wyboru pakietów](06_Building_firmware_Validating_package_selection.png)](06_Building_firmware_Validating_package_selection.png)

Następnie system zbuduje obraz specjalnie dla Ciebie.

[![Budowanie oprogramowania - Generowanie obrazu oprogramowania](07_Building_firmware_Generating_firmware_image.png)](07_Building_firmware_Generating_firmware_image.png)

Gdy obraz zostanie pomyślnie utworzony, zobaczysz następujące informacje.

[![Pomyślnie utworzono obraz oprogramowania](08_Succesfully_created_firmware_image.png)](08_Succesfully_created_firmware_image.png)

Zanim klikniesz zielony przycisk **Zainstaluj obraz oprogramowania** (Install firmware image), upewnij się, że opcja **Zachowaj ustawienia i bieżącą konfigurację** (Keep settings and retain the current configuration) jest zaznaczona.

[![Instalacja obrazu sysupgrade](09_Installing_sysupgrade_image.png)](09_Installing_sysupgrade_image.png)

Proces instalacji rozpocznie się automatycznie.

Czekaj cierpliwie, aż router wprowadzi wszystkie zmiany i uruchomi się ponownie z nową wersją systemu.

Jeśli wszystko pójdzie zgodnie z planem, Twój router powinien uruchomić się z nowym oprogramowaniem, wszystkimi wcześniej zainstalowanymi pakietami (tymi z oficjalnych źródeł) oraz w pełni zachowaną konfiguracją.

---

Jeśli po raz pierwszy zaktualizowałeś system do wersji 25.12.0 i zalogujesz się ponownie do panelu LuCI, przywita Cię pytanie o to, czy chcesz automatycznie sprawdzać dostępność nowych wersji oprogramowania.

[![Sprawdzanie aktualizacji oprogramowania online](10_Check_online_for_firmware_upgrades.png)](10_Check_online_for_firmware_upgrades.png)

Jeśli zdecydujesz się **włączyć sprawdzanie**, w kolejnym kroku zostaniesz poproszony o dodanie jednej linii do konfiguracji routera.

[![Sprawdzanie aktualizacji oprogramowania online – zmiany w konfiguracji](11_Check_online_for_firmware_upgrades_Conf_changes.png)](11_Check_online_for_firmware_upgrades_Conf_changes.png)

Wystarczy kliknąć **Zapisz i zastosuj** (Save & Apply) i gotowe.

---

Ta metoda aktualizacji OpenWrt z pewnością pomoże większej liczbie użytkowników „podkręcić” ich kompatybilne routery, nie tylko wydłużając żywotność sprzętu, ale także zwiększając ich prywatność.

👏 🙌

---

**PS.** Jeśli zainstalowałeś [Cloudflare Tunnel na swoim routerze z OpenWrt](/dodanie-cloudflare-tunel-router-openwrt/), pamiętaj, że ten pakiet był instalowany ręcznie. Pomimo tego, że sam regularnie się aktualizuje, po pierwszym restarcie z nowym oprogramowaniem będziesz musiał zainstalować go ponownie (pobrać plik). W tym celu zapoznaj się z krokiem [Zainstaluj oficjalny pakiet cloudflared](/dodanie-cloudflare-tunel-router-openwrt/#instalujemy-oficjalny-pakiet-cloudflared). Pamiętaj, że w serii 25.12 narzędzie **opkg** zostało zastąpione przez **apk**.


---
## To ja to napisałem! Dowodzenie autorstwa w świecie AI
- **URL:** https://dariusz.wieckiewicz.org/to-ja-to-napisalem-dowodzenie-autorstwa-w-swiecie-ai/
- **Date:** 2026-02-14
- **Tags:** Detektory AI, Rzetelność akademicka, Etyka, Autentyczna praca, Koniec z fałszywymi oskarżeniami, Treść napisana przez człowieka, Sprawiedliwe ocenianie, Wyzwania AI, Twórczość

### Content

Żyjemy w czasach, w których sztuczna inteligencja stała się codziennym narzędziem, z którego korzystamy zarówno w pracy, jak i w szkole.

Wielu uczniów i studentów wspiera się AI, aby szybciej przyswajać wiedzę, błyskawicznie znajdować informacje czy poszerzać swoje horyzonty.

Należę do pokolenia, które ukończyło szkołę i studia jeszcze przed erą AI. Moje czasy studenckie przypadły na boom internetowy – dostęp do sieci zaczął wtedy wypierać konieczność przesiadywania w bibliotekach. Mimo tych ułatwień, jestem dumny z tego, że cały wysiłek włożony w moją edukację był wyłącznie moją własną zasługą.

Obecnie wielu studentów szuka drogi na skróty. Podobnie wygląda sytuacja na rynku pracy – coraz trudniej o zaangażowanego pracownika na wymagającym stanowisku za przeciętne wynagrodzenie.

Ludzie nie chcą już ciężko pracować na swoje pieniądze. Każdy szuka najprostszej drogi, by zarabiać krocie przy minimalnym wysiłku. Ale to tak nie działa – a przynajmniej nie dla większości z nas. Jeśli uważasz inaczej i nie jesteś w tej chwili milionerem, to po prostu się łudzisz.

Podobnie jest z edukacją. Wiedzę zdobywasz po to, by w przyszłości być lepszym i bardziej kompetentnym człowiekiem. Uczysz się rzeczy, które mają ci służyć w późniejszym życiu. Jeśli wybierasz drogę na skróty i zlecasz AI napisanie pracy, którą potem bezmyślnie kopiujesz i oddajesz wykładowcy, to coś tu jest bardzo nie tak.

Jasne, możesz to robić (prawie) – nikt cię przed tym nie powstrzyma – ale zastanów się: ile tak naprawdę się dzięki temu nauczysz?

<!--more-->

Nauczyciele doskonale zdają sobie z tego sprawę i w dobie AI muszą sięgać po własne narzędzia, by z tym walczyć. Problem w tym, że te, których używają, są w większości bezużyteczne.

W wielu przypadkach narzędzia te są nieautoryzowane, niesprawdzone i – co gorsza – notorycznie oznaczają tekst, który napisałeś w 100% samodzielnie, jako w 90% wygenerowany przez AI!

To, co się obecnie dzieje, to kompletny żart, który musi się skończyć.

Problem jest na tyle poważny, że zniechęca uczciwych studentów. Wkładają oni mnóstwo wysiłku w wyszukiwanie informacji i samodzielne pisanie, po czym słyszą od wykładowcy, że 70% ich pracy to AI i muszą pisać wszystko od nowa!

**Bądźcie wytrwali i pewni siebie.**

{{% ads-in-article %}}

Nie dajcie sobie wmówić czegoś, co nie jest prawdą – zwłaszcza gdy macie stuprocentową pewność, że praca wyszła spod Waszego pióra!

Jeśli jesteś obcokrajowcem, dla którego angielski nie jest językiem ojczystym, sposób, w jaki piszesz i konstruujesz zdania, znacząco różni się od stylu native speakerów.

Jako obcokrajowiec jesteś bardziej narażony na to, że detektory AI podniosą alarm, niż rodowity Anglik, który napisał własną pracę własnymi słowami.

Podobnie jak ja – jesteśmy nieco inni. Inaczej formułujemy myśli i dobieramy słowa. Czasami używamy bardzo wyrafinowanego słownictwa, co sprawia, że systemy uznają naszą pracę za zbyt dojrzałą jak na nasz wiek. To czyste szaleństwo!

**Jak zawsze, każdy kij ma dwa końce.**

Nauczyciele muszą walczyć z „oszustami”, którym wydaje się, że nie muszą ciężko pracować. Problem polega na tym, że przy okazji rykoszetem dostają uczciwi studenci.

Weźmy za przykład nieautoryzowane narzędzie do sprawdzania AI ze strony [justdone.com/ai-detector](https://justdone.com/ai-detector), o którym wiem, że jest używane przez niektórych pedagogów do weryfikacji autentyczności prac.

To komercyjne narzędzie, oferujące darmowy skaner, który celowo (we własnym interesie) zawyża wskaźnik AI. Wszystko po to, by zaraz potem zaoferować płatną usługę „humanizacji” twojego własnego tekstu – tekstu, który ty, jako człowiek, napisałeś samodzielnie!

Wziąłem kilka moich własnych tekstów, w tym e-maile, które napisałem w 100% z głowy, i przepuściłem je przez ten skaner. Wyniki mnie przeraziły i autentycznie rozsierdziły. Codziennie widzę ludzi, którzy wkładają wysiłek w naukę, by zaraz potem zostać zniechęconym do samodzielnego pisania, bo ich praca zostaje oznaczona jako wygenerowana przez AI!

Wszystkie moje teksty (a sprawdziłem ich sporo) zostały ocenione jako napisane przez AI w stopniu od 70 do nawet 100%.

**To totalny absurd!**

Gdybym był dzisiaj studentem, napisał kilka stron pracy i usłyszał od promotora, że użyłem AI, przez co moja praca zostaje odrzucona – byłbym wściekły!

To nie tylko irytujące, ale przede wszystkim totalnie zniechęca do samodzielnego wysiłku. Zwłaszcza gdy widzisz, że inni, którzy idą po linii najmniejszego oporu, używając AI i narzędzi do „humanizowania” tekstów, prześlizgują się dalej bez żadnych problemów.

**Drodzy nauczyciele, stać was na więcej!**

{{% ads-in-article %}}

Jako edukatorzy kształtujecie przyszłość tego kraju. Jednak poprzez nieudolną walkę z treściami generowanymi przez AI i poleganie na niedokładnych narzędziach, promujecie studentów, którzy robią absolutne minimum, byle tylko zaliczyć. To jest po prostu złe!

Weźmy przykład osoby piszącej tekst o prawie i regulacjach – jest niemal pewne, że taka praca uruchomi alarm w detektorze AI. Autor prawdopodobnie cytuje przepisy lub używa specyficznego języka, którego się nauczył. Czasami nie da się czegoś przeredagować bez utraty sensu, a przez to student zostaje ukarany.

Rozumiem istotę problemu. Sam wkładam mnóstwo wysiłku w swoją codzienną pracę. Obecnie, jak wszyscy, wspieram się sztuczną inteligencją. W pewnym sensie z niej korzystam, ale wciąż jestem dumny z efektu końcowego, który prezentuję. Wiem, że tam, gdzie to konieczne, moja praca jest autorska i niezależnie od tego, co wykazują wasze detektory, ja znam prawdę.

Jeśli już musicie korzystać z narzędzi do sprawdzania AI, upewnijcie się przede wszystkim, że są one sprawdzone i dokładne. Weźcie pod uwagę pochodzenie i sytuację studenta, a jeśli nadal macie wątpliwości, zweryfikujcie to w inny sposób. Nie każcie im po raz trzeci „rozwadniać” własnej pracy tylko po to, by wstrzelić się w próg akceptacji niedokładnego algorytmu!

**Dajcie spokój, musimy zacząć podchodzić do tego lepiej.**

Przez krótki czas sam byłem nauczycielem akademickim, byłem też studentem. Moja codzienna praca polega na tworzeniu – używam do tego własnej głowy i dostępnych materiałów. Wiem, kiedy można pójść na łatwiznę, a kiedy trzeba włożyć w coś mnóstwo wysiłku. Jeśli jednak rzetelna, ciężka praca nie będzie szanowana, społeczeństwo, które teraz budujemy, stanie się krajem „kombinatorów”. Ci sami kombinatorzy będą później rządzić tym krajem. Czy naprawdę chcemy, żeby tak to wyglądało? To już dzieje się w innych państwach, ale u nas nie musi. Stać nas na więcej!

To my kształtujemy przyszłe pokolenia, więc musimy robić to właściwie – nawet w tych trudnych czasach zdominowanych przez AI, w których przyszło nam żyć.

Mądre korzystanie z narzędzi takich jak AI stanie się umiejętnością – dokładnie tak samo, jak stało się nią korzystanie z Google, gdy zaczynałem studia.

Nie wszystko, co napisane, pochodzi z rąk AI. Jeśli musicie używać narzędzi, by to sprawdzać, upewnijcie się najpierw, że te narzędzia w ogóle działają poprawnie.

Studenci: jeśli macie stuprocentową pewność, że praca jest Wasza, pielęgnujcie w sobie odwagę i determinację, by trzymać się swojej prawdy. Brońcie się – to najważniejsza umiejętność, jakiej będziecie potrzebować w życiu.

---

Według tego nierzetelnego narzędzia JustDone AI Detector, powyższy tekst — mimo że został napisany przez człowieka (mnie) — został oznaczony jako wygenerowany przez AI w 91%. **Co za totalny żart!**


---
## Konfiguracja Policy-Based Routing w systemie OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/policy-based-routing-openwrt/
- **Date:** 2026-01-24
- **Tags:** Routing, Policy-Based, Cloudflare, IPv6, OpenWrt, VPN, WARP, WireGuard

### Content

Od pewnego czasu na mojej stronie poruszam tematykę związaną z OpenWrt. Jednym z głównych obszarów zainteresowań moich czytelników była implementacja WireGuard, dodawanie tunelu Cloudflare WARP oraz zarządzanie wieloma łączami internetowymi na jednym routerze.

Do tej pory nie opisałem jednak, jak warunkowo kierować ruchem w sytuacji, gdy dysponujemy dwoma łączami lub gdy do pojedynczego połączenia fizycznego dodaliśmy połączenie wirtualne (takie jak VPN).

Choć do przekierowania ruchu można wykorzystać reguły zapory ogniowej (firewalla), ich wdrożenie nie zawsze jest proste i intuicyjne. W związku z tym zacząłem szukać alternatywnego rozwiązania.

Zależało mi szczególnie na możliwości szybkiego skonfigurowania routera tak, aby w razie potrzeby kierował ruch z konkretnego urządzenia bezpośrednio przez tunel VPN. Aby to ułatwić, przyjrzałem się pakietowi **PBR** (Policy-Based Routing).

<!--more-->

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Instalacja

Moim celem jest sprawne zarządzanie całością z poziomu interfejsu webowego. Z tego powodu nie będę instalował samego pakietu `pbr` osobno. Zamiast tego zainstaluję bezpośrednio pakiet LuCI, który automatycznie pobierze `pbr` jako wymaganą zależność.

```bash
apk update
apk add luci-app-pbr
service rpcd restart
```

> Procedura ta wymaga zainstalowania pakietu `luci-app-pbr` oraz zrestartowania usługi `rpcd` przed przystąpieniem do dalszej konfiguracji.

Domyślnie, podczas pierwszej instalacji, zobaczysz komunikat o błędzie. **To zupełnie normalne.** Usługa `pbr` jest wyłączona na starcie, aby mieć pewność, że nic nie przestanie działać na tym etapie. **Na razie możesz to zignorować.**

```
ERROR: The pbr service is currently disabled!
Run the following commands before starting the service again:
uci set pbr.config.enabled='1'; uci commit pbr;
pbr 1.2.0-r6 FAILED TO START in fw4 nft file mode!!! Check the output of nft -c -f /var/run/pbr.nftERROR: The pbr service is currently disabled!
ERROR: Errors encountered, please check https://docs.openwrt.melmac.ca/pbr/1.2.0/#ErrorMessagesDetails!
```

[![Menu Usługi (Services) w systemie OpenWrt z nową opcją Policy Routing](01_openwrt_services_policy_routing.png)](01_openwrt_services_policy_routing.png)

Zanim przejdziemy dalej, możemy zalogować się do routera przez przeglądarkę. W sekcji **Usługi** (Services) pojawi się nowa opcja o nazwie **Policy Routing**.

Zanim jednak uruchomimy usługę, przejrzyjmy domyślne ustawienia i dostosujmy je do naszego środowiska.

{{% ads-in-article %}}

## Konfiguracja

### Konfiguracja podstawowa

[![Domyślne ustawienia konfiguracji podstawowej w Policy Based Routing](02_basic_configuration.png)](02_basic_configuration.png)

1. **Szczegółowość logów (Output verbosity)**

> To ustawienie określa, jak wiele informacji usługa `pbr` przesyła do logów systemowych (`logread`) oraz konsoli podczas uruchamiania i wprowadzania zmian w regułach.

* **Rekomendacja:** Pozostaw opcję **Verbose output** (domyślną). Gdy upewnisz się, że wszystko działa poprawnie, możesz przełączyć ją na **Condensed output**.

2. **Ścisłe egzekwowanie reguł (Strict Enforcement)**

> Decyduje o tym, co dzieje się z ruchem sieciowym, gdy brama przypisana do danej reguły (np. tunel VPN) przestanie działać. Funkcja ta jest powszechnie znana jako **Kill switch**.

* **Rekomendacja:** Jeśli chcesz zapobiec wyciekowi swojego prawdziwego adresu IP w przypadku awarii połączenia VPN, wybierz **Strictly enforce policies** (opcja domyślna). Jeśli wolisz, aby internet nadal działał przez Twojego głównego dostawcę (ISP) nawet po zerwaniu „chronionego” połączenia, wybierz **Do not enforce**.

3. **Wsparcie dla zestawów resolvera dla domen (Use resolver set support for domains)**

> Pozwala to usłudze `pbr` na wykorzystanie `ipset` lub `nftset` do przekierowywania całych domen (np. netflix.com) poprzez przechwytywanie zapytań DNS — **o ile jest to obsługiwane**.

* **Rekomendacja:** Ustaw tę opcję na **Enabled** (szczególnie szukaj opcji związanej z `nftset`, np. `Dnsmasq nft set`). Ponieważ obecne wersje OpenWrt korzystają z `fw4`, używanie zestawów (sets) jest najskuteczniejszym sposobem na obsługę routingu opartego na domenach bez konieczności ręcznego szukania zakresów IP.

---

Na moim routerze, **GL-MT6000 (Flint 2)**, dostępna była jedynie opcja **Disabled**, której towarzyszył komunikat: `The dnsmasq.nftset is not supported on this system.`.

Zdecydowanie warto włączyć tę funkcję, jeśli planujemy kierować ruch z konkretnych stron internetowych (takich jak BBC iPlayer) przez wybrane interfejsy.

**OpenWrt 24.10** korzysta z nowoczesnego środowiska `nftables`. Ostrzeżenie dotyczące `dnsmasq.nftset` zazwyczaj oznacza, że nie można odnaleźć starszego skryptu integracyjnego dla `dnsmasq`, ale nie powinno to nas zniechęcać.

**Dlaczego opcja jest wyłączona (Disabled)?**
Aby usługa `pbr` mogła korzystać z zestawów domen, wymaga ona, by `dnsmasq` (który jest obecny w systemie) był skompilowany ze wsparciem dla `nftset`. W nowszych wydaniach OpenWrt standardowy pakiet `dnsmasq` często musi zostać zastąpiony wersją `dnsmasq-full`.

**Jak to naprawić?**
Aby odblokować tę opcję, zazwyczaj musimy podmienić komponenty DNS. Możemy to zrobić, wykonując poniższe polecenia:

```bash
apk update
apk del dnsmasq
apk add dnsmasq-full
```

Zanim przejdziemy dalej, wykonajmy również te polecenia:
```bash
rm /tmp/luci-indexcache*
service rpcd restart
```

Gdy wrócimy do interfejsu webowego i odświeżymy stronę, opcja **Dnsmasq nft set** powinna być już dostępna na liście rozwijanej.

---

4. **Obsługa IPv6 (IPv6 Support)**

> To ustawienie decyduje, czy silnik zasad ma tworzyć tablice routingu i reguły zapory ogniowej dla ruchu IPv6.

* **Rekomendacja:** Ustaw opcję na **Enabled**, jeśli Twój dostawca (ISP) zapewnia łączność IPv6. Pozostawienie tej opcji wyłączonej spowoduje powstawanie „wycieków” — podczas gdy ruch IPv4 będzie kierowany zgodnie z Twoimi zasadami, ruch IPv6 je pominie i wyjdzie przez domyślną bramę operatora.

{{% ads-in-article %}}

### Konfiguracja zaawansowana

[![Domyślne ustawienia konfiguracji zaawansowanej w Policy Based Routing](03_advanced_configuration.png)](03_advanced_configuration.png)

1. **Obsługiwane interfejsy (Supported Interfaces)**

> To pole wskazuje usłudze `pbr` dokładnie te interfejsy sieciowe, przez które dozwolone jest kierowanie ruchu. Jeśli pozostawisz je puste, system zazwyczaj spróbuje automatycznie wykryć tunele (takie jak `tun*` czy `wg*`).

* **Rekomendacja:** Na razie pozostaw to pole puste. Jeśli zauważysz, że konkretny tunel WireGuard lub OpenVPN nie pojawia się na liście rozwijanej podczas tworzenia reguł, możesz tutaj ręcznie dopisać jego nazwę.

2. **Ignorowane interfejsy (Ignored Interfaces)**

> Zapobiega to zarządzaniu ruchem dla konkretnych interfejsów przez `pbr` – dotyczy to np. serwera VPN, który możesz hostować na potrzeby zdalnego dostępu.

* **Rekomendacja:** Zachowaj wartość domyślną (`vpnserver`). Nie chcesz, aby `pbr` próbował przekierowywać ruch, który trafia do Twojego routera z zewnątrz.

3. **Opcja tworzenia reguł (Rule Create option)**

> Określa, czy reguły `pbr` mają być dopisywane na końcu listy firewalla (**Add**), czy umieszczane na samej górze (**Insert**).

* **Rekomendacja:** **Add** (domyślna). Wstawianie reguł na samą górę może czasem kolidować z kluczowymi wyjątkami zapory systemowej (np. ruchem przeznaczonym bezpośrednio dla routera). Opcja „Add” jest bezpieczniejsza i zazwyczaj w zupełności wystarcza.

4. **Domyślny interfejs ICMP (Default ICMP Interface)**

> Wymusza, aby zapytania „ping” oraz „traceroute” przechodziły przez konkretny interfejs, niezależnie od innych reguł.

* **Rekomendacja:** **No Change** (domyślna). Jeśli wymusisz tutaj opcję „wan”, nie będziesz mógł wykonać polecenia „ping” przez VPN, aby sprawdzić stabilność połączenia. Lepiej pozwolić, aby protokół ICMP podlegał tym samym zasadom, co reszta danych.

Pola **Uplink Interface Table FW Mark** oraz **Service FW Mask** to techniczne „znaczniki” (wartości szesnastkowe) używane do oznaczania pakietów w pamięci systemu. Dzięki nim router wie, do której trasy dany pakiet przynależy. **Nie zmieniaj tych wartości.** Te wysokie numery (zaczynające się od `010000`) są ustawione tak, aby nie kolidować z innymi usługami, takimi jak SQM (Smart Queue Management) czy QoS. O ile nie posiadasz bardzo specyficznej, ręcznej konfiguracji zapory ogniowej, ustawienia domyślne będą idealne.

### Konfiguracja interfejsu webowego (Web UI Configuration)

[![Domyślne opcje konfiguracji interfejsu webowego w Policy Based Routing](04_web_ui_configuration.png)](04_web_ui_configuration.png)

Te dwie ostatnie opcje wpływają wyłącznie na sposób korzystania z interfejsu `luci-app-pbr` podczas tworzenia reguł.

1. **Dodaj cel ignorowania (Add Ignore Target)**

> Ta opcja dodaje status „Ignore” do listy interfejsów w regułach. Jeśli ją włączysz (**Enabled**), każdy ruch oznaczony flagą „Ignore” całkowicie pominie mechanizm `pbr` i będzie przesyłany zgodnie z domyślną tabelą routingu routera.

* **Rekomendacja:** **Enabled**. Jest to niezwykle przydatne podczas rozwiązywania problemów. Jeśli konkretne urządzenie lub strona internetowa nie działa prawidłowo, możesz szybko ustawić regułę na „Ignore”, aby sprawdzić, czy przyczyną jest `pbr`, bez konieczności usuwania całej reguły.

2. **Obsługiwane protokoły (Supported Protocols)**

> Określa, jakie protokoły będą widoczne na liście rozwijanej podczas tworzenia nowej zasady.

* **Rekomendacja:** **Pozostaw domyślne**. Zazwyczaj będziesz używać „tcp udp” dla standardowego przeglądania stron lub opcji „all”. Chociaż widoczność „icmp” bywa pomocna, jeśli chcesz kierować pingi inaczej niż dane, to „all” lub „tcp udp” pokrywa 99% przypadków użycia.

Teraz możemy kliknąć przycisk **Save & Apply** (Zapisz i zastosuj).

{{% ads-in-article %}}

## Zasady (Policies)

[![Domyślne zasady w Policy Based Routing](05_policies.png)](05_policies.png)

Teraz omówimy sekcję zasad (Policies), która domyślnie zawiera reguły widoczne powyżej. Te standardowe wpisy to szablony przygotowane przez autora pakietu, aby zaoszczędzić nam typowych problemów konfiguracyjnych.

**Ignore Local Requests (Ignoruj zapytania lokalne)**
To swego rodzaju siatka bezpieczeństwa. Dzięki niej ruch między Twoimi urządzeniami (np. komunikacja telefonu z drukarką) nie zostanie omyłkowo skierowany do tunelu VPN, co mogłoby skutkować przerwaniem połączenia. Warto rzucić na to okiem i ewentualnie skorygować maskę IP, jeśli używasz innego zakresu niż standardowe w OpenWrt `192.168.1.x`.

**Plex/Emby Rules**
Zasady te dbają o to, aby ruch z serwerów multimediów pozostawał na Twoim głównym łączu (WAN). Dzięki temu zdalne strumieniowanie działa poprawnie i nie jest ograniczane przez przepustowość VPN-a.

Wszystkie te zasady są początkowo ustawione jako **Disabled** (pole wyboru „Enabled” jest odznaczone). Moja rekomendacja to zaznaczenie **Enabled** przy regule **Ignore Local Requests**, po uprzednim upewnieniu się, że zakres adresów IP jest poprawny.

## Zasady DNS (DNS Policies)

[![Domyślne zasady DNS w Policy Based Routing](06_dns_policies.png)](06_dns_policies.png)

> Ta sekcja służy do wymuszania na konkretnych urządzeniach korzystania z wyznaczonego serwera DNS, z pominięciem globalnych ustawień DNS routera.

* **Rekomendacja:** Pozostaw tę sekcję wyłączoną (**Disabled**). Ponieważ mam skonfigurowaną globalną bramę Cloudflare DoH (DNS over HTTPS) na porcie 5053, zależy mi, aby wszystkie moje urządzenia korzystały z tego poziomu prywatności. Domyślny przykład (przekierowanie urządzenia `192.168.1.5` na DNS Cloudflare `1.1.1.1`) jest przydatny tylko wtedy, gdy masz w sieci „oporne” urządzenie — takie jak Google Home czy Smart TV — które próbuje korzystać z na sztywno wpisanych ustawień DNS, a Ty chcesz je przechwycić. O ile nie masz konkretnego powodu, by omijać swój serwer proxy DoH dla danego urządzenia, pozostaw tę sekcję pustą.

## Tagowanie DSCP (DSCP Tagging)

[![Domyślne wartości tagowania DSCP w Policy Based Routing](07_dscp.png)](07_dscp.png)

> DSCP (Differentiated Services Code Point) jest wykorzystywane przez mechanizmy jakości usług (QoS). Pozwala ono na „znakowanie” pakietów, dzięki czemu Twój dostawca (ISP) lub inny router wie, który ruch ma wysoki priorytet (np. VoIP), a który niski (np. pobieranie plików w tle).

* **Rekomendacja:** **Pozostaw puste**. Większość domowych dostawców internetu całkowicie ignoruje tagi DSCP. O ile nie posiadasz bardzo złożonej konfiguracji z wieloma routerami, w której konkretne urządzenia są ustawione tak, by traktować priorytetowo „oznakowane” pakiety, uzupełnienie tej sekcji nie przyniesie zauważalnych korzyści, a może wręcz powodować problemy w niektórych sieciach zewnętrznych.

## Własne pliki użytkownika (Custom User File Includes)

[![Domyślne pliki użytkownika w Policy Based Routing](08_custom.png)](08_custom.png)

> Są to gotowe skrypty, które wspierają `pbr` w zarządzaniu usługami korzystającymi z tysięcy często zmieniających się adresów IP.

* **pbr.user.dnsprefetch:** Zdecydowanie zalecane, aby to **włączyć (Enable)**. Pomaga to w rozwiązywaniu nazw domen z Twojej listy zasad, zanim jeszcze je odwiedzisz, dzięki czemu „pierwsze załadowanie” przekierowanej strony internetowej jest odczuwalnie szybsze.
* **pbr.user.aws:** Pozostaw **wyłączone (Disabled)**, chyba że celowo chcesz kierować cały ruch Amazon Web Services przez konkretny interfejs (co jest zazwyczaj niewskazane, ponieważ obejmuje ogromną część zasobów internetu).
* **pbr.user.netflix:** **Włącz (Enable), jeśli planujesz przekierowywać Netflixa.** Netflix jest powszechnie znany z tego, że trudno go poprawnie kierować, ponieważ korzysta z setek różnych zakresów IP; ten skrypt zajmuje się całą tą złożoną logiką za Ciebie.

{{% ads-in-article %}}

## Status

[![Przyciski kontrolne służące do włączania i uruchamiania usługi Policy Based Routing](09_status.png)](09_status.png)

Teraz jesteśmy gotowi, aby **włączyć (Enable)** naszą usługę w sekcji **Service Control**. Następnie należy nacisnąć przycisk **Start**.

## Przypadek użycia (Use Case)

Moim celem jest wykorzystanie `pbr` do skierowania całego ruchu z jednego z urządzeń w mojej sieci przez tunel Cloudflare WARP.

Nawiązując do mojego poprzedniego wpisu, [Cloudflare WARP i router z OpenWrt](/turbodoladowanie-polaczenia-internetowego/#cloudflare-warp-i-router-z-openwrt), wykorzystałem narzędzie [**wgcf**](https://github.com/ViRb3/wgcf/) do skonfigurowania wirtualnego interfejsu dla routingu Cloudflare WARP.

**Ważne**
Ponieważ ruch będzie kierowany przez `pbr`, podczas konfigurowania interfejsu WireGuard dla tunelu Cloudflare WARP musisz pamiętać, aby **NIE** zaznaczać opcji **Route Allowed IPs**. W przeciwnym razie cały Twój ruch będzie domyślnie kierowany przez ten nowy interfejs.

W przypadku interfejsu Cloudflare WARP we wspomnianym artykule zalecałem przypisanie go do strefy **wan** w **Ustawieniach zapory ogniowej (Firewall Settings)**. Jeśli jednak Twój dostawca zapewnia natywną obsługę IPv6, nie powinieneś włączać **Maskarady (Masquerading)** dla IPv6, ponieważ Twoje urządzenia utracą swoje indywidualne adresy IPv6, a cały ruch będzie kierowany przez pojedynczy adres IPv6 routera.

W takiej sytuacji zalecam utworzenie dodatkowej strefy zapory ogniowej, w której można ustawić **Maskaradę** dla IPv4 oraz (w Ustawieniach zaawansowanych) dla IPv6. Strefa ta będzie używana wyłącznie dla interfejsu Cloudflare WARP. Wszystkie pozostałe opcje powinny pozostać dokładnie takie same, jak w domyślnej strefie **wan**.

---

Gdy nasz dodatkowy interfejs zostanie uruchomiony, przeprowadźmy szybki test, aby upewnić się, że wszystko działa poprawnie.

Przejdź do sekcji **Services** > **Policy Routing** i klikając przycisk **Add** w sekcji zasad (Policies), utwórz regułę, która skieruje ruch z Twojego komputera przez nowy interfejs.

W polu **Local addresses/devices** musisz wskazać swoje urządzenie w sieci lokalnej, uwzględniając zarówno adres IPv4, jak i IPv6. Może to być problematyczne, jeśli adresy te ulegają zmianie, dlatego **najprostszą metodą** jest wskazanie urządzenia po jego nazwie. Nazwę tę znajdziesz na głównej stronie statusu po zalogowaniu się do routera, w sekcji **Active DHCP Leases**.

> Pamiętaj, że jeśli nazwa Twojego urządzenia wyświetla się jako „iPhone-Darek (iPhone-Darek.lan)”, powinieneś wpisać tylko „iPhone-Darek”.

PBR automatycznie dopasuje nazwę do aktualnych adresów IPv4 i IPv6. Nawet jeśli adresy się zmienią, reguła pozostanie aktualna.

Wpisz nazwę swojego urządzenia, wybierz interfejs, przez który ma być kierowany ruch, i dodaj regułę, naciskając przycisk **Save**, a następnie **Save & Apply**.

Aby szybko zweryfikować, czy **cały** ruch przechodzi przez nowy interfejs, wejdź na stronę [speedtest.net](https://www.speedtest.net) i sprawdź źródło połączenia po lewej stronie. Jeśli korzystasz z Cloudflare WARP, zobaczysz tam napis **Cloudflare Warp** (zamiast np. **toob**, który jest moim obecnym dostawcą).

[![Strona SpeedTest wyświetlająca źródło ruchu przechodzącego przez tunel](10_speedtest_check.png)](10_speedtest_check.png)

Decyzja o tym, co i w jaki sposób chcesz przekierowywać, należy już teraz całkowicie do Ciebie.

Powodzenia!


---
## Moje (23) Gwiazdki GitHuba na koniec 2025
- **URL:** https://dariusz.wieckiewicz.org/moje-gwiazdki-githuba-na-koniec-2025/
- **Date:** 2025-12-28
- **Tags:** github, github stars, emoji-cheat-sheet, google-photos-album-image-url-fetch, ImageOptim, web-performance-research, fuse-t, comic-mono-font, woff2, open-source-mac-os-apps, SQL-tips-and-tricks, AssetCatalogTinkerer, rufus, rustdesk, Latest, awesome-selfhosted, public-iperf3-servers, sveltia-cms, wg-easy, embed-pdf-viewer, Handy, netdata, open-webui, watchtower, Win11Debloat

### Content

W nawiązaniu do [mojego zeszłorocznego wpisu](/moje-gwiazdki-githuba-na-koniec-2024/), w którym podzieliłem się moimi odkryciami na GitHubie w 2024 roku, przeanalizowałem to, co udało mi się znaleźć w ciągu całego roku 2025.

Regularnie przeglądam repozytoria, które oznaczyłem gwiazdką, a 31 grudnia 2025 roku nie był pod tym względem wyjątkiem.

Do końca 2025 roku zgromadziłem (lub odkryłem na nowo) poniższe repozytoria – każde z nich jest zdecydowanie warte uwagi.

> To zestawienie ma charakter autorski. Wybrałem te pozycje, które moim zdaniem najbardziej warto znać w nadchodzącym 2026 roku. Unikałem powielania propozycji z poprzednich lat. Aby zapoznać się z moimi wcześniejszymi rekomendacjami, zapraszam do lektury wpisu [Gwiazdy GitHuba 2024](/moje-gwiazdki-githuba-na-koniec-2024/).

<!--more-->

## [ikatyang / emoji-cheat-sheet](https://github.com/ikatyang/emoji-cheat-sheet)

> Ściąga z emoji w formacie Markdown

Kompleksowy przewodnik referencyjny oparty na formacie Markdown, stworzony dla osób chcących używać emoji na GitHubie, Slacku oraz innych platformach wspierających krótkie kody (shortcodes). Oferuje on obszerną, skategoryzowaną listę symboli wraz z odpowiadającymi im kodami (np. :smile:) oraz reprezentacją w standardzie Unicode.

Repozytorium wyróżnia się automatycznymi aktualizacjami – dane pobierane są bezpośrednio z GitHub Emoji API oraz pełnej listy Unicode (Unicode Full Emoji List), co gwarantuje dostęp do najnowszych ikon. Jest to niezwykle popularne i lekkie narzędzie, które programistom oraz autorom tekstów pozwala błyskawicznie znaleźć i skopiować składnię niezbędną do wyświetlania ikon w plikach Markdown, opisach commitów czy dokumentacji.

## [yumetodo / google-photos-album-image-url-fetch](https://github.com/yumetodo/google-photos-album-image-url-fetch)

> Wyodrębnianie publicznych adresów URL zdjęć z udostępnionych albumów Google Photos

Biblioteka oparta na TypeScript, stworzona do programowego wyodrębniania bezpośrednich linków do zdjęć z publicznie udostępnionych albumów w usłudze Zdjęcia Google. W przeciwieństwie do standardowych metod opartych na API, które często generują linki tymczasowe, to narzędzie skupia się na pozyskiwaniu bardziej trwałych adresów poprzez scrapowanie i analizowanie metadanych albumu bezpośrednio ze struktury HTML strony udostępniania.

Narzędzie jest szczególnie przydatne dla programistów, którzy chcą wykorzystać Zdjęcia Google jako lekki system dostarczania treści (CDN) lub hosting obrazów na potrzeby stron internetowych. Oferuje funkcje pobierania wymiarów zdjęć, dat aktualizacji, a nawet mechanizm śledzenia nowych pozycji dodawanych do albumu w czasie. Dzięki wykorzystaniu specyficznych wywołań zwrotnych (callbacks) osadzonych na stronach Zdjęć Google, biblioteka umożliwia automatyczną integrację galerii zdjęć z zewnętrznymi aplikacjami bez konieczności przechodzenia przez złożoną konfigurację OAuth dla treści publicznych.

{{% ads-in-article %}}

## [ImageOptim / ImageOptim](https://github.com/ImageOptim/ImageOptim)

> Graficzny optymalizator obrazów dla systemu Mac

Kod źródłowy popularnej aplikacji open-source na system macOS, stworzonej w celu zmniejszania rozmiaru plików graficznych bez utraty ich jakości. Program działa jako nakładka graficzna, która w sposób płynny integruje kilka potężnych narzędzi optymalizacyjnych działających w wierszu poleceń, takich jak Zopfli, MozJPEG czy PNGOUT. Dzięki automatyzacji tych narzędzi, aplikacja dobiera najlepsze parametry kompresji, aby usunąć zbędne metadane, ukryte śmieci oraz niepotrzebne profile kolorów z plików JPEG, PNG i GIF.

Projekt cieszy się dużym uznaniem ze względu na swój niezwykle prosty interfejs typu „przeciągnij i upuść”, który pozwala użytkownikom na błyskawiczne przetwarzanie wsadowe pojedynczych zdjęć lub całych folderów. Poza samą aplikacją desktopową, repozytorium stanowi fundament dla szerszego ekosystemu, obejmującego API oraz narzędzia CLI, co czyni je stałym elementem warsztatu deweloperów i projektantów dbających o czas ładowania stron oraz wydajność aplikacji. Ponieważ proces przebiega lokalnie na komputerze Mac, narzędzie gwarantuje pełną prywatność – zdjęcia nigdy nie są przesyłane na zewnętrzne serwery.

## [imteekay / web-performance-research](https://github.com/imteekay/web-performance-research)

> ⚡️ Badania nad wydajnością stron internetowych (Web Performance Research)

Kompleksowy, starannie dobrany zbiór zasobów poświęcony głębokiej analizie i praktycznemu zastosowaniu optymalizacji stron internetowych. Pełni on rolę osobistego dziennika badawczego i bazy wiedzy, która obejmuje szerokie spektrum tematów – od wskaźników Core Web Vitals, takich jak LCP i CLS, po zaawansowane mechanizmy wewnętrzne przeglądarek, silniki renderujące oraz zarządzanie pamięcią.

Repozytorium jest podzielone na sekcje tematyczne, w tym architekturę, backend, sieci (HTTP/2, buforowanie) oraz frameworki frontendowe, takie jak React. Gromadzi ono wysokiej jakości artykuły, filmy, podcasty i studia przypadków, oferując programistom ustrukturyzowaną ścieżkę rozwoju – od prostych technik optymalizacyjnych po fundamentalne zrozumienie tego, jak przeglądarki wykonują kod i renderują piksele. Dzięki dokumentowaniu rzeczywistych eksperymentów i najlepszych praktyk branżowych, projekt ten służy jako niezastąpione źródło wiedzy przy budowaniu szybszych i bardziej odpornych aplikacji webowych.

## [macos-fuse-t / fuse-t](https://github.com/macos-fuse-t/fuse-t)

> Nowoczesna implementacja FUSE (Filesystem in Userspace) dla systemu macOS, niewymagająca rozszerzeń jądra (kext). Jej głównym zadaniem jest zastąpienie starszych projektów, takich jak macFUSE, które opierają się na rozszerzeniach jądra. Ponieważ Apple, ze względów bezpieczeństwa i stabilności, coraz mocniej ogranicza możliwość korzystania z zewnętrznych kextów, projekt ten oferuje deweloperom bardziej przyszłościową metodę tworzenia niestandardowych systemów plików na komputerach Mac.

Od strony technicznej narzędzie działa poprzez implementację serwera w przestrzeni użytkownika, który tłumaczy wywołania protokołu FUSE na zapytania NFS v4 (Network File System). Pozwala to systemowi macOS na montowanie woluminów przy użyciu wbudowanego, natywnego klienta NFS, bez konieczności wprowadzania głębokich i niskopoziomowych modyfikacji systemowych. Dzięki takiemu podejściu użytkownicy nie muszą obniżać poziomu zabezpieczeń (np. poprzez wyłączanie System Integrity Protection) ani restartować komputera w trybie odzyskiwania, co często jest niezbędne w przypadku tradycyjnych rozwiązań FUSE.

Projekt został zaprojektowany jako zamiennik typu „drop-in”, zachowujący kompatybilność z nagłówkami API libfuse. Dzięki temu wiele istniejących systemów plików można przenieść na macOS przy minimalnym nakładzie pracy. Narzędzie cieszy się szczególną popularnością w społecznościach zajmujących się prywatnością i kopiami zapasowymi – jest wykorzystywane przez takie programy jak Cryptomator czy rclone, umożliwiając wygodne montowanie zaszyfrowanych danych lub pamięci w chmurze tak, jakby były one dyskami lokalnymi.

{{% ads-in-article %}}

## [dtinth / comic-mono-font](https://github.com/dtinth/comic-mono-font)

> Czytelna czcionka monospaczna... dokładnie ten krój pisma, który znasz od dziecka

Wyjątkowa, monospaczna czcionka zaprojektowana specjalnie do programowania, inspirowana estetyką owianego złą sławą kroju Comic Sans. Jest to pochodna czcionki „Comic Shanns” autorstwa Shannon Miwy, zmodyfikowana tak, aby stała się idealnym fontem monospacznym, w którym każdy znak ma dokładnie tę samą szerokość. Dzięki temu świetnie nadaje się do edytorów kodu i emulatorów terminala, oferując czytelną i swobodną alternatywę dla bardziej tradycyjnych, sztywnych czcionek programistycznych.

Projekt rozwiązuje typowe problemy z wyrównaniem znane z pierwowzoru, dbając o to, by glify były odpowiednio wyśrodkowane i przeskalowane do pracy w siatce. Font zawiera warianty pogrubione oraz kursywę, a repozytorium udostępnia proste skrypty instalacyjne dla różnych systemów operacyjnych. Dla programistów, dla których standardowe czcionki są zbyt surowe, Comic Mono oferuje czytelny, „ręczny” sznyt, zachowując przy tym techniczne wymagania środowiska programistycznego bez rezygnacji z fantazyjnego charakteru oryginału.

## [google / woff2](https://github.com/google/woff2)

> Repozytorium zawiera referencyjną implementację formatu Web Open Font Format 2.0 (WOFF2) – standardu pakowania czcionek, który oferuje znacznie lepszą kompresję niż jego poprzednik. Projekt obejmuje biblioteki C++ oraz narzędzia wiersza poleceń – w szczególności `woff2_compress` i `woff2_decompress` – oparte na algorytmie kompresji Brotli, które pomagają deweloperom przygotować fonty do wydajnej dystrybucji w sieci.

Narzędzie to jest szczególnie przydatne podczas pracy z repozytoriami takimi jak [dtinth / comic-mono-font](https://github.com/dtinth/comic-mono-font), które udostępniają czcionki wyłącznie w formacie TrueType (.ttf). Choć pliki TTF sprawdzają się w lokalnym użytku na komputerze, często są zbyt duże, by zapewnić optymalną wydajność strony internetowej. Korzystając z tego narzędzia, możesz przekonwertować pliki TTF na format WOFF2, czyniąc je lekkimi i gotowymi do użycia w aplikacjach webowych, co przekłada się na szybszy czas ładowania i mniejsze zużycie transferu.

## [serhii-londar / open-source-mac-os-apps](https://github.com/serhii-londar/open-source-mac-os-apps)

> 🚀 Zestawienie świetnych aplikacji typu open source dla systemu macOS.

Ogromna, tworzona przez społeczność lista typu „Awesome List”, która służy jako kompletny katalog oprogramowania o otwartym kodzie źródłowym na macOS. Grupuje ona setki aplikacji w kilkunastu kategoriach, takich jak narzędzia programistyczne, produktywność, edycja audio-wideo, bezpieczeństwo czy narzędzia systemowe. Projekt ma na celu pomóc użytkownikom w znalezieniu wysokiej jakości darmowych alternatyw dla płatnego oprogramowania, jednocześnie zachęcając deweloperów do odkrywania nowych projektów, w których rozwój mogą się zaangażować.

W przeciwieństwie do mniejszych, bardziej selektywnych zestawień, to repozytorium jest niezwykle obszerne i obejmuje zarówno natywne aplikacje napisane w Swift/Objective-C, jak i narzędzia wieloplatformowe. Każdy wpis zazwyczaj zawiera krótki opis, link do oficjalnej strony oraz informacje o głównych językach programowania użytych w projekcie. Dzięki wsparciu dużej społeczności, lista jest regularnie aktualizowana o najnowsze wydania open source, co czyni ją niezbędnym zasobem dla użytkowników komputerów Mac, którzy cenią transparentność i oprogramowanie tworzone przez społeczność.

{{% ads-in-article %}}

## [ben-nour / SQL-tips-and-tricks](https://github.com/ben-nour/SQL-tips-and-tricks)

> Porady i triki SQL

Praktyczny, starannie opracowany przewodnik stworzony, aby pomóc programistom i analitykom danych w pisaniu czystszych, szybszych i łatwiejszych w utrzymaniu zapytań SQL. Wykracza on poza podstawową składnię, omawiając profesjonalne najlepsze praktyki, takie jak stosowanie przecinków na początku linii dla lepszej czytelności, wykorzystywanie wspólnych wyrażeń tablicowych (CTE) do upraszczania złożonej logiki oraz zrozumienie konkretnych skutków wydajnościowych różnych metod filtrowania.

Zbiór ten jest szczególnie cenny ze względu na skupienie się na typowych pułapkach i „pro-tipach”, które często są pomijane w standardowych samouczkach. Zawiera on wskazówki dotyczące unikania niejednoznaczności w polach obliczeniowych, opanowania kolejności wykonywania operacji oraz używania zaawansowanych funkcji, takich jak QUALIFY czy ROLLUP, do wyrafinowanej agregacji danych. Niezależnie od tego, czy pracujesz nad analizami ad-hoc, czy nad kodem bazy danych w środowisku produkcyjnym, to repozytorium służy jako zwięzła ściąga pozwalająca doszlifować Twój kunszt pracy z SQL.

## [insidegui / AssetCatalogTinkerer](https://github.com/insidegui/AssetCatalogTinkerer)

> Aplikacja umożliwiająca otwieranie plików .car oraz przeglądanie i wyodrębnianie zawartych w nich obrazów.

Natywne narzędzie dla systemu macOS, stworzone do otwierania, przeglądania i eksportowania zawartości plików `.car`. Są to skompilowane katalogi zasobów (asset catalogues) używane przez Apple w aplikacjach na systemy iOS, macOS, watchOS oraz tvOS. Program pozwala programistom i projektantom zajrzeć do wewnętrznych zasobów aplikacji, umożliwiając podgląd obrazów i ikon, które standardowo są zapisane w zamkniętym formacie binarnym.

Aplikacja jest szczególnie przydatna w inżynierii wstecznej lub podczas analizy projektowej, ponieważ pozwala na eksportowanie pojedynczych elementów lub całych katalogów do standardowych formatów plików. Oprócz samej przeglądarki obrazów, projekt zawiera wtyczkę QuickLook dla systemu macOS, dzięki której użytkownicy mogą podejrzeć zawartość katalogu zasobów bezpośrednio z poziomu Findera. Choć pierwotnie narzędzie powstało z myślą o obrazach, ostatnie aktualizacje rozszerzyły jego możliwości o obsługę nowoczesnych typów zasobów, takich jak pliki SVG czy symbole SF Symbols, a także o narzędzie wiersza poleceń o nazwie `act`.

## [pbatard / rufus](https://github.com/pbatard/rufus)

> Niezawodne narzędzie do formatowania napędów USB

Miejsce powstawania „Reliable USB Formatting Utility”, powszechnie używanej aplikacji open-source na system Windows, służącej do tworzenia rozruchowych (bootowalnych) dysków USB. Rufus słynie przede wszystkim z szybkości i niezawodności podczas przygotowywania nośników instalacyjnych z obrazów ISO dla systemów Windows, Linux oraz systemów opartych na UEFI. Narzędzie to jest często wykorzystywane do zadań niskopoziomowych, takich jak aktualizacja BIOS-u lub oprogramowania układowego (firmware) z poziomu DOS, czy uruchamianie narzędzi systemowych na komputerach bez zainstalowanego systemu operacyjnego.

Poza prostym formatowaniem, Rufus oferuje zaawansowane funkcje, takie jak możliwość tworzenia dysków „Windows To Go” oraz pomijanie specyficznych wymagań sprzętowych Windows 11 (np. TPM 2.0 czy Secure Boot) już na etapie tworzenia nośnika. Repozytorium zawiera zoptymalizowany kod źródłowy w języku C, dzięki czemu aplikacja pozostaje lekka, przenośna i niezwykle szybka w porównaniu do wielu oficjalnych alternatyw. Rufus obsługuje szeroką gamę systemów plików i jest dostępny w kilkudziesięciu językach, co czyni go podstawowym narzędziem zarówno dla profesjonalistów IT, jak i użytkowników domowych.

## [rustdesk / rustdesk](https://github.com/rustdesk/rustdesk)

> Otwarte oprogramowanie do zdalnego pulpitu, zaprojektowane z myślą o samodzielnym hostowaniu, jako alternatywa dla TeamViewera.

Kod źródłowy w pełni funkcjonalnej infrastruktury zdalnego pulpitu typu open-source. Zaprojektowany jako hostowana samodzielnie alternatywa dla zamkniętych rozwiązań, daje użytkownikom pełną kontrolę nad bezpieczeństwem danych, umożliwiając uruchomienie własnych serwerów ID oraz przekaźnikowych (relay). Aplikacja została zbudowana w języku Rust, co gwarantuje wysoką wydajność i niskie zużycie pamięci na wielu platformach, w tym Windows, macOS, Linux, iOS oraz Android.

Zyskała ona znaczną popularność jako potężny zamiennik dla narzędzi korporacyjnych pokroju TeamViewera, szczególnie dla osób chcących przenieść swoją bazę użytkowników na bardziej transparentną i opłacalną platformę. Jako Twoja ulubiona aplikacja do świadczenia zdalnego wsparcia, zapewnia ona płynne zarządzanie wieloma użytkownikami bez ograniczeń licencyjnych czy obaw o prywatność, które często towarzyszą komercyjnej konkurencji. Możliwość działania „prosto z pudełka” z wykorzystaniem publicznego serwera rendezvous, przy jednoczesnej opcji prywatnego wdrożenia, czyni ją wszechstronnym wyborem zarówno do okazyjnej pomocy technicznej, jak i profesjonalnej administracji IT.

{{% ads-in-article %}}

## [mangerlahn / Latest](https://github.com/mangerlahn/Latest)

> Niewielka aplikacja użytkowa na macOS, dzięki której zawsze wiesz o najnowszych aktualizacjach używanych programów.

To miejsce narodzin niezwykle przydatnego narzędzia open-source dla systemu macOS, które upraszcza żmudne zadanie dbania o aktualność aplikacji zainstalowanych spoza App Store. Podczas gdy oficjalny sklep Apple zajmuje się aktualizacjami własnego oprogramowania, wiele programów firm trzecich pobranych bezpośrednio ze stron internetowych wymaga ręcznego sprawdzania dostępności nowszych wersji. To narzędzie wypełnia tę lukę, skanując folder /Applications i wskazując, które z Twoich aplikacji posiadają dostępne aktualizacje.

Program obsługuje przede wszystkim aplikacje korzystające z popularnego frameworka Sparkle oraz te hostowane na GitHubie, prezentując je w przejrzystym, natywnym interfejsie, który idealnie wpisuje się w ekosystem macOS. Umożliwia on przeglądanie list zmian (release notes) dla każdej aktualizacji oraz przeprowadzenie całego procesu instalacji za pomocą jednego kliknięcia. Dla użytkowników, którzy wolą scentralizowany panel do zarządzania oprogramowaniem zamiast narzędzi wiersza poleceń, jest to szybki i elegancki sposób na zapewnienie, że cały ich zestaw narzędzi pozostaje bezpieczny i aktualny.

## [awesome-selfhosted / awesome-selfhosted](https://github.com/awesome-selfhosted/awesome-selfhosted)

> Lista wolnego oprogramowania dla usług sieciowych i aplikacji webowych, które możesz hostować na własnych serwerach.

Jedna z najważniejszych kolekcji oprogramowania open-source na GitHubie, pełniąca rolę kompletnego katalogu aplikacji, które można uruchomić na własnej infrastrukturze. Oferuje wyczerpujący spis samodzielnie hostowanych alternatyw dla popularnych platform typu SaaS (Software-as-a-Service), obejmujący wszystko – od chmur dyskowych i narzędzi do komunikacji, po streaming mediów i automatykę domową.

Projekt jest skrupulatnie podzielony na kilkadziesiąt kategorii, co pozwala użytkownikom z łatwością znaleźć niezawodne narzędzia do konkretnych potrzeb, takich jak zarządzanie hasłami, analityka czy edycja dokumentów. Ponieważ repozytorium jest tworzone przez społeczność i opiera się na rygorystycznych wytycznych dotyczących jakości, służy jako zaufany przewodnik dla pasjonatów i administratorów chcących odzyskać cyfrową prywatność oraz pełną kontrolę nad swoimi danymi. Jest ono powszechnie uważane za „złoty standard” wśród zasobów dla każdego, kto buduje domowe laboratorium (home lab) lub zarządza własnym prywatnym serwerem.

## [R0GGER / public-iperf3-servers](https://github.com/R0GGER/public-iperf3-servers)

> Lista publicznych serwerów iPerf3...

Starannie dobrany i aktywnie monitorowany katalog publicznych serwerów iPerf3 zlokalizowanych na całym świecie. Rozwiązuje on powszechny problem ze znalezieniem wiarygodnych punktów końcowych do testowania wydajności sieci, oferując zweryfikowaną listę serwerów hostowanych przez centra danych, dostawców usług internetowych (ISP) oraz instytucje edukacyjne, zamiast polegać na niepewnych połączeniach domowych.

Lista jest uporządkowana według kontynentów i zawiera kluczowe dane niezbędne do połączenia, takie jak nazwy hostów, dostępne porty oraz informacje o wsparciu dla konkretnych protokołów, na przykład IPv6 czy UDP. Dzięki utrzymywaniu rygorystycznych wymogów dotyczących dostępności (uptime) dla dodawanych pozycji, repozytorium stanowi solidne źródło wiedzy dla administratorów sieci i entuzjastów chcących zmierzyć przepustowość, opóźnienia (latency) oraz zmienność opóźnień (jitter) między ich lokalnym środowiskiem a różnymi regionami geograficznymi.

{{% ads-in-article %}}

## [sveltia / sveltia-cms](https://github.com/sveltia/sveltia-cms)

> Następca Netlify/Decap CMS. Szybki, lekki, oparty na Git system headless CMS. Nowoczesny UX, pełne wsparcie dla i18n, obsługa urządzeń mobilnych oraz setki ulepszeń. Niezależny od frameworków, open source i bezpłatny.

Lekki system zarządzania treścią (CMS) typu open-source oparty na systemie kontroli wersji Git, zaprojektowany jako nowoczesny następca Decap CMS (dawniej Netlify CMS). Pełni on funkcję panelu administracyjnego dla generatorów stron statycznych, umożliwiając użytkownikom zarządzanie treścią poprzez przyjazny interfejs graficzny, który automatycznie zatwierdza (commituje) zmiany bezpośrednio w repozytorium Git. Ponieważ jest to aplikacja jednostronicowa (SPA) działająca całkowicie w przeglądarce, nie wymaga ona serwera backendowego, co czyni ją niezwykle wydajnym sposobem na dodanie zarządzania w stylu WordPressa do stron statycznych.

Projekt stał się wyróżniającym się wyborem dla osób, które chcą wprowadzić zaawansowaną edycję treści do statycznych frameworków, takich jak powszechnie używany [Hugo](https://github.com/gohugoio/hugo). Integrując Sveltia CMS z witryną zbudowaną w Hugo, możesz udostępnić nietechnicznym użytkownikom intuicyjny pulpit nawigacyjny do edycji wpisów i przesyłania mediów, zachowując jednocześnie szybkość, bezpieczeństwo i prostotę architektury statycznej. Zdolność do płynnej współpracy z różnymi dostawcami Git oraz nacisk na wydajność sprawiają, że jest to potężne narzędzie wypełniające lukę między profesjonalnym programowaniem a łatwą administracją treścią.

## [wg-easy / wg-easy](https://github.com/wg-easy/wg-easy)

> Najprostszy sposób na uruchomienie VPN WireGuard wraz z webowym interfejsem administratora.

Jeden z najbardziej przyjaznych użytkownikowi sposobów na wdrożenie i zarządzanie serwerem VPN WireGuard. Narzędzie to łączy protokół WireGuard oraz elegancki, webowy panel zarządzania w jednym kontenerze Docker, eliminując konieczność ręcznej edycji plików konfiguracyjnych i zarządzania klientami (peerami) z poziomu wiersza poleceń.

Projekt jest wysoko ceniony za swoją prostotę – umożliwia tworzenie, usuwanie i zarządzanie klientami za pomocą responsywnego interfejsu, który potrafi nawet generować kody QR do błyskawicznej konfiguracji urządzeń mobilnych. Aplikacja automatycznie obsługuje kluczowe zadania sieciowe, takie jak wewnętrzny NAT czy reguły zapory ogniowej (firewall), co czyni ją idealnym wyborem dla pasjonatów budujących domowe laboratoria oraz małych zespołów, które potrzebują bezpiecznego i wydajnego połączenia VPN bez konieczności przechodzenia przez żmudny proces nauki administracji sieciami.

## [embedpdf / embed-pdf-viewer](https://github.com/embedpdf/embed-pdf-viewer)

> Przeglądarka PDF, która płynnie integruje się z dowolnym projektem JavaScript

Lekkie i konfigurowalne rozwiązanie do osadzania profesjonalnej przeglądarki plików PDF bezpośrednio w aplikacjach webowych. Narzędzie zostało zbudowane jako nakładka na potężną bibliotekę `PDF.js`, oferując przejrzysty i nowoczesny interfejs użytkownika, który pozostaje responsywny na ekranach o różnych rozmiarach. Korzystając z tego rozwiązania, programiści mogą uniknąć niespójnego działania natywnych wtyczek PDF w przeglądarkach i zapewnić użytkownikom jednolite doświadczenie.

Projekt został zaprojektowany z myślą o łatwej integracji, umożliwiając renderowanie dokumentów PDF z funkcjami takimi jak powiększanie, nawigacja po stronach i zaznaczanie tekstu, bez konieczności angażowania złożonych procesów po stronie backendu. Jest to szczególnie przydatne w przypadku witryn z dokumentacją lub rozbudowanych aplikacji webowych, gdzie wyświetlanie dokumentów bezpośrednio na stronie – zamiast wymuszania ich pobierania – jest kluczowe dla zapewnienia płynności obsługi. Repozytorium zawiera jasne instrukcje wdrożeniowe, co czyni je prostym dodatkiem do każdego nowoczesnego projektu internetowego.

{{% ads-in-article %}}

## [cjpais / Handy](https://github.com/cjpais/Handy)

> Darmowa, otwartoźródłowa i rozszerzalna aplikacja do zamiany mowy na tekst, która działa całkowicie offline.

Bezpłatna aplikacja typu open-source na system macOS, służąca do transkrypcji mowy na tekst, która stawia prywatność na pierwszym miejscu, działając całkowicie w trybie offline. Wykorzystuje ona model Whisper od OpenAI uruchamiany lokalnie na Twoim urządzeniu, co pozwala na uzyskanie niezwykle dokładnych zapisów bez konieczności przesyłania danych audio do chmury.

Program został zaprojektowany tak, aby był rozszerzalny i dyskretny, umożliwiając użytkownikom błyskawiczną transkrypcję dźwięku z mikrofonu lub wyjścia systemowego bezpośrednio na tekst. Ponieważ cały proces odbywa się na urządzeniu, jest to doskonałe narzędzie dla osób potrzebujących niezawodnych usług transkrypcyjnych, przy jednoczesnym zachowaniu pełnej suwerenności danych i uniknięciu cyklicznych opłat abonamentowych.

## [netdata / netdata](https://github.com/netdata/netdata)

> Najszybsza ścieżka do pełnej obserwacji (observability) wspieranej przez AI, nawet dla niewielkich zespołów.

To miejsce narodzin wysoce zaawansowanego agenta monitorującego typu open-source, zaprojektowanego w celu zapewnienia obserwacji całej infrastruktury IT w czasie rzeczywistym, z sekundową precyzją. W przeciwieństwie do tradycyjnych narzędzi monitorujących, które często polegają na danych historycznych lub powolnych interwałach odpytywania, Netdata przechwytuje tysiące metryk co sekundę – obejmując wszystko, od zużycia procesora i pamięci, po wydajność konkretnych aplikacji i czujniki sprzętowe – a następnie wizualizuje je w interaktywnym, webowym panelu kontrolnym, który nie wymaga wstępnej konfiguracji.

To, co wyróżnia ten projekt, to jego „rozproszona” architektura oraz niezwykła wydajność; agent został napisany głównie w języku C, aby zachować minimalne zużycie zasobów (często wykorzystując mniej niż 1% procesora), wykonując jednocześnie złożone zadania, takie jak uczenie maszynowe bez nadzoru do wykrywania anomalii bezpośrednio na brzegu sieci (at the edge). Dzięki przechowywaniu danych lokalnie u źródła i przesyłaniu widoków tylko wtedy, gdy są potrzebne, stanowi bezpieczną i wysokiej jakości alternatywę dla scentralizowanych, kosztownych platform SaaS. Niezależnie od tego, czy diagnozujesz pojedynczy serwer, czy zarządzasz potężnym klastrem kontenerów i urządzeń IoT, Netdata dostarcza natychmiastowych informacji niezbędnych do zidentyfikowania przyczyn źródłowych i rozwiązania incydentów, zanim wpłyną one na użytkowników.

## [open-webui / open-webui](https://github.com/open-webui/open-webui)

> Przyjazny dla użytkownika interfejs AI (obsługuje Ollama, OpenAI API, ...)

Bogaty w funkcje, samodzielnie hostowany interfejs zaprojektowany jako kompletny front-end do interakcji z dużymi modelami językowymi. Pierwotnie rozwijany pod nazwą Ollama WebUI, ewoluował w uniwersalną bramę obsługującą różne backendy, w tym Ollama oraz API kompatybilne z OpenAI. Wprowadza dopracowane doświadczenie znane z ChatGPT do lokalnych konfiguracji AI, umożliwiając użytkownikom zarządzanie rozmowami, dokumentami i modelami za pośrednictwem eleganckiego i responsywnego interfejsu webowego.

To, co wyróżnia ten projekt, to rozbudowany zestaw zaawansowanych funkcji, takich jak wsparcie dla RAG (Retrieval-Augmented Generation), które pozwala sztucznej inteligencji na „rozmowę” z Twoimi lokalnymi plikami i stronami internetowymi. Zawiera on również kompleksowy system zarządzania wieloma użytkownikami, szczegółową kontrolę uprawnień oraz system „Funkcji” do rozszerzania możliwości modeli za pomocą niestandardowych skryptów. Dla użytkowników dbających o prywatność oraz dla deweloperów jest to niezbędne narzędzie do stworzenia potężnej, prywatnej stacji roboczej AI, która pozostaje całkowicie pod ich kontrolą.

{{% ads-in-article %}}

## [nicholas-fedor / watchtower](https://github.com/nicholas-fedor/watchtower)

> Automatyzacja aktualizacji obrazów kontenerów Docker

Znany i aktywnie utrzymywany fork oryginalnego projektu `containrrr/watchtower`. Ponieważ pierwotne repozytorium nadrzędne stało się w dużej mierze nieaktywne, ten fork wyrósł na wersję rekomendowaną przez społeczność dla użytkowników, którzy chcą dbać o bezpieczeństwo i aktualność swojej infrastruktury Docker. Narzędzie to działa jako proces automatyzujący aktualizacje obrazów bazowych – okresowo sprawdza dostępność nowszych wersji uruchomionych obrazów i w kontrolowany sposób restartuje kontenery, aby zastosować te zmiany.

To, co wyróżnia ten konkretny fork, to zaangażowanie w obsługę nowoczesnych funkcji Dockera oraz częste poprawki błędów, które w innych miejscach utknęły w martwym punkcie. Warto zauważyć, że wprowadza on solidne wsparcie dla logiki `depends_on` w Docker Compose, co gwarantuje, że kontenery zależne są restartowane w odpowiedniej kolejności, zapobiegając awariom usług. Zawiera również udoskonalone mechanizmy samoaktualizacji, poprawioną propagację powiadomień poprzez bibliotekę Shoutrrr oraz poprawki dla API Dockera, zapewniające kompatybilność z najnowszymi środowiskami systemowymi.

Dla pasjonatów domowych laboratoriów oraz administratorów systemów ta wersja Watchtower stanowi rozwiązanie typu „ustaw i zapomnij”, pozwalające na utrzymanie świeżego stosu oprogramowania bez ręcznej interwencji. Poprzez podmontowanie gniazda (socketu) Dockera, narzędzie może monitorować wszystkie uruchomione kontenery (lub wybrany podzbiór) i wysyłać szczegółowe raporty za pośrednictwem różnych usług powiadomień w przypadku wystąpienia aktualizacji. Pozostaje ono kluczowym narzędziem dla każdego, kto chce zautomatyzować swój przepływ pracy DevOps, dbając jednocześnie o to, by kontenery korzystały z najnowszych łatek bezpieczeństwa i usprawnień wydajności.

{{% ads-in-article %}}

## [Raphire / Win11Debloat](https://github.com/Raphire/Win11Debloat)

> Prosty, lekki skrypt PowerShell do usuwania zainstalowanych fabrycznie aplikacji, wyłączania telemetrii oraz wprowadzania różnych innych zmian w celu personalizacji, odśmiecenia i poprawy komfortu pracy z systemem Windows. Win11Debloat działa zarówno w systemie Windows 10, jak i Windows 11.

Kompleksowe narzędzie oparte na skryptach PowerShell, zaprojektowane w celu przekształcenia standardowej instalacji Windows 11 w czystsze, szybsze i bardziej prywatne środowisko. Jest powszechnie uważane za niezbędny pierwszy krok po zakupie nowego komputera lub świeżej instalacji systemu, ponieważ systematycznie usuwa „bloatware” oraz uciążliwe funkcje, które często zaśmiecają domyślne wydanie systemu operacyjnego.

Narzędzie oferuje szeroki zakres optymalizacji – od odinstalowywania fabrycznych aplikacji firm trzecich i wyłączania telemetrii, po usuwanie treści sponsorowanych z menu Start i paska zadań. Poza samym czyszczeniem, skrypt umożliwia głębsze modyfikacje systemu, takie jak przywrócenie klasycznego menu kontekstowego, wyłączenie wyszukiwarki Bing wewnątrz systemu oraz usunięcie zbędnych komponentów, takich jak OneDrive czy Cortana. Modułowe podejście pozwala użytkownikom na uruchomienie go za pomocą interaktywnego interfejsu graficznego lub zautomatyzowanych skryptów, co czyni go potężnym sprzymierzeńcem dla każdego, kto chce odzyskać zasoby systemowe i upewnić się, że ich sprzęt nie jest obciążony niepotrzebnymi procesami w tle już od pierwszego dnia.

Jednym z najbardziej uspokajających aspektów Win11Debloat jest jego konstrukcja stawiająca na bezpieczeństwo; podczas pracy z domyślnymi ustawieniami narzędzie jest niemal całkowicie niedestrukcyjne. Jeśli okaże się, że brakuje Ci konkretnej funkcji lub przez pomyłkę usunąłeś potrzebną aplikację, wszelkie wprowadzone zmiany można z łatwością cofnąć.

Ponieważ skrypt skupia się na wyłączaniu usług i ukrywaniu komponentów, a nie na trwałym usuwaniu krytycznych plików systemowych, możesz przywrócić pełną funkcjonalność bez konieczności ponownej instalacji systemu. Co więcej, wszelkie odinstalowane aplikacje systemowe można z łatwością zainstalować ponownie poprzez Microsoft Store, co zapewnia pełną kontrolę nad konfiguracją systemu bez obawy o jego trwałe uszkodzenie.

---

I to wszystko.

Mam nadzieję, że Ty również znajdziesz tutaj coś przydatnego. Jeśli tak, proszę, zostaw gwiazdkę przy odpowiednim repozytorium, aby dać twórcom znać, że ich ciężka praca jest doceniana.


---
## Jak dodać swoją stronę do ulubionych źródeł w Google: Poradnik dla użytkowników Hugo
- **URL:** https://dariusz.wieckiewicz.org/jak-dodac-strone-do-ulubionych-zrodel-google-hugo-poradnik/
- **Date:** 2025-12-27
- **Tags:** Preferred Source, Ulubione źródła, Google, Google Search, Wyszukiwarka Google, Hugo, WebDev, WebP, HTML, CSS, Button, Przycisk

### Content

W przeszłości szukałem różnych sposobów na zwiększenie zasięgów mojej strony oraz witryn, nad którymi pracuję, a które regularnie publikują nowe treści.

Analizowałem między innymi [możliwość publikacji treści w Wiadomościach Bing](/publikuj-wlasna-tresc-w-wiadomosciach-bing-windows/), co zazwyczaj kończyło się **odrzuceniem zgłoszenia** bez żadnego wyjaśnienia. Moja ostatnia próba miała miejsce w lipcu 2024 roku, po czym uznałem, że nie warto tracić na to więcej czasu. Zresztą niedługo potem funkcja ta została wycofana.

Od czasu do czasu moja witryna trafia też do [„aresztu” (Bing Jail)](/en/bing-jail/) bez wyraźnego powodu. Choć w przeszłości udawało mi się [wydostać z aresztu Bing](/en/escape-from-bing-jail/), co jakiś czas muszę tam „odsiadywać wyrok” na nowo.

Ostatnia taka blokada w Bing przydarzyła się mojej stronie tuż po 2 października 2025 roku i trwała aż do 17 grudnia 2025 roku, kiedy to odnotowałem powolny powrót do normy, mimo że nie podejmowałem żadnych działań w tym kierunku. Całe to zamieszanie z Bingiem sprawia, że trudno mi polecać wyszukiwarki inne niż Google, takie jak DuckDuckGo, które w dużej mierze opierają się na wynikach z Bing. Microsoft musi uporać się z tymi absurdami, jeśli kiedykolwiek chce zbliżyć się do Google. Jednak w obecnej erze AI szczerze wątpię, aby to kiedykolwiek nastąpiło.

W pewnym momencie sprawdzałem też [publikowanie treści w Google News](/publikuj-wlasna-tresc-w-wiadomosciach-google/), dopóki Google również nie postanowiło uśmiercić tego rozwiązania.

Obecnie na popularności zyskuje inna usługa Google: **dodawanie stron internetowych jako preferowanych źródeł informacji w wyszukiwarce**.

<!--more-->

**Preferowane źródła Google (Google Preferred Sources)** to funkcja, która pozwala Ci „wybrać faworytów” (ulubione witryny), jeśli chodzi o wiadomości – choć nie tylko w najszerszym tego słowa znaczeniu.

Zamiast pozwalać algorytmom Google decydować o tym, które serwisy informacyjne powinieneś widzieć, możesz wskazać wydawców, którym ufasz lub których czytasz najchętniej. Gdy te witryny opublikują coś na temat, którego szukasz, Google przesunie je na samą górę Twoich wyników.

To nowe podejście — przycisk, który można dodać do strony internetowej — to sposób na zachęcenie użytkowników do „subskrybowania” Twojej witryny.

Rozwiązanie to zaprojektowano głównie z myślą o serwisach informacyjnych, jednak wielu twórców blogów technicznych i innych portali również próbuje wykorzystać tę nową metodę pozyskiwania czytelników. W końcu ludzie przeszukują sieć nie tylko po to, by czytać o najnowszych wydarzeniach. Jeśli często szukasz [przepisów](https://yummyrecipes.uk/pl/) w Google, warto wybrać swoje [ulubione strony](https://google.com/preferences/source?q=https://yummyrecipes.uk). Dzięki temu przy kolejnym wyszukiwaniu Google skieruje Cię do zaufanych źródeł, zamiast do nieznanej witryny, która nie zawsze spełni Twoje oczekiwania.

Ideą **preferowanych źródeł** jest sprawienie, aby Twoje ulubione strony pojawiały się wyżej w wynikach wyszukiwania Google (pod warunkiem, że jesteś zalogowany na swoje konto Google).

Tym razem Google zadbało o to, aby wdrożenie było tak proste, jak to tylko możliwe. Zaczęło się od krótkiego artykułu ([Jak wybierać preferowane źródła w sekcji „Najważniejsze artykuły” w wyszukiwarce](https://blog.google/products/search/preferred-sources/)), w którym opisano proces dodawania źródeł przez użytkowników.

Aby umożliwić właścicielom witryn szybkie wdrożenie tej funkcji, przygotowano [dedykowane centrum pomocy](https://support.google.com/news/publisher-center/answer/10598160?hl=en&ref_topic=10630761&sjid=15947966067918083781-NA). Można tam dowiedzieć się, jak stworzyć link (tzw. **deeplink**) z adresem własnej strony, a także [pobrać oficjalne przyciski](https://services.google.com/fh/files/helpcenter/google_preferred_source_badge.zip).

Postanowiłem przetestować to rozwiązanie na [stronie mojej znajomej](https://yummyrecipes.uk/pl/), która została zbudowana przy użyciu [Hugo](https://gohugo.io).

## Tworzenie linku

Google w prosty sposób wyjaśnia, jak zbudować własny odnośnik:

```html
https://google.com/preferences/source?q=<your website URL>
```

Wystarczy, że zastąpisz frazę `<your website URL>` adresem swojej witryny.

Będzie to wyglądać następująco:

```html
<div class="google-preferred-source-badge">
	<a target="_blank" rel="noopener" rel="nofollow" href="https://google.com/preferences/source?q=https://yummyrecipes.uk" aria-label="Add Yummy Recipes UK as a preferred source on Google">

	<!-- image will go here -->

	</a>
</div>
```

W **Hugo** mój kod będzie wyglądał następująco:

```html
<div class="google-preferred-source-badge">
    {{- $baseUrl := "/" | absURL -}}
    <a href="https://google.com/preferences/source?q={{ $baseUrl }}"
       target="_blank"
       rel="noopener nofollow"
       aria-label="Add {{ .Site.Title }} as a preferred source on Google">

    <!-- image will go here -->

    </a>
</div>
```

Czas dodać obrazy.

## Dodawanie oficjalnych grafik + format WebP

Na stronie [dedykowanego centrum pomocy](https://support.google.com/news/publisher-center/answer/10598160?hl=en&ref_topic=10630761&sjid=15947966067918083781-NA) znajdź odnośnik [Download the button](https://services.google.com/fh/files/helpcenter/google_preferred_source_badge.zip). Spowoduje to pobranie pliku ZIP, który należy wypakować i umieścić w osobnym folderze.

W mojej instalacji Hugo umieszczę go w folderze `/static`, w podfolderze o nazwie `google_preferred_source_badge`.

Folder będzie zawierał następujące pliki:

```
google_preferred_source_badge_dark.png
google_preferred_source_badge_dark@2x.png
google_preferred_source_badge_light.png
google_preferred_source_badge_light@2x.png
```

Przekonwertowałem je również na format WebP. Skorzystałem z terminala macOS z zainstalowanym pakietem WebP przez Homebrew (`brew install webp`). Użyłem polecenia `cwebp -q 75 obraz.png -o obraz.webp`, aby uzyskać odpowiedni plik wynikowy, ale Ty możesz po prostu skorzystać ze strony [**Squoosh.app**](https://squoosh.app).

> W aplikacji **Squoosh.app**: Przeciągnij i upuść swój obraz. W sekcji **Compress** po prawej stronie wybierz **WebP** z listy rozwijanej. Ustaw suwak **Quality** na wartość **75**.

Struktura moich folderów będzie wyglądać tak:

```
google_preferred_source_badge_dark.png
google_preferred_source_badge_dark.webp
google_preferred_source_badge_dark@2x.png
google_preferred_source_badge_dark@2x.webp
google_preferred_source_badge_light.png
google_preferred_source_badge_light.webp
google_preferred_source_badge_light@2x.png
google_preferred_source_badge_light@2x.webp
```

Fragment kodu odpowiedzialny za obrazy (który trafi w miejsce `<!-- image will go here -->`) będzie wyglądał następująco:

> Rozwiązanie to uwzględnia zastosowaną na mojej stronie deklarację `colour-scheme: light dark` oraz ustawienie systemowe `prefers-colour-scheme`.

```html
<picture>
    <source
        srcset="/google_preferred_source_badge/google_preferred_source_badge_dark@2x.webp 2x,
                /google_preferred_source_badge/google_preferred_source_badge_dark.webp 1x" 
        type="image/webp" 
        media="(prefers-color-scheme: dark)">
    <source 
        srcset="/google_preferred_source_badge/google_preferred_source_badge_dark@2x.png 2x,
                /google_preferred_source_badge/google_preferred_source_badge_dark.png 1x" 
        type="image/png" 
        media="(prefers-color-scheme: dark)">

    <source 
        srcset="/google_preferred_source_badge/google_preferred_source_badge_light@2x.webp 2x,
                /google_preferred_source_badge/google_preferred_source_badge_light.webp 1x" 
        type="image/webp">
    <source 
        srcset="/google_preferred_source_badge/google_preferred_source_badge_light@2x.png 2x,
                /google_preferred_source_badge/google_preferred_source_badge_light.png 1x" 
        type="image/png">

    <img 
        src="/google_preferred_source_badge/google_preferred_source_badge_light.png" 
        alt="Add {{ .Site.Title }} as a preferred source on Google" 
        width="338" 
        height="107" 
        loading="lazy"
        style="color-scheme: light dark; font-style: italic; vertical-align: middle;">
</picture>
```

Wdrażając to rozwiązanie w **Hugo**, zastosuję następujące podejście:

```html
<picture>
    {{- $path := "/google_preferred_source_badge/google_preferred_source_badge" -}}
    
    <source 
        srcset="{{ printf "%s_dark@2x.webp" $path }} 2x, {{ printf "%s_dark.webp" $path }} 1x" 
        type="image/webp" 
        media="(prefers-color-scheme: dark)">
    <source 
        srcset="{{ printf "%s_dark@2x.png" $path }} 2x, {{ printf "%s_dark.png" $path }} 1x" 
        type="image/png" 
        media="(prefers-color-scheme: dark)">

    <source 
        srcset="{{ printf "%s_light@2x.webp" $path }} 2x, {{ printf "%s_light.webp" $path }} 1x" 
        type="image/webp">
    <source 
        srcset="{{ printf "%s_light@2x.png" $path }} 2x, {{ printf "%s_light.png" $path }} 1x" 
        type="image/png">

    <img 
        src="{{ printf "%s_light.png" $path }}" 
        alt="Add {{ .Site.Title }} as a preferred source on Google" 
        width="338" 
        height="107" 
        loading="lazy"
        class="google-badge-img">
</picture>
```

## i18n

W przypadku mojej strony opartej na Hugo, korzystam z podejścia **i18n**, aby serwować treści w odpowiednim języku.

W powyższym kodzie mamy dwa elementy, które będą wymagały tłumaczenia: `aria-label` oraz `alt`.

Zmienimy ten fragment:

```
Add {{ .Site.Title }} as a preferred source on Google
```

na to:

```
{{ T "GooglePreferredBadge" (dict "Title" .Site.Title) }}
```

a w odpowiednim pliku (`i18n/pl.toml`) dodam:

```toml
[GooglePreferredBadge]
other = "Dodaj {{ .Title }} do ulubionych źródeł w Google"
```

## Kod końcowy dla strony w Hugo

```html
<div class="google-preferred-source-badge">
    {{- $baseUrl := "/" | absURL -}}
    <a href="https://google.com/preferences/source?q={{ $baseUrl }}"
       target="_blank"
       rel="noopener nofollow"
       aria-label="{{ T "GooglePreferredBadge" (dict "Title" .Site.Title) }}">

        <picture>
            {{- $path := "/google_preferred_source_badge/google_preferred_source_badge" -}}
            
            <source 
                srcset="{{ printf "%s_dark@2x.webp" $path }} 2x, {{ printf "%s_dark.webp" $path }} 1x" 
                type="image/webp" 
                media="(prefers-color-scheme: dark)">
            <source 
                srcset="{{ printf "%s_dark@2x.png" $path }} 2x, {{ printf "%s_dark.png" $path }} 1x" 
                type="image/png" 
                media="(prefers-color-scheme: dark)">

            <source 
                srcset="{{ printf "%s_light@2x.webp" $path }} 2x, {{ printf "%s_light.webp" $path }} 1x" 
                type="image/webp">
            <source 
                srcset="{{ printf "%s_light@2x.png" $path }} 2x, {{ printf "%s_light.png" $path }} 1x" 
                type="image/png">

            <img 
                src="{{ printf "%s_light.png" $path }}" 
                alt="{{ T "GooglePreferredBadge" (dict "Title" .Site.Title) }}" 
                width="338" 
                height="107" 
                loading="lazy"
                class="google-badge-img">
        </picture>

    </a>
</div>
```

```css
.google-badge-img {
    color-scheme: light dark;
    font-style: italic;
    vertical-align: middle;
    height: auto;
    max-width: 100%;
}
```

I to wszystko.

Aktywny przykład tego przycisku znajdziesz na stronie mojej znajomej, [yummyrecipes.uk](https://yummyrecipes.uk/pl/), na końcu każdego przepisu.


---
## Winget w Windows 11: Pożegnaj nieaktualne oprogramowanie
- **URL:** https://dariusz.wieckiewicz.org/winget-pozegna-nieaktualne-oprogramowanie-w-windows/
- **Date:** 2025-12-19
- **Tags:** Windows 11, Winget, Microsoft, Aktualizacje oprogramowania, PowerShell, Automatyzacja, Intune, Microsoft365, Menedżer pakietów

### Content

Jestem fanem Linuxa od młodości. Moimi ulubionymi dystrybucjami są te oparte na Debianie. Choć nigdy oficjalnie nie przesiadłem się na niego całkowicie, Linux jest częścią mojego codziennego życia – i Twojego również.

Na co dzień korzystam z Windowsa 11, jednak moim głównym systemem jest macOS, który wywodzi się z Unixa. macOS wykazuje wiele podobieństw do Linuxa, a dzięki potędze terminala mogę robić znacznie więcej, niż tylko polegać na aplikacjach z graficznym interfejsem użytkownika (GUI).

Z drugiej strony, wszystkie moje pozostałe urządzenia opierają się na Linuxie. Mój router bazuje na tym systemie (OpenWrt), mam mały serwer z Ubuntu, który pomaga mi w testowaniu różnych rozwiązań, oraz kilka Raspberry Pi tu i tam.

Funkcją, którą najbardziej cenię w systemach operacyjnych opartych na Linuxie, jest możliwość zarządzania pakietami (oprogramowaniem) zainstalowanymi w systemie. Za pomocą kilku poleceń przy użyciu `apt` (Debian) lub `opkg` (używanego nadal w OpenWrt) mogę szybko zaktualizować wszystko, czego aktualnie używam w systemie.

To właśnie tej funkcji najbardziej brakuje mi w Windowsie. Aby zadbać o to, by moje aplikacje były zawsze aktualne, korzystałem z różnych programów. Niektóre są beznadziejne, inne nieźle wywiązują się ze swojego zadania – jak na przykład [UCheck](https://www.adlice.com/ucheck/) – ale żaden z nich nie oferuje wszystkiego.

Odkąd Microsoft zaczął kłaść większy nacisk na Microsoft Store w Windowsie, pojawia się tam coraz więcej aplikacji. Większość programów, które zazwyczaj instaluje się bezpośrednio ze stron deweloperów, trafia również tam – często nawet w formie bezpośrednich odnośników do instalatorów.

> W przeciwieństwie do tego, co napisałem wcześniej, z perspektywy użytkownika Maca jestem rozczarowany tym, jak Apple podchodzi do swojego App Store na macOS. O ile iPhone'y polegają na App Store w 99% przypadków, o tyle w wersji na macOS brakuje mnóstwa rzeczy, co jest dość deprymujące.

Dzięki temu, że w Microsoft Store pojawia się coraz więcej aplikacji, można je szybko i bez żadnego wysiłku aktualizować, co jest świetne. Jednak to wciąż nie rozwiązuje wszystkich problemów.

<!--more-->

Wciąż mamy w systemie inne zainstalowane oprogramowanie, które wymaga aktualizacji, i tutaj z pomocą przychodzi [**winget**](https://learn.microsoft.com/en-us/windows/package-manager/winget/) (Windows Package Manager).

Zapomnij o drogim oprogramowaniu do utrzymywania aktualności aplikacji i w pierwszej kolejności wypróbuj to rozwiązanie.

> Mały spoiler: niektóre pakiety udostępniane przez Winget mogą być o wersję lub dwie do tyłu względem najnowszych wydań. Czasami jednak to dobrze – system ten stawia bardziej na stabilność niż na posiadanie zawsze najświeższej, ale niekoniecznie najbardziej dopracowanej wersji.

**WinGet** to narzędzie wiersza poleceń, które umożliwia użytkownikom wyszukiwanie, instalowanie, aktualizowanie, usuwanie oraz konfigurowanie aplikacji w systemie Windows.

Jest ono tak użyteczne i tak bardzo przypomina mi korzystanie z `sudo apt update && sudo apt upgrade` w Linuxie, że zdecydowałem się wdrożyć je jako element automatyzacji na wszystkich komputerach w moim miejscu pracy.

W środowisku biznesowym dbanie o aktualność systemu operacyjnego nie stanowi problemu, jednak utrzymywanie najnowszych wersji aplikacji to już zupełnie inna bajka. Jako administrator globalny w infrastrukturze Microsoft 365 uważam, że pomoc ze strony `winget` będzie przełomem (tzw. game-changerem) w dbałości o aktualizacje u użytkowników.

## Pobieranie WinGet

W najnowszej wersji systemu Windows 11 narzędzie `winget` powinno być już domyślnie dostępne. Warto jednak uruchomić Microsoft Store, przejść do sekcji Biblioteka (Pobieranie), sprawdzić dostępność aktualizacji i zainstalować je. Może to wymusić pobranie aktualizacji do **Instalatora aplikacji** (App Installer), który jest częścią narzędzia **winget**, z którego będziemy korzystać.

Jeśli z jakiegoś powodu polecenie `winget` nie działa (w starszych wersjach Windows 11), musisz zainstalować je ręcznie. W tym celu przejdź do [oficjalnego repozytorium Winget CLI na GitHubie](https://github.com/microsoft/winget-cli/releases/latest/) i z sekcji **Assets** pobierz plik z rozszerzeniem **.msixbundle** (_[Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle](https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle)_).

## Winget w Terminalu (Administrator)

Kliknijmy prawym przyciskiem myszy na menu Start i uruchommy **Terminal (Administrator)**, aby wypróbować **winget** i przekonać się o jego potędze.

> Korzystając z WinGet bez uprawnień administratora (w zwykłym **Terminalu** użytkownika), niektóre aplikacje mogą wymagać podniesienia uprawnień do instalacji. W razie potrzeby system wyświetli odpowiedni komunikat.

Aby sprawdzić, jakie oprogramowanie jest zainstalowane na Twoim komputerze, wystarczy uruchomić następujące polecenie:

```bash
winget list
```

Zauważ, że lista może być długa i nie wszystkie aplikacje można zaktualizować za pomocą Winget; większość oprogramowania jednak na to pozwala i właśnie na tym się skoncentrujemy.

Aby szybko sprawdzić, które nieaktualne aplikacje można zaktualizować, po prostu uruchom:

```bash
winget upgrade
```

Jeśli chcesz zaktualizować konkretną aplikację z wygenerowanej listy, po prostu dopisz jej nazwę do powyższego polecenia. Jeżeli natomiast chcesz przeprowadzić aktualizację wszystkich aplikacji naraz, użyj następującej komendy:

```bash
winget upgrade --all
```

To najszybsza metoda, aby zaktualizować wszystko jednocześnie.

Jeśli po uruchomieniu parametru `--all` niektóre aplikacje nadal nie zostały zaktualizowane, może to wynikać ze sposobu, w jaki zostały pierwotnie zainstalowane. Ale nawet na to istnieje rozwiązanie.

W takim przypadku odinstalowanie programu (`winget uninstall`) i ponowna jego instalacja (`winget install`) rozwiąże problem na przyszłość, umożliwiając późniejsze aktualizacje przez `winget upgrade`.

Winget posiada wiele dostępnych poleceń, ale nie będę się tutaj na nich skupiać. [Możesz zapoznać się ze wszystkimi poleceniami Winget, korzystając z oficjalnych materiałów Microsoft](https://learn.microsoft.com/en-us/windows/package-manager/winget/).

Chcę się natomiast skoncentrować na utrzymywaniu aktualności aplikacji poprzez zautomatyzowane zadanie (w Harmonogramie zadań), abyśmy mogli je skonfigurować i o nim zapomnieć.

Jest to niezwykle przydatne, ponieważ w środowisku biznesowym Microsoft 365 można takie rozwiązanie wdrożyć poprzez portal Intune na wszystkich komputerach z systemem Windows 11. To właśnie na tym skupię się w dalszej części.

Niektórzy z Was mogą preferować ręczne uruchamianie `winget upgrade --all`, jednak dla większości zwykłych użytkowników podejście typu „ustaw i zapomnij” będzie lepszym wyjściem.

Jeśli uruchamiasz `winget upgrade` po raz pierwszy, możesz zostać poproszony o zaakceptowanie warunków źródłowych. Chcąc uruchamiać to polecenie automatycznie przez harmonogram zadań, będziesz musiał również zmodyfikować system, aby zezwolić na wykonywanie skryptów. Wszystko to zawrzemy w jednym poleceniu.

## Wdrażanie skryptu aktualizacji Winget i planowanie zadania

Pracowałem nad skryptem, który zostanie wdrożony na komputerze użytkownika, skonfiguruje wszystkie niezbędne elementy, zaplanuje zadanie i wykona je o określonej godzinie.

Zanim wszystko zaczęło działać zgodnie z planem, musiałem wziąć pod uwagę kilka kwestii. Przeanalizujmy krok po kroku, co zawiera ten skrypt.

> Jeśli interesuje Cię tylko końcowy skrypt PowerShell, przejdź bezpośrednio do sekcji [Skrypt końcowy](#skrypt-końcowy).

### Krok 1. Upewnij się, że zasady wykonywania (Execution Policy) zezwalają na uruchamianie skryptów

Skrypt – niezależnie od tego, czy jest wdrażany przez usługę Intune w środowisku biznesowym, czy uruchamiany ręcznie – wymaga włączenia możliwości wykonywania skryptów przez użytkowników. Funkcja ta nie jest domyślnie włączona i wymaga wykonania poniższych linii w terminalu PowerShell.

```powershell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser -Force
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope LocalMachine -Force
```

### Krok 2: Sprawdź, czy program Winget jest zainstalowany

Jeśli w Twoim środowisku nie ma narzędzia **winget** i nie udało Ci się go zainstalować wcześniej zgodnie z opisem, skrypt sprawdzi jego obecność, a w razie potrzeby [pobierze najnowszą wersję](https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle) i ją zainstaluje.

### Krok 3: Zapisz pełną treść skryptu aktualizacji

W folderze profilu użytkownika (`%userprofile%`) skrypt utworzy plik, który będzie później wykorzystywany przez Harmonogram zadań do uruchamiania i aktualizowania aplikacji. Plik otrzyma nazwę `winget_upgrade_all.ps1` i domyślnie będzie działał w trybie cichym (silent mode).

Podczas pracy nad tym plikiem natknąłem się na problemy z niektórymi aplikacjami, które nie pozwalają na uruchomienie w tle (w trybie cichym). W takim przypadku, po wykryciu błędu, zadanie zostanie uruchomione ponownie, a użytkownik zostanie poproszony o postępowanie zgodnie z instrukcjami wyświetlanymi na ekranie.

Jeśli wszystko pójdzie pomyślnie i nie zostaną znalezione żadne kolejne nieudane aktualizacje, skrypt zakończy działanie, a zadanie zostanie uruchomione ponownie przy następnej zaplanowanej okazji.

Wewnątrz skryptu uwzględniłem automatyczną akceptację regulaminów źródeł oraz pakietów, które pojawiają się przy pierwszym uruchomieniu komendy **winget**. W przeciwnym razie proces zakończyłby się niepowodzeniem, szczególnie podczas pracy w trybie cichym.

### Krok 4: Utwórz lub zaktualizuj zaplanowane zadanie (harmonogram tygodniowy od poniedziałku do piątku)

Ostatnim krokiem było utworzenie zadania w Harmonogramie zadań, które będzie automatycznie sprawdzać aktualizacje codziennie o godzinie 13:00, od poniedziałku do piątku.

Tutaj ponownie natknąłem się na kilka kwestii, które musiałem wziąć pod uwagę. Jeśli zadanie już istniało, chciałem mieć pewność, że zostanie ono zaktualizowane. Nawet wtedy napotkałem pewne trudności, więc uznałem, że jeśli aktualizacja zadania się nie powiedzie, skrypt je usunie i doda ponownie.

### Skrypt końcowy

Ostatecznie przygotowałem skrypt, który można uruchomić ręcznie w terminalu, aby utworzyć niezbędny plik aktualizacji oraz zadanie w Harmonogramie zadań, bądź też wdrożyć go za pomocą portalu Intune.

W portalu Intune dodałem go w sekcji **Urządzenia** > **Skrypty i korygowanie** (Devices > Scripts and remediations) w ramach **Skryptów platformy** (Platform Scripts), wybierając następujące opcje:

* Uruchom ten skrypt przy użyciu poświadczeń zalogowanego użytkownika: **Tak** (Yes)
* Wymuszaj sprawdzanie podpisu skryptu: **Nie** (No)
* Uruchom skrypt w 64-bitowym hoście PowerShell: **Tak** (Yes)

> Nie korzystałem z opcji **Korygowanie** (Remediations), ponieważ nie wszystkie licencje moich użytkowników na to pozwalają.

```powershell
# ============================================
# Deploy Winget Update Script and Schedule Task
# ============================================

# Step 1: Ensure Execution Policy allows script execution
Write-Host "Setting Execution Policy to Bypass..."
powershell.exe Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser -Force
powershell.exe Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope LocalMachine -Force
powershell.exe Get-ExecutionPolicy -List

# Define paths
$UserFolder = $env:USERPROFILE
$ScriptPath = Join-Path $UserFolder "winget_upgrade_all.ps1"
$TaskName = "WingetAutoUpgrade"

# Step 2: Check if Winget is installed
if (-not (Get-Command winget.exe -ErrorAction SilentlyContinue)) {
    Write-Host "Winget not found. Downloading App Installer from GitHub..."
    $WingetUrl = "https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"
    $WingetPath = "$env:TEMP\AppInstaller.msixbundle"

    try {
        Invoke-WebRequest -Uri $WingetUrl -OutFile $WingetPath -UseBasicParsing
        if (Test-Path $WingetPath) {
            Write-Host "Installing App Installer..."
            Add-AppxPackage -Path $WingetPath
            Write-Host "App Installer installed successfully."
        } else {
            Write-Host "Failed to download App Installer package."
        }
    } catch {
        Write-Host "Error installing App Installer: $($_.Exception.Message)"
    }
} else {
    Write-Host "Winget is already installed."
}

# Step 3: Write the full update script content
$ScriptContent = @'
# ============================================
# Winget Advanced Upgrade Script
# ============================================

$LogPath = "$env:TEMP\WingetAdvancedUpgradeLog.txt"
Write-Host "Starting Winget upgrade process..." -ForegroundColor Cyan
Write-Host "Logging to $LogPath" -ForegroundColor Cyan
Add-Content -Path $LogPath -Value "`n===== Upgrade Run: $(Get-Date) =====`n"

if (-not (Get-Command winget -ErrorAction SilentlyContinue)) {
    Write-Host "Winget is not installed or not in PATH." -ForegroundColor Red
    Add-Content -Path $LogPath -Value "Winget not found."
    exit 1
}

Write-Host "Running silent upgrade for all apps..." -ForegroundColor Yellow
$SilentResult = winget upgrade --all --silent --accept-source-agreements --accept-package-agreements
Add-Content -Path $LogPath -Value "`nSilent Upgrade Output:`n$SilentResult"

Write-Host "Checking for failed apps..." -ForegroundColor Yellow
$FailedApps = ($SilentResult | Select-String "Installer failed" | ForEach-Object {
    if ($_ -match '\[(.*?)\]') { $Matches[1] }
}) | Where-Object { $_ -ne "" }

if ($FailedApps.Count -gt 0) {
    Write-Host "Retrying failed apps interactively (no --silent)..." -ForegroundColor Yellow
    foreach ($App in $FailedApps) {
        Write-Host "Retrying $App..." -ForegroundColor Cyan
        Add-Content -Path $LogPath -Value "`nRetrying ${App}:`n"
        winget upgrade $App --accept-source-agreements --accept-package-agreements | Out-File -Append $LogPath
    }
} else {
    Write-Host "No failed apps detected." -ForegroundColor Green
    Add-Content -Path $LogPath -Value "`nNo failed apps detected.`n"
}
'@

# Save the script to user folder
Set-Content -Path $ScriptPath -Value $ScriptContent -Force

# Step 4: Create or update scheduled task (Weekly trigger for Mon–Fri)
$Action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File `"$ScriptPath`""
$Trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday,Tuesday,Wednesday,Thursday,Friday -At 13:00
$Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive -RunLevel Highest

if (Get-ScheduledTask -TaskName $TaskName -ErrorAction SilentlyContinue) {
    try {
        Write-Host "Scheduled task '$TaskName' already exists. Attempting update..."
        Set-ScheduledTask -TaskName $TaskName -Action $Action -Trigger $Trigger
    } catch {
        Write-Host "Update failed. Removing and recreating task..."
        Unregister-ScheduledTask -TaskName $TaskName -Confirm:$false
        Register-ScheduledTask -TaskName $TaskName -Action $Action -Trigger $Trigger -Principal $Principal
    }
} else {
    Write-Host "Creating new scheduled task '$TaskName'..."
    Register-ScheduledTask -TaskName $TaskName -Action $Action -Trigger $Trigger -Principal $Principal
}

Write-Host "Deployment complete: Script saved to $ScriptPath and scheduled task '$TaskName' created or updated."
```

W ten oto sposób, dzięki narzędziu **winget**, wdrożyłem skuteczniejszy sposób na utrzymywanie aktualności oprogramowania na urządzeniach moich oraz moich użytkowników.


---
## Nowoczesny przełącznik kolorów strony internetowej używając tylko HTML i CSS
- **URL:** https://dariusz.wieckiewicz.org/nowoczesny-przelacznik-kolorow-strony-internetowej-html-css/
- **Date:** 2025-11-09
- **Tags:** tryb ciemny, tryb jasny, HTML, CSS, preferowany schemat kolorów, schemat kolorów, light dark, wsteczna kompatybilność, przełącznik, dark mode, light mode, prefers color scheme, color scheme

### Content

Ostatnio znalazłem chwilę, by obejrzeć niezwykle wnikliwą i dynamiczną prezentację [Adama Argyle’a](https://nerdy.dev) zatytułowaną „**25 nowych i świetnych funkcji CSS**”.

{{% details-summary "Obejrzyj tutaj: 25 nowych i świetnych funkcji CSS autorstwa Adama Argyle’a" %}}
{{< youtube QW6GECIzvsw >}}
{{% /details-summary %}}

Już po pięciu minutach, gdy pokazał zastosowanie `@view-transition { navigation: auto; }` i cała publiczność zareagowała entuzjastycznie, wciągnęło mnie to na dobre i oglądałem aż do końca.

Dowiedziałem się naprawdę wiele i wdrożyłem sporo z omawianych funkcji na swoich stronach. O części z nich słyszałem wcześniej, ale nie mam zwyczaju wdrażać wszystkiego od razu. Gdy technologie są jeszcze na wczesnym etapie adopcji w przeglądarkach, wolę poczekać. Problem w tym, że później często o nich zapominam, dlatego prezentacja Adama przypomniała mi o kilku koncepcjach, które już kiedyś spotkałem.

Jedną z nich było użycie `color-scheme: light dark;` oraz podejście z wykorzystaniem składni `light-dark()` dla kolorów jasnych i ciemnych.

<!--more-->

Na swojej stronie wdrożyłem jakiś czas temu trójpoziomowy przełącznik kolorów. Jednak rozwiązanie to mocno opierało się na JavaScripcie oraz regułach CSS, które trzeba było **powielać**, aby uzyskać oczekiwany efekt.

Dzięki wprowadzeniu `light-dark` nadszedł moment, by odejść od tamtego podejścia i przekształcić mój przełącznik motywów kolorystycznych w rozwiązanie oparte wyłącznie na **HTML i CSS**.

> Dodałem jedynie minimalną ilość JavaScriptu — **opcjonalnie**, ale przydatnie z perspektywy użytkownika.

Byłem zaskoczony, jak prosta okazała się ta konwersja i że funkcjonalność dla użytkowników pozostała bez zmian. Szczerze mówiąc, wątpię, by ktokolwiek zauważył różnicę. Usprawnienie najbardziej widoczne jest w prostocie mojego CSS po mojej stronie, natomiast dla zwykłego odwiedzającego wszystko działa jak dotychczas.

Przyjrzyjmy się mojej implementacji.

Śmiało wykorzystaj ją na swojej stronie :)

---

## CSS – prefers-color-scheme (wsteczna kompatybilność)

Zanim wdrożyłem nowe podejście `light-dark()` dla trybu jasnego i ciemnego na swojej stronie, zadałem sobie dwa pytania:
- Czy to zadziała u użytkowników, którzy nie korzystają z najnowszej przeglądarki?
- Czy kolory nadal będą wyświetlane zgodnie z założeniem?

Odpowiedź brzmiała **nie**.

Dlatego musiałem zapewnić wsteczną kompatybilność tak długo, jak będzie to konieczne.

Umieściłem kolory w elemencie `:root {}` w moim CSS. Domyślnie wszystko w tym elemencie odnosi się do kolorów jasnych. Następnie określiłem opcję dla ciemnego motywu przy użyciu zapytania `@media`, jak robiłem to już od pewnego czasu.

W standardowej formie wygląda to tak:

```css
/* Motyw jasny (domyślny) – rozwiązanie awaryjne dla przeglądarek bez żadnego wsparcia */
:root {
  --main: #137faa;
}

/* Motyw ciemny – rozwiązanie awaryjne dla przeglądarek obsługujących zapytania medialne, ale nie light-dark() */
@media (prefers-color-scheme: dark) {
    :root {
      --main: #2EBAE0;
    }
}
```

Zmienna `--main` jest zdefiniowanym parametrem dla mojego koloru głównego, którego później używam w CSS w następujący sposób:

```css
.article-entry p > a {
  color: var(--main);
}
```

To działa dokładnie tak jak wcześniej. Gdy użytkownik ustawi swoje urządzenie w trybie jasnym, otrzymuje główny kolor `#137faa`. Po przełączeniu na tryb ciemny wyświetlana jest ciemna wersja koloru głównego `#2EBAE0`.

## CSS – color-scheme (przyszła kompatybilność)

Gdy rozwiązanie awaryjne dla wstecznej kompatybilności jest już przygotowane, nadchodzi czas na wprowadzenie nowej składni. Robię to w taki sposób, aby była stosowana tylko wtedy, gdy przeglądarka użytkownika obsługuje `color-scheme: light dark`; stąd użycie klauzuli `@supports` oraz umieszczenie `:root {}` wewnątrz niej.

Zaczynając od `color-scheme: light dark;`, skupiamy się następnie na predefiniowaniu parametrów używanych w całym stylach.

```css
/* Nowa składnia dla nowoczesnych przeglądarek */
/* Ten blok zostanie odczytany przez nowoczesne przeglądarki i nadpisze rozwiązania awaryjne */
@supports (color-scheme: light dark) {
  :root {
    color-scheme: light dark;

    --main: light-dark(#137faa, #2EBAE0);
  }
}
```

Jak widać, składnia `light-dark(#137faa, #2EBAE0);` jest znacznie prostsza. W przypadku motywu jasnego używa `#137faa` jako koloru głównego, a po przełączeniu na tryb ciemny stosuje `#2EBAE0` jako jego ciemny wariant.

To podejście jest proste, a jednocześnie bardzo skuteczne — pozwala utrzymać CSS w większym porządku i wyraźnie rozróżnić miejsca, w których kolory się zmieniają, od tych, gdzie stosowane są kolory stałe.

Teraz pora zająć się naszym przełącznikiem motywów kolorystycznych.

## HTML – trójpoziomowy przełącznik motywów kolorystycznych

Mój wcześniejszy przełącznik kolorów opierał się na [The Best Light/Dark Mode Theme Toggle in JavaScript](https://whitep4nth3r.com/blog/best-light-dark-mode-theme-toggle-javascript/) autorstwa Salmy Almy-Naylor oraz [It’s Tri-State Switch Time](https://www.brycewray.com/posts/2024/01/its-tri-state-switch-time/) autorstwa Bryce’a Wraya.

Nie ma w nim nic złego — działa dobrze zarówno w starszych, jak i nowoczesnych przeglądarkach. Jedynym problemem, z mojej perspektywy, było to, że musiałem brać pod uwagę różne sposoby serwowania kolorów.

Na przykład, gdy użytkownik ma włączony tryb ciemny, ale chce przełączyć stronę na tryb jasny, albo gdy witryna domyślnie ustawia tryb jasny, a użytkownik woli ciemny.

To wprowadza pewien poziom złożoności przy użyciu `[data-theme="dark"]` i `[data-theme="light"]`. Muszę myśleć odwrotnie: gdy na urządzeniu użytkownika ustawiony jest motyw jasny, ale przełącznik ustawiony jest na ciemny, `:root {}` musi serwować ciemną wersję kolorów, ponieważ w takim przypadku zapytanie `@media` stoi w sprzeczności z wybraną opcją w przełączniku.

Zdecydowałem się teraz usunąć tę złożoność, z drobnym kompromisem, który omówię później.

---

**Mój nowy przełącznik oparty wyłącznie na HTML**, który nie korzysta z żadnego JavaScriptu, wygląda tak:

```html
<div class="switchTheme">
    <label class="lightLabel" title="{{ T "LightMode" }}">
        <input type="radio" name="switchTheme" value="light" id="lightMode" aria-label="{{ T "SelectLightMode" }}">
        <span class="toggle-switch__control"></span>
    </label>
    <label class="autoLabel" title="{{ T "AutoMode" }}">
        <input type="radio" name="switchTheme" value="light dark" id="autoMode" aria-label="{{ T "SelectAutoMode" }}" checked>
        <span class="toggle-switch__control"></span>
    </label>
    <label class="darkLabel" title="{{ T "DarkMode" }}">
        <input type="radio" name="switchTheme" value="dark" id="darkMode" aria-label="{{ T "SelectDarkMode" }}">
        <span class="toggle-switch__control"></span>
    </label>
</div>
```

> Ponieważ korzystam z [Hugo](https://gohugo.io) do budowania swojej strony, wprowadziłem przetłumaczone elementy do `aria-label` oraz `title`.

{{< details-summary "i18n\pl.toml" >}}
```toml
[LightMode]
other = "Jasny motyw"
[SelectLightMode]
other = "Wybierz jasny motyw"
[AutoMode]
other = "Tryb automatyczny"
[SelectAutoMode]
other = "Wybierz motyw jasny lub ciemny automatycznie"
[DarkMode]
other = "Ciemny motyw"
[SelectDarkMode]
other = "Wybierz ciemny motyw"
```
{{< /details-summary >}}

Modyfikacja mojego przełącznika do nowego podejścia nie wymaga ode mnie zmiany (prawie) żadnego z pierwotnego kodu CSS.

{{< details-summary "elementy switchTheme ze style.css" >}}
```css
/* trójpoziomowy przełącznik trybu ciemnego wyłącznie w HTML i CSS */

.switchTheme {
	display: flex; /* tylko to zostanie przeniesione dalej */
	flex-direction: row;
	gap: 0;
  white-space: nowrap;
  width: 6rem;
  justify-content: space-around;
}

.lightLabel,
.autoLabel,
.darkLabel {
  display: inline-block;
}

.switchTheme input[type="radio"] {
  display: none;
}

.switchTheme svg {
  fill: var(--black);
  height: 1rem;
  width: 1rem;
}

/* sun */
#lightMode + .toggle-switch__control::after {
  height: 1.5rem;
  width: 1.5rem;
  display: block;
  content: '';
  -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM200-440H40v-80h160v80Zm720 0H760v-80h160v80ZM440-760v-160h80v160h-80Zm0 720v-160h80v160h-80ZM256-650l-101-97 57-59 96 100-52 56Zm492 496-97-101 53-55 101 97-57 59Zm-98-550 97-101 59 57-100 96-56-52ZM154-212l101-97 55 53-97 101-59-57Zm326-268Z'/></svg>") no-repeat 50% 50%;
  mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM200-440H40v-80h160v80Zm720 0H760v-80h160v80ZM440-760v-160h80v160h-80Zm0 720v-160h80v160h-80ZM256-650l-101-97 57-59 96 100-52 56Zm492 496-97-101 53-55 101 97-57 59Zm-98-550 97-101 59 57-100 96-56-52ZM154-212l101-97 55 53-97 101-59-57Zm326-268Z'/></svg>") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--nightgray);
}

/* auto */
#autoMode + .toggle-switch__control::after {
  height: 1.5rem;
  width: 1.5rem;
  display: block;
  content: '';
  -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M276-280h76l40-112h176l40 112h76L520-720h-80L276-280Zm138-176 64-182h4l64 182H414Zm66 376q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z'/></svg>") no-repeat 50% 50%;
  mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M276-280h76l40-112h176l40 112h76L520-720h-80L276-280Zm138-176 64-182h4l64 182H414Zm66 376q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z'/></svg>") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--nightgray);
}

/* moon */
#darkMode + .toggle-switch__control::after {
  height: 1.5rem;
  width: 1.5rem;
  display: block;
  content: '';
  -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-120q-150 0-255-105T120-480q0-150 105-255t255-105q14 0 27.5 1t26.5 3q-41 29-65.5 75.5T444-660q0 90 63 153t153 63q55 0 101-24.5t75-65.5q2 13 3 26.5t1 27.5q0 150-105 255T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z'/></svg>") no-repeat 50% 50%;
  mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-120q-150 0-255-105T120-480q0-150 105-255t255-105q14 0 27.5 1t26.5 3q-41 29-65.5 75.5T444-660q0 90 63 153t153 63q55 0 101-24.5t75-65.5q2 13 3 26.5t1 27.5q0 150-105 255T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z'/></svg>") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--nightgray);
}

/* sun:checked */
#lightMode:checked + .toggle-switch__control::after {
  height: 1.5rem;
  width: 1.5rem;
  display: block;
  content: '';
  -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM200-440H40v-80h160v80Zm720 0H760v-80h160v80ZM440-760v-160h80v160h-80Zm0 720v-160h80v160h-80ZM256-650l-101-97 57-59 96 100-52 56Zm492 496-97-101 53-55 101 97-57 59Zm-98-550 97-101 59 57-100 96-56-52ZM154-212l101-97 55 53-97 101-59-57Zm326-268Z'/></svg>") no-repeat 50% 50%;
  mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM200-440H40v-80h160v80Zm720 0H760v-80h160v80ZM440-760v-160h80v160h-80Zm0 720v-160h80v160h-80ZM256-650l-101-97 57-59 96 100-52 56Zm492 496-97-101 53-55 101 97-57 59Zm-98-550 97-101 59 57-100 96-56-52ZM154-212l101-97 55 53-97 101-59-57Zm326-268Z'/></svg>") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--yellow);
}

/* auto:checked */
#autoMode:checked + .toggle-switch__control::after {
  height: 1.5rem;
  width: 1.5rem;
  display: block;
  content: '';
  -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path  d='M276-280h76l40-112h176l40 112h76L520-720h-80L276-280Zm138-176 64-182h4l64 182H414Zm66 376q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z'/></svg>") no-repeat 50% 50%;
  mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M276-280h76l40-112h176l40 112h76L520-720h-80L276-280Zm138-176 64-182h4l64 182H414Zm66 376q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z'/></svg>") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--main);
}

/* moon:checked */
#darkMode:checked + .toggle-switch__control::after {
  height: 1.5rem;
  width: 1.5rem;
  display: block;
  content: '';
  -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-120q-150 0-255-105T120-480q0-150 105-255t255-105q14 0 27.5 1t26.5 3q-41 29-65.5 75.5T444-660q0 90 63 153t153 63q55 0 101-24.5t75-65.5q2 13 3 26.5t1 27.5q0 150-105 255T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z'/></svg>") no-repeat 50% 50%;
  mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-120q-150 0-255-105T120-480q0-150 105-255t255-105q14 0 27.5 1t26.5 3q-41 29-65.5 75.5T444-660q0 90 63 153t153 63q55 0 101-24.5t75-65.5q2 13 3 26.5t1 27.5q0 150-105 255T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z'/></svg>") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: var(--yellow);
}

.toggle-switch__control { cursor: pointer;}

/* KONIEC */
```
{{< /details-summary >}}

> Kilka przykładów wykorzystania podejścia `light-dark()` oraz trójpoziomowego przełącznika można znaleźć w artykule [CSS colour-scheme-dependent colours with light-dark()](https://web.dev/articles/light-dark) na *web.dev*. Dla podstawowego zrozumienia podejścia `light-dark()` zdecydowanie polecam wpis Trysa Mudforda [Implementing light-dark()](https://www.trysmudford.com/blog/light-dark/).

Aby przełącznik działał, musisz zintegrować jego stan z CSS.

### CSS dla trójpoziomowego przełącznika motywów kolorystycznych

Oto zasadnicza część kodu CSS, która umożliwia działanie przełącznika w zależności od jego stanu.

```css
  /* Gdy zaznaczone jest radio "Auto" (light dark) */
  &:has(input[name="switchTheme"][value="light dark"]:checked) {
    color-scheme: light dark;
  }
  
  /* Gdy zaznaczone jest radio "Light" */
  &:has(input[name="switchTheme"][value="light"]:checked) {
    color-scheme: light;
  }
  
  /* Gdy zaznaczone jest radio "Dark" */
  &:has(input[name="switchTheme"][value="dark"]:checked) {
    color-scheme: dark;
  }
```

To nie wszystko.

Ponieważ brałem pod uwagę wsteczną kompatybilność, muszę pamiętać, że w przeglądarkach, które jeszcze nie obsługują składni `light-dark()`, **mój przełącznik nie będzie działał**. W takich przypadkach stan witryny (tryb jasny lub ciemny) będzie zależał wyłącznie od ustawień systemowych użytkownika.

## CSS – ukrywanie przełącznika dla przestarzałych przeglądarek

W sytuacji, gdy użytkownik odwiedza moją stronę w przestarzałej przeglądarce, wyświetlanie przełącznika nie ma sensu. Dlatego zdecydowałem się ponownie wykorzystać podejście `@supports`, aby warunkowo pokazywać go tylko w nowoczesnych przeglądarkach.

Domyślnie ukrywam przełącznik i przywracam go dla przeglądarek obsługujących `color-scheme`.

```css
.switchTheme {
  /* Ukrywa przełącznik początkowo we wszystkich przeglądarkach */
  display: none !important; 
}

/* Jeśli przeglądarka obsługuje zarówno właściwość color-scheme */
@supports (color-scheme: light dark) {
  .switchTheme {
    /* Wyświetlaj przełącznik tylko w przeglądarkach, które go obsługują */
    display: flex !important; /* to zostało przeniesione z głównego pliku CSS dla mojego przełącznika */
  }
  /* pozostały CSS z poprzedniej części */
}
```

> Należy pamiętać, że mój przełącznik jest pozycjonowany przy użyciu elementu `flex`, który został usunięty z głównej sekcji CSS i przeniesiony powyżej.

Przechodząc na implementację wyłącznie w HTML i CSS, **utraciłem jedną kluczową funkcjonalność**, która z perspektywy użytkownika może być nieco irytująca. Gdy zmieniają oni motyw za pomocą przełącznika, a następnie przechodzą na inną stronę w mojej witrynie, stan nie jest zapamiętywany i powraca do ustawienia domyślnego (kontrolowanego przez system).

Aby to przywrócić, muszę na końcu dodać bardzo minimalną ilość JavaScriptu, aby wprowadzić pamięć.

```
<script defer src="darkmode-toggle-memory.js"></script>
```

## JS (opcjonalnie) – zapamiętywanie stanu przełącznika

Aby przechować stan przełącznika w mojej wcześniejszej implementacji opartej na JavaScripcie, używałem `localStorage` przeglądarki.

Wykorzystam tę część ponownie, aby dodać pamięć do mojej nowej wersji.

```js
// Pojedynczy klucz do przechowywania wartości preferencji użytkownika (np. 'dark', 'light', 'light dark')
const THEME_STORAGE_KEY = 'theme-preference';

// Pobierz wszystkie przyciski radiowe
const themeRadios = document.querySelectorAll('input[name="switchTheme"]');

// --- 1. Wczytaj stan podczas ładowania strony ---
const savedTheme = localStorage.getItem(THEME_STORAGE_KEY) || 'light dark'; // Default to 'auto'
const savedRadio = document.querySelector(`input[name="switchTheme"][value="${savedTheme}"]`);

if (savedRadio) {
    // Zaznacz przycisk radiowy, który odpowiada zapisanej wartości
    savedRadio.checked = true; 
} 
// Twój istniejący CSS przechwyci teraz ten zaznaczony stan za pomocą selektora :has()!

// --- 2. Zapisz stan po kliknięciu ---
themeRadios.forEach(radio => {
    radio.addEventListener('click', () => {
        // Po kliknięciu zapisz jego wartość (`value`) w localStorage
        localStorage.setItem(THEME_STORAGE_KEY, radio.value);
    });
});
```

To rozwiązuje kwestię zapamiętywania stanu przełącznika i bez dodawania zauważalnego obciążenia działa płynnie dla wszystkich.

Użytkownicy, którzy domyślnie przeglądają z wyłączonym JavaScriptem — a ich liczba stale rośnie — również będą zadowoleni z takiego podejścia.

Pozdrawiam.


---
## Papier Toaletowy, inaczej – Część 2
- **URL:** https://dariusz.wieckiewicz.org/papier-toaletowy-inaczej-czesc-2/
- **Date:** 2025-10-26
- **Tags:** Papier Toaletowy, Who Gives a Crap, Lidl, Floralys Quilted Toilet Tissue, Jakość, Cena

### Content

Dni mijają, a rolki się toczą. Zainwestowaliśmy w nowy papier, ale od początku coś było w nim niecodziennego.

Po kilku dniach użytkowania, nadal aktywnie porównujemy go z marką Lidl (Floralys Quilted Toilet Tissue), aż nagle moja żona zauważyła, dlaczego papier toaletowy Who Gives a Crap (WGaC) wydaje się inny.

Myślałem, że to nostalgia z końca lat 80./początku 90., ale **nie!**

Chociaż wspominałem, że rolki z Lidla nie dorównują rolkom WGaC z powodu rozmiaru, **czasami rozmiar nie ma znaczenia.**

<!--more-->

Dokładniej mówiąc o rozmiarze, mam na myśli liczbę arkuszy papieru 3-warstwowego.

**Rozmiar rzeczywiście ma znaczenie**, i tutaj był haczyk!

Rolki WGaC rzeczywiście zawierają więcej arkuszy, ale jeśli przyjrzysz się uważnie, indywidualne arkusze nie są takie same. **Arkusz WGaC jest krótszy od marki Lidl!**

> O różnicy w rozmiarze za chwilę.

Oznacza to, że 400 arkuszy to nie 400 arkuszy, gdy porównasz je bezpośrednio z marką Lidl.

Z tego powodu wszystkie moje wcześniejsze obliczenia zawierały błędy, a może być to znacząca różnica. Na tej podstawie przemyślę, czy warto kontynuować subskrypcję.

Im papieru używamy, tym bardziej zauważamy, że jakość i doświadczenie są gorsze. Zamierzaliśmy używać tej samej ilości, by wystarczała na dłużej, ale w rzeczywistości było zupełnie odwrotnie.

{{% ads-in-article %}}

## Różnica w rozmiarze

[![Papier toaletowy Lidl Floralys vs Who Gives a Crap](stacked_paper.jpg "Papier toaletowy Lidl Floralys (po lewej) vs Who Gives a Crap (po prawej)")](stacked_paper.jpg)

400 arkuszy papieru brzmi imponująco. To teoretycznie 2,5 raza więcej niż rolka marki Lidl.

[![Kod QR na rdzeniu papieru toaletowego Who Gives a Crap](qr_code_core.jpg)](qr_code_core.jpg)

Gdy skończysz rolkę, zostaniesz powitany eleganckim rdzeniem z kodem QR, który prowadzi do **przycisku pierdnięcia**. Może to być zabawne przy pierwszym razie, ale na dłuższą metę szybko to zignorujesz.

Sam rdzeń jest nieco mniejszy i ciasno pasuje do rdzenia papieru toaletowego marki Lidl.

**Jednakże wszystko tkwi w szczegółach.**

---

[![Rdzenie papieru toaletowego - Lidl Floralys vs Who Gives a Crap](paper_cores.jpg)](paper_cores.jpg)

Przeprowadziłem kilka testów i sprawdziłem wagę rdzenia oraz samego papieru, aby porównać, jak bardzo moje początkowe obliczenia były błędne i o ile droższy jest WGaC.

> Wagi nie są super dokładne, zaokrąglone do najbliższego 1g, ale wystarczą do wyciągnięcia wniosków o różnicach.

Każdy **rdzeń** (Lidl i WGaC) **waży ~4g**.

---

[![Arkusze papieru Who Gives a Crap i Lidl Floralys ułożone jeden na drugim](stacked_sheets.jpg)](stacked_sheets.jpg)

Jeśli spojrzysz na same arkusze i ułożysz je (Lidl vs WGaC) jeden na drugim, szybko zauważysz różnicę!

Arkusze marki Lidl mają **130×100mm**, podczas gdy arkusze WGaC to tylko **100×100mm**. Te 30mm (3cm) robi dużą różnicę.

[![Różnica w rozmiarze arkuszy między Lidl Floralys a Who Gives a Crap](sheet_size_difference.jpg)](sheet_size_difference.jpg)

---

Spójrzmy, jak te 400 arkuszy krótszego papieru porównuje się do 160-arkuszowego papieru marki Lidl, wiedząc już, że **rolka 2,5 razy większa to praktycznie oszustwo**.

**Różnica wagowa:**
- Lidl – **101g** (z rdzeniem), 97g bez rdzenia.
- WGaC – **202g** (z rdzeniem), 198g bez rdzenia.

Tutaj widzimy, że nasze 2,5 raza skurczyło się do zaledwie 2 rolek w jednej.

**Zróbmy trochę matematyki!**

---

**Papier Lidla:**
* Waga całkowita papieru: 97g (bez rdzenia)
* Liczba arkuszy: 160

Waga na arkusz = 97g / 160 arkuszy = **0,60625g na arkusz**

**Papier WGaC:**
* Waga całkowita papieru: 198g (bez rdzenia)
* Liczba arkuszy: 400

Waga na arkusz = 198g / 400 arkuszy = **0,495g na arkusz**

Więc, arkusze papieru Lidla są nieco cięższe niż arkusze WGaC, **i można to poczuć!**

Z doświadczenia naszej rodziny szybko zauważyliśmy, że **zamiast oszczędzać, używaliśmy więcej**. Więcej zużytych arkuszy oznacza, że papier WGaC szybko się kończy.

> Pojawiły się również skargi na rozdzielanie się arkuszy oraz fakt, że papier nie spłukuje się tak dobrze jak ten z Lidla, tworząc małe zatory, co powoduje kolejny problem!

**Papier Lidla z wagą WGaC:**
* Waga na arkusz Lidla: 0,60625g
* Całkowita waga papieru WGaC: 198g

Liczba arkuszy Lidla przy wadze WGaC = 198g / 0,60625g na arkusz ≈ **326,53 arkuszy**

To proste ćwiczenie matematyczne pokazuje zdumiewającą różnicę: 1 rolka papieru Lidla, która ma 160 arkuszy, wagowo porównuje się do nieco ponad 326 arkuszy WGaC.

**Początkowe porównanie 2,5 razy więcej papieru, które później stało się tylko 2 razy, skurczyło się jeszcze bardziej!**

**Papier WGaC z wagą Lidla:**
* Waga na arkusz WGaC: 0,495g
* Całkowita waga papieru Lidla: 97g

Liczba arkuszy WGaC przy wadze Lidla = 97g / 0,495g na arkusz ≈ **196,97 arkuszy**

Więc, gdyby papier Lidla ważył tyle, co WGaC, byłoby około 327 arkuszy Lidla. Gdyby papier WGaC ważył tyle, co Lidl, byłoby około 197 arkuszy WGaC.

Z tego ćwiczenia wynika, że **WGaC jest tylko 1,23 razy większy niż Lidl!**

Na tej podstawie, całe porównanie cenowe [z mojego wcześniejszego posta](/papier-toaletowy-inaczej/) będzie znacząco inne! Spójrzmy, ile to wynosi.

---

{{% ads-in-article %}}

**Rozbijmy koszt na arkusz i koszt na gram dla każdego papieru.**

**Papier Lidla:**
* Łączna liczba arkuszy: 16 rolek × 160 arkuszy = 2560 arkuszy
* Całkowity koszt: £4.99

Koszt na arkusz = £4.99 / 2560 arkuszy = **£0.00195 na arkusz**

**Papier WGaC:**
* Łączna liczba arkuszy: 48 rolek × 400 arkuszy = 19200 arkuszy
* Całkowity koszt: £44 (cena standardowa)

Koszt na arkusz = £44 / 19200 arkuszy = **£0.00229 na arkusz**

**Teraz porównajmy koszt na gram papieru (bez wagi rdzenia).**

**Papier Lidla:**
* Całkowita waga papieru: 16 rolek × 97g = 1552g
* Koszt na gram = £4.99 / 1552g = £0.00322 na gram

**Papier WGaC:**
* Całkowita waga papieru: 48 rolek × 198g = 9504g
* Koszt na gram = £44 / 9504g = £0.00463 na gram

**Podsumujmy:**

* Koszt na arkusz – **Lidl jest tańszy przy £0.00195** w porównaniu do WGaC przy £0.00229.
* Koszt na gram – **Lidl także jest tańszy przy £0.00322** w porównaniu do WGaC przy £0.00463.

**Papier Lidla jest bardziej ekonomiczny zarówno na arkusz, jak i na gram papieru.**

---

Policzmy całkowity koszt i porównajmy oszczędności.

**Papier Lidla:**
* Kupno 3 zestawów po 16 rolek (48 rolek): 3 × £4.99 = £14.97

**Papier WGaC:**
* Kupno 48 rolek: £44 (cena standardowa)

> Oszczędności przy wyborze Lidla = £44 − £14.97 = **£29.03**

---

**Porównanie na arkusz:**

* Łączna liczba arkuszy Lidla dla 3 zestawów: 3 × 2560 arkuszy = **7680 arkuszy**
* Łączna liczba arkuszy WGaC: **19200 arkuszy**

* Koszt na arkusz dla **Lidla**: £14.97 / 7680 arkuszy ≈ **£0.00195 na arkusz**
* Koszt na arkusz dla **WGaC**: £44 / 19200 arkuszy ≈ **£0.00229 na arkusz**

**Porównanie na wagę:**

* Całkowita waga Lidla: 3 × 1552g = 4656g
* Całkowita waga WGaC: 9504g

* Koszt na gram dla Lidla: £14.97 / 4656g ≈ **£0.00322 na gram**
* Koszt na gram dla WGaC: £44 / 9504g ≈ **£0.00463 na gram**

Na podstawie różnic wagowych, **zaoszczędzisz znacząco** wybierając **Lidla**, zarówno pod względem całkowitego kosztu, kosztu na arkusz, jak i kosztu na gram.

{{% ads-in-article %}}

## Podsumowanie

[W moim wcześniejszym poście](/papier-toaletowy-inaczej/) zakończyłem stwierdzeniem _"Może nie zaoszczędzisz pieniędzy, ale na pewno zaoszczędzisz miejsce na przechowywanie"_.

**To już nie brzmi przekonująco!**

Wygląda na to, że dzięki nowym obliczeniom, papier Lidla zapewnia znaczące oszczędności kosztów, w przeciwieństwie do mojego początkowego wniosku.

Wybierając Lidla, możesz bezpośrednio zaoszczędzić znaczną kwotę £29.03 przy zakupie równoważnej liczby rolek w porównaniu do WGaC.

Co więcej, Lidl jest tańszy na arkusz i na gram, co czyni go bardziej ekonomicznym wyborem ogólnie.

To nowe spojrzenie podkreśla znaczenie szczegółowej analizy przy ocenie opcji produktowych. Jeśli produkt wymaga intensywnej reklamy, aby zdobyć klientów, zawsze jest gdzieś haczyk!

Choć moje początkowe rozważania mogły się koncentrować na przestrzeni do przechowywania i estetyce, to jasne jest, że Lidl zapewnia także przewagę finansową. To czyni go doskonałym wyborem dla tych, którzy chcą zmaksymalizować zarówno budżet, jak i wartość, bez kompromisów w kwestii efektywności przechowywania.

**Z tego wniosku wiesz, do czego zmierzam.**

[![To wydawało się odpowiednim momentem, aby zatrzymać się i powiedzieć... do widzenia!](subscription_cancelled_bye.png)](subscription_cancelled_bye.png)

Lubię próbować nowe rzeczy, ale muszą one spełniać swoje zadanie!

W pełni rozumiem ideę stojącą za WGaC, polegającą na przekazywaniu 50% zysków, aby pomóc wszystkim uzyskać dostęp do czystej wody i toalety; jednak to nie różni się od bezpośredniego przekazywania darowizn na wybrany cel, bez pośrednika.

**Anulowałem swoją subskrypcję**, i uważam ten rozdział mojej podróży za zamknięty.


---
## Konfigurowanie Powiadomień o Kondycji dla Twojego Tunelu Cloudflare
- **URL:** https://dariusz.wieckiewicz.org/konfigurowanie-powiadomien-o-kondycji-tunelu-cloudflare/
- **Date:** 2025-10-18
- **Tags:** Cloudflare, Zero Trust, cloudflared, Tunel, VPN, alternatywa dla VPN, Tunel Cloudflare, Cloudflare One

### Content

Na moim obecnym połączeniu internetowym w domu nie mam bezpośredniego dostępu do zewnętrznego adresu IPv4 z mojego routera (dostępne jest tylko IPv6). Z tego powodu nie mogę [skonfigurować mojego serwera VPN przy użyciu WireGuard](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/) bezpośrednio. Dlatego muszę wspierać się technologią Cloudflare Zero Trust.

Korzystając z mojego przewodnika, jak [dodać tunel Cloudflare do routera OpenWrt](/dodanie-cloudflare-tunel-router-openwrt/), jako alternatywy dla VPN WireGuard, udało mi się odzyskać dostęp do mojej sieci spoza domu.

Jednak istnieje jeden problem z tym rozwiązaniem.

<!--more-->

Używając dedykowanej [aplikacji Cloudflare One](https://apps.apple.com/us/app/cloudflare-one-agent/id6443476492) (lub przekonfigurowanej [aplikacji 1.1.1.1](https://apps.apple.com/us/app/1-1-1-1-faster-internet/id1423538627) do używania tunelu), po zalogowaniu się przy użyciu moich danych uwierzytelniających, mogę szybko połączyć się z moją siecią.

{{% gallery %}}
[![Aplikacja Cloudflare One – niepołączona](Cloudflare_One_app_disconnected.png)](Cloudflare_One_app_disconnected.png)
[![Aplikacja Cloudflare One – połączona](Cloudflare_One_app_connected.png)](Cloudflare_One_app_connected.png)
{{% /gallery %}}

Jedynym problemem jest to, że gdy jesteś **połączony** (Connected) za pomocą swojej aplikacji, nie możesz być pewien, czy twój tunel działa i czy masz dostęp do swojej sieci bez sprawdzenia.

Gdy przełączasz przycisk w aplikacji, otrzymujesz informację, że jesteś **połączony** (Connected). Oznacza to tylko, że twoje urządzenie jest połączone z infrastrukturą Cloudflare.

Jeśli twój tunel przestanie działać, twój router się wyłączy lub połączenie internetowe w domu zawiedzie, nie zauważysz różnicy i nadal zobaczysz informację **połączony**. Twoje połączenie internetowe pozostaje zabezpieczone przez Cloudflare Zero Trust, jednak nie masz dostępu do swojej sieci lokalnej, gdy twój tunel jest wyłączony.

Jedynym sposobem, aby sprawdzić, czy wszystko działa, jest załadowanie strony głównej twojego routera (np. 192.168.1.1 dla domyślnego IP routera OpenWrt) w przeglądarce, pingowanie go lub próba dostępu do innych zasobów dostępnych w twojej sieci lokalnej.

Innym sposobem jest zalogowanie się do twojej [strony głównej Zero Trust](https://one.dash.cloudflare.com), nawigacja do **Sieci** > **Tunele** i sprawdzenie, czy twój tunel pokazuje **status** jako **zdrowy** (Healthy).

[![Twoje Tunele Cloudflare i ich Status](Your_Cloudflare_Tunnels.png)](Your_Cloudflare_Tunnels.png)

Jest to jednak dość czasochłonny proces i może być frustrujący w sytuacjach, gdy potrzebujesz szybko uzyskać dostęp, ale nie możesz.

Doświadczyłem tej sytuacji niedawno, gdy skrzynka CityFibre, łącząca kabel światłowodowy prowadzący do mojego domu z kablem ethernetowym prowadzącym do mojego routera, przestała działać.

Mimo że wszystkie diody na tej skrzynce były zielone, router nie mógł uzyskać dostępu do sieci.

Ponowne uruchomienie skrzynki CityFibre rozwiązało problem, ale będąc na zewnątrz, mimo widocznego komunikatu **połączony**, nie zdawałem sobie sprawy, że mój tunel nie działa.

Pomyślałem, że byłoby pomocne wiedzieć, kiedy mój tunel przestaje działać, najlepiej za pomocą e-maila.

W przeszłości używałem (i nadal używam) usług takich jak [UptimeRobot](https://uptimerobot.com/?rid=a70f0d8f7559d7), aby pingować zewnętrzny IPv4 mojego routera, aby wiedzieć, kiedy połączenie internetowe nie działa.

Ustawiłem podobne podejście, pingując adres IPv6 mojego routera, który wydaje się być statyczny, ale to jedynie dostarcza informacji, kiedy mój internet nie działa.

Aplikacja **cloudflared** uruchomiona na moim routerze OpenWrt czasami może się zawiesić lub rozłączyć, zwłaszcza gdy aplikacja wykonuje samodzielną aktualizację od czasu do czasu.

Byłoby miło wiedzieć, konkretnie dla Tunelu Cloudflare, kiedy jest **wyłączony**, kiedy z jakiegoś powodu jest **zdegradowany** lub kiedy jest z powrotem online i **aktywny**.

Na szczęście istnieje rozwiązanie tego problemu.

Przechodząc na [panel Cloudflare](https://dash.cloudflare.com), istnieje sekcja zwana **Powiadomienia** (Notifications).

Wewnątrz możemy **Dodać** (Add) powiadomienie dla konkretnego produktu używanego w infrastrukturze Cloudflare.

Z rozwijanego menu **Produkt** wybierz **Tunel**, aby pokazać tylko opcje związane z tym, czego potrzebujemy.

Obecnie dostępne są następujące typy alertów:
- **Zdarzenie Utworzenia lub Usunięcia Tunelu** (Tunnel Creation or Deletion Event)
  - Otrzymuj alert, gdy nowy tunel zostanie utworzony lub istniejący tunel zostanie usunięty.
- **Alert o Kondycji Tunelu** (Tunnel Health Alert)
  - Otrzymuj alert dotyczący kondycji tunelu.

[![Powiadomienia Cloudflare dla Produktu – Tunel](Add_Notification.png)](Add_Notification.png)

To, czego potrzebujemy, to **Alert o Kondycji Tunelu** (Tunnel Health Alert).

[![Powiadomienia Cloudflare – Nazwa powiadomienia](Edit_Notification.png)](Edit_Notification.png)

Wybierzmy go i nadajmy przyjazną i czytelną **Nazwę powiadomienia**, jak `Tunel Cloudflare` (Cloudflare Tunnel).

[![Powiadomienia Cloudflare – Wybierz tunele do powiadomień](Select_tunnels_for_Notifications.png)](Select_tunnels_for_Notifications.png)

W **Dodaj tunel(e)** (Add tunnel(s)) zaznacz pole obok utworzonego tunelu.

> Zaznaczyłem także **Dołącz przyszłe tunele** (Include future tunnels), aby powiadomienie było ustawione raz i nie musielibyśmy go zmieniać za każdym razem, gdy zdecydujemy się na zmiany w sekcji tuneli w przyszłości.

Domyślna opcja dla alertów jest ustawiona na powiadamianie, gdy tunel **staje się zdrowy, zdegradowany lub wyłączony** (becomes either healthy, degraded, or down). Dostosuj to według swoich preferencji.

[![Powiadomienia Cloudflare – E-mail do powiadamiania](Notification_email.png)](Notification_email.png)

Postępuj dalej, ustawiając **E-mail do powiadomień** i zapisz, naciskając przycisk **Zapisz** (Save).

[![Powiadomienia Cloudflare](Cloudflare_notifications.png)](Cloudflare_notifications.png)

W ten sposób twoje powiadomienia są gotowe. Aby zobaczyć, jak będziemy powiadamiani w przyszłości, naciśnijmy przycisk **Test** i sprawdźmy naszą skrzynkę odbiorczą.

[![Powiadomienia Cloudflare – Test e-mail powiadomienia](Test_email_Cloudflare_Tunnel_Notifications.png)](Test_email_Cloudflare_Tunnel_Notifications.png)

W krótkim czasie otrzymamy e-mail zatytułowany **[Alert] Tunnel tunnel-name is now degraded (status change)**. W ten sposób będziemy powiadamiani, gdy tunel zostanie wykryty jako **wyłączony**, **zdegradowany** (Degraded) lub z powrotem jako **zdrowy** (Healthy).

Proste, ale użyteczne powiadomienie staje się przydatne i daje ci przegląd, kiedy masz dostęp do swoich zasobów lokalnych, a kiedy nie, mimo że aplikacja pokazuje status **połączony** (Connected).


---
## Koniec wsparcia dla systemu Windows 10: opcje migracji i alternatywy
- **URL:** https://dariusz.wieckiewicz.org/koniec-wsparcia-dla-systemu-windows-10/
- **Date:** 2025-10-13
- **Tags:** Windows 10, ChromeOS Flex, ChromeOS, Chromebook, Chromebox, Linux, Linux Mint, Lubuntu, Ubuntu, Windows 11, macOS, MacBook, iPad, iPadOS, Extended Security Updates, ESU

### Content

Od jakiegoś czasu jesteśmy świadomi końca wsparcia dla Windows 10. Jeśli nie, a nadal na nim pracujesz, to musisz żyć pod kamieniem już od jakiegoś czasu.

Microsoft już zasypał cię pełnoekranowymi poradami, aby zakupić Windows 11, nawet na sprzęcie, który się do tego nie nadaje!

Migracja do Windows 11 spowodowała wiele problemów, ponieważ często wymaga od użytkowników, nawet z bardzo wydajnym sprzętem, poszukiwania aktualizacji.

W środowisku biznesowym jest to jeszcze trudniejsze, ponieważ wszystkie tego typu zmiany wymagają intensywnych testów, ale co trudniejsze, wymagają od użytkowników dostosowania się do zmian, które nie zawsze są najłatwiejsze.

Osobiście przeprowadzałem migrację w środowisku biznesowym przez jakiś czas, zanim termin był na horyzoncie (tak jak teraz).

Rok przed terminem (14 października 2025) wszystkie komputery w moim głównym miejscu pracy zostały już zaktualizowane lub wymienione, a wszyscy są już od jakiegoś czasu przyzwyczajeni do pracy z Windows 11.

> "Koniec wsparcia dla Windows 10 (EOL) nastąpi 14 października 2025 roku. Po tej dacie Microsoft nie będzie już dostarczał darmowych aktualizacji zabezpieczeń, poprawek błędów ani wsparcia technicznego dla Windows 10. Chociaż twój komputer z Windows 10 będzie nadal działał, stanie się coraz bardziej podatny na zagrożenia bezpieczeństwa i mniej kompatybilny z nowym oprogramowaniem i sprzętem."

<!--more-->

Jeśli twoja firma nadal każe ci pracować na komputerze z systemem Windows 10 (lub starszym), musisz sobie jasno powiedzieć: twój zespół IT (jeśli w ogóle istnieje) nie wykonuje swojej pracy prawidłowo. Z drugiej strony, nie zawsze jest to wina zespołu IT, jeśli mają związane ręce przez osoby wyżej, osoby z pieniędzmi, które nie widzą potrzeby zmiany i zapłacą dopiero, gdy będzie to naprawdę konieczne. Czasami jest już za późno.

W środowisku biznesowym migracja jest trudna ze względu na konieczność intensywnych testów i adaptacji użytkowników, co często jest zaostrzane przez osoby odpowiedzialne za budżet ("osoby z pieniędzmi"), które opóźniają konieczne zmiany. Ignorowanie terminu stawia firmę w niepewnej sytuacji, podobnie jak uruchamianie Windows 11 na niewspieranym sprzęcie, gdzie pomijane są aktualizacje, a wsparcie Microsoftu jest niedostępne.

W środowisku biznesowym możesz nie mieć takiej władzy, aby dokonać zmiany; jednak w swoim domu, jeśli nadal korzystasz z Windows 10, powinieneś już teraz pomyśleć, co z tym zrobić.

Oto kilka moich przemyśleń na temat tego, co możesz z tym zrobić.

---

Jeśli jesteś zwykłym użytkownikiem komputera, używasz komputera do przeglądania internetu, pisania i drukowania dokumentów, kontaktowania się z innymi, inwestowanie w nowy sprzęt kompatybilny z Windows 11 może być przesadą.

Kupowanie nowego komputera tylko dlatego, że musisz zaktualizować do Windows 11, mimo że nie używasz komputera w więcej niż 5% jego możliwości, to strata pieniędzy, zasobów i zdecydowanie nie pomaga środowisku.

W takim przypadku, dlaczego nie pomyśleć o zachowaniu swojego sprzętu, dając mu nowe życie? Jest to szczególnie korzystne, jeśli twój komputer nadal działa całkiem dobrze, a twój budżet jest trochę napięty.

Jedną z opcji może być usunięcie Windows 10 z komputera i zastąpienie go czymś innym.

## ChromeOS Flex

Jedną z rzeczy, które możesz rozważyć, jest zainstalowanie ChromeOS Flex. Ten system operacyjny jest bardzo podobny do tych, które można spotkać na Chromebookach, ale jest przeznaczony do zwykłego sprzętu, z pewnymi ograniczeniami.

To prosty i przyjazny system operacyjny, który wymaga tylko połączenia z internetem, aby wykonać wszystkie potrzebne rzeczy jako mniej zaawansowany użytkownik.

Możesz przeglądać internet, organizować swoje pliki zarówno na samym komputerze, jak i przez zintegrowane usługi Google oraz Google Drive.

Jest wiele dostępnych rzeczy, które pozwolą ci w nowym systemie być tak samo produktywnym, jak na Windows.

> Zakładając, że jesteś użytkownikiem, którego przygoda kończy się na oprogramowaniu dostarczonym wraz z samym komputerem.

ChromeOS Flex jest bardzo szybki, nawet na bardzo starym sprzęcie. Jest regularnie aktualizowany, więc nie poczujesz się pozostawiony w tyle, a także jest odporny na typowe infekcje, które możesz napotkać, używając komputerów z Windows.

Flex nie jest jednak pełnym Google ChromeOS, jak ten na dedykowanych Chromebookach (lub Chromeboxach).

Jeśli jesteś użytkownikiem Androida, może ci brakować dostępu do Sklepu Play. Posiadanie Google Play Store dodaje dodatkową moc do twojego urządzenia, pozwalając na instalację wszystkiego, co jest dostępne dla telefonów i tabletów z Androidem. Umożliwia także lepszą integrację twoich urządzeń. Praca wchodzi na zupełnie nowy poziom.

Pomimo braku Sklepu Google Play, istnieje sklep z aplikacjami internetowymi, które mogą działać i wypełniać tę lukę. Jedynym minusem jest to, że będziesz potrzebować aktywnego połączenia z internetem, aby korzystać ze wszystkiego, co otrzymujesz.

ChromeOS Flex jest bezpłatny do pobrania i używania, a aby zacząć, będziesz potrzebować jedynie pamięci USB o pojemności minimum 8GB, aby umieścić na niej instalator i zainstalować system na swoim komputerze.

> Upewnij się, że wykonasz kopię zapasową wszystkich ważnych plików z obecnego dysku twardego, ponieważ instalator ChromeOS Flex wyczyści twój dysk twardy podczas instalacji.

Jeśli wypróbowałeś ChromeOS Flex i podoba ci się doświadczenie z ChromeOS, ale potrzebujesz czegoś więcej lub brakuje ci pewnych rzeczy, możesz rozważyć przejście do świata Chromebooków.

Dostępnych jest wiele urządzeń do kupienia, które mają już kilka lat, ale wsparcie dla nich trwa do 2030 roku, co zapewnia twoją produktywność na przyszłość.

## ChromeOS na Chromebookach

Przejście do świata ChromeOS, który pozwala cieszyć się środowiskiem Androida i dostępem do Sklepu Google Play, będzie wymagać inwestycji w sprzęt.

Jednak niektóre urządzenia niskiej klasy, dla zwykłych użytkowników, są dość tanie. W większości przypadków Chromebooki są znacznie tańsze niż ich odpowiedniki z Windows 11. Oczywiście, z Windows 11 możesz zrobić znacznie więcej, ale dlatego ważne jest, aby określić, jakim typem użytkownika jesteś i jakie są twoje potrzeby.

Chromebooki, takie jak Lenovo IdeaPad Flex 3, 14" bez dotyku (2020), można obecnie kupić używane za znacznie poniżej 100 funtów. O ile nie uszkodzisz go mechanicznie lub nie wydarzy się coś nieoczekiwanego, to urządzenie posłuży ci do czerwca 2030 roku!

Zanim kupisz jakiegokolwiek Chromebooka, sprawdź na [stronie polityki automatycznych aktualizacji](https://support.google.com/chrome/a/answer/6220366), jak długo urządzenie będzie wspierane. Dowiesz się z wyprzedzeniem, jak długo będzie ci służyć.

Nowo wydane Chromebooki na początku otrzymują dziesięć lat aktualizacji, ale czasami ten okres jest jeszcze przedłużany.

Najtrudniejszą częścią korzystania ze środowiska ChromeOS jest zmienianie własnych nawyków wyniesionych z innych systemów operacyjnych, ale jeśli jest chęć nauki, zawsze znajdzie się sposób.

ChromeOS to kolejny system operacyjny, który pozwala na uruchamianie aplikacji ze Sklepu Google Play; to tylko opcja dodania środowiska Androida poprzez (niewidoczną bezpośrednio) wirtualizację.

Ostatnio pojawiło się wiele dyskusji sugerujących, że Google planuje połączenie ChromeOS i Androida w jedną platformę. Nie chodzi o całkowite zakończenie ChromeOS, lecz raczej o długoterminowy projekt mający na celu zjednoczenie obu systemów operacyjnych.

Będzie to sensowne pod względem wydajności, stąd ciekawe plany na przyszłość.

Na koniec dnia, ChromeOS wygląda jak oddzielny system, a Google planuje zbliżyć go do Androida (Android sam w sobie nie jest systemem zoptymalizowanym dla komputerów stacjonarnych), aby móc konkurować z ekosystemem Apple, gdzie iPhone'y i iPady współpracują w lepszej symbiozie z MacBookami i macOS niż ma to obecnie miejsce w ChromeOS. Zobaczymy, jak to się potoczy.

Jednakże uważam, że nadchodzi pozytywna zmiana, i jeśli planujesz kupić urządzenie, które będzie wspierane do 2035 roku, dostrzeżesz wartość w przejściu do środowiska ChromeOS.

{{% ads-in-article %}}

## Linux (Mint, Ubuntu, Lubuntu)

Jeśli uważasz się za bardziej zaawansowanego użytkownika, możesz rozważyć wejście w świat Linuksa.

Nigdy nie było łatwiej niż teraz zainstalować Linuksa na swoim komputerze.

Jestem długoletnim zwolennikiem Ubuntu Linux, i to, razem z Linux Mint, jest czymś, co poleciłbym wypróbować. Jeśli twój sprzęt ma ponad dziesięć lat, może lżejsza wersja Lubuntu będzie działać lepiej.

Jest mnóstwo oprogramowania działającego na Linuksie, ale także wiele, którego nie znajdziesz. Dlatego warto sprawdzić, do czego używasz komputera, zanim zdecydujesz, gdzie się udać. Albo po prostu spróbować i zobaczyć. Jeśli jeden sposób nie zadziała, przejdź do innego.

Większość systemów operacyjnych Linux jest dostarczana z środowiskiem graficznym, które można wybrać, aby zadowolić użytkownika, zamiast zmuszać cię do zaakceptowania tego, co jest dostępne.

Linux, powiedziałbym, jest bardziej dla osób, które są gotowe na codzienne majsterkowanie. Jeśli psucie rzeczy i znajdowanie sposobu na ich naprawę samodzielnie, aby się czegoś nauczyć, jest czymś, co cię fascynuje i masz na to czas, śmiało.

Większość systemów operacyjnych Linux jest rozprowadzana za darmo do pobrania i używania. Będziesz potrzebować jedynie pamięci USB o pojemności minimum 8GB, aby umieścić na niej instalator i zainstalować system na swoim komputerze.

Jeśli szukasz stabilności i polegasz na określonym oprogramowaniu, które utrzyma cię w ruchu (oprogramowanie nie jest dostępne na ChromeOS ani Linuksie), możesz rozważyć inne opcje.

Wciąż istnieją pewne możliwości.

## Nowy komputer z Windows 11

Zakładając, że przeanalizowałeś swoje opcje i zdecydowałeś, że potrzebujesz upgrade'u. Ta decyzja nie oznacza, że musisz wydać setki funtów na nowy sprzęt.

Jest wiele urządzeń sprzed pandemii tj. laptopami Intel Core 8. generacji, które są w pełni kompatybilne z Windows 11, i kosztują jedynie około 60-80 funtów!

Intel Core 8. generacji może nie być najszybszym dostępnym urządzeniem, ale jeśli będziesz się trzymać powszechnie uznawanych minimalnych zaleceń 8GB RAM i 256GB SSD, nie możesz się pomylić.

Jeśli twój budżet to do 100 funtów, możesz, z odrobiną szczęścia, kupić laptopa z Intel Core 11. generacji, który posłuży nieco dłużej.

Jeśli nie wiesz, czego potrzebujesz, ale wiesz, że chcesz urządzenie kompatybilne z Windows 11, po prostu kieruj się tym:

 - minimum 8GB RAM, zalecane 16GB
 - minimum 256GB pamięci SSD, zalecane 512GB

Reszta zależy od ciebie i twojego budżetu.

Jeśli jednak nie chcesz wydawać pieniędzy na nowy sprzęt, teoretycznie możesz zainstalować Windows 11 na swoim nieobsługiwanym sprzęcie. To jest droga, której bym nie polecał, zwłaszcza w środowisku biznesowym, ale jest łatwa do wykonania.

Nie będziesz miał przyjemnego doświadczenia użytkowania im dłużej z niego korzystasz, ale to konsekwencja twoich działań.

## Windows 11 na niewspieranym sprzęcie

Pozwól, że przypomnę na początku:

**Nie idź drogą aktualizacji do Windows 11 na niewspieranym sprzęcie.**

Jeśli twój komputer nie jest zaprojektowany do pracy z Windows 11, instalując go (jest to możliwe), nie sprawisz, że nagle stanie się obsługiwany!

**Bądź także świadomy!**

Wokół jest mnóstwo nieuczciwych sprzedawców, którzy sprzedają stary sprzęt z preinstalowanym Windows 11, nawet na Amazon UK!

To strata pieniędzy i ryzyko pozostania w tyle.

To twardy orzech do zgryzienia. Używane urządzenie, tylko dlatego, że sprzedawca zainstalował na nim Windows 11, nie oznacza, że może, lub powinno, być z nim używane.

Microsoft przygotował poręczną stronę internetową, gdzie można sprawdzić, czy procesor (Intel, AMD lub Qualcomm) jest zaprojektowany/obsługiwany przez Windows 11. Po prostu sprawdź to przed zakupem!

> [https://learn.microsoft.com/en-us/windows-hardware/design/minimum/windows-processor-requirements](https://learn.microsoft.com/en-us/windows-hardware/design/minimum/windows-processor-requirements)

Jeśli jednak zdecydujesz się pójść tą drogą lub sprzedano ci nieobsługiwany sprzęt z Windows 11, są tego konsekwencje.

> Nie trać czasu na narzekanie, że twój komputer nie jest obsługiwany, ale Windows 11 działa dobrze. Tak będzie, ale w pewnym momencie rzeczy zaczną się psuć, a Microsoft na pewno postawi przed tobą przeszkodę, w postaci nowej aktualizacji, aby upewnić się, że nie będzie ci łatwo.

Będziesz pomijać istotne aktualizacje systemu, rzeczy będą się psuć, a nie będziesz miał wsparcia, nawet jeśli zapłacisz Microsoftowi za pomoc. Co ważniejsze, jeśli brakuje ci niektórych aktualizacji zabezpieczeń, stawiasz się w tej samej sytuacji, co pozostając na Windows 10 po zakończeniu jego wsparcia.

Prowadziłem badania na temat Windows 11 na nieobsługiwanym sprzęcie, aby dowiedzieć się, gdzie są jego granice. Mimo że próbowałem i pracowałem na nim przez jakiś czas, ostatecznie zdecydowałem się zmienić sprzęt na kompatybilny, aby mieć przyjemniejsze doświadczenie.

Prosty komputer z Intel Core i5, 8. generacji (z około 2018 roku) znajduje się na dole listy obsługiwanego sprzętu, który uruchomi Windows 11 bez żadnych sztuczek czy hacków. Ten sprzęt jest bardzo tani do kupienia. Możesz zdobyć laptopa, w pełni kompatybilnego z Windows 11, zaczynając od zaledwie 60 funtów na eBay!

Jeśli jednak masz dość Windowsa, istnieją realne opcje do wypróbowania już teraz, zwłaszcza jeśli nie jesteś ograniczony budżetem.

{{% ads-in-article %}}

## macOS - Twój pierwszy MacBook

Jeśli używasz komputera przez dłuższy czas i nie śpieszysz się ze zmianą sprzętu zbyt często, masz inną opcję. Jeśli szukasz stabilności i dostępności oprogramowania, a w przypadku laptopów ogromnej żywotności baterii, warto pomyśleć o przejściu na macOS.

Sprzęt od Apple nigdy nie jest tani; jednak jest zaprojektowany tak, aby trwał i był wspierany przez bardzo długi czas.

Problemem nie jest cena, jak mogłoby się wydawać na początku. Jeśli rozważysz rozłożenie zakupu na raty i zobaczysz, jak długo twoje urządzenie, przy odpowiednim użytkowaniu, będzie ci służyć, okaże się, że ma dobrą wartość za wydane pieniądze.

Jednak macOS nie jest dla każdego!

Sprzęt Apple to jak kupowanie Porsche. Może ci się podobać, jak wygląda, jak działa, ale jeśli używasz go tylko do jazdy po chleb do piekarni każdego ranka, czy to dobrze wydane pieniądze? Oczywiście, to zależy; jednak z praktycznego punktu widzenia może to być dla ciebie przesada.

Jeśli wiesz, do czego używasz komputera, szybko zauważysz, jak komputer z macOS wykona swoją pracę. Ważne w macOS jest jego stabilność i wyższe bezpieczeństwo niż urządzenia z Windows.

Jeśli używasz urządzenia profesjonalnie, musisz na nim polegać, kiedy najbardziej tego potrzebujesz. Jeśli nagle jesteś zmuszony do restartu, by zainstalować aktualizacje, gdy jesteś w środku pracy, to nie jest to świetny sposób, aby urządzenie pracowało dla ciebie, a nie ty, dostosowując swój harmonogram pracy do potrzeb urządzenia.

Stabilność urządzeń Apple jest kluczowa, a wsparcie posprzedażowe, na które zawsze można liczyć, to coś, co sprzedało mi moje pierwsze urządzenia Apple lata temu.

Ale laptop lub komputer stacjonarny to nie jedyne urządzenie, które możesz rozważyć jako zamiennik dla swojego urządzenia z Windows 10. Są inne opcje.

## Twój pierwszy tablet

Czasami potrzebujesz mieć urządzenie pod ręką, gotowe w ciągu sekundy, aby zrobić coś, gdzie używanie komputera nie jest praktyczne.

Właśnie tutaj wchodzą do gry tablety.

Jeśli twoja praca skupia się na komunikacji, przeglądaniu e-maili, okazjonalnej pracy z dokumentami i niektórych specyficznych aplikacjach, tablety, będące pewnym połączeniem funkcjonalności i mobilności, są odpowiednie.

Są zaprojektowane tak, aby były gotowe przy pierwszym dotknięciu palcem.

To urządzenie może nie być w stanie zastąpić całej twojej pracy, w zależności od tego, jak używasz komputera.

Wszystko sprowadza się do samooceny, jak używałeś komputera na początku.

Jeśli chodzi o tablety, masz do wyboru sprzęt z Androidem i Apple. Z Androidem jest trochę loteria, ponieważ jeśli kierujesz się ceną, dostaniesz urządzenie, które nie będzie długo ci służyć. Krótko po wygaśnięciu gwarancji nie będzie już wspierane, brak dalszych krytycznych aktualizacji systemu, i będziesz zmuszony kupić kolejne.

Tablety Apple to trochę inna historia. Nawet z podstawowym modelem iPada nie możesz się pomylić. Urządzenie będzie ci służyć, gdy będzie odpowiednio użytkowane, przez lata i będzie wspierane przez lata.

Do tej pory, iPadOS 26, system operacyjny na iPadach, jest dostępny dla urządzeń wydanych od marca 2019 roku. Doświadczenie z najnowszym systemem operacyjnym nie będzie cudowne, i będzie brakować niektórych nowych funkcji, ale będzie nadal działać. Ważne jest, że kiedy najnowszy system operacyjny jest nadal wspierany na urządzeniu, tak samo są aplikacje w App Store!

Kupno iPada od 329 funtów (model podstawowy, 128GB pamięci) który posłuży ci około 7 lat to świetna inwestycja; nie oszukujmy się.

{{% ads-in-article %}}

## Przegląd

Masz opcję, a to zależy ściśle od twojego obecnego użytkowania urządzenia z Windows 10. Aby uprościć sprawy, musisz szczerze zapytać siebie, jakim typem użytkownika jesteś.

 - **Początkujący** - użytkownicy, którzy wykorzystują swoje komputery do podstawowych czynności, przeglądania internetu, sprawdzania e-maili, grania w gry, pisania prostych dokumentów.
 - **Średniozaawansowany** - niektóre zaawansowane, specjalistyczne zastosowania, ale nie wchodzące w skrajności specjalistycznego oprogramowania. Tworzą, projektują i generalnie mogą robić różne rzeczy ze swoim sprzętem, gdziekolwiek jest to potrzebne.
 - **Profesjonalny** - użytkownicy na maksa, wiedzą, czego potrzebują, używają specyficznego oprogramowania w szczególny sposób, aby osiągnąć cel.

> Klasyfikuję się pomiędzy **Średniozaawansowany** a **Profesjonalny**, dlatego moim obecnym głównym sprzętem jest MacBook Air M4, z VMware do wirtualizacji Windows 11 oraz dostępem do urządzeń z Windows 11 przez pracę i trochę Linuxa pod ręką.

**Twój wybór:**

### ChromeOS Flex

Zamień swoje obecne, starsze urządzenie w maszynę z nowym sercem, która pozwoli ci pracować online, przeglądać strony internetowe, pisać e-maile, dokumenty, pracować z plikami, **bez wydawania ani grosza!**

Dobre dla: **Początkujących** do **Średniozaawansowanych**

**Korzyści:** Brak wydanych pieniędzy, ten sam sprzęt z nowym życiem na kilka lat, z możliwymi ograniczeniami.

ChromeOS Flex jest idealny dla użytkownika **Początkującego**, który skupia się na podstawowych zadaniach, takich jak **przeglądanie internetu**, **pisanie** i **drukowanie**.

Użycie urządzeń silnie zależy od aktywnego połączenia internetowego dla aplikacji webowych, co kontrastuje z możliwością Windows lub Linux do uruchamiania lokalnie zainstalowanego, specyficznego oprogramowania, oferującym większą funkcjonalność offline niezbędną dla użytkowników **Średniozaawansowanych** lub nawet **Profesjonalnych**.

### ChromeOS

Za część swojego budżetu ciesz się stabilnością infrastruktury Google z dodatkiem Androida w formie laptopa. Rób rzeczy, które normalnie robisz na laptopie i na telefonie komórkowym, z łatwością.

Dobre dla: **Początkujących** i **Średniozaawansowanych**

**Korzyści:** Wydawaj w rozsądnym budżecie z możliwością osiągnięcia więcej, kiedy jest to potrzebne, dzięki podsystemowi Androida i Linuxa.

### Linux

Inny sposób na tchnienie nowego życia w stare urządzenie **bez wydawania na to pieniędzy!**. Jeśli nie boisz się majsterkowania, szukania odpowiedzi na to, jak coś zrobić, ale także, jeśli nie polegasz ściśle na oprogramowaniu dostępnym tylko w środowisku Windows, to jest opcja dla ciebie.

Dobre dla: **Średniozaawansowanych** do **Profesjonalnych**

**Korzyści:** Brak wydanych pieniędzy, ten sam sprzęt z nowym życiem na kilka lat, z opcją rozszerzenia funkcjonalności, gdy jest to wymagane, ale z ryzykiem psucia rzeczy. Dobra krzywa uczenia się dla tych, którzy nie boją się uczyć na swoich błędach, ale są także gotowi spróbować nowych sposobów robienia tych samych rzeczy, ponieważ niektóre oprogramowanie może nie być zawsze dostępne.

Linux jest świetny dla **Profesjonalistów** (np. deweloperów, administratorów systemu), którzy:

 - Cenią **dostosowywanie** i **środowiska open-source**.
 - Są przygotowani na **codzienne majsterkowanie** i **ryzyko psucia rzeczy**.
 - Nie polegają ściśle na specyficznym oprogramowaniu dostępnych tylko w środowisku Windows.

### Windows 11

Nowy sprzęt, nowe życie, nowe możliwości. Rób to, co robiłeś, i odkrywaj nowe możliwości dzięki nowym technologiom i dostępnym rozwiązaniom.

Dobre dla: wszystkich typów użytkowników, ale skierowane do **Średniozaawansowanych** i **Profesjonalnych**.

**Korzyści:** Przy rozsądnym budżecie zyskujesz dostęp do najnowszego systemu operacyjnego, który pozwala ci robić rzeczy, do których jesteś przyzwyczajony, a nawet więcej.

### macOS

Komputer, który zawsze jest gotowy dla ciebie i nie zawiedzie cię w stresujących sytuacjach. Krzywa uczenia się dla użytkowników Windows i pewne kompromisy dotyczące dostępności oprogramowania mogą być konieczne.

Dobre dla: wszystkich typów użytkowników, ale skierowane do **Średniozaawansowanych** i **Profesjonalnych**.

**Korzyści:** Stabilność, prestiż premium wyglądu i odczucia. Urządzenie, które z czasem udowodni swoją wartość i pomoże ci być bardziej skoncentrowanym i produktywnym, gdy jest to potrzebne.

### iPadOS

Kompromis między komputerem a telefonem komórkowym, ale bez utraty funkcjonalności. Gotowy wszędzie tam, gdzie najbardziej go potrzebujesz, i gdziekolwiek jesteś. Dostosowywany do twoich potrzeb w podróży.

Dobre dla: **wszystkich typów użytkowników**.

**Korzyści:** długie wsparcie, stabilność i szeroka dostępność oprogramowania, aby spełnić twoje potrzeby wszędzie tam, gdzie jest to konieczne. Przy pewnym zaznajomieniu, wraz z dodatkowymi akcesoriami może być skutecznym zamiennikiem dla zwykłego komputera.

{{% ads-in-article %}}

## Posłowie

Możesz myśleć, że cała sprawa z Windows 10 i jego końcem życia to trochę oszustwo. W pewnych aspektach tak jest, Microsoft, powiedzmy to szczerze, okłamał swoich użytkowników, twierdząc, że to będzie ostatni Windows i wszystko będzie tylko aktualizacjami do niego.

Ale jeśli spojrzysz na to z innej perspektywy, Windows 10 został wydany 29 lipca 2015 roku – to ponad 10 lat temu. Technologia poszła od tego czasu ogromnie naprzód. Wydanie Windows 11 i wprowadzenie minimalnych wymagań sprzętowych było krokiem, by przejść od starych komputerów, z ery przed-AI, do nowych czasów (z pewnym kosztem).

Jeśli spojrzysz dalej, Windows 11 został wydany 5 października 2021 roku. W momencie, gdy Windows 10 osiągnie koniec życia, ten system będzie na rynku od ponad czterech lat. Nie spodziewam się, by trwał dłużej niż sześć lat, zanim zobaczymy kolejną dużą wersję Windows, co postawi nas w tej samej sytuacji pozbycia się starego sprzętu i ponownego przechodzenia przez to wszystko. W ciągu najbliższych dwóch lat możemy zobaczyć kolejną zmianę na horyzoncie, lub po prostu, Windows 11 zacznie podnosić swoje minimalne wymagania po kolejnej dużej aktualizacji wersji.

Obecnie duża liczba komputerów wydanych w 2018 roku i później może zostać zaktualizowana (nadal za darmo!) do Windows 11 bez żadnych kosztów. Nie będą to najszybsze dostępne urządzenia, ale będą spełniać swoją rolę i będą w pełni wspierane (system operacyjny) przez Microsoft, jeśli będziesz mieć problem. Jest to bardzo ważne w środowisku biznesowym, gdy twoja firma również polega na usługach Microsoft.

Wymuszanie Windows 11 na sprzęcie, który już jest martwy, jest jak ożywianie trupa. Będą żyć przez krótki czas, ale szybko zaczną się rozpadać. Dlatego przy emeryturze starego sprzętu są sposoby na docenienie pozostałego czasu na tym świecie.

ChromeOS i Linux to szansa na tchnięcie nowego ducha w stare ciało, zanim trafi ono na wysypisko.

Zacznij od ChromeOS Flex, gdzie wystarczy go przygotować, instalując na dysku USB i konwertując laptopa na niego. Jeśli uznasz, że nawet z włączonym środowiskiem Linux nie jest wystarczający, lub zbyt ciasno związany z usługami Google, spróbuj dostępnych wariantów systemów Linux.

Osobiście operuję na macOS, z urządzeniami ChromeOS/ChromeOS Flex i Linux Mint w zasięgu ręki oraz środowiskiem Windows 11, czy to przez wirtualizację na macOS, czy w miejscu pracy, dzięki czemu mam wszystkie opcje otwarte, gdziekolwiek potrzebuję.

Zanim wydasz pieniądze, pomyśl i spróbuj nowych rzeczy. To nie boli, a w trakcie procesu dowiesz się, jakim typem użytkownika jesteś i jakie są twoje prawdziwe potrzeby. Na końcu możesz dojść do wniosku, że Windows 11 i nowy komputer nie są naprawdę potrzebne do rzeczy, które na nim robisz.

## Postscriptum

Jeśli naprawdę musisz pozostać na urządzeniu z Windows 10 na trochę dłużej i nie jesteś użytkownikiem biznesowym, Microsoft wkrótce zaoferuje ci przedłużone wsparcie na rok, za opłatą.

Koszt tego wyniesie około 30 funtów, ale będziesz nadal w tej samej sytuacji rok po roku.

Microsoft ogłosił również, że wielu użytkowników może zarejestrować się w programie Extended Security Updates (ESU) za darmo, pod warunkiem, że zsynchronizują ustawienia swojego komputera z chmurą, używając konta Microsoft.

{{% ads-in-article %}}

### Rozszerzone aktualizacje zabezpieczeń (ESU) dla Windows 10

Jeśli zsynchronizujesz ustawienia swojego komputera z chmurą, używając konta Microsoft (tj. korzystając z funkcji Windows Backup / OneDrive), stajesz się uprawniony do darmowej rejestracji w ESU (Extended Security Updates), rozszerzonej aktualizacji zabezpieczeń dla systemu Windows 10.

Aby zarejestrować się w ESU, musisz zalogować się przy użyciu konta Microsoft (konto użytkownika Windows tylko lokalne nie wystarczy).

Urządzenia muszą już być na najnowszej obsługiwanej wersji/aktualizacjach, aby się kwalifikować – muszą działać na Windows 10 w wersji 22H2 (z określonymi aktualizacjami).

Więc **haczyk** polega na tym, że Microsoft wiąże darmowe ESU z synchronizacją w chmurze (tj. tworzeniem kopii zapasowej ustawień przez OneDrive lub Windows Backup) oraz z posiadaniem konta Microsoft, co pomaga im powiązać **licencję** ESU lub uprawnienie z twoim kontem, a nie tylko z urządzeniem.

ESU zapewnia tylko **krytyczne** i **ważne** aktualizacje zabezpieczeń po październiku 2025 roku; nie dostarcza nowych funkcji, ogólnego wsparcia ani aktualizacji **niezabezpieczeń**.

Darmowa opcja (i wszystkie opcje rejestracji ESU) przedłuża wsparcie tylko do 13 października 2026 roku.

Opcja jest wdrażana stopniowo — w ustawieniach/aktualizacjach Windows pojawi się **kreator rejestracji**.

Może nie pojawić się od razu na wszystkich komputerach; może wystąpić opóźnienie w zależności od kanału aktualizacji lub regionu.

Po zarejestrowaniu możesz używać **licencji** ESU na maksymalnie 10 urządzeniach zalogowanych na to konto Microsoft (dla konsumenckiego ESU).

Nie musisz płacić osobno za każdy komputer, jeśli mieścisz się w tych limitach.

Synchronizacja ustawień oznacza, że więcej danych o ustawieniach twojego komputera (a być może także o stanie systemu) jest zapisywanych w chmurze Microsoft. Niektórzy użytkownicy mogą to uznać za niepożądane.

Darmowe ESU nie jest tylko po to, aby pozwolić użytkownikom pozostać na Windows, ale raczej daje im trochę więcej czasu przed przejściem.

Nie spodziewałbym się, żeby to trwało dłużej niż do października 2026 roku; dlatego pomyśl, przeanalizuj, do czego używasz swojego komputera i rozważ swoje opcje.


---
## Papier toaletowy, inaczej
- **URL:** https://dariusz.wieckiewicz.org/papier-toaletowy-inaczej/
- **Date:** 2025-09-28
- **Tags:** Papier Toaletowy, Who Gives a Crap, Lidl, Floralys Quilted Toilet Tissue, Jakość, Cena

### Content

Ten wpis różni się nieco od moich zwykłych publikacji na tej stronie.

> Dla tych, którzy mogą nie czytać do końca — tutaj link polecający z 15% zniżką na pierwsze zamówienie: [whogivesacrap.mention-me.com/m/ns/xg6os-dariusz-wieckiewicz](https://whogivesacrap.mention-me.com/m/ns/xg6os-dariusz-wieckiewicz)

Ostatnio żona namówiła mnie, żeby wypróbować firmę o nazwie „Who Gives a Crap”, która oferuje produkty takie jak papier toaletowy, chusteczki i ręczniki kuchenne. Ich produkty są zaprojektowane tak, były w 100% z bambusa, albo w 100% z recyklingu, z następującym celem:

> **"50% zysków jest przekazywane, aby pomóc wszystkim uzyskać dostęp do czystej wody i toalety — do tej pory zebrano ponad £9 milionów!"**

Chętnie dam temu szansę, o ile nie podniesie to znacząco wydatków naszego gospodarstwa domowego.

<!--more-->

> W przeszłości rozważałem też niektóre reklamy od Modern Milkman, ale płacenie £4.40 za 4 pinty mleka pełnotłustego w porównaniu do £1.60 w Lidlu nie miało sensu ekonomicznego. To całkiem duża różnica!

Robimy zakupy głównie w Asda i Lidl, czasem kupujemy produkty od innych dyskontów. Ponieważ Lidl jest najbliżej miejsca, w którym mieszkamy, często kupujemy tam większość podstawowych produktów. Ogólnie Lidl oferuje dobry stosunek jakości do ceny.

[![Papier toaletowy z Lidl'a Floralys Quilted Toilet Tissue](Floralys_Quilted_Toilet_Tissue.jpg)](Floralys_Quilted_Toilet_Tissue.jpg)

W Lidlu odkryliśmy ulubiony papier toaletowy naszej rodziny — Floralys Quilted Toilet Tissue, który odpowiada większości z nas. Zwykle wybieramy opakowanie 16 rolek (3-ply) za jedyne £4.99. Aby rozważyć zmianę na produkt o podobnej jakości, cena musiałaby być porównywalna, by nas przekonać.

Na Who Gives a Crap (WGaC) rozważałem zakup 48 rolek 100% papieru z recyklingu, żeby zaoszczędzić na wysyłce i porównać go z marką Lidla, nie tylko pod względem ceny, ale też jakości.

Zacznijmy od porównania kosztów.

## Porównanie kosztów

Kiedy pierwszy raz korzystasz z Who Gives a Crap, oferują £5 zniżki na pierwsze zamówienie w subskrypcji, a subskrypcja jest [**bardzo elastyczna**](https://support.whogivesacrap.org/hc/en-gb/articles/11932267324953-Managing-your-subscription-status).

Zanim przejdziemy do kosztów, ważne jest, aby zauważyć, że pojedyncza rolka Who Gives a Crap nie jest równoważna rolce z Lidla.

Ich rolka z papieru w 100% z recyklingu ma 400 arkuszy 3-warstwowego papieru.

> Każda rolka papieru Floralys Quilted zawiera 160 arkuszy 3-warstwowego papieru.

[![rolka Floralys Quilted (z lewej) kontra rolka Who Gives a Crap (z prawej)](Floralys_Quilted_vs_Who_Gives_a_Crap_Recycled.jpg "rolka Floralys Quilted (z lewej) kontra rolka Who Gives a Crap (z prawej)")](Floralys_Quilted_vs_Who_Gives_a_Crap_Recycled.jpg)

### Koszt w Lidlu

* 16 rolek za £4.99
* Każda rolka ma 160 arkuszy (3-ply).

Łącznie arkuszy = 16 × 160 = **2,560 arkuszy.**

Koszt za arkusz = £4.99 ÷ 2,560 ≈ **£0.001949 za arkusz** (około 0.195p).

**Rolki WGaC to:**

* 48 rolek
* Każda rolka ma 400 arkuszy.

Łącznie arkuszy = 48 × 400 = **19,200 arkuszy.**

**Koszt przy tej samej cenie za arkusz:**

19,200 arkuszy × £0.001949 ≈ **£37.40**.

To jest cena, którą zapłacilibyśmy za papier Quilted z Lidla przy tej samej liczbie arkuszy.

{{% ads-in-article %}}

### Koszt Who Gives a Crap

Wydawanie £39 jednorazowo na papier toaletowy (po £5 zniżki na pierwsze zamówienie w subskrypcji) nie jest atrakcyjne dla każdego, zwłaszcza gdy można kupić w Lidlu za £4.99 za opakowanie.

WGaC za £39 jest już droższy niż Lidl za £37.40. Zapłacenie pełnej ceny £44 zamiast £37.40 sprawia, że pozostanie przy Lidlu jest oczywistym wyborem, jeśli liczy się tylko cena.

Jako ktoś, kto lubi szukać dodatkowych zniżek, zastosowałem **kod zniżkowy 15%** zamiast £5 zniżki na pierwsze zamówienie, co obniżyło mój koszt do **£37.40** przy kasie.

> **Chcesz 15% zniżki na pierwsze zamówienie?** Użyj tego linku polecającego: [whogivesacrap.mention-me.com/m/ns/xg6os-dariusz-wieckiewicz](https://whogivesacrap.mention-me.com/m/ns/xg6os-dariusz-wieckiewicz)

Bez znajomości jeszcze jakości 100% papieru z recyklingu, już wyrównałem cenę do papieru premium z Lidla.

Nawet przy **cenie startowej £39** wyglądałoby to tak:

* £39 za 48 rolek
* Każda rolka = 400 arkuszy
* Łącznie arkuszy = 48 × 400 = **19,200 arkuszy.**

Koszt za arkusz = £39 ÷ 19,200 = **£0.00203125 za arkusz** (około 0.203p).

To jest **0.203p** WGaC **vs** około **0.195p** Lidl za arkusz.

Obliczmy koszt: jeśli każda rolka ma 160 arkuszy i jest 16 rolek, jak w Lidlu.

* 16 rolek
* Każda rolka = 160 arkuszy
* Łącznie arkuszy = 16 × 160 = **2,560 arkuszy.**

Koszt = 2,560 × £0.00203125 = **£5.20** (zaokrąglone do najbliższego pensa).

Na tym etapie WGaC kosztuje tylko **£0.21 więcej niż Lidl**.

---

Gdybyśmy zapłacili **pełną cenę WGaC £44**, wyglądałoby to tak:

* Łącznie arkuszy = 48 × 400 = 19,200 arkuszy.
* Koszt za arkusz = £44 ÷ 19,200 = 0.0022916 (£0.0022916) (około 0.229p za arkusz).

* Koszt za arkusz: ~£0.00229 (0.229p).
* Koszt dla opakowania 16 rolek po 160 arkuszy: **~£5.87**

W tym scenariuszu **WGaC jest o £0.88 droższy niż Lidl**.

---

Dzięki [elastycznej subskrypcji](https://support.whogivesacrap.org/hc/en-gb/articles/11932267324953-Managing-your-subscription-status) możesz otrzymać następne zamówienie wcześniej, opóźnić je lub anulować w dowolnym momencie, więc nie jesteś zmuszony do pozostawania przy wyższej cenie.

Kolejne pytanie brzmi: **jak wypada porównanie jakości?**

{{% ads-in-article %}}

## Porównanie jakości

> Porównanie jest ściśle subiektywne i opiera się na osobistych odczuciach, opiniach i doświadczeniach.

Zamówiłem moją pierwszą subskrypcję i początkowo planowałem powtarzać zamówienia co 3 miesiące.

[![Logo Who Gives a Crap na kartonie](Who_Gives_a_Crap.png)](Who_Gives_a_Crap.png)

Zamówienie dotarło w dużym kartonowym pudełku z napisem "Who Gives a Crap" na całej powierzchni. To sprytna forma zamierzonej reklamy, która niewiele kosztuje. **Dobrze zrobione!**

[![Każda rolka papieru Who Gives a Crap zawinięta w ozdobny papier](WGaC_wrapped_toilet_paper.jpg)](WGaC_wrapped_toilet_paper.jpg)

Każda rolka papieru toaletowego w pudełku jest owinięta kolorowym rękawem papierowym. Choć może się to wydawać zbędne, dodaje to unikalnego charakteru zakupionemu produktowi. Jeśli masz stojak na papier toaletowy w łazience, wprowadzi to żywy akcent kolorystyczny i styl do zazwyczaj nudnej przestrzeni.

Papier Lidla jest zapakowany w dodatkowy plastikowy worek, który po otwarciu ląduje w koszu i przyczynia się do zaśmiecania plastikiem, którego mamy pod dostatkiem.

Rolka jest twardsza, grubsza i większa niż papier z Lidla. Gdy naciśniesz ją dwoma palcami, łatwo zauważysz różnicę. Rolka Lidla zapada się jak piórko, podczas gdy rolka WGaC jest znacznie trudniejsza do ugniecenia.

To wynika z faktu, że jedna rolka ma 400 arkuszy 3-warstwowego papieru w porównaniu do zaledwie 160 arkuszy.

Jednak pomimo początkowej twardości, papier jest bardzo miękki w dotyku i zaskakująco wytrzymały.

[![Who Gives a Crap (z lewej) vs Floralys Quilted (z prawej)](Who_Gives_a_Crap_Recycled_vs_Floralys_Quilted.jpg "Who Gives a Crap (z lewej) vs Floralys Quilted (z prawej)")](Who_Gives_a_Crap_Recycled_vs_Floralys_Quilted.jpg)

Podczas gdy marka Lidl wybrała duży okrągły wzór, który wygląda ogólnie lepiej, papier WGaC ma mały kropkowany motyw.

Sam papier, po zdjęciu kolorowego rękawa, nie wygląda szczególnie atrakcyjnie i osobiście przypomina mi moje dzieciństwo, kiedy zbieraliśmy gazety, oddawaliśmy je do punktów recyklingu i otrzymywaliśmy albo niewielką sumę pieniędzy, albo wymienialiśmy je na papier toaletowy. Jednak jakość tamtego papieru nie dorastała do jakości WGaC. Pod koniec lat 80. i na początku 90. twój "tyłek" z pewnością protestował przy każdym użyciu!

Mimo zewnętrznego wyglądu papier jest w użyciu znacznie bardziej miękki i zaskakująco wytrzymały. Wzór na papierze musi być starannie dobrany, aby osiągnąć optymalną równowagę między wytrzymałością, wyglądem i miękkością.

Porównując 400 arkuszy z 160 arkuszami na rolkę, różnicy nie zawsze od razu widać. Jednak szybko zauważysz, jak szybko znikają rolki z Lidla w porównaniu do tych oferowanych przez Who Gives a Crap.

Choć porównanie jest dość subiektywne, od pierwszego użycia zauważysz, że często wystarczą dwa arkusze, podczas gdy przy innych markach możesz ryzykować bałaganem i użyć więcej arkuszy, by osiągnąć ten sam efekt.

Wspomniałem wcześniej o stojaku na papier toaletowy. Jeśli twoja toaleta jest zintegrowana z łazienką z prysznicem lub wanną, indywidualne pakowanie rolek oferuje dodatkową zaletę.

Pomimo zewnętrznego rękawa papieru, łatwo je założyć na słupek lub drążek do przechowywania. To dodaje praktyczności, lepiej chroniąc papier przed ochlapaniami wodnymi i wilgocią, która zawsze jest w łazience.

Mokry papier toaletowy, nawet lekko wilgotny, traci miękkość i wytrzymałość. Nie wygląda to też dobrze z perspektywy higieny. Tutaj indywidualne pakowanie ma większy sens, zwłaszcza że zamoczenie tej rolki to jak utrata 2,5 rolki papieru marki Lidl.

Przy 400 arkuszach w porównaniu z 160 arkuszami to dokładnie 2,5 rolki w jednej!

{{% ads-in-article %}}

## Wniosek

Daj sobie czas, aby zdecydować, czy pozostać przy subskrypcji, czy wrócić do zakupów w Lidlu. Rozważenie zalet i wad każdej opcji pomoże Ci podjąć najlepszą decyzję.

Oba papiery wydają się porównywalne, choć Who Gives a Crap jest nieco mocniejszy. Ostateczna decyzja zależy od tego, jak szybko twoje gospodarstwo domowe zużyje 48 rolek (które mogą wystarczyć dłużej niż początkowo zakładałem – trzy miesiące) i jakie warunki otrzymasz przy następnym dostarczeniu.

Skok z £37.40 do £44.00 wymaga uzasadnienia. Choć wzrost ceny nie jest ogromny, kluczowe jest ocenienie, jak skutecznie ten papier się sprawdza w porównaniu z innym. Jeśli starcza znacznie dłużej niż oczekiwano i wymaga mniej arkuszy na użycie, ukryte oszczędności mogą zrekompensować nieco wyższą cenę.

Dobrą wiadomością dla każdego, kto chce spróbować, jest to, że z kodem polecającym możesz otrzymać 15% zniżki na pierwszą subskrypcję. To sprawia, że koszt jest zbliżony do zakupu Floralys Quilted w Lidlu, więc to świetna okazja, by przetestować bez wydawania więcej.

Przy £37.40 za 48 rolek po 400 arkuszy na rolkę (łącznie 19,200 arkuszy) odpowiada to zakupowi 120 rolek papieru marki Lidl, które są w cenie £4.99 za 16 rolek. To porównanie pokazuje wartość pod względem liczby arkuszy w stosunku do ceny.

> Z 15% zniżką na pierwsze zamówienie w subskrypcji to kusząca opcja do wypróbowania i porównania z twoimi zwykłymi wyborami: [whogivesacrap.mention-me.com/m/ns/xg6os-dariusz-wieckiewicz](https://whogivesacrap.mention-me.com/m/ns/xg6os-dariusz-wieckiewicz)

Możesz nie zaoszczędzić pieniędzy, ale na pewno zaoszczędzisz miejsce do przechowywania.


---
## Jak wykonać kopię zapasową routera OpenWrt, gdy wbudowane narzędzia zawodzą
- **URL:** https://dariusz.wieckiewicz.org/jak-wykonac-kopie-zapasowa-routera-openwrt/
- **Date:** 2025-09-03
- **Tags:** OpenWrt, Backup, Kopia zapasowa, sysupgrade, tar, SFTP

### Content

W przeszłości korzystałem z [metody aktualizacji urządzeń OpenWrt z opcją przywrócenia wszystkich zainstalowanych pakietów i ich konfiguracji][], bez konieczności spędzania godzin na ponownym konfigurowaniu i testowaniu wszystkiego.

[metody aktualizacji urządzeń OpenWrt z opcją przywrócenia wszystkich zainstalowanych pakietów i ich konfiguracji]: /aktualizacja-oprogramowania-openwrt/

Ta metoda używa prostego skryptu uruchamianego w terminalu do wygenerowania listy zainstalowanych pakietów, a następnie interfejsu WWW do utworzenia pliku kopii zapasowej, który służy do przywrócenia wszystkiego.

**Dopóki plik kopii zapasowej jest poprawnie wygenerowany, proces przywracania działa dobrze, ale problem pojawia się, gdy tak nie jest!**

Na kilku routerach z OpenWrt (24.10.x), z którymi pracowałem w ostatnich tygodniach, napotkałem dziwny problem, który zmusił mnie do przemyślenia sposobu generowania pliku kopii zapasowej, aby później wykorzystać go do przywrócenia wszystkich pakietów i ustawień po aktualizacji OpenWrt do najnowszej wersji.

Odkryłem ten problem w praktyce, kiedy chciałem rozpakować kopię zapasową, aby odzyskać pewną konfigurację z poszczególnych plików. Zauważyłem, że kopia zapasowa nie została poprawnie rozpakowana.

> Zostało to naprawione w OpenWrt 25.12; pozostawiłem to jednak jako punkt odniesienia. Jeśli aktualizujesz z wersji 24.10 do 25.12 i kopia zapasowa zostanie wygenerowana nieprawidłowo, nie będzie można wykonać aktualizacji do wersji 25.12 z zachowaniem pakietów za pomocą [Attended Sysupgrade](/asystowana-aktualizacja-systemu-openwrt/).

<!--more-->

## Generowanie archiwum (backup) – LuCI

Zazwyczaj, aby wygenerować plik kopii zapasowej swojej konfiguracji, należy przejść do:
- **System > Backup / Flash Firmware**

Stamtąd wystarczy kliknąć **Generate archive**, aby uzyskać swoją kopię zapasową.

Jeżeli chcesz dołączyć dodatkowy folder do archiwum, kliknij zakładkę **Configuration**, gdzie możesz wskazać dodatkową lokalizację do uwzględnienia, wpisując każdą ścieżkę w osobnym wierszu.

Moja obecna zawartość wygląda następująco:

```
## This file contains files and directories that should
## be preserved during an upgrade.

# /etc/example.conf
# /etc/openvpn/
/etc/ssl/
/etc/cloudflared/
/etc/sysctl.d/
/etc/init.d/
/etc/config/
/root/
```

Można to znaleźć w pliku `/etc/sysupgrade.conf`.

{{% ads-in-article %}}

> Zmodyfikowane pliki w /etc/config/ oraz niektóre inne konfiguracje są automatycznie zachowywane przez OpenWrt, więc nie trzeba ich jawnie uwzględniać.

Testowałem liczne warianty generowania pliku kopii zapasowej, z dodatkowymi folderami i bez nich. Za każdym razem, na którymś etapie, kopia stawała się uszkodzona.

Głównym problemem jest to, że problem jest **niepowtarzalny** (nie da się go odtworzyć, wykonując te same kroki).

Możesz udokumentować wszystkie kroki aż do momentu napotkania problemu, wykonać reset fabryczny routera i je powtórzyć, a jednak problem może już się nie pojawić — lub wystąpić znacznie wcześniej.

Przyczyna pozostaje **nieznana**.

## Uszkodzone archiwum (backup) – LuCI

Wracając do wygenerowanego archiwum kopii zapasowej.

Zazwyczaj, po naciśnięciu przycisku **Generate archive**, przeglądarka automatycznie pobiera plik:
- `backup-OpenWrt-2025-09-01.tar.gz`

Po rozpakowaniu tego pliku dowolnym dostępnym narzędziem (takim jak 7Zip w Windows lub Keka w macOS), powinieneś zobaczyć folder zawierający `/etc` i `/root`.

Każdy z tych folderów będzie zawierał pliki tekstowe, które można otworzyć dowolnym programem, aby uzyskać dostęp do ustawień.

Problem pojawia się, gdy próbujesz rozpakować plik i kończysz z pojedynczym plikiem TAR zamiast z folderami i plikami. Kolejne próby rozpakowania tego pliku TAR kończą się błędem.

```
tar: Error opening archive: Unrecognised archive format
```

Kiedy uruchamiam `file backup-OpenWrt-2025-09-01.tar.gz`, system rozpoznaje go jako prawidłowe archiwum:

```
backup-OpenWrt-2025-09-01.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 895035
```

Niektórzy zasugerowali, że przyczyną może być używana przeglądarka internetowa lub system operacyjny. Próbowałem na różnych komputerach i przeglądarkach — z tym samym rezultatem.

> Co ciekawe, plik TAR można otworzyć w VS Code przy użyciu Text Preview, gdzie pomiędzy dużą ilością śmieciowych danych można zobaczyć zawartość poszczególnych plików. W najgorszym przypadku można stamtąd odzyskać potrzebne dane. Wygląda na to, że pliki i struktura folderów zostają uszkodzone podczas rozpakowywania.

## Generowanie archiwum (backup) – terminal

Spróbowałem wygenerować kopię bezpośrednio na routerze, aby wyeliminować wpływ przeglądarki internetowej lub systemu operacyjnego.

Skorzystałem z proponowanej metody:

```bash
# Generate backup
umask go=
sysupgrade -b /tmp/backup-${HOSTNAME}-$(date +%F).tar.gz
ls /tmp/backup-*.tar.gz
```

## Uszkodzone archiwum (backup) – terminal

Po wygenerowaniu pliku spróbowałem go rozpakować w folderze `/tmp` na routerze:

```bash
tar -zxvf backup-OpenWrt-2025-09-01.tar.gz
```

i otrzymałem

```
tar: invalid tar magic
```

Ponieważ niektóre instalacje OpenWrt nie zawierają najnowszej lub pełnej wersji polecenia TAR, zainstalowałem je:

```bash
opkg update
opkg install tar
```

> Od OpenWrt 25.12, przy użyciu `apk` zamiast `opkg`

```bash
apk update
apk add tar
```

Powtarzając moją komendę rozpakowania `tar -zxvf`, otrzymuję:

```
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
```

## Analiza uszkodzenia z użyciem AI

Kiedy skończyły mi się opcje i nie mogłem ustalić konkretnego pakietu powodującego problem, użyłem AI do analizy wyodrębnionego pliku TAR, aby poznać jego sugestie:

> Na podstawie dostarczonego podsumowania i fragmentu, plik tar (**backup-OpenWrt-2025-08-20.tar**) zawiera w większości poprawne pliki konfiguracyjne i inicjalizacyjne OpenWrt, ale widać oznaki uszkodzeń:
>
> - **Śmieci binarne i nieprawidłowe bajty null:** Wiele plików ma końcowe lub osadzone bajty null (\x00) oraz dane binarne, co nie jest normalne dla plików konfiguracyjnych w formacie tekstowym.
> - **Granice plików i dopełnienia:** Niektóre pliki mają nadmierne wypełnienie lub nie są prawidłowo zakończone, co może powodować problemy przy rozpakowywaniu tar.
> - **Niezgodność rozmiarów plików:** Nagłówki tar określają rozmiary plików, ale rzeczywista zawartość może się nie zgadzać, co powoduje błędy przy rozpakowywaniu.
>
> **Najbardziej prawdopodobna przyczyna błędu rozpakowywania:**
>
> - Uszkodzenie prawdopodobnie wynika z niepoprawnych granic plików, nadmiernego wypełnienia null lub obciętych plików, szczególnie w plikach binarnych, takich jak .tdb czy pliki kluczy.
> - Jeśli pojawiają się błędy typu Unexpected EOF lub tar: Skipping to next header, zwykle oznacza to, że strumień tar został przerwany lub deklarowany rozmiar pliku nie zgadza się z rzeczywistą zawartością.

## Alternatywny sposób generowania archiwum (backup)

Podczas przeszukiwania forum OpenWrt i innych stron, natknąłem się na różne metody generowania kopii zapasowej bezpośrednio z routera.

```bash
sysupgrade -l | tar -czf backup.tar.gz -T -
```

Na tej podstawie stworzyłem swój plik, który generuje poprawne archiwum z moimi plikami kopii zapasowej, możliwe do prawidłowego rozpakowania, mimo że oficjalna metoda tworzenia kopii zapasowej (przez przeglądarkę lub oficjalne polecenie w terminalu) zwracała uszkodzony plik.

Stworzyłem plik `gen_backup` w folderze `/root` i nadałem mu prawa do wykonania przy pomocy `chmod +x gen_backup`. Plik zawierał:

```bash
# Generate backup
umask go=
sysupgrade -l -v | tar -czf /tmp/backup-${HOSTNAME}-$(date +%F).tar.gz -T -
ls /tmp/backup-*.tar.gz
```

Po poprawnym uruchomieniu komendy w folderze `/tmp` otrzymuję plik kopii zapasowej `backup-OpenWrt-2025-09-01.tar.gz`.

Teraz muszę pobrać ten plik i zapisać go lokalnie.

{{% ads-in-article %}}

## Kopiowanie wygenerowanego archiwum (backup) – SFTP

Aby skopiować plik z routera, muszę [zainstalować serwer FTP][].

[zainstalować serwer FTP]: /aktualizacja-oprogramowania-openwrt/#wgrywanie-plików-przez-sftp

```bash
opkg update
opkg install openssh-sftp-server
```

> Od OpenWrt 25.12, przy użyciu `apk` zamiast `opkg`

```bash
apk update
apk add openssh-sftp-server
```

Teraz, za pomocą wybranego klienta FTP (ja używam CyberDuck na macOS), należy nawiązać połączenie SFTP (na porcie SSH, domyślnie 22), logując się danymi roota.

Po przejściu do folderu `/tmp` można łatwo przeciągnąć plik na komputer.

Lokalnie, dwukrotne kliknięcie w pobrany plik spowoduje jego prawidłowe rozpakowanie, prezentując foldery z plikami konfiguracyjnymi.

Jeśli plik rozpakowuje się poprawnie w ten sposób, [przywracanie ustawień z zainstalowanymi pakietami, jak opisano][], zadziała prawidłowo.

[przywracanie ustawień z zainstalowanymi pakietami, jak opisano]: /aktualizacja-oprogramowania-openwrt/

Nawet jeśli zmienisz urządzenie i nie możesz przywrócić systemu metodą opisaną wyżej, poprzez lokalne rozpakowanie i przejrzenie każdego pliku konfiguracyjnego możesz szybko przygotować nowe urządzenie do działania jak poprzednie.

---

Problem jest bardzo intrygujący i trudny do zrozumienia.

Próbuję zaangażować się w dyskusję na [OpenWrt Forum post #235434][], aby znaleźć rozwiązanie, jednak jak dotąd nic nie wskazuje na przyczynę ani możliwe długoterminowe rozwiązanie. Jeśli problemu nie da się powtórzyć, trudno znaleźć źródło.

[OpenWrt Forum post #235434]: https://forum.openwrt.org/t/extracting-unpack-backup-file-in-openwrt-24-10-series/235434

Tymczasem mam działające rozwiązanie tworzenia kopii zapasowej, którego muszę się trzymać.

Pozdrawiam.


---
## Ustawianie hreflang i x-default na wielojęzycznej stronie (z Hugo) - Część 2
- **URL:** https://dariusz.wieckiewicz.org/ustawienie-hreflang-x-default-na-wielojezycznej-stronie-czesc-2/
- **Date:** 2025-07-19
- **Tags:** Google, hreflang, międzynarodowe SEO, wielojęzykowe SEO, celowanie językowe, atrybuty hreflang, linki hreflang, adnotacje hreflang, walidacja hreflang, przypadki użycia hreflang, x-default, domyślny język, język zapasowy, wielojęzyczne strony, WebDev, Hugo

### Content

W 2023 roku przyjrzałem się, jak dodać odpowiednie tagi hreflang do mojej osobistej strony internetowej, które uwzględniały dodanie odniesienia do bieżącego języka, odniesienia do przetłumaczonej strony (jeśli jest dostępna), oraz jako domyślnie wskazywanie na stronę zaprojektowaną jako przełącznik językowy.

Od tamtej pory sądziłem, że to podejście jest poprawne, ale odkryłem, że to rozwiązanie na mojej stronie, gdzie nie cała zawartość jest w 100% przetłumaczona, nie jest dobre dla stron w pełni przetłumaczonych domyślnie.

Oto, czego się z tego nauczyłem i jak zoptymalizowałem hreflang i x-default na stronach zbudowanych z użyciem Hugo.

<!--more-->

---

Niedawno stworzyłem "**jeszcze jedną stronę Hugo**". Moja przyjaciółka, która jest wysoko wykwalifikowanym audytorem w wielu standardach, potrzebuje strony internetowej, aby reklamować to, co może zaoferować potencjalnym nowym klientom.

Jest z Polski, mieszka w Szwecji, pracuje dla brytyjskiej firmy i oferuje swoje usługi na całym świecie.

Strona musi być domyślnie w języku angielskim, aby mieć globalny zasięg; jednakże musi być dostępna w jej ojczystym języku (polskim) oraz w miejscu jej głównego zamieszkania (szwedzkim).

Z takim podejściem strona [emiliawardach.com](https://emiliawardach.com) nabiera życia.

Jak zawsze, po ukończeniu strony praca nie jest zakończona. Zawsze są jakieś drobne poprawki i ulepszenia. Kiedy zacząłem ją sprawdzać za pomocą różnych walidatorów i narzędzi jak [ahrefs.com](https://ahrefs.com), ku mojemu zaskoczeniu, spotkałem się z wieloma problemami zgłoszonymi jako **Brak wzajemnego hreflang (brak tagu powrotnego)** (_Missing reciprocal hreflang (no return-tag)_).

> Przyjrzałem się również stronie internetowej mojej znajomej, [yummyrecipes.uk](https://yummyrecipes.uk/pl/), która została w pełni przetłumaczona jakiś czas temu i znalazłem podobne problemy.

Myślałem, że zaimplementowałem wszystko poprawnie, zgodnie z moim poprzednim postem [Ustawianie hreflang i x-default na wielojęzycznej stronie (z Hugo)](/en/setting-hreflang-and-x-default-on-multilingual-site/).

Gdy zacząłem ponownie czytać to, co napisałem, znalazłem kilka błędów, które doprowadziły do tego podejścia.

---

Po pierwsze, początek strony w Hugo zawierał następujące elementy:

```html
<!DOCTYPE html>
<html lang="{{ .Language.Locale }}" xml:lang="{{ .Language.Locale }}">
```

To generuje następujący kod dla części angielskiej.

```html
<!DOCTYPE html>
<html lang="en-GB" xml:lang="en-GB">
```

Jak zauważysz, nie celuję tylko w anglojęzycznych odwiedzających, ale idę bardziej szczegółowo, odzwierciedlając, że strona jest w brytyjskim angielskim, co jest bardziej niż poprawne.

Problemem była początkowa implementacja.

```html
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}">
{{ range .Translations }}
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}">
{{ end }}
```

> Na razie wykluczę `x-default`, ponieważ wrócę do tego później.
> 
> Dodatkowo, zrezygnowałem z używania względnego linku `{{ .RelPermalink }}` i pozostałem przy pełnym linku do strony za pomocą `{{ .Permalink }}`.

Powyższy kod wygeneruje coś takiego:

```html
<link rel="alternate" hreflang="en" href="https://emiliawardach.com/">
<link rel="alternate" hreflang="pl" href="https://emiliawardach.com/pl/">
<link rel="alternate" hreflang="sv" href="https://emiliawardach.com/sv/">
```

Pierwsza niezgodność była tutaj.

Ponieważ określam język za pomocą `{{ .Language.Locale }}` w tagu `<html>`, strona angielska zwróci `en-GB`, polska będzie miała `pl-PL`, a szwedzka `sv-SE`.

Ponieważ bardziej szczegółowo określam języki dokumentów w tagu `<html>`, wskazując, że angielski to nie tylko angielski, ale brytyjski angielski, powinienem to śledzić we wszystkich odniesieniach `hreflang`, których używam na stronie.

`{{ .Lang }}` zwróci tylko dwa znaki języka; dla angielskiego będzie to tylko `en`, co jest niezgodne z tym, co ustawiłem na samym początku.

---

Dla wyjaśnienia, `locale`, który określiłem w `hugo.conf`, jest następujący dla części angielskiej:

```toml
  [languages.en]
    locale = "en-GB"
```

---

Oczywiście, mogę zmienić `locale`, aby był bardziej uniwersalny (po prostu `en`), ale wolę trzymać się poprawnej metody, aby dokładnie odzwierciedlić brytyjski angielski, a nie ogólny angielski.

W takim przypadku muszę dostosować mój kod, używając `.Language.Locale` zamiast samego `.Lang`, w następujący sposób:

```html
<link rel="alternate" hreflang="{{ .Language.Locale }}" href="{{ .Permalink }}">
{{ range .Translations }}
<link rel="alternate" hreflang="{{ .Language.Locale }}" href="{{ .Permalink }}">
{{ end }}
```

Zauważ, że raportuję pierwszy `link rel="alternate"` jako odniesienie do samej siebie dla strony, na której aktualnie jestem w wybranym języku.

Drugi, wewnątrz `{{ range .Translations }}`, zwróci wszystkie inne dostępne języki dla wybranej strony (`/about/`), jak pokazano poniżej:

```html
<link rel="alternate" hreflang="en-GB" href="https://emiliawardach.com/about/">
<link rel="alternate" hreflang="pl-PL" href="https://emiliawardach.com/pl/o-mnie/">
<link rel="alternate" hreflang="sv-SE" href="https://emiliawardach.com/sv/om/">
```

`hreflang` będzie odpowiadał językowi określonemu na poziomie dokumentu w tagu `<html>`. Odniesie się do aktualnie odwiedzanej strony `/about` w brytyjskim angielskim i wymieni inne dostępne linki do przetłumaczonych stron.

Pierwszy problem rozwiązany.

Teraz musimy przemyśleć użycie `x-default`.

W moim [poprzednim poście](/en/setting-hreflang-and-x-default-on-multilingual-site/), wspomniałem o specjalnie zaprojektowanej stronie, na której użytkownicy mogą zdecydować o wyborze języka:

```html
<link rel="alternate" href="{{ .Site.Params.langSelector | absURL }}" hreflang="x-default">
```

Na mojej stronie będzie to wyglądać następująco:

```html
<link rel="alternate" href="https://dariusz.wieckiewicz.org/en/language-selector/" hreflang="x-default">
```

To nie jest idealne rozwiązanie, ale na mojej stronie, gdzie nie wszystko jest (ani nie musi być) przetłumaczone, to pewnego rodzaju kompromis.

`x-default` powinno zawsze działać jako opcja zapasowa.

Pamiętaj, że określiłem języki jako szczegółowe. Angielski to nie tylko angielski, to brytyjski angielski.

Jeśli osoba, której język ustawiony na urządzeniu to angielski, ale pochodzi z Liberii, zostanie zgłoszony jako `en-LR`.

To oczywiście nie będzie pasować do `pl-PL` i `sv-SE`, ale również nie będzie pasować do `en-GB`.

W takim przypadku musimy zapewnić domyślną opcję zapasową.

Ponieważ angielski jest dużo bardziej uniwersalny niż polski czy szwedzki, jeśli osoba trafi, poprzez wyszukiwarkę lub bezpośredni link, na `/pl/o-mnie/`, co nie pasuje do ich głównego języka, `x-default` powinno zasugerować, że powinni zobaczyć inną wersję językową jako swoją domyślną stronę.

W takim przypadku domyślnym językiem będzie angielski w formie brytyjskiego angielskiego.

Będąc na `/pl/o-mnie`, `x-default` powinno zgłaszać się w następujący sposób:

```html
<link rel="alternate" href="https://emiliawardach.com/about/" hreflang="x-default">
```

W Hugo możemy to osiągnąć na różne sposoby, jak donosi [Joe Mooring](https://discourse.gohugo.io/u/jmooring/summary) na forum wsparcia Hugo, w odpowiedzi na pytanie [How to get a specific translation?](https://discourse.gohugo.io/t/how-to-get-a-specific-translation/32433/5).

Spodobała mi się opcja z funkcją `index`, i do moich celów dodałem następujące elementy do mojego kodu:

```html
{{ $p := index (where .AllTranslations "Language.Lang" "en") 0 }}
<link rel="alternate" href="{{ $p.Permalink }}" hreflang="x-default">
```

Ten kod wylistuje wszystkie tłumaczenia (`.AllTranslations`), ale ograniczy wynik do pojedynczego wybranego języka, którym w tym przypadku jest angielski `en`.

{{% ads-in-article %}}

Pełny kod będzie wyglądać następująco:

```html
<link rel="alternate" hreflang="{{ .Language.Locale }}" href="{{ .Permalink }}">
{{ range .Translations -}}
<link rel="alternate" hreflang="{{ .Language.Locale }}" href="{{ .Permalink }}">
{{ end -}}
{{ $p := index (where .AllTranslations "Language.Lang" "en") 0 }}
<link rel="alternate" href="{{ $p.Permalink }}" hreflang="x-default">
```

To podejście wykorzysta `x-default` do jego zamierzonego celu. Zapewni spójność w całej treści (stronach) i będzie zgodne z tym, co jest znane jako powszechna praktyka.

> "Powszechną praktyką jest, aby podstawowa lub najbardziej ogólna wersja językowa (często angielska) służyła jako x-default."

Dla mojej polskiej strony `/pl/o-mnie/`, wynik będzie wyglądał następująco:

```html
<link rel="alternate" hreflang="en-GB" href="https://emiliawardach.com/about/">
<link rel="alternate" hreflang="pl-PL" href="https://emiliawardach.com/pl/o-mnie/">
<link rel="alternate" hreflang="sv-SE" href="https://emiliawardach.com/sv/om/">

<link rel="alternate" href="https://emiliawardach.com/about/" hreflang="x-default">
```

To rozwiązuje problem z **Brakującym wzajemnym hreflangiem (brak tagu zwrotnego)** (_Missing reciprocal hreflang (no return-tag)_) raz na zawsze.

Pozdrawiam.


---
## Światłowód Toob 900Mbps na moim routerze - Linksys MX4200
- **URL:** https://dariusz.wieckiewicz.org/swiatlowod-toob-900mbps-na-linksys-mx4200/
- **Date:** 2025-06-29
- **Tags:** OpenWrt, router, Linksys, Linksys MX4200, Linksys MX4200v2, TP-Link RE700X, Linksys SPNMX56TB, Bufferbloat, Toob, Światłowód, CityFibre

### Content

Nadszedł dzień, w którym mój [światłowód Toob Fibre 900/900Mbps za 25 funtów miesięcznie](https://rewards.toob.co.uk/dariuszw-120n), za pośrednictwem infrastruktury CityFibre, został wreszcie zainstalowany.

Po podłączeniu wszystkich kabli, nowy router Toob został uruchomiony i rozpocząłem testowanie.

Ku mojemu zaskoczeniu, Toob przestawił się na inny model Linksys Velop, niż początkowo się spodziewałem. Otrzymałem Linksys SPNMX56 (dokładniej [**SPNMX56TB**](https://support.linksys.com/kb/article/926-en/)), który domyślnie jest wyposażony w port WAN 2,5 Gbps.

Z mojego poprzedniego wpisu, w którym wybrałem [Linksys MX4200 za 40 GBP jako mój następny router](/linksys-mx4200-wydajny-router-openwrt-za-40-funtow/), przeprowadziłem analizę moich potrzeb i doszedłem do wniosku, że port WAN 1 Gbps jest dla mnie wystarczający. Podejście Toob, aby zastosować port 2,5 Gb/s, jest myśleniem bardziej przyszłościowym. Jeśli będą chcieli oferować szybsze pakiety, nie będą musieli wymieniać sprzętu. Dla moich potrzeb i połączenia 900Mbps, port 1 Gbps (1000Mbps) jest bardziej opłacalny.

Wracając do początkowej konfiguracji Toob.

Ich urządzenie jest wyposażone w następujące elementy:

**Procesor:** Czterordzeniowy procesor taktowany zegarem 1 GHz\
**Pamięć flash:** 128 MB (nieoficjalnie ujawniono)\
**RAM:** 256 lub 512 MB (nieoficjalnie ujawniono)\
**WAN:** 1 × port WAN 2,5 Gb/s\
**LAN:** 3 × porty Ethernet 1 Gb/s\
Brak portów USB\
**Wymiary:** Rozmiar: 86 × 86 × 185 mm

Wiedziałem, że nie będę używał ich routera, dlatego szybko, po zakończeniu pracy instalatorów i uruchomieniu usługi, podłączyłem kabel Ethernet z pudełka CityFibre do portu WAN mojego (obecnie używanego z Virgin Media) Askey RT4230W REV6 (RAC2V1K) i sieć zaczęła działać tak, jak wcześniej.

> Skorzystałem z usługi [Toob One Touch Switch](https://www.toob.co.uk/home-broadband/one-touch-switch/), aby odejść od Virgin Media. Zaraz po uruchomieniu światłowodu Toob, otrzymałem od Toob e-mail z informacją, że usługa jest aktywna, a mój router Virgin przestał dostarczać internet.

Ku mojemu zaskoczeniu, nie była potrzebna żadna konfiguracja; wszystko zostało załatwione przez skrzynkę CityFibre, która za pośrednictwem DHCP dostarczyła wszystko, co było potrzebne. Nie było potrzeby kontaktowania się z Obsługą Klienta Toob, aby to zrobić (oficjalnie doradzają na swojej stronie internetowej, że można użyć własnego routera, ale trzeba najpierw z nimi porozmawiać), ani nawet klonowania MAC:ID routera Toob na nowy, aby uzyskać połączenie. Świetnie!

Szybko podłączyłem Linksys MX4200v2, którego będę używał jako mojego nowego urządzenia, aby zobaczyć, że również on zadziałał zaraz po podłączeniu kabla Ethernet prowadzącego ze skrzynki CityFibre do portu WAN na routerze. Nie musiałem nawet ponownie uruchamiać skrzynki CityFibre. Rewelacja!

---

Usługa Toob jest domyślnie świadczona, poprzez sieć CityFibre, z wykorzystaniem protokołu IPv6 wraz z IPv4. Jesteś jednak umieszczony za [Toob CG-NAT](https://www.toob.co.uk/blog/ipv4-ipv6-and-cgnat-explained/), więc nie otrzymasz publicznego adresu IP.

> Jeśli wykupisz 18-miesięczny produkt Toob, możesz kupić statyczny adres IPv4, który nie jest częścią CG-NAT.

Wspaniale jest w końcu móc korzystać z internetu przez IPv6 bez potrzeby używania tuneli!

Z powodu braku zewnętrznego adresu IPv4, muszę zapomnieć o używaniu [WireGuard](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/) do łączenia się z moją siecią przez VPN, ale nadal mogę to zrobić, używając alternatywnego podejścia z [CloudFlare Zero Trust, alternatywą dla VPN](/dodanie-cloudflare-tunel-router-openwrt/).

To, i inne rzeczy, będę intensywnie testował w ciągu najbliższych dni.

Szybko zauważyłem, że maksymalne prędkości pobierania, łącząc się przez Wi-Fi udostępniane przez punkt dostępowy ustawiony z TP-Link RE700x, wynosiły około 500Mbps przy pobieraniu i nieco ponad 600Mbps przy wysyłaniu. Zacząłem się zastanawiać, czy to z powodu tej jednej różnicy, że jest to 2.5Gbit WAN?

Podłączyłem się do routera kablem Ethernet. Mogłem bez problemu osiągnąć maksimum; zatem to nie jest problem.

Podłączyłem router Toob, aby wykonać kilka pomiarów, i zarówno przez Ethernet, jak i Wi-Fi udostępniane przez sam router, mogłem osiągnąć maksymalne prędkości, zgodnie z reklamą.

---

Po dalszych testach ponownie połączyłem się z routerem i raz jeszcze sprawdziłem prędkości przez Wi-Fi.

Zauważyłem, że Wi-Fi na nim działało na częstotliwości 160MHz na 5GHz, co pozwoli uzyskać maksymalną prędkość 2400Mbps.

---

Używam poręcznej aplikacji o nazwie [WiFi Signal: Strength Analyzer](https://apps.apple.com/gb/app/wifi-signal-strength-analyzer/id525912054), która pokazuje statystyki dla takich nerdów jak ja.

---

Sprawdziłem prędkości na stronie speedtest i bez problemu udało mi się uzyskać to, co było reklamowane, czyli 900/900.

[![SpeedTest 17906497141](SpeedTest_17906497141.png)](SpeedTest_17906497141.png)

Pozostawiając router Toob podłączony, podłączyłem MX4200v2 do portu LAN, a mojego laptopa również przez port LAN do niego (MX4200v2), aby sprawdzić, czy mogę uzyskać pełne prędkości, nawet gdy **router jest za routerem**.

Odpowiedź brzmiała **Tak!**

MX4200v2 zapewnił, przez port LAN, maksymalne prędkości, takie same jak przy bezpośrednim podłączeniu do portu LAN routera Toob.

[![SpeedTest 17906659518](SpeedTest_17906659518.png)](SpeedTest_17906659518.png)

Wspaniale!

----

Następnie zauważyłem, że z moim WiFi z TP-Link RE700X **pojawił się problem**.

Mimo że działał jako Access Point i był podłączony kablem Ethernet Cat.6 bezpośrednio do routera, prędkości WiFi na 5GHz były ograniczone do 80MHz, a rzeczywiste prędkości, które mogłem uzyskać, wynosiły około 500Mbps pobierania i nieco więcej wysyłania.

**RE700X jest reklamowany jako obsługujący 160MHz, ale dlaczego to nie działa?**

Udałem się do panelu konfiguracji RE700X, aby zmienić – wymusić 160MHz dla sieci 5GHz, w ustawieniach, ponieważ nie było to możliwe przez aplikację Tether.

[![TP-Link RE700X z 160MHz na 5GHz](TP-Link_RE700X_160MHz.png)](TP-Link_RE700X_160MHz.png)

W końcu to nieco zwiększyło prędkości.

[![Sygnał WiFi na macOS i RE700X po włączeniu 160MHz](WiFi_Signal_RE700X.png)](WiFi_Signal_RE700X.png)

I testy prędkości również się poprawiły.

[![SpeedTest 17906814172](SpeedTest_17906814172.png)](SpeedTest_17906814172.png)

Biorąc pod uwagę, że mam już wiele innych urządzeń podłączonych do 5GHz i korzystających z tej częstotliwości, wyniki są akceptowalne. Szkoda, że 160MHz nie jest domyślnie włączone.

---

Nadszedł czas, aby usunąć router Toob i ponownie podłączyć MX4200v2 bezpośrednio, a następnie powtórzyć testy.

Teraz, używając Linksys MX4200v2 bezpośrednio z połączeniem światłowodowym, otrzymuję to, czego chcę, 900Mbps przy pobieraniu i 900Mbps przy wysyłaniu, **oba osiągnięte!**

---

{{% ads-in-article %}}

## Linksys MX4200v2 – Usprawnienia

Wcześniej na mojej stronie, gdy używałem Linksysa MR8300, [pisałem, jak włączyć użycie wszystkich procesorów do sterowania pakietami](/en/optimising-cpu-usage-on-openwrt-router/) na routerze, który miał więcej niż dwa rdzenie procesora.

MX4200v2 to kolejny router, na którym by to się przydało, ale w najnowszej serii OpenWRT 24.10 wprowadzono kilka zmian, które ułatwiają te rzeczy i udostępniają je za pośrednictwem przeglądarki internetowej.

Jeśli przejdziesz do **Sieć** > **Interfejsy**, w zakładce **Globalne opcje sieciowe** znajduje się opcja, domyślnie włączona, **Packet Steering**.

Jest tam jednak dodatkowa opcja, którą można zmienić, więc zróbmy to, ustawmy ją na **Włączone (wszystkie procesory)**.

Zmieniłem również **Steering flows (RPS)** z **Standardowy: brak** na **Sugerowany: 128**.

[![OpenWrt Packet Steering i Steering flows RPS](OpenWrt_Packet_Steering_flows_RPS.png)](OpenWrt_Packet_Steering_flows_RPS.png)

Ale to nie wszystko.

Przeszedłem do **Sieć** > **Zapora sieciowa** i w sekcji **Odciążanie routingu/NAT** ustawiłem **Typ odciążania przepływu** na **Odciążanie przepływu sprzętowego**, ponieważ to urządzenie (MX4200v2) ma dodatkowe funkcje w tle, a jeśli opcja jest dostępna, warto spróbować, zamiast polegać tylko na **Odciążaniu przepływu programowego**.

[![OpenWrt Odciążanie routingu NAT Odciążanie przepływu sprzętowego](OpenWrt_Routing_NAT_Offloading.png)](OpenWrt_Routing_NAT_Offloading.png)

---

{{% ads-in-article %}}

## Test Bufferbloat

Nadszedł czas na szersze testy, zgodnie z prośbą w komentarzach do mojego innego wpisu.

Po zastosowaniu zaledwie kilku usprawnień, które uważam za konieczne, przeprowadziłem [Test Buforowania i Prędkości Internetu](https://www.waveform.com/tools/bufferbloat).

Zrobiłem to, podłączając się kablem Ethernet bezpośrednio do routera Linksys MX4200v2 za pomocą adaptera sieciowego ANKER 1 Gbps z moim komputerem Mac. Test został przeprowadzony, gdy inni domownicy nie korzystali z połączenia lub korzystali z niego w bardzo minimalnym zakresie. Test został uruchomiony w Google Chrome Canary w trybie incognito.

Prędkości nieco się wahały, ale ogólnie wszystkie szczytowe prędkości zostały osiągnięte, a wynik to A.

[![Wynik Bufferbloat](Bufferbloat_Result.png)](Bufferbloat_Result.png)

Wyniki były dobre, więc nawet nie muszę zawracać sobie głowy sprawdzaniem tego, co opisałem w moim poście [Optymalizacja połączenia internetowego na routerze z OpenWrt](/optymalizacja-lacza-internetowego-router-openwrt/), ale być może zajmę się tym później, gdy zajdzie taka potrzeba.

---

Moje połączenie jest na razie załatwione.

Zdecydowanie będę szukał jakiegoś niedrogiego routera OpenWrt, który będzie znacznie potężniejszy niż Linksys MX4200v2, ale na razie, za router za 40 funtów, nie mogę narzekać.

Moją następną inwestycją będzie wymiana TP-Link RE700X na coś, co może oferować WiFi 7. Obecnie jedynym przyzwoitym urządzeniem, które jest wystarczająco kompaktowe, a jednocześnie potężne, jest [RE655BE (wzmacniacz zasięgu Wi-Fi 7 Tri-Band BE11000)](https://www.tp-link.com/uk/home-networking/range-extender/re655be/), ale z jakiegoś powodu nie jest jeszcze dostępny w Europie/Wielkiej Brytanii, dlatego muszę szukać dalej lub czekać.


---
## Linksys MX4200: Wydajny Router OpenWrt za 40 funtów
- **URL:** https://dariusz.wieckiewicz.org/linksys-mx4200-wydajny-router-openwrt-za-40-funtow/
- **Date:** 2025-06-10
- **Tags:** OpenWrt, router, Linksys, Linksys MX4200, Linksys MX4300, Linksys SPNMX42, Linksys AX4200, Linksys Velop, Askey RT4230W REV6, RAC2V1K, GL.iNet, Brume 2, GL-MT2500, Qualcomm IPQ8174, MediaTek MT7981B

### Content

W moim poprzednim wpisie, [W poszukiwaniu idealnego routera OpenWrt](/w-poszukiwaniu-idealnego-routera-openwrt/), omawiałem mój potencjalny przyszły router. Kiedy zacząłem dokładniej go badać, **wstrzymałem się** z zakupem Brume 2 i zastanawiałem się, co byłoby lepsze.

Zacząłem interesować się Brume 2, gdy rozważałem potencjalną zmianę dostawcy szerokopasmowego internetu z Virgin Media na pełne (synchroniczne) połączenie światłowodowe (CityFibre).

U dostawcy (resellera), którego obecnie biorę pod uwagę ([Toob](https://rewards.toob.co.uk/dariuszw-120n)), połączenie 900/900Mbps oferowało najlepszy stosunek jakości do ceny (25 funtów miesięcznie bez podwyżek cen przez cały okres umowy). Aby jednak osiągnąć tę prędkość, muszą mi zapewnić odpowiedni sprzęt.

Zauważyłem, że większość resellerów usług CityFibre wykorzystuje urządzenia Linksys, w szczególności model [MX4200](https://openwrt.org/toh/linksys/mx4200_v1_and_v2) w drugiej wersji (v2). Ten model jest czasami sprzedawany pod marką Linksys Velop MX4200 (AX4200) lub pod marką dostawcy internetu jako Linksys SPNMX42, co jest po prostu przebraną wersją v2. Linksys jednak już wycofał to urządzenie z produkcji.

<!--more-->

> Jest problem z identyfikacją, która wersja MX4200 to v1, a która to v2. Wersję v2 biorę pod uwagę wyłącznie ze względu na 1 GB pamięci RAM, w przeciwieństwie do 512 MB w v1. Najłatwiejszym sposobem na odróżnienie v1 od v2 jest sprawdzenie wymiarów samego urządzenia. Jeśli Twoje urządzenie ma około 24,3 cm (9,57 cala) wysokości i 11 cm (4,45 cala) szerokości, to jest to **v2** (**kup**). Jeśli ma 18,5 cm (7,3 cala) wysokości i 7,9 cm (3,1 cala) szerokości, to jest to **v1** (**nie kupuj**).

Brume 2 początkowo przekonywał mnie portem WAN 2,5 Gbit, 1 GB pamięci RAM DDR4, 8 GB pamięci eMMC oraz portem USB 3.0. Wadą była jednak ograniczona liczba portów LAN, co wymagałoby ode mnie zakupu przełącznika sieciowego, aby poprawnie podłączyć wszystkie moje urządzenia.

Linksys MX4200, mimo że posiada cztery porty Gigabit Ethernet (jeden WAN i trzy LAN), wyposażony jest również w czterordzeniowy procesor (1.4GHz). W porównaniu do dwurdzeniowego procesora 1.3GHz w Brume 2, stanowi to lepszy punkt wyjścia do obsługi tak wymagających prędkości połączenia internetowego.

Obawiałem się również niewielkich wymiarów samego urządzenia Brume 2 oraz jego obudowy, która moim zdaniem nie zapewni wystarczającej wymiany ciepła dla odpowiedniego chłodzenia. Przeczytałem kilka dyskusji online, gdzie ludzie wspominali, że to urządzenie ma tendencję do nagrzewania się, a gdy tak się dzieje, wydajność, zwłaszcza ruch sieciowy, spada.

To dało mi do myślenia. Zacząłem też zadawać sobie pytania: czy faktycznie potrzebuję portu 2,5 Gbit? Żadne z urządzeń od innych sprzedawców, które oferują połączenia bliskie 1 Gbps, nie wykorzystuje portu WAN 2,5 Gbit, ponieważ nie widzą w tym korzyści, twierdząc, że generuje to jedynie dodatkowe koszty produkcji.

Zagłębiłem się w poszukiwanie informacji na temat tego, czy gigabitowy port WAN jest wystarczający dla połączenia 900/900Mbps, i wszystkie dowody wskazują na tak.

---

* **Przepustowość Gigabit Ethernet:** Port Gigabit Ethernet ma teoretyczną maksymalną prędkość 1000 Mbps.
* **Narzut protokołów (Overhead):** Protokoły sieciowe generują pewien narzut (dane używane do zarządzania połączeniem, sprawdzania błędów itp.). Oznacza to, że nigdy nie osiągniesz pełnych 1000 Mbps dla rzeczywistego transferu danych.
* **Rzeczywiste prędkości:** Dla połączenia 900/900 Mbps, gigabitowy port WAN jest zazwyczaj wystarczający, aby zapewnić prędkości bliskie tym reklamowanym. Możesz zaobserwować pewne wahania (np. w zakresie 850-950 Mbps) z powodu wspomnianego narzutu protokołów i innych czynników, takich jak możliwości Twojego komputera, serwer, z którym się łączysz, oraz ogólne przeciążenie sieci. Jest to normalne zjawisko.

**Port WAN 2,5 Gbit zapewniłby większy zapas** i potencjalnie pozwoliłby na konsekwentne osiąganie prędkości nieco powyżej 900 Mbps, jeśli Twoja usługa to umożliwi. Jednakże dla usługi reklamowanej jako 900/900 Mbps, port gigabitowy jest dobrze dopasowany i nie powinien stanowić wąskiego gardła, które uniemożliwiłoby Ci uzyskanie prędkości, za które płacisz.

Zasadniczo, choć 900 Mbps jest blisko praktycznej granicy portu gigabitowego o przepustowości 1000 Mbps, nadal mieści się w jego możliwościach efektywnego dostarczania tych prędkości. Dostawcy Usług Internetowych (ISP) dostarczają routery z gigabitowymi portami WAN do takich planów, ponieważ są one w pełni wystarczające.

---

Biorąc pod uwagę wszystkie powyższe wyniki moich poszukiwań, porzuciłem pomysł, że mój następny router "musi" mieć port 2.5 Gbit (przynajmniej na razie).

Przeprowadziłem dalsze poszukiwania dotyczące procesorów, szczególnie porównując **Qualcomm IPQ8174**, używany w MX4200, oraz **MediaTek MT7981B (Filogic 820)**, używany w Brume 2. Doszedłem do wniosku, że Qualcomm będzie działał dobrze, a konstrukcja urządzenia, w którym się znajduje, znacznie lepiej utrzyma wydajność pod obciążeniem (ciepłem).

---

Porównując procesory **Qualcomm IPQ8174** i **MediaTek MT7981B** pod kątem zastosowania w routerze obsługującym połączenie internetowe 900/900 Mbps, zagłębiłem się w specyfikacje obu układów.

Każdy z tych procesorów wykorzystuje własne rozwiązanie do poprawy przepustowości ruchu, dzięki możliwościom sprzętowego odciążenia (hardware offloading). Główne różnice staną się widoczne w zadaniach intensywnie wykorzystujących CPU, wykraczających poza proste NAT i przekierowywanie, a także w ogólnym zapasie mocy obliczeniowej procesora (CPU headroom).

**Qualcomm IPQ8174 oferuje** silnik przetwarzania pakietów Qualcomm (PPE), silnik bezpieczeństwa oraz inne funkcje akceleracji sieciowej.

**MediaTek MT7981B (Filogic 820) oferuje** MediaTek HNAT (Hardware Network Address Translation), HQoS (Hardware Quality of Service), NPU (Network Processing Unit) oraz MediaTek FastPath™.

Oba układy w dużej mierze polegają na swoich dedykowanych silnikach sprzętowych do przyspieszania przekazywania pakietów i translacji adresów sieciowych (NAT). Oznacza to, że główne rdzenie CPU są w dużej mierze omijane dla tych rutynowych zadań, co pozwala na osiąganie wysokich prędkości przy niskim wykorzystaniu procesora.

* **MT7981B** został wyraźnie zaprojektowany do routingu wielogigabitowego (często spotykany w urządzeniach z portami 2.5GbE), a jego HNAT/NPU jest bardzo skuteczny.
* **IPQ8174**, jako część rodziny "Networking Pro" firmy Qualcomm, również posiada solidne silniki przetwarzania pakietów zdolne do obsługi prędkości gigabitowych i wyższych.

> Pamiętaj jednak, że nie wszystkie opcje implementacji sprzętowych są lub będą zaimplementowane w OpenWrt.

Przy prędkości 900/900 Mbps i aktywnym odciążaniu sprzętowym, wykorzystanie głównych rdzeni CPU powinno być stosunkowo niskie w obu przypadkach. Jest to kluczowe, ponieważ pozostawia zasoby procesora dostępne dla innych zadań, które router może wykonywać.

Oba rozwiązania są odpowiednie i powinny pozwolić na osiągnięcie pełnej prędkości połączenia dla typowego użytkowania internetu, zakładając użycie dobrze zoptymalizowanego oprogramowania. W tym celu będę używał czystego OpenWrt, a nie oprogramowania dostarczanego z urządzeniami przez producentów.

Jeśli spojrzeć na **surową moc CPU**, Qualcomm IPQ8174 ma wyraźną przewagę dzięki swojej czterordzeniowej konfiguracji A53 o taktowaniu 1.4 GHz w porównaniu do dwurdzeniowego A53 o taktowaniu 1.3 GHz w MT7981B. Przekłada się to na w przybliżeniu dwukrotnie większą ogólną zdolność przetwarzania wielordzeniowego CPU.

Planuję utrzymywać swój VPN (albo [WireGuard](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/) albo poprzez [Cloudflare Zero Trust](/dodanie-cloudflare-tunel-router-openwrt/)). W związku z tym, liczba rdzeni (narzutu CPU) będzie miała ogromny wpływ na prędkości, które można osiągnąć poprzez tunel.

Dodatkowe rdzenie IPQ8174 i nieco wyższe taktowanie zapewnią znacznie lepszą wydajność. Szyfrowanie i deszyfrowanie ruchu VPN intensywnie obciąża procesor i często nie może być w pełni odciążone w taki sam sposób, jak podstawowy NAT.

Ogólnie rzecz biorąc, IPQ8174 lepiej poradzi sobie z bardziej wymagającymi zadaniami kształtowania ruchu, z mniejszym wpływem na wydajność.

Mój router ma również dodane inne usługi, więc będę musiał rozważyć lepszy procesor, jeśli chcę przyjąć podejście przyszłościowe. Dodatkowa moc CPU IPQ8174 zapewnia większy zapas dla przyszłych aktualizacji oprogramowania, które mogą wprowadzać nowe funkcje, lub jeśli mój wzorzec użytkowania stanie się bardziej wymagający sprzętowo.

Oba procesory bazują na architekturze ARM64 (ARMv8), są wstecznie kompatybilne do uruchamiania 32-bitowego oprogramowania, jeśli zajdzie taka potrzeba.

Biorąc pod uwagę usługi intensywnie wykorzystujące CPU, które planuję uruchomić, decyzja o wyborze MX4200 jest silniejszym rozwiązaniem.

> Osobiście wolałbym wybrać [MX4300](https://openwrt.org/toh/linksys/mx4300) ze względu na podwojoną pamięć masową i RAM; jednakże, mam problem ze znalezieniem go na rynku brytyjskim, a import ze Stanów Zjednoczonych jest niemożliwy z powodu bardzo wysokich kosztów wysyłki.

Ponadto, Linksys MX4200, dzięki swojej szerokiej dostępności na eBayu (często jako urządzenia brandowane przez różnych dostawców), pozwoli mi nabyć go za około **40 funtów** na początek, co jest kolejną zaletą w porównaniu do Brume 2.

> Osobiście sugeruję zakup niebrandowanego Linksys Velop MX4200, który można kupić już od 40 funtów w [CeX](https://uk.webuy.com/search?stext=mx4200). Jeśli zdecydujesz się na urządzenia brandowane, bądź ostrożny, ponieważ większość z nich nie jest łatwa do odblokowania i wgrania czystego OpenWrt. Ten, który jest w miarę możliwy do opanowania, pochodzi od [Community Fibre](https://github.com/ishi0/Community-Fibre-WHW03CFv2/wiki), choć nie zawsze może to być proste.

Brume 2 nie posiada możliwości Wi-Fi, co mi osobiście nie przeszkadza, ponieważ używam do tego zewnętrznego punktu dostępowego. Jednak dla innych osób, posiadanie rozwiązania all-in-one, takiego jak Linksys MX4200, będzie oczywistym wyborem.

---

**Przypomnienie:** Jeśli zdecydujesz się na MX4200, zawsze upewnij się, że kupujesz drugą wersję (v2). Zapytaj sprzedawcę i porównaj wymiary między v1 a v2, aby uniknąć późniejszych rozczarowań. Wiele urządzeń v2 nawet nie ma tego oznaczenia na etykiecie. Mój egzemplarz jednak przyszedł z wyraźnie zaznaczonym "V2" po numerze modelu na dolnej etykiecie. Wymiary powiedzą Ci jednak nieco więcej.

[![Linksys MX4200 z wyraźnie zaznaczoną wersją V2 na etykiecie](Linksys_MX4200_V2_label.jpg)](Linksys_MX4200_V2_label.jpg)

{{% ads-in-article %}}

**The Downgrade**

Urządzenia Linksys nieco różnią się od innych marek ze względu na możliwość podwójnego flashowania. Efektywnie, urządzenie posiada dwie partycje na oprogramowanie układowe. Jest to ważne podczas początkowego wgrywania pliku `squashfs-factory.bin`. Po zainstalowaniu pierwszego oprogramowania i pomyślnym uruchomieniu urządzenia z OpenWrt, należy pamiętać o wykonaniu dodatkowych kroków i ponownym wgraniu `squashfs-factory.bin` na drugą partycję flash. Jeśli tego nie zrobisz, po kolejnej aktualizacji oprogramowania OpenWrt, która jest przeprowadzana w logice round-robin, oraz po ponownym uruchomieniu, router nie wystartuje. Będziesz wtedy musiał użyć metody cyklu zasilania, aby ręcznie przełączyć się na partycję, z której OpenWrt zostało pierwotnie uruchomione.

W tym celu ważne jest, aby postępować zgodnie z krokiem [**Flash OpenWrt to Alternate Partition**](https://openwrt.org/toh/linksys/mx4200_v1_and_v2#flash_openwrt_to_alternate_partition). Polega to na sprawdzeniu, z której partycji OpenWrt jest aktualnie uruchomiony, wysłaniu pliku `squashfs-factory.bin` na router za pomocą protokołu SCP (lub `wget`, jeśli masz dostęp do internetu na urządzeniu), a następnie wgraniu go na drugą partycję. Na szczęście, należy to zrobić tylko raz.

Podwójny flash oferuje korzyść: możesz przygotować działające oprogramowanie na obu partycjach. Jeśli coś pójdzie nie tak z partycją podstawową, możesz po prostu przełączyć się i uruchomić router z alternatywnej.

Jednak podwójny flash wiąże się również z pewnym kosztem. Dostępna pamięć masowa na **MX4200**, która wynosi 512MB NAND, zostanie zmniejszona o połowę. Każda instalacja oprogramowania układowego będzie miała do dyspozycji tylko połowę całkowitej pamięci masowej na dane.

Oznacza to, że faktycznie dostępna przestrzeń dyskowa (**Pamięć Masowa**) na Twoim routerze wyniesie około **110MB** na aplikacje, które będziesz chciał zainstalować.

Porównując to z moim routerem jednopartycyjnym, [Askey RT4230W REV6 (RAC2V1K)](https://openwrt.org/inbox/toh/askey/rt4230w_rev6?s[]=procd) od Spectrum (zimportowanym z USA), który dostosowałem do OpenWrt, mam dostępne prawie **354MB** pamięci masowej na moje aplikacje.

Wynika z tego, że ulepszając router do nowszej technologii (procesora), otrzymuję jedną trzecią dotychczasowej pamięci masowej. Właśnie dlatego model **MX4300** byłby znacznie lepszy do zakupu, gdyby był dostępny w Wielkiej Brytanii.

Na szczęście, na moim obecnym routerze zużywam tylko nieco ponad **42MB** pamięci masowej. Stąd **110MB** dostępnych łącznie nie będzie na razie problemem, ale lepiej mieć pewien zapas na przyszłe potrzeby.

---

Z dyskusji na moim innym poście, niektórzy sugerowali rozważenie NanoPi. Gdybym miał pójść tą drogą, obecnie brałbym pod uwagę wyłącznie **NanoPi R6S** ze względu na jego wyższość w każdym aspekcie, oferując także domyślnie trzy porty LAN (jeden natywny Gigabit Ethernet i dwa PCIe 2.5G Ethernet, każdy na oddzielnie zaprojektowanych układach sieciowych).

Jeśli szukasz opcji przyjaznej dla budżetu do użytku w sieci domowej, rozważ używanego Linksysa MX4200, w którym zmienisz oprogramowanie z Linksysa na czyste OpenWrt.

Jeśli pieniądze nie stanowią problemu lub potrzebujesz znacznie większej mocy obliczeniowej, zwłaszcza w środowisku biznesowym, to **NanoPi R6S** jest urządzeniem, które powinieneś wziąć pod uwagę. Jest to szczególnie istotne, ponieważ to urządzenie jest również natywnie wspierane przez najnowsze OpenWrt.


---
## Aktualizacja Oprogramowania w macOS (2025)
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-oprogramowania-w-macos-2025/
- **Date:** 2025-05-13
- **Tags:** macOS, App Store, Updates, Aktualizacje, MacUpdater, Latest, TrashMe 3

### Content

Na początku 2021 roku [napisałem](/aktualizacja-oprogramowania-na-macos-macupdater/) na mojej stronie o tym, jak radzę sobie z szaleństwem aktualizacji oprogramowania na macOS.

Problem z oprogramowaniem na macOS, ale także w Windowsie, polega na tym, że nie ma centralnego miejsca, z którego oprogramowanie jest instalowane i aktualizowane.

Nie tak jak na Androidzie z Google Play, czy iOS/iPadOS, gdzie instalacje i aktualizacje są zarządzane przez App Store. Na macOS jest App Store, ale większość aplikacji jest pobierana i instalowana z innych źródeł. Podobnie jak w Windowsie. Windows ma Microsoft Store; jednak nadal wiele rzeczy robi się poza nim.

W Microsoft Store dla Windows deweloperzy mogą umieszczać swoje produkty, które nie są instalowane bezpośrednio przez Microsoft Store, ale są tylko linkami do instalatorów. Mimo to jest to świetny sposób na utrzymanie aplikacji na bieżąco.

Na macOS używałem MacUpdatera. Nawet kupiłem licencję, ponieważ była warta swojej ceny.

Niestety, bez ostrzeżenia i odkrywając to przypadkiem, do końca 2025 roku MacUpdater przestanie istnieć.

Ok, "przestanie istnieć" to trochę za dużo powiedziane, ponieważ oprogramowanie nadal będzie działać, ale deweloper nie gwarantuje, że będzie funkcjonować zgodnie z wymaganiami.

> MacUpdater, popularne narzędzie do aktualizacji oprogramowania dla macOS, został wycofany przez jego dewelopera, CoreCode, i nie będzie już aktywnie rozwijany po 1 stycznia 2026 roku. Jednak wszystkie istniejące licencje MacUpdater 3 będą nadal wspierane do tej daty. Deweloperzy poszukują potencjalnych nabywców kodu i technologii tego oprogramowania.

Jako licencjonowany użytkownik oczekiwałbym e-maila z tą informacją, a nie odkrycia tego podczas aktualizacji mojego Maca, kiedy musiałem ponownie wprowadzić dane licencyjne, aby zauważyć ostrzeżenie o tym, co się stanie od 1 stycznia 2026 roku.

Szybko wchodząc na ich stronę internetową, dochodzę do wniosku, że mają dość i aktywnie szukają kupca na to oprogramowanie i powiązane z nim zaplecze. Życzę im wszystkiego najlepszego i mam nadzieję, że ktoś będzie w stanie kontynuować, ale jeśli nie, będę musiał bardzo szybko poszukać alternatywy.

Od czasu do czasu uruchamiałem MacUpdatera, aby zaktualizować za każdym razem 10-20 aplikacji. Ta aplikacja pokazuje, jak źle utrzymywane jest oprogramowanie w najnowszej wersji na macOS. Brak funkcji automatycznej aktualizacji zaimplementowanych przez deweloperów i szybkich aktualizacji do najnowszej wersji to duży problem dla użytkowników Maców.

Większość problemów, których możesz doświadczyć, jest związana z faktem, że używasz przestarzałego oprogramowania.

Dość o tym. Muszę wiedzieć, co zrobić dalej.

{{% ads-in-article %}}

Jeśli zaczniesz szukać alternatyw, szybko sugerowane są różne inne rozwiązania, z których dwa stale się powtarzają.

Jednym z nich jest [**TrashMe 3**](https://www.jibapps.com/apps/trashme3/), które jest narzędziem do czyszczenia i odinstalowywania aplikacji jako główne przeznaczenie, ale także aktualizatorem.

Oprócz tego zwrócono moją uwagę na aplikację o nazwie [**Latest**](https://max.codes/latest/).

Pierwsza jest płatna, natomiast druga jest udostępniana jako projekt Open Source oparty na darowiznach.

Ponadto **TrashMe 3** jest dostępny do pobrania jako plik DMG i do zakupu (14,99 USD) za pośrednictwem macOS App Store, natomiast **Latest** jest dostępny do pobrania tylko jako plik DMG.

Zanim zdecyduję, w jakim kierunku pójść, postanowiłem przetestować oba.

**Latest** był pierwszy.

Od ostatniego uruchomienia MacUpdatera miałem trzy zaległe aktualizacje. Przy pierwszym uruchomieniu **Latest** zidentyfikował dwie z trzech, ale po naciśnięciu przycisku odświeżania zostałem również poinformowany o aktualizacjach aplikacji dostępnych za pośrednictwem App Store.

Irytującą częścią App Store na macOS jest fakt, że aplikacje nie aktualizują się tak często, jak na iOS.

Kiedy aktualizacja zostanie wydana na iOS, zajmie to dzień lub dwa, zanim aktualizacje zostaną zastosowane. Zazwyczaj dzieje się to, gdy podłączam telefon do ładowania na noc.

Na macOS jest to niespójne i niestety zawodne. Dlatego wspaniale jest widzieć oczekujące aktualizacje w macOS App Store również w aplikacji **Latest**.

> MacUpdater pokazywał dostępne aktualizacje w App Store, ale wiele z nich przegapiłem.

Następnie uruchomiłem **TrashMe 3**. Ponieważ pobrałem go ze strony internetowej jako plik DMG, otrzymałem 15-dniowy okres próbny, abym mógł zdecydować, którego użyć.

Koncentrując się wyłącznie na aktualizacjach, porównałem **9** znalezionych przez **Latest** do **7** znalezionych przez **TrashMe 3**.

[![Aplikacja Latest - okno główne](latest_app.png)](latest_app.png)

Z **9** znalezionych przez **Latest**, 3 dotyczyły oprogramowania niedostępnego za pośrednictwem App Store.

[![Aplikacja TrashMe 3 - okno z sekcją aktualizacji](trashme_3_app.png)](trashme_3_app.png)

Z **7** znalezionych aktualizacji przez **TrashMe 3**, tylko 1 dotyczyła oprogramowania zainstalowanego w inny sposób, a pozostałe 6 bezpośrednio aplikacji zaktualizowanej przez App Store.

> Jedna aktualizacja oprogramowania dla iA Writer była widoczna tylko w **TrashMe 3**, a nie w **Latest**.

Używam **MEGA** do przechowywania niektórych plików w chmurze. Poza MacUpdaterem żadna z innych aplikacji nie widzi aktualizacji dla tej aplikacji. Szczerze mówiąc, jest to aplikacja, której osobiście nie aktualizowałbym za pomocą MacUpdatera, ponieważ w większości przypadków powoduje awarię i wymaga ponownej instalacji ze źródła. Nic dziwnego, że jest pomijana lub wykluczana w obu pozostałych rozwiązaniach.

Na tym etapie zwycięzcą jest **Latest**; jednak nawet jeśli oprogramowanie jest lepsze i darmowe, zawsze martwię się o jego trwałość.

Tam, gdzie płacisz licencję, wspierasz dewelopera i dajesz mu motywację do inwestowania w projekt. Tam, gdzie polegasz na open source, musisz priorytetowo traktować swój czas na rzeczy, które zaspokoją Twoje codzienne potrzeby, a nie na projekt, który nie jest głównym źródłem Twojego dochodu.

Ogólnie rzecz biorąc, jeśli spojrzysz na [**Latest na GitHubie**](https://github.com/mangerlahn/latest), w sekcji **Releases** zauważysz, że aplikacja była ostatnio aktualizowana w **lutym 2024 roku**.

Oczywiście aktualizacja aplikacji nie jest tak ważna jak baza danych oprogramowania, która za nią stoi, oraz sposób, w jaki aplikacja sprawdza najnowszą wersję i dostępne aktualizacje.

Ogólnie rzecz biorąc, **Latest** ma prosty interfejs, przyjemny dla oka; stąd niczego w nim nie brakuje, więc nie ma potrzeby aktualizowania tak często, jak mogłoby się wydawać.

> Szybko uruchomiłem aplikację [**Silicon**](https://github.com/DigiDNA/Silicon) i odkryłem, że obie aplikacje, **TrashMe 3** i **Latest**, są uniwersalne i działają bez problemów na komputerach z procesorami Intel i Apple Silicon.

Dla mnie **TrashMe 3** to trochę przerost formy nad treścią, ponieważ używam innych aplikacji do czyszczenia i odinstalowywania, i jestem z nich zadowolony.

{{% ads-in-article %}}

Wracając do liczb, 9 kontra 7, szybko zauważysz, że przycisk **Update** w **Latest** nie zawsze kieruje do aktualizacji aplikacji, ale podobnie jak w przypadku Microsoft Edge, po prostu otworzy aplikację i pozwoli jej zaktualizować się w tle, teoretycznie.

Microsoft Edge w sekcji "O programie" poinformował mnie, że jest w najnowszej wersji, mimo że **Latest** twierdził inaczej.

Następny, **balenaEtcher**, przycisk "Update" również tylko otwiera aplikację i jej nie aktualizuje, co jest trochę mylące, ponieważ ta aplikacja nie ma wbudowanego aktualizatora, więc musisz znaleźć sposób, aby to zrobić.

**Latest** do celów informacyjnych o dostępnych aktualizacjach jest dla mnie więcej niż wystarczający, ale jeśli chodzi o aktualizowanie aplikacji za nas, tak jak robił to **MacUpdater**, to nie jest to główne przeznaczenie tej aplikacji.

Ogólnie rzecz biorąc, sposób instalowania i w większości aktualizowania aplikacji na macOS ogranicza się do otwarcia pliku DMG i przeciągnięcia aplikacji do folderu Aplikacje. Proste, jak to tylko możliwe.

Jeśli spojrzysz na dostępne aktualizacje aplikacji w App Store, przycisk aktualizacji w **Latest** robi to, do czego jest przeznaczony, aktualizując aplikację bez konieczności otwierania App Store, natomiast w **TrashMe 3** wita Cię tylko przycisk **View in App Store**, z którego musisz kliknąć przycisk aktualizacji.

Zaktualizowałem wszystkie wyróżnione aplikacje i postanowiłem poczekać i zobaczyć, którą aplikację zatrzymać, a może poszukać dalej.

Wątpię, czy w ciągu 15 dni okresu próbnego **TrashMe 3** będę w stanie ocenić, która aplikacja jest lepsza, więc na razie postanowiłem trzymać się **Latest** i przez następny miesiąc porównywać jego wyniki z wygasającym **MacUpdaterem**.

Jeśli faktycznie **Latest** stanie się moją domyślną aplikacją, prawdopodobnie rozważę donację i polecę innym, aby zrobili to samo.

Optymistyczną kwestią dotyczącą aplikacji **Latest** jest tekst napisany na [stronie donacji](https://max.codes/latest/donate/) autora:

> "Latest to darmowa aplikacja o otwartym kodzie źródłowym, nad którą pracuję w wolnym czasie. **Nigdy nie planowałem na niej zarabiać, więc cieszę się, jeśli jesteś zadowolony z jej użytkowania.** Jeśli jednak podoba Ci się aplikacja i chciałbyś wesprzeć jej rozwój, **śmiało rozważ donację**. **Jestem za to bardzo wdzięczny!** Wspieram donacje przelewem bankowym (UE), PayPalem, a także bezpośrednimi płatnościami kartą kredytową."

Trochę mi to przypomina mnie samego.

Piszę i publikuję to, co mogę, pomagając innym, gdzie tylko mogę, w większości za darmo. Nie zamierzam zarabiać na wiedzy, którą chcę się dzielić, ponieważ mam pełnoetatową pracę, która mi to zapewnia. Jednak przyznaję, że od czasu do czasu otrzymanie małej zachęty, zwłaszcza w czasach, kiedy najmniej się tego spodziewasz, dodaje pewności siebie i daje świadomość, że są ludzie, którzy korzystają z Twojej pracy i naprawdę ją doceniają.


---
## OpenWrt, mwan3 i domyślna trasa dla tunelu IPsec (strongSwan)
- **URL:** https://dariusz.wieckiewicz.org/openwrt-mwan3-default-route-ipsec/
- **Date:** 2025-05-01
- **Tags:** OpenWrt, ipsec, strongSwan, wireguard, mwan3, defaultroute, iproute, failover

### Content

Ostatnio miałem problem z **mwan3**, pakietem na routerach OpenWrt, który został zaprojektowany do zarządzania wieloma połączeniami internetowymi, albo do równoważenia obciążenia, albo do przełączania awaryjnego.

W pracy mamy dwa łącza światłowodowe, z których główne jest używane jako podstawowe, a drugie jest online, ale aktywowane tylko wtedy, gdy pierwsze przestanie działać – typowe podejście do przełączania awaryjnego (failover).

> Pierwsze połączenie (nazwijmy je **fibre**) jest z metryką 10, podczas gdy drugie połączenie (**fibre2**) jest z metryką 20.

> Dla osób zajmujących się technologią, pierwsze połączenie jest **bezsporne** (uncontended) ze statycznym adresem IP, podczas gdy nasze zapasowe połączenie jest **sporne** (contended) przez PPPoE.

Moją główną **polityką** w **mwan3** jest **fibre_fibre2**.

> Polityka **fibre_fibre2** zawiera członka **fibre_m1_w3** (Metryka 1, Waga 3) i **fibre2_m2_w2** (Metryka 2, Waga 2).

Gdy **fibre** nie działa, **fibre2** przejmuje kontrolę i cały ruch przepływa płynnie, **prawie**.

<!--more-->

Powiedziałem prawie, ponieważ zdarzają się przypadki, w których ruch jest przesyłany przez niewłaściwy interfejs, nawet jeśli interfejs jest niedostępny.

Mam również [serwer WireGuard ustawiony na moim routerze](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/), więc gdy jedno połączenie zostaje zerwane, WireGuard zaczyna akceptować połączenia na drugim IP.

To znany problem, gdy używasz **mwan3**, że nie jest możliwe, aby WireGuard akceptował połączenia na obu połączeniach jednocześnie, gdy **mwan3** jest aktywny.

Wadą **mwan3**, która nie jest tak łatwa do rozwiązania, jak się wydaje, jest to, że jeśli główne połączenie jest niedostępne, a zapasowe jest aktywowane, wszystkie połączenia zainicjowane przez elementy działające na samym routerze nadal próbują połączyć się przez **domyślną trasę**.

Jeśli uruchomisz polecenie:
```bash
ip route show
```

Otrzymasz coś takiego:
```
default via 1.2.3.4 dev wan metric 10 
default via 4.5.6.7 dev wan2 metric 20 
```

> Podczas gdy wan jest **fibre**, a wan2 jest **fibre2**.
> 1.2.3.4 to teoretyczny adres IP **bramy** dla interfejsu wan, a 4.5.6.7 to teoretyczny adres IP **bramy** dla interfejsu wan2.

Gdy główne połączenie zostaje przerwane, cały ruch LAN jest starannie przekierowywany przez drugie połączenie. Ruch lokalny i telefony VoIP w firmach nadal działają.

Jednak lokalnie prowadzone usługi mogą nadal chcieć próbować wysyłać ruch przez domyślną trasę.

Problem polega na tym, że gdy główne połączenie zostaje przerwane, domyślna trasa z najniższą metryką jest nadal wyświetlana w tabeli trasowania; w związku z tym lokalnie prowadzone usługi nadal uważają, że jest to domyślna trasa, przez którą ruch będzie wysyłany i odbierany.

Problem polega na tym, że **mwan3** nie może bezpośrednio zmienić tych domyślnych tras; w związku z tym część ruchu routera nadal będzie przesyłana przez trasę o najniższej metryce, nawet jeśli połączenie jest zerwane.

Ten problem dotyczy usług, takich jak tunele **IPsec**, które zaimplementowałem na routerze, aby umożliwić całej sieci LAN dostęp do określonych usług używanych w firmie za pośrednictwem RemoteApp.

Ustawiłem dwa tunele IPsec. Jeden dla połączenia głównego (`left=1.2.3.5`), a drugi dla kopii zapasowej (`left=4.5.6.8`).

> 1.2.3.5 to teoretyczny adres IP interfejsu WAN (**fibre**), a 4.5.6.8 to teoretyczny adres IP interfejsu WAN2 (**fibre2**).

Te tunele nie mogą pracować jednocześnie, ponieważ współdzielą tę samą lewą podsieć (`leftsubnet=192.168.1.0/24`).

Pierwszy tunel IPsec jest aktywowany (`ipsec up tunnel1`), gdy główne połączenie jest włączone. Drugi tunel (`ipsec up tunnel2`) jest aktywowany, gdy główne połączenie przestaje działać, a **fibre2** przejmuje kontrolę (po... `ipsec down tunnel1`) – **teoretycznie**.

Gdy moje główne połączenie przestaje działać i **mwan3** przekierowuje cały ruch przez **fibre2**, połączenie **ipsec** jest nadal wysyłane przez **domyślną trasę**, mimo że _lewy_ adres IP określa, którego adresu IP należy użyć.

Błędem jest **domyślna trasa** i najniższa metryka interfejsu.

Przypomnijmy sobie nasze polecenie:
```bash
ip route show
```

I spójrz na to jeszcze raz:
```
default via 1.2.3.4 dev wan metric 10 
default via 4.5.6.7 dev wan2 metric 20 
```

Mimo że **mwan3** ładnie przekierowuje cały ruch, a drugi tunel IPsec ładnie łączy się przez drugie połączenie (`left=4.5.6.8`), ruch pochodzący z samego tunelu IPsec, taki jak ping do IP po drugiej stronie tunelu IPsec, nadal wykorzystuje domyślną trasę z najniższą metryką (przechodząc przez niewłaściwy interfejs).

Wykonujesz `ping 10.1.2.3`... który jest wysyłany przez aktualnie aktywne połączenie światłowodowe (fibre2/WAN2), ale odpowiedź ping jest kierowana przez domyślną trasę z najniższą metryką, która należy do połączenia światłowodowego (fibre/WAN), które jest obecnie niedostępne.

Pewnego dnia było to dla mnie trochę trudne do zrozumienia. Próbowałem zrozumieć, co się dzieje, ponieważ drugi tunel IPsec był prawidłowo podłączony, oba końce go widziały, ale ruch LAN przez tunel nie płynął.

Postanowiłem wyłączyć główny interfejs, który obecnie jest oznaczony jako niedostępny, za pomocą polecenia `ifdown wan`.

Po wykonaniu tej czynności lokalny ruch przez tunel IPsec zaczął płynąć, a ping zaczął odpowiadać poprawnie.

Kiedy spojrzałem na `ip route show` zauważyłem, że po odłączeniu interfejsu, domyślna trasa, która miała metrykę 10 dla WAN, została usunięta, a tylko domyślna trasa, z metryką 20, była dla WAN2.

Dzięki temu rozumiem problem i ograniczenie **mwan3**, jeśli chodzi o **domyślną trasę**.

Muszę to rozwiązać i po chwili lektury udało mi się to zrobić przy użyciu [alertów/powiadomień mwan3 za pośrednictwem mwan3.user](https://openwrt.org/docs/guide-user/network/wan/multiwan/mwan3#alertsnotifications) znajdujących się w pliku `/etc/mwan3.user`, który można edytować w terminalu lub przez interfejs internetowy (**Network** > **MultiWAN Manager** > **Notify** zakładka).

{{% ads-in-article %}}

## Podejście teoretyczne

Pomysł był taki, że gdy **fibre** przestaje działać (kontrolowane i powiadamiane przez mwan3), metryka tego połączenia ulega zmianie, więc **fibre2** (drugie połączenie, które przejmie mwan3) staje się najniższą metryką.

Umożliwi to przepływ ruchu przez połączenie o najniższej metryce, które w tym przypadku będzie połączeniem, które jest obecnie aktywne jako zapasowe (**fibre2**).

## Praktyczne rozwiązanie

Aby zmienić metrykę interfejsu, musisz najpierw usunąć **domyślną trasę** dla pierwszego połączenia.

> Niestety, nie można po prostu zmienić metryki, co byłoby idealne w takim przypadku.

W takim przypadku, gdy główne połączenie (fibre) zostanie zerwane, a ruch zostanie przekierowany (przez **mwan3**) do połączenia zapasowego, muszę zmienić metrykę z 10 na wyższą niż 20.

> Postanowiłem po prostu dodać zero do bieżącej metryki.

Robię to, wykonując następujące polecenia.

```bash
ip route del default via 1.2.3.4
ip route add default via 1.2.3.4 metric 100
```

> Spowoduje to również przekierowanie domyślnej odpowiedzi serwera Wireguard w celu przejścia przez połączenie o najniższej metryce.

## Przełączanie awaryjne IPsec

W pliku `/etc/ipsec.conf` określiłem dwa tunele, po jednym dla każdego adresu IP każdego połączenia.

Tunel `conn tunnel1` dla `left=1.2.3.5` (główny, **fibre**) i `conn tunnel2` dla `left=4.5.6.8` (zapasowy, **fibre2**).

Ponieważ oba tunele współdzielą tę samą podsieć (`leftsubnet=192.168.1.0/24`), nie mogą działać jednocześnie (w tym samym czasie). Muszę ustawić tunnel1 za pomocą `auto=start` i tunnel2 za pomocą `auto=add`.

W takim scenariuszu, gdy z jakiegoś powodu tunnel1 ulegnie awarii lub się rozłączy, IPsec spróbuje ponownie połączyć się z nim od razu. Drugi tunel będzie mógł się połączyć tylko ręcznie, poprzez `ipsec down tunnel1` i wykonanie `ipsec up tunnel2`.

To nie jest idealne rozwiązanie, ponieważ gdy moje główne połączenie zostanie przerwane, będę musiał przejść do routera i ręcznie uruchomić drugi tunel.

Problem polega na tym, że czasami musi upłynąć trochę czasu, zanim druga strona zauważy, że pierwszy tunel jest faktycznie przerwany. Gdybym próbował połączyć się z drugim tunelem, gdy druga strona nadal widzi aktywny pierwszy tunel, wystąpi błąd podczas uruchamiania z powodu błędu uwierzytelniania (nawet gdy oba tunele współdzielą różne hasła dostępu zapisane w... `/etc/ipsec.secrets`).

Postanowiłem umieścić oba tunele w oddzielnych plikach.

```
/etc/ipsec.conf.tunnel1
/etc/ipsec.conf.tunnel2
```

Ustawiłem to w obu plikach `auto=start`. Kiedy drugi tunel ma być uruchomiony, ale zawiedzie z powodu przedwczesnego połączenia i błędu uwierzytelniania, będzie ponawiał próby, aż się powiedzie.

Oczywiście umieszczenie tuneli w oddzielnych plikach konfiguracyjnych nie sprawi, że będą działać, ponieważ usługa IPsec zawsze będzie używała pliku konfiguracyjnego z `/etc/ipsec.conf`.

W takim przypadku, tak jak wykonałem zmianę metryki dla pierwszego połączenia, gdy zostanie ono przerwane, będę musiał powiedzieć, który tunel IPSec ma zostać użyty, kopiując plik `ipsec.conf.tunnel2` do pliku `ipsec.conf`, gdy fibre2 stanie się aktywnym połączeniem. Gdy główne fibre powróci do trybu online, będę musiał skopiować `ipsec.conf.tunnel1` do `ipsec.conf`, aby ustawić tunnel1 jako połączenie domyślne.

Oczywiście za każdym razem po kopiowaniu muszę ponownie uruchomić usługę IPsec poleceniem `ipsec restart`.

> Jeżeli używasz strongSwan, poleceniem `swanctl restart`

Teraz muszę połączyć wszystkie powyższe elementy, aby wykonać to automatycznie za pomocą [funkcji alertów/powiadomień MWAN3](https://openwrt.org/docs/guide-user/network/wan/multiwan/mwan3#alertsnotifications)

{{% ads-in-article %}}

## Skrypt mwan3.user

Umieśćmy poniższy skrypt w pliku `/etc/mwan3.user`, edytując go w Terminalu lub wklejając zawartość przez interfejs sieciowy (**Network** > **MultiWAN Manager** > **Notify** zakładka).

> Wszystkie adresy IP tutaj są fałszywe i należy je dostosować do tego, czego używasz. Dla Twojej informacji, wszystkie moje połączenia używają statycznego zewnętrznego adresu IP w zakresie IPv4.

```bash
#!/bin/sh
if [ "${ACTION}" = "disconnected" ] && [ "${INTERFACE}" = "fibre" ] ; then
    # When FIBRE down - set FIBRE2 as primary
    ip route del default via 1.2.3.4 2>/dev/null
    ip route add default via 1.2.3.4 metric 100 2>/dev/null
    cp /etc/ipsec.conf.tunnel2 /etc/ipsec.conf; ipsec restart 2>/dev/null
fi

if [ "${ACTION}" = "connected" ] && [ "${INTERFACE}" = "fibre" ] ; then
    # When FIBRE up - remove FIBRE2 priority route
    ip route del default via 1.2.3.4 2>/dev/null
    ip route add default via 1.2.3.4 metric 10 2>/dev/null
    cp /etc/ipsec.conf.tunnel1 /etc/ipsec.conf; ipsec restart 2>/dev/null
fi

if [ "${ACTION}" = "disconnected" ] && [ "${INTERFACE}" = "fibre2" ] ; then
    # When FIBRE2 down - set FIBRE as primary
    ip route del default via 4.5.6.7 2>/dev/null
    ip route add default via 4.5.6.7 metric 200 2>/dev/null
fi

if [ "${ACTION}" = "connected" ] && [ "${INTERFACE}" = "fibre2" ] ; then
    # When FIBRE2 up - remove FIBRE priority route
    ip route del default via 4.5.6.7 2>/dev/null
    ip route add default via 4.5.6.7 metric 20 2>/dev/null
fi
```

> **Pamiętaj!** Przechodząc na nowszy framework `swanctl`, upewnij się, że zastępujesz wszystkie polecenia `ipsec restart` poleceniami `swanctl restart`. Kluczowe jest zatrzymanie i wyłączenie przestarzałej usługi `ipsec` (`/etc/init.d/ipsec stop` oraz `/etc/init.d/ipsec disable`), przy jednoczesnym włączeniu i uruchomieniu `swanctl` (`/etc/init.d/swanctl enable` oraz `/etc/init.d/swanctl start`). Jest to niezwykle ważne, ponieważ podczas restartu systemu `swanctl` spowoduje konflikt portów z przestarzałym demonem `ipsec`, jeśli oba spróbują uruchomić się w tym samym czasie.

Jak widać, są tu cztery reguły.

1. Gdy główne połączenie ulegnie awarii, dzieją się następujące rzeczy:
a. Usuń domyślną trasę dla głównego połączenia
b. Dodaj ponownie domyślną trasę z wysoką metryką 100
c. Skopiuj `ipsec.conf.tunnel2` do `ipsec.conf` (aby użyć drugiego tunelu, zaprojektowanego do pracy z połączeniem fibre2) i uruchom ponownie usługę IPsec.

2. Gdy główne połączenie powróci do trybu online, dzieją się następujące rzeczy:
a. Usuń domyślną trasę dla głównego połączenia o wysokiej metryce 100
b. Ponownie dodaj domyślną trasę o oryginalnej metryce 10
c. Skopiuj `ipsec.conf.tunnel1` do `ipsec.conf` i uruchom ponownie usługę IPsec

Trzecia i czwarta reguła są opcjonalne i służą do zwiększenia domyślnej wartości metryki z 20 do 200, gdy połączenie zostanie zerwane, na wszelki wypadek, aby nawet niezamierzony ruch nie został przesłany przez niedziałający interfejs.

> Domyślne metryki dla każdego połączenia ustawia się w **Network** > **Interfaces**, edytując każdy interfejs i w **Advanced Settings** określając metrykę w pozycji **Use gateway metric**.

W ten sposób mam działający **mwan3** do zarządzania połączeniami internetowymi i odpowiedniego przekierowywania ruchu oraz zabezpieczenie dla tuneli IPsec, aby używać właściwego tunelu dla właściwego "aktywnego" połączenia, kierując ruch przez właściwą trasę (domyślną) połączenia, które jest obecnie w użyciu.

Problem z **mwan3** i wysyłaniem ruchu przez niewłaściwy interfejs nie jest nowy, a jego naprawienie nie jest tak proste, jak się wydaje, ponieważ zależy od wielu różnych scenariuszy. Dlatego jeśli nie możemy mieć jednego rozwiązania, które pasuje do wszystkich, musimy zbudować własne rozwiązanie, które pasuje do tego, czego potrzebujemy, dzięki **mwan3.user**.

Pozdrawiam.


---
## W poszukiwaniu ulubionej strony startowej (2025)
- **URL:** https://dariusz.wieckiewicz.org/w-poszukiwaniu-ulubionej-strony-startowej-2025/
- **Date:** 2025-03-14
- **Tags:** Blog, Bookmarks, chrome, Fast Dial, Favorites, Favorites New Tab, macOS, New Tab Page, Safari, Speed Dial, Szybkie wybieranie, Windows, Zakładki

### Content

{{< tldr >}}
Zobacz [Favorites Start Page](https://chromewebstore.google.com/detail/favorites-start-page/cijiljolaemabjeaklgnfgofglfbonpa) autorstwa Jimmy Lye w chrome web store.
{{< /tldr >}}

Dużo się ostatnio dzieje w zakresie dodatków do przeglądarki Google Chrome (jak i Microsoft Edge).

Oliwą do ognia stało się wprowadzenie nowych wymagań definiujących sposób tworzenia rozszerzeń do przeglądarki Chrome i to, co mogą robić – Manifest V3.

Manifest V3 można potraktować jako plan lub zbiór wytycznych dla programistów rozszerzeń, ze szczególnym uwzględnieniem zwiększenia bezpieczeństwa, prywatności i wydajności.

Choć przejście na Manifest V3 to osobna kwestia, skandal z PayPal Honey skłonił Google do dokładniejszego przyjrzenia się zachowaniu rozszerzeń przeglądarki Chrome, w szczególności tych związanych z marketingiem afiliacyjnym.

<!--more-->

Bardzo prawdopodobne, że przez całe to zamieszanie, rozszerzenie takie jak [Favorites New Tab](https://chrome.google.com/webstore/detail/favorites-new-tab-page/kjkbcegjfanmgocnecnngfcmmojheiam) od [web-accessories.com](https://www.web-accessories.com/), o którym pisałem w [2019 roku](/w-poszukiwaniu-ulubionej-strony-startowej/) zwraca błąd, i jest niedostępne do pobrania.

[![This item is not available](This_item_is_not_available.png)](This_item_is_not_available.png)

Ci co mają je zainstalowane, mogą używać go, dopóki działa, niestety, nie ma możliwości instalowania na nowych komputerach.

Może jest to tylko tymczasowe, aż autor przeniesie swoje rozszerzenie na nowe wymagania, lub zmieni to, co spowodowało, że rozszerzenie zostało usunięte.

O samym Manifest V3 głośno jest od dłuższego czasu, więc podejrzewam, że jeżeli autor tego nie zrobił do tej pory (tak jak rzesza innych), to możliwe, że to się nie stanie. Chyba że rozszerzenie to robiło cos więcej, niż oferowało, a Google usunął je ze względów bezpieczeństwa. Trudno powiedzieć.

Szkoda, gdyż rozszerzenie to używam codziennie na komputerach z Windows 11 w środowisku firmowym.

[![Fast Dial – Safari - macOS Sequois](Fast_Dial_Safari_macOS_Sequoia.png)](Fast_Dial_Safari_macOS_Sequoia.png)

Jako że jestem dużym fanem tego rozwiązania, a na komputerze osobistym z macOS używam Safari, które ma rozwiązanie typu **fast dial** od lat, postanowiłem poszukać alternatywy.

Niestety, nie jest to tak łatwe, jak mogłoby się wydawać.

Obecne rozszerzenia są, aby nikogo nie obrazić, słabe, wyglądają tak jak zrobione z wykorzystaniem możliwości sprzed 20 lat, lub wymagają znaczącej mocy obliczeniowej, żeby wszystko ładnie wyświetlać — niepotrzebnie!

{{% ads-in-article %}}

W moich poszukiwaniach spróbowałem przeróżnych rozwiązań, aż w końcu natrafiłem na [Favorites Start Page](https://chromewebstore.google.com/detail/favorites-start-page/cijiljolaemabjeaklgnfgofglfbonpa) autorstwa Jimmy Lye.

[![Favorites Start Page in Microsoft Edge](Favorites_Start_Page.png)](Favorites_Start_Page.png)

Jimmy Lye zainspirowany fast dialem z Safari na macOS (konkretnie Big Surr) stworzył, jakiś czas temu, swojego rodzaju klon rozwiązania z Safari.

Wyglądem i zachowaniem przypomina obecne rozwiązanie z macOS, ale dostosowane jest jako dodatek do przeglądarek bazujących na Chromium.

Mimo że rozwiązanie jest w wersji 0.3 beta 1, a ostatnia aktualizacja miała miejsce 20 Października 2022 roku, to nadal działa wyśmienicie. Integruje się z domyślnie dodawanymi zakładkami, a i ikony są odświeżane ze stron internetowych.

> Tutaj jedna uwaga, która wymagałaby nico pracy, aby sprawić, by ikony były wyświetlane nieco lepiej, a w przypadku stron bez poprawnych ikon, żeby było zróżnicowane kolorystycznie, gdyż wszystko wygląda bardzo "szaro".

Podejrzewam również, że oto rozwiązanie nie jest jeszcze dostosowane do Manifestu V3 (mogę się mylić), jednak mam nadzieję, że jeżeli trzeba, to tak się stanie, i nie stracimy go, tak jak straciłem Favorites New Tab.

W ramach podziękowania wysłałem e-maila do autora tego rozszerzenia z nadzieją, że do niego dotrze, a samo rozszerzenie zostanie nieco zaktualizowane i będzie służyć innym na lata!

Na razie, mam coś co działa i trzymam kciuki na przyszłość.

A może wy znacie jakieś rozwiązania warte polecenia, które jednocześnie dobrze wyglądają i działają bez zarzutów?


---
## Windows 11 - problem z procesorem, który utknął na minimalnej częstotliwości (0,60 GHz, Intel i7 11. generacji)
- **URL:** https://dariusz.wieckiewicz.org/windows-11-procesor-utknal-na-minimalnej-czestotliwosci/
- **Date:** 2025-03-11
- **Tags:** Windows 11, procesor, Rescuezilla, Plan zasilania, Opcje planu zasilania

### Content

Ostatnio wymieniłem komputer służbowy z i5 8. generacji na i7 11. generacji. Zamiast instalować system operacyjny od zera i konfigurować wszystko na nowo, co zajęłoby mi zbyt dużo czasu, postanowiłem użyć Rescuezilla i po prostu sklonować system ze starego dysku twardego na nowy komputer.

Wszystko poszło pomyślnie.

Po pierwszym uruchomieniu trzeba było zaktualizować kilka sterowników. Musiałem też odpiąć licencję Windows 11 ze starego komputera i sparować ją z tą, która była dostarczona (wbudowana) z nowym komputerem.

Wszystko wydawało się działać naprawdę dobrze, dopóki nie zacząłem obciążać komputera bardziej wymagającymi zadaniami.

<!--more-->

Szybko zauważyłem, że wydajność i7 11. generacji była znacznie niższa niż ta, której doświadczyłem na starszym urządzeniu. Początkowo myślałem, że to wina sterowników, więc je zaktualizowałem, w tym Iris Graphics, BIOS i wszystko, co tylko mogłem, łącznie z aktualizacjami Windows.

Niestety, to nie rozwiązało problemu.

W Menedżerze zadań, w zakładce Wydajność, zauważyłem bardzo niską domyślną częstotliwość zegara procesora. Od czasu do czasu wzrastała, ale nie tak, jak się spodziewałem, i prawie cały czas utrzymywała się na poziomie 0,60 GHz.

To wiele wyjaśniło, dlaczego doświadczałem tak wolnej wydajności.

Pomyślałem, że może coś pominąłem, coś związanego z trybem Turbo Boost procesora. Próbowałem różnych sugestii znalezionych w Internecie, ale nie mogłem zmusić procesora do ciągłej pracy w trybie Wysoka wydajność.

Wszedłem w `Ustawienia > System > Zasilanie`, gdzie zauważyłem, że jest ustawiony tryb Wysoka wydajność i nie było tam nic więcej do zmiany.

Było to dla mnie zaskoczeniem, ponieważ nie mogłem ustawić innych trybów, tak jak to jest domyślnie (zobacz zdjęcie poniżej, jak to powinno wyglądać).

[![Windows 11 - Ustawienia - System - Zasilanie i bateria](Win11_Setting_System_Power_and_Battery.png)](Win11_Setting_System_Power_and_Battery.png)

Pamiętam, że plan zasilania mogę ustawić w opuszczonym, ale wciąż przydatnym, starym Panelu sterowania.

{{% ads-in-article %}}

Przechodzę do `Start > wyszukuję Panel sterowania (wpisując) > Sprzęt i dźwięk > Opcje zasilania` i tam znalazłem kilka planów. Jeden z nich to Zrównoważony, a drugi to Wysoka wydajność.

[![Windows 11 - Opcje zasilania - Plan zasilania](Win11_Power_Options_power_plan.png)](Win11_Power_Options_power_plan.png)

To było bardzo interesujące, że mogłem zmieniać ustawienia tam, ale nie w Ustawieniach, gdzie domyślnie Microsoft kieruje użytkowników, aby tam szukali takich opcji.

Przełączanie między Zrównoważonym a Wysoką wydajnością nic nie dawało. Procesor wciąż utrzymywał się na poziomie 0,60 GHz. Nawet wszedłem w zaawansowane ustawienia każdego planu, aby zmienić minimalną prędkość procesora, ustawiając ją na 100%. Nawet to nie przyniosło zmian.

Byłem zaintrygowany.

Oczywiście, mój problem wynikał z faktu, że przeniosłem cały system z jednego komputera na drugi, więc niektóre rzeczy mogły nie działać poprawnie.

Szybko odkryłem, że ten problem jest jednak bardzo powszechny. Czysta instalacja systemu operacyjnego najprawdopodobniej by to naprawiła; jednak nie chciałem iść tą drogą i dobrze, że tego nie zrobiłem.

Przypomniałem sobie, że przez Ustawienia nie mogłem zmienić planu zasilania, ale mogłem to zrobić przez stare ustawienia znalezione w Panelu sterowania.

Dziwne.

Spojrzałem na inny komputer w firmie i zauważyłem, że w Ustawieniach są opcje, gdzie można ustawić konkretny plan zasilania dla pracy na baterii i dla pracy po podłączeniu do zasilania. Brakowało mi tych opcji. Miałem je w starym miejscu, ale one w ogóle nie działały.

Postanowiłem wrócić do Panelu sterowania i usunąć plan Wysoka wydajność (miałem opcję usunięcia go, czego nie miałem na innym komputerze), zostawiając tylko domyślny plan Zrównoważony.

Następnie wszedłem w plan Zrównoważony i wybrałem opcję przywrócenia go do ustawień domyślnych.

{{% ads-in-article %}}

> Jeśli masz tam więcej niż jeden plan i nie masz opcji ich usunięcia, upewnij się, że wybierzesz opcję `Przywróć ustawienia domyślne dla tego planu` dla każdego z nich.

[![Windows 11 - Opcje zasilania - Edytuj ustawienia planu](Win11_Power_Options_Edit_Plan_Settings.png)](Win11_Power_Options_Edit_Plan_Settings.png)

Miałem tam tylko jedną opcję, ale ku mojemu zaskoczeniu, procesor znacząco przyspieszył i nawet zacząłem słyszeć szum wentylatorów. Menedżer zadań w zakładce Wydajność szybko pokazał, że komputer pracuje z prędkościami rzędu 3,6 GHz, a nawet 4 GHz.

Zadziałało. Wydajność w miejscach, gdzie najbardziej to odczuwałem, drastycznie się poprawiła.

Wracając do Ustawień i Zasilania, zauważyłem, że wcześniej niedostępne opcje dla różnych trybów zasilania, w zależności od sposobu użycia, stały się dostępne.

Tam, dla pracy komputera na baterii, mogłem wybrać Zrównoważony lub Wysoka wydajność. To samo dotyczyło pracy po podłączeniu do zasilania.

W moim przypadku (w twoim może być inaczej), wyraźnie był bałagan z planami zarządzania energią. Usunięcie dodatkowych planów i przywrócenie pozostałych planów do ich domyślnych ustawień zadziałało, przywracając niektóre opcje do stanu, w jakim powinny być. To przywróciło ustawienia zasilania i ujawniło opcje, które wcześniej nie były dostępne w Ustawieniach.

Oczywiście, byłem zmuszony przejrzeć inne ustawienia, aby sprawdzić, co się dzieje, gdy zamykam pokrywę laptopa lub gdy komputer przechodzi w stan uśpienia i wyłącza ekran.

Cel osiągnięty, problem rozwiązany, hurra!


---
## Wyłączenie Skype'a: Dlaczego Teams brzmi jak degradacja dla niektórych użytkowników
- **URL:** https://dariusz.wieckiewicz.org/wylaczenie-skype-dlaczego-teams-brzmi-jak-degradacja/
- **Date:** 2025-03-06
- **Tags:** Skype, Microsoft Teams, Wyłączenie Skype, Degradacja

### Content

Z [bardzo krótkim wyprzedzeniem](https://www.microsoft.com/en-us/microsoft-365/blog/2025/02/28/the-next-chapter-moving-from-skype-to-microsoft-teams/), Microsoft w końcu podjął decyzję o całkowitym wyłączeniu Skype'a i skupieniu się na czymś, co domyślnie jest zintegrowane z systemem Windows 11 – Teams.

Osobiście próbowałem przekonać kilka osób do przejścia ze Skype'a na Teams lata temu, ale teraz nie ma już żadnych "jeśli" ani "ale", ponieważ Microsoft odłącza wtyczkę. Nie ma odwrotu.

Mimo że jestem zadowolony, szybko zacząłem odczuwać, że usunięcie Skype'a cofa niektórych użytkowników.

Jeśli nie płacisz Microsoftowi nic dodatkowo, szybko zauważysz, że brakuje Ci kluczowych funkcji w Teams, które były dostępne w Skype od lat.

## Ograniczenie trybu portretowego

Często komunikuję się przez Skype'a z moimi rodzicami za granicą. Używają oni laptopa do połączenia, podczas gdy ja zawsze dzwonię z telefonu komórkowego.

Nie jest zbyt wygodne dla drugiej strony, której ekran jest domyślnie w orientacji poziomej, aby widzieć tylko część osoby, gdy trzyma telefon w trybie portretowym. Dlatego po rozpoczęciu połączenia szybko obracam telefon do orientacji poziomej i wszyscy są zadowoleni.

Coś tak trywialnego jak obracanie ekranu nie powinno być nawet uważane za funkcję, ale raczej za standard, który wszystkie inne komunikatory, takie jak WhatsApp czy Facebook Messenger, mają w standardzie.

W przypadku Microsoft Teams tak nie jest.

Jeśli używasz Teams z osobistym kontem Microsoft, bez płacenia za subskrypcję Microsoft 365, szybko zauważysz, że po połączeniu z osobą, która jest w orientacji poziomej, nie możesz obrócić ekranu.

Jesteś zablokowany w trybie portretowym, jakby to był jedyny możliwy tryb.

Jeśli dołączasz do webinarów i ktoś zaczyna prezentować swój ekran, a prezentacja jest w trybie poziomym, nie możesz obrócić ekranu, aby wykorzystać całą dostępną przestrzeń. To trochę nonsens.

Początkowo myślałem, że coś jest nie tak z moją aplikacją lub ustawieniami, ale przełączając się (w tej samej aplikacji) z konta osobistego na konto firmowe z dołączoną licencją Microsoft 365, szybko zauważyłem, że cały ekran Microsoft Teams można obracać. Wiadomości można pisać w trybie poziomym, a podczas połączeń nie ma problemów z obracaniem ekranu.

Po powrocie do konta osobistego, mimo że jest to w tej samej aplikacji, Twoja zdolność do wykonywania standardowych czynności, jak obracanie ekranu, znika.

## Tanie połączenia

Jeśli kiedykolwiek używałeś środków Skype (Skype Credits) do wykonywania tanich połączeń międzynarodowych na telefony stacjonarne lub komórkowe, to jest to kolejna funkcja, którą stracisz po migracji do Teams.

Bez przemyślenia i wprowadzenia alternatywnego podejścia, osobistym użytkownikom Teams znowu będzie gorzej.

## Tłumaczenie w czasie rzeczywistym

Pomimo tego, że nigdy nie korzystałem z tej funkcji, Skype podobno oferował tłumaczenie głosowe i wideo w czasie rzeczywistym.

Tego również zabraknie, gdy zostaniesz zmuszony do korzystania z Microsoft Teams.

## SMS Connect

Dzięki tej funkcji można było wysyłać i odbierać wiadomości SMS. Podobnie jak tanie połączenia, ta funkcja nie jest w ogóle oferowana w Teams.

## Poczta głosowa

Podobnie jak tanie połączenia i SMS Connect, poczta głosowa to kolejna funkcja, której będzie brakować.

W przeszłości można było nawet zintegrować niektóre telefony stacjonarne, aby korzystać ze Skype'a, a także kupić numer Skype'a, aby mieć telefon stacjonarny tam, gdzie nie był dostępny w normalny sposób. Wszystko to oznacza koniec pewnej ery i utratę pewnych funkcji na zawsze.

## Nagrywanie rozmów

Po raz kolejny Microsoft będzie chciał, abyśmy wydali u nich trochę pieniędzy. Nagrywanie rozmów to kolejna funkcja, która w Teams (osobistym) będzie dostępna tylko z subskrypcją Microsoft 365.

---

Nie wszystko jest złe. Migrując ze Skype'a, zyskasz więcej narzędzi do współpracy, funkcji spotkań i lepsze bezpieczeństwo połączeń.

Jednak większość podstawowych użytkowników nie przejmuje się tym tak bardzo. Chcą używać go do wykonywania połączeń w sposób, który im odpowiada, a nie w sposób, który jest dostępny, bez płacenia.

Ogólnie rzecz biorąc, nie widzę sensu w tym, aby nie pozostać przy WhatsAppie lub Facebook Messengerze, gdzie oba oferują połączenia wideo w środowisku Windows 11 bez większości irytujących ograniczeń, takich jak ograniczenie połączeń tylko do trybu portretowego.

---

Jestem trochę rozczarowany tym wszystkim.

Skype był narzędziem, które działało tak prosto i łatwo, jak to możliwe, więc nawet osoby starsze mogły go obsługiwać bez nadmiernej wiedzy.

---

Na swoim blogu Microsoft napisał:

> "Jesteśmy podekscytowani nowymi możliwościami, jakie daje Teams, i jesteśmy zaangażowani w pomoc w utrzymaniu kontaktu w nowy i znaczący sposób."

Ten "nowy i znaczący sposób", jak to widzę, dla osobistych użytkowników Skype'a, to krok do przodu, dwa kroki w tyłu.


---
## Kiedy liczy się dostarczalność e-maili – Gomailify.com
- **URL:** https://dariusz.wieckiewicz.org/kiedy-liczy-sie-dostarczalnosc-e-maili-gomailify-com/
- **Date:** 2025-02-20
- **Tags:** Cloudflare, Cloudflare Email Routing, Email, Email Routing, Gmail, Gmailify, Gomailify.com

### Content

> **Aktualizacja 14/03/2026**\
> Ze względu na [zmiany wprowadzone przez Google](https://support.google.com/mail/answer/16604719?hl=pl) oraz decyzję o utrudnieniu życia użytkownikom, firma postanowiła zamknąć świetną usługę Gmailify oraz wyłączyć możliwość pobierania wiadomości z innych skrzynek pocztowych przy użyciu protokołu POP. W konsekwencji zespół stojący za Gomailify musiał przebudować cały swój serwis, aby dostosować go do nowych wymagań. Obecnie korzystają z Google API, aby przesyłać e-maile do naszych skrzynek odbiorczych. Choć początki były wyboiste, usługa działa teraz znakomicie. Nadal gorąco ją polecam i korzystam z niej codziennie.

> **Aktualizacja 01/07/2025**\
> Ponieważ Gmailify.com okazało się zbyt kontrowersyjne dla strażników znaków towarowych, właściciel usługi został zmuszony do zmiany nazwy na Gomailify. Poza tym nic się nie zmienia — ta sama zaufana usługa, ta sama misja, by dodać Gmailowi supermocy, tylko z odrobiną więcej „go”!

Po latach korzystania z darmowego konta Google Workspace, z różnymi wzlotami i upadkami związanymi z decyzją Google o jego likwidacji, a następnie utrzymaniu, postanowiłem przenieść swoje e-maile i inne pliki z powrotem na moje osobiste konto Gmail.

Głównym powodem, dla którego używałem Google Workspace, była możliwość korzystania z mojej domeny w usługach Google, głównie skupiając się na opcji wysyłania i odbierania e-maili w mojej domenie, ale wciąż korzystając z interfejsu Gmaila.

Po wykonaniu obszernej pracy związanej z przeniesieniem moich danych z Google Workspace z powrotem na moje konto Gmail, skonfigurowałem opcję odbierania i wysyłania e-maili w mojej domenie.

<!--more-->

Wybrałem do tego celu [Routing poczty Cloudflare](/cloudflare-poczta-we-wlasnej-domenie/) i w zasadzie działał, przez prawie trzy lata.

Routing poczty Cloudflare jest przeznaczony do odbierania e-maili wysyłanych na mój adres w mojej domenie; jednak nie jest tak naprawdę zaprojektowany do wysyłania ich lub odpowiadania z adresu e-mail w domenie.

Wdrożyłem "pewnego rodzaju" [obejście](/cloudflare-poczta-we-wlasnej-domenie/#wysyłanie-i-odpowiadanie-z-domeny-gmail) aby móc wysyłać i odpowiadać na e-maile z domeny w Gmailu i działało to całkiem dobrze, **dopóki nie przestało**.

Wdrażanie obejść w usługach, które nie są do tego celu przeznaczone, może powodować problemy. Nawet jeśli przez kilka miesięcy działało to dobrze, rzeczy w internecie zmieniają się (ewoluują) i pojawiają się problemy.

> Oprócz funkcji Email Routing, Cloudflare niedawno rozpoczęło prace nad usługą wysyłania e-maili (Email Sending). Obecnie znajduje się ona w fazie beta i aby z niej korzystać, wymagane jest zaproszenie. W bliskiej przyszłości może to być świetna dodatkowa alternatywa, choć wszystko będzie zależało od tego, ile będzie kosztować.

Najpierw pojawiły się problemy z odbiorem wiadomości.

Szybko zauważyłem, że niektóre e-maile nie zostały dostarczone i zostały utracone na zawsze. Z różnych powodów musiałem znaleźć plan awaryjny, aby przywrócić e-maile na właściwe tory i do mojej skrzynki odbiorczej.

Aby rozwiązać ten problem, wdrożyłem [routing alternatywny w Cloudflare Email Routing](/kiedy-wszystko-zaczyna-sie-walic-cloudflare-email-routing/) poprzez implementację workerów e-mail.

Gdy Cloudflare z różnych powodów nie mógł dostarczyć e-maili na mój adres Gmail, wymusiłem na workerach przeniesienie ich na mój zapasowy adres e-mail w usługach Microsoft (@outlook.com). Stamtąd, za pomocą Gmailify (od Google) - usługi wewnątrz Gmaila, zsynchronizowałem obie skrzynki pocztowe i wszystkie wiadomości zaczęły znowu płynąć.

Liczba utraconych e-maili znacznie spadła, a środki zapobiegawcze wydają się działać dobrze.

Niedługo potem zauważyłem inne problemy podczas wysyłania e-maili. Niektórzy odbiorcy zaczęli twierdzić, że nigdy nie otrzymali e-maili, a inni zauważyli, że trafili do folderów ze spamem.

Początkowo, gdy zdarzało się to rzadko, nie przejmowałem się zbytnio, dopóki nie zaczęły się problemy z dostarczalnością e-maili do skrzynek obsługiwanych przez usługi Microsoft.

Wiele firm korzysta z Microsoft 365 dla Firm, które obsługują swoje e-maile w swoich domenach. Niektóre organizacje rządowe również korzystają z ich rozwiązań (ja sam korzystam z nich w miejscu pracy), a fakt, że wysyłałem im e-maile z ważnymi dokumentami, których nigdy nie otrzymali (ponieważ trafiały do spamu lub były poddawane kwarantannie, zanim w ogóle dotarły do odbiorcy), zaczął powodować wiele problemów.

Problem był tak poważny, że procent wysłanych przeze mnie e-maili i e-maili, które zostały dostarczone, czasami przypominał rzut monetą. To bardzo źle i postanowiłem podjąć działania.

Przyczyną problemu było "obejście", które wdrożyłem. Wysyłałem e-maile z mojej domeny za pomocą funkcji "Wyślij jako" w Gmailu, ale nadal używam infrastruktury Cloudflare do ich odbierania.

Mimo że miałem ustawione najważniejsze aspekty bezpieczeństwa poczty e-mail w rekordach DNS mojej domeny (SPF, DMARC), nadal napotykałem problemy.

Po przeprowadzeniu dochodzenia odkryłem problem, który tkwił w sygnaturach DKIM.

> "DKIM to metoda uwierzytelniania, która zapewnia, że wiadomość nie została zmodyfikowana od momentu jej przyjęcia do dostarczenia, a także że została autoryzowana przez właściciela domeny. Odbywa się to poprzez dodanie podpisu cyfrowego do wiadomości, zarówno do metadanych (nagłówków), jak i do treści. Podpis cyfrowy jest oparty na kryptografii klucza publicznego, która działa z parą kluczy, publicznym i prywatnym. Klucz prywatny jest utrzymywany w tajemnicy przez właściciela domeny lub usługę e-mail, podczas gdy klucz publiczny jest udostępniany publicznie w DNS jako rekord TXT. Po otrzymaniu wiadomości przez stronę odbierającą, publiczny klucz DKIM jest wyszukiwany i używany do weryfikacji podpisu cyfrowego."

Kiedy wysyłam e-maile z mojej domeny w Google Workspace, usługa cyfrowo podpisuje i dopasowuje wszystkie rekordy z usługą Google, z której korzystałem. Ale to dlatego, że Google Workspace był bezpośrednio ustawiony na poziomach DNS, aby korzystać z ich usług, w tym DKIM.

Kiedy używałem Cloudflare Email Routing i zwykłego Gmaila do wysyłania e-maili, usługi Google podpisywały e-maile własnym podpisem DKIM, który nie pasował do tego, co ustawiłem na poziomie DNS dla domeny. Dzieje się tak, ponieważ osobisty Gmail nie pozwala na skonfigurowanie niestandardowej domeny, w wyniku czego dochodzi do niezgodności podpisów.

Pomimo wypróbowania różnych opcji obejścia tego problemu, faktem pozostaje, że jeśli nie uporządkuję podpisu DKIM, większość usług Microsoftu zaklasyfikuje moje e-maile jako "Niezweryfikowane" i skieruje je do folderu Spam, lub w najgorszym przypadku (co zdarzało się ostatnio bardzo często), przy zastosowaniu bardzo surowych reguł antyspamowych, podda wiadomość kwarantannie na swoich serwerach i nie dostarczy jej, nawet do folderu Spam, do odbiorcy.

To okropne i zaczęło powodować, po raz kolejny, poważne problemy nie tylko dla mnie, ale także dla innych osób, którym pomagam w zastosowaniu tego samego podejścia do konfiguracji ich e-maili na ich domenie.

Wszystko to prowadzi do wniosku, że muszę przestać korzystać z tej usługi i poszukać lepszego rozwiązania.

Rozwiązaniem, które zawsze miałem na myśli, było Gomailify.com (poprzednio Gmailify.com).

> Tutaj nie myl Gmailify (rozwiązania Google) z Gomailify.com (usługą nie pochodzącą od Google). Google oferowało wewnątrz swojego konta Gmail usługę o tej samej nazwie, która służy do łączenia kont Outlook i Yahoo z Gmail.

Przed Cloudflare Email Forwarding używałem Domen Google z ich darmową opcją o nazwie Email Routing. Ale jak to bywa z Google, [likwidują tę usługę](/google-usmierca-kolejna-usluge-domeny-google-domains/) i ją wycofują, sprzedając ją temu, kto zaoferuje najwyższą cenę.

Zawsze staram się najpierw zbadać darmowe rozwiązania, zanim sięgnę po płatne. Jeśli darmowe rozwiązanie robi to, czego się od niego wymaga, to zazwyczaj nie widzę powodu, aby komukolwiek płacić.

Darmowe rozwiązanie czasami działa do pewnego stopnia, a potem trzeba podjąć decyzję i zdecydować, co jest ważne.

Muszę polegać na moich e-mailach. E-maile, które wysyłam, muszą być dostarczane do miejsca docelowego, co jest dla mnie sprawą kluczową. Nie ma tu kompromisów.

Z każdą usługą niektóre e-maile mogą zostać błędnie zaklasyfikowane i niedostarczone zgodnie z zamierzeniami, ale wskaźnik ten powinien być jak najniższy, a większość powinna działać (być dostarczana) zgodnie z zamierzeniami, chyba że faktycznie wysyłasz spam.

W przypadku mojego obecnego rozwiązania zaczęło to być loterią, a procent wysyłanych przeze mnie e-maili, które były dotknięte problemem, był zbyt wysoki, aby go zaakceptować.

{{% ads-in-article %}}

**Usługa Gomailify.com nie jest darmowa;** kosztuje ona jednak tylko 12 USD rocznie za maksymalnie 2 połączone konta Gmail, a następnie 6 USD rocznie za każde dodatkowe (bez limitów domen).

> Niektórzy duzi gracze oferują tego rodzaju usługi w podobnych przedziałach cenowych, głównie pobierając opłaty za użytkownika i zazwyczaj miesięcznie. To szybko staje się bardzo drogie. Tutaj wychodzi to nieco korzystniej cenowo.

Po wyłączeniu Cloudflare Email Routing i usunięciu zbędnych ustawień DNS (głównie SPF i DMARC) zacząłem konfigurować moją domenę.

> Uwaga: Poniższy tekst nie jest przewodnikiem po tej usłudze ani nawet samouczkiem, jak skonfigurować ustawienia. Nie będę powtarzać czegoś, co jest już [dobrze udokumentowane](https://www.gomailify.com/docs).

**Gomailify.com** jest skonfigurowany w bardzo przyjemny sposób. Wszystko jest opisane w tak dużym stopniu, że można z łatwością przejść od początku do końca w mniej niż 15 minut, dzięki czemu Twoja zdolność do odbierania e-maili nie będzie zbyt długo zakłócona.

> Nawet jeśli to trwa dłużej, generalnie serwery, jeśli mają problemy z dostarczeniem, spróbują ponownie po krótkim czasie, dlatego szansa, że przegapisz coś ważnego, jest niewielka.

Konfiguracja ogranicza się do dodania odpowiednich wpisów DNS w Twojej domenie. Gdy to zrobisz, musimy skonfigurować Twoją główną skrzynkę odbiorczą i połączyć ją z kontem Gmail, abyś mógł otrzymywać e-maile we własnej domenie (niemal natychmiastowo), a także wysyłać je za jej pośrednictwem, korzystając z smtp.gomailify.com. Nie są wymagane żadne obejścia ani „hacki”.

Ich usługa udostępnia tymczasową skrzynkę pocztową — pośrednika — z której system pobiera wiadomości i przesyła je na konto Gmail przy użyciu Google API. Zapewniają oni również serwer wychodzący do wysyłania e-maili i za jego pośrednictwem nakładają odpowiednie podpisy cyfrowe, dzięki czemu wiadomości nie są traktowane jako spam.

Cały proces konfiguracji można rozpocząć i testować przez cały dzień, bez konieczności płacenia (14 dniowy okres próbny). Przez cały ten okres masz możliwość skonfigurowania ustawień, a następnie podjęcia decyzji. Ja zdecydowałem się bardzo szybko, gdy zauważyłem, że odbiorcy, którzy zazwyczaj mają problemy z odbieraniem moich e-maili, zaczęli je otrzymywać bez żadnych problemów.

Najlepsze jest to, że płacisz tylko za połączone konto Gmail. W cenie początkowej 12 USD możesz podłączyć do 2 kont Gmail, a każde kolejne kosztuje 6 USD rocznie. Możesz podpiąć wszystkie potrzebne domeny bez ponoszenia dodatkowych kosztów.

Mam dwie domeny. Skonfigurowałem pierwszą jako główną oraz dodałem następną jako domenę dodatkową (Domain Alias).

Automatycznie mój użytkownik `dariusz` w domenie `wieckiewicz.org` odziedziczy dostęp do drugiej domeny w ten sam sposób.

To rozwiązanie nie jest domyślnie skonfigurowane do oddzielnego zarządzania domenami, ale istnieje taka możliwość. Na przykład, jeśli chcesz, aby wiadomości na adres `dariusz@domain1.com` trafiały do `użytkownika1`, a te z adresu `dariusz@domain2.com` do innego użytkownika, prefiks `dariusz@` jest zazwyczaj przypisany do tego samego odbiorcy (chyba że zastosujesz delegowanie). Jeśli jednak chcesz zarządzać domenami oddzielnie, możesz to zrobić – musisz jedynie uwzględnić liczbę połączonych kont Gmail, ponieważ to od nich zależy wysokość opłaty.

Obecnie mam podpiętych 5 domen, z czego 2 mają aktywne skrzynki pocztowe. Jedna z nich obsługuje 5 skrzynek w 3 domenach, co będzie mnie kosztować 30 USD rocznie (12 USD + 3 × 6 USD). Druga ma 3 skrzynki w 2 domenach, co wyniesie 18 USD rocznie. Całkiem nieźle!

To sprawia, że tego rodzaju usługa jest jeszcze bardziej opłacalna.

Usługa jest zaprojektowana z myślą o Gmailu i tylko o Gmailu. Istnieją pewne ograniczenia usługi, takie jak możliwość wysyłania e-maili z domeny tylko za pośrednictwem interfejsu internetowego lub oficjalnej aplikacji Gmail na platformach mobilnych, lub brak możliwości ustawienia adresu e-mail do wysyłania z urządzeń takich jak kserokopiarki. O wszystkich ograniczeniach można przeczytać w [bardzo szczegółowej dokumentacji](https://www.gomailify.com/docs).

Oprócz samej skrzynki pocztowej, można również ustawić wiele aliasów i używać tych aliasów w Gmailu do wysyłania e-maili za ich pośrednictwem. Aliasy mogą znajdować się w domenie głównej lub nawet tylko w domenie dodatkowej. Jedynym aspektem, o którym należy pamiętać, jest ustawienie "Wyślij jako" w taki sposób, aby ustawić dodatkową domenę przy użyciu loginu i hasła uwierzytelniającego dla domeny głównej.

> Możesz również skonfigurować delegacje, w taki sposób, że jeden użytkownik ma swoją skrzynkę pocztową, do której kopie wysłanych do niego e-maili są dostarczane innym użytkownikom. Jest to dobre rozwiązanie do konfigurowania poczty e-mail dla dzieci, które daje możliwość zobaczenia, jakie e-maile są do nich wysyłane.

Podczas konfiguracji od czasu do czasu mogą wystąpić pewne problemy, ale nawet wtedy, gdy tak się stanie, możesz liczyć na wsparcie od prawdziwych `ludzi`.

Miałem jeden problem podczas konfiguracji dodatkowej skrzynki pocztowej, a oni pomogli mi bardzo sprawnie. Później wystąpiły pewne trudności z hasłami i wysyłaniem wiadomości z aliasów, ale stanęli na wysokości zadania i pomogli mi to wszystko uporządkować. Tak samo było, gdy przechodzili ze starej metody przesyłania i pobierania wiadomości przez POP – zanim Google ją wyłączyło – na opieranie się wyłącznie na Google API. Byli dostępni wtedy, gdy najbardziej ich potrzebowałem.

Obsługa klienta, co jest niezwykłe w tak niedrogiej usłudze, jest trudna do znalezienia w rozwiązaniach od dużych graczy.

Ogólnie rzecz biorąc, po skonfigurowaniu usługi, zapominasz, że ona istnieje, ponieważ korzystasz z niej za pośrednictwem swojego konta Gmail. Logowanie się do ich usługi jest potrzebne głównie wtedy, gdy dodajesz dodatkowe aliasy lub chcesz śledzić jakieś logi.

> Pamiętaj, że konfigurując w Gmailu opcję „Wyślij jako”, możesz ustawić swój adres we własnej domenie jako domyślny, dzięki czemu nie będziesz musiał go przełączać za każdym razem, gdy tworzysz nową wiadomość. To samo dotyczy samego Konta Google; w ustawieniach możesz dodać [alternatywne adresy e-mail](https://myaccount.google.com/email), które będą służyć do logowania się do Twojego konta Gmail. Dzięki temu będziesz mógł logować się do poczty Gmail, używając swojego adresu we własnej domenie.

To, czego mi brakowało w Cloudflare Email Routing, to porządny system monitorowania e-maili wysyłanych do domeny i wysyłanych z domeny. Oczywiście nie ma statystyk wysyłanych z domeny, ponieważ Cloudflare Email Routing nie jest do tego przeznaczony, ale w przypadku e-maili odbieranych, nadal nie jest to najlepsze rozwiązanie, zwłaszcza gdy e-maile nie są dostarczane i nic z tym nie możesz zrobić.

Jest jeszcze jeden aspekt, o którym warto wspomnieć.

Ludzie stojący za tą usługą mieszkają w Europie (Szwajcaria), dlatego w kwestii przetwarzania danych i prywatności możemy być nieco mniej zmartwieni, zwłaszcza teraz, gdy widzimy, jak sprawy ewoluują (w niezbyt dobrym kierunku) po drugiej stronie Oceanu Atlantyckiego.

Korzystam z ich usług już od dłuższego czasu i jestem pod wrażeniem ich niezawodności. To najważniejszy czynnik, który należy wziąć pod uwagę przy wyborze miejsca do zarządzania pocztą we własnej domenie. Z biegiem czasu zdarzyło mi się popełnić kilka błędów, ale udało mi się je szybko naprawić dzięki ogromnej pomocy ze strony wsparcia technicznego obsługiwanego przez „prawdziwego człowieka”.

W tej chwili usługa ta stała się rozwiązaniem typu „ustaw i zapomnij” (oczywiście nie zapominając o zapłaceniu za kolejny rok!).

Serdecznie polecam.


---
## Fizyczny przycisk sterowania aparatem i odziedziczony nawyk (modele iPhone 16)
- **URL:** https://dariusz.wieckiewicz.org/fizyczny-przycisk-sterowania-i-odziedziczony-nawyk/
- **Date:** 2025-01-29
- **Tags:** iPhone 16, Camera Button, Camera Control, Shutter, sterowanie aparatem, przycisk sterowania aparatem

### Content

Dodanie fizycznego przycisku do aparatu w serii iPhone 16 było świetnym krokiem w kierunku osób używających ich jako głównego urządzenia do fotografii i nagrywania filmów, a uwierzcie lub nie, jest ich całkiem sporo. Niektórzy ludzie z powodzeniem stworzyli pełnometrażowe filmy przy użyciu iPhone'ów.

Kiedy zaktualizowałem swój 13 Pro Max do 16 Pro Max, czekałem na fizyczny przycisk aparatu, dopóki nie zauważyłem, że w ogóle go nie używam!

W bardzo dalekiej przeszłości używałem aparatu cyfrowego, a spust migawki zawsze znajdował się pod lekko zgiętym palcem wskazującym mojej prawej ręki.

Tutaj, jako użytkownik z „historią”, znalazłem się w sytuacji, w której przycisk nie był dostępny do codziennego użytku.

Nie mam małych rąk i moje palce nie są krótkie, ale sięgnięcie do przycisku aparatu przy umieszczeniu ręki z boku telefonu, nie zasłaniając ekranu, było wyzwaniem.

Osobiście wolałbym, żeby przycisk został przesunięty znacznie niżej, w dół telefonu na całej jego wysokości, zwłaszcza w iPhone 16 Pro Max, który jest większy niż używany przeze mnie wcześniej 13 Pro Max.

Ten ruch pozwoliłby mi uzyskać doświadczenie podobne do tego, jakie miałem w przeszłości z aparatami cyfrowymi.

Obecnie, aby sięgnąć i nacisnąć przycisk aparatu, muszę trzymać palec wyprostowany i lekko go rozciągnąć, aby nacisnąć go mocno. Chyba że zdecyduję się nacisnąć go, umieszczając część dłoni na dole ekranu, wtedy nie ma problemu. Wygląda na to, że muszę wypracować nawyk korzystania z niego w wygodny sposób.

Ale to nie jest powód, dla którego chcę pisać o dziedzicznych nawykach.

Umieszczając fizyczny przycisk do aparatu z boku telefonu, Apple nie poszło o krok dalej i nie usunęło przycisku skrótu aparatu z ekranu blokady.

Przez ostatnie trzy miesiące zauważyłem, że w ogóle nie używałem przycisku aparatu. Zamiast tego naciskałem i przytrzymywałem skrót do aparatu na ekranie blokady.

To trywialne podejście, ale dodaje ułamek sekundy opóźnienia, zanim aparat się uruchomi, gotowy do robienia zdjęć.

Fizyczny przycisk uruchamia aplikację aparatu znacznie szybciej.

Również podczas robienia zdjęć nadal mam tendencję do naciskania przycisku migawki na ekranie zamiast używania fizycznego przycisku.

Trudno jest zerwać z nawykiem, który odziedziczyłem od mojego pierwszego iPhone'a 6, ale postanowiłem utrudnić sobie życie, aby go zmienić.

Ponieważ w iOS 18 możemy łatwo dostosować ekrany blokady, w tym dwa dolne skróty, z których jednym jest skrót do aparatu, postanowiłem całkowicie go usunąć.

Początkowo zastąpiłem go inną aplikacją, jak ChatGPT, ale potem odkryłem, że przez pamięć mięśniową automatycznie naciskałem ikonę ChatGPT, aby otworzyć aparat.

Usuwając go - przynajmniej dopóki nie zmienię swojego nawyku - mam nadzieję, że pomoże mi i zmusi mnie do częstszego korzystania z fizycznego przycisku.

{{% ads-in-article %}}

Ale to nie wszystko.

Jeśli chcę szybko otworzyć aparat i zrobić zdjęcie, fizyczny przycisk pomaga w tym znacznie lepiej. Jednak gdy korzystam z aparatu, aby zrobić więcej niż jedno zdjęcie, szybko zauważam, że naciskam przycisk migawki na ekranie.

Jeśli trzymasz telefon jedną ręką, wtedy korzystanie z fizycznego przycisku ma sens, ale zauważyłem, że nie robię zdjęć, trzymając telefon jedną ręką.

Może to wynikać z ery aparatów cyfrowych, ale może też być spowodowane wagą samego telefonu. Kiedy robisz wiele zdjęć iPhone'em 16 Pro Max w swojej prawej ręce, szybko zauważysz, jak ciężki jest i jak zaczyna boleć cię nadgarstek.

W dłuższej perspektywie zauważyłem, że trzymam telefon w trybie fotograficznym obiema rękoma, umieszczając dłonie z lewej i prawej strony w trybie poziomym.

W ten sposób trzymania telefonu sięgnięcie do niewygodnie umieszczonego fizycznego przycisku to trochę wysiłek, i wiem, że go nie użyję, ponieważ mój kciuk jest już naturalnie ustawiony, gotowy do naciśnięcia przycisku migawki.

Może to tylko ja, ale przesunięcie przycisku dalej w dół (na prawo, w trybie poziomym) miałoby dla mnie sens, chociaż może nie działać dla osób robiących zdjęcia i filmy w trybie pionowym.

W tym trybie pozycja przycisku jest zoptymalizowana dla środkowego palca, umożliwiając korzystanie z telefonu jedną ręką (lewą), bez potrzeby sięgania kciukiem do przycisku migawki.

Myślę, że cały proces wdrażania przycisku Apple musiało przejść gruntowny proces, aby znaleźć optymalną pozycję.

Ogólnie rzecz biorąc, więcej osób teraz robi zdjęcia i filmy w trybie pionowym, a dla nich ten przycisk jest idealnie umieszczony, tuż pod trzecim palcem.

Jako osoba wiekowa, wręcz dinozaur, nadal wolę tryb poziomy w codziennym użytkowaniu.

Przypomina mi to mem z przeszłości Apple, kiedy ludzie narzekali na utratę zasięgu na swoich telefonach, ponieważ zakrywali anteny ręką. Odpowiedź Apple — od samego Steve'a w tamtym czasie — brzmiała, że „źle trzymasz telefon”. To nie przeszło dobrze, ale wraz ze wzrostem rozmiaru telefonów miało to sens.

Z powodu mojego nawyku nie zdziwiłbym się, gdyby z grobu Steve Jobs mówił mi to samo — że „źle go używam”.

Trudno, aleim jestem starszy, tym trudniej zmienić moje nawyki, a ty jak uważasz?


---
## W poszukiwaniu idealnego routera OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/w-poszukiwaniu-idealnego-routera-openwrt/
- **Date:** 2025-01-12
- **Tags:** OpenWrt, router, Asus RT-AC57U, Linksys WRT3200, Linksys MR8300, Linksys WRT32x, Askey RT4230W REV6, RAC2V1K, OpenWrt One, GL.iNet, Brume 2, GL-MT2500, WiFi 6, WiFi 7

### Content

Router z niestandardowym oprogramowaniem (OpenWrt) to podstawowe urządzenie w mojej domowej sieci, ale używam go również w środowisku biznesowym jako główne urządzenie, i wszystko działa świetnie.

> W przeszłości używałem DD-WRT na moich routerach. Mimo że ich projekt wciąż się rozwija, uznałem, że nie spełnia obecnych potrzeb.

Użycie OpenWrt ściśle zależy od urządzenia – routera, którego używam. Zawsze wybieram urządzenie, które będzie dla mnie odpowiednie i nie ugnie się pod naporem obciążenia.

<!--more-->

Kiedy zaczynałem swoją przygodę z OpenWrt, używałem dość taniego urządzenia, jak Asus RT-AC57U. Szybko zdałem sobie sprawę, że potrzebuję więcej miejsca na dane, więcej RAM-u i większej mocy obliczeniowej. Przeszedłem na Linksys WRT3200, następnie zmieniłem go na Linksys MR8300, by ostatecznie wrócić do Linksys WRT32x (starszego brata WRT3200). WRT3200 działa w mojej pracy do dziś, ponieważ jest to bardzo wydajne urządzenie.

W domu zdecydowałem się na import z USA urządzenia Askey RT4230W REV6 (znanego również jako RAC2V1K) i zmianę oprogramowania na OpenWrt.

To urządzenie, oryginalnie od Spectrum, ma 1 GB RAM, 512 MB pamięci i procesor Dual-Core (Qualcomm Atheros IPQ8065) o taktowaniu 1700 MHz.

> Ma również jeden port USB 3.0, który moim zdaniem jest minimalnym wymaganiem dla routera. Kupowanie routerów z USB 2.0, zwłaszcza gdy planujesz podłączyć do niego dysk twardy, to moim zdaniem strata pieniędzy, nie wspominając już o prędkości!

Te parametry uznałem za absolutne minimum dla zaawansowanych użytkowników (takich jak ja), którzy chcą korzystać z OpenWrt w sposób wykraczający poza podstawową konfigurację.

Jednak we wszystkich tych urządzeniach zauważyłem główny problem, jakim było WiFi. WiFi w Asusie było jedynie „ok”, w Linksys sprawiało wiele problemów, a siła sygnału i jego zasięg były bardzo słabe. W Askey (RAC2V1K), ze względu na jego konstrukcję, chipy WiFi są umieszczone tuż pod wentylatorem (który znajduje się na spodzie urządzenia). Proces chłodzenia całego systemu powoduje przegrzewanie się chipa WiFi 2.4 GHz, co prowadzi do jego sporadycznych awarii.

Postanowiłem, że nie będę korzystać z WiFi w tym, ani w żadnym innym moim urządzeniu, zarówno w Askey (RAC2V1K) w domu, jak i w Linksys WRT3200 w pracy.

Moja decyzja o wyłączeniu WiFi w tych urządzeniach wynika również z innych powodów.

Obecnie technologia WiFi staje się kolejnym punktem marketingowym dla dostawców szerokopasmowego internetu. Od WiFi 5 do WiFi 6, teraz głównym argumentem sprzedaży jest WiFi 7, mimo że tylko niewielka liczba urządzeń to obsługuje, a jeszcze mniej routerów na rynku oferuje tę technologię.

Moc obliczeniowa mojego routera, pamięć i przestrzeń są wystarczające na najbliższą przyszłość, a ja nie chcę szukać OpenWrt z WiFi 7, które również spełniałoby wszystkie inne wymagania. To bardzo trudne i staje się bardzo kosztowne.

W pracy używam dedykowanych urządzeń WiFi do stworzenia sieci mesh. Główne urządzenie jest podłączone do routera przez kabel LAN. WiFi działa niezależnie od OpenWrt, ale wszystko nadal jest zarządzane z poziomu routera (DHCP). Pozwala mi to na aktualizację technologii sieci WiFi w razie potrzeby, niezależnie od routera. Sieć, wszystkie komputery podłączone kablami, może działać bez przerw przez dłuższy czas.

W domu zastosowałem takie samo podejście. Ze względu na zawodność chipów WiFi w Askey (RAC2V1K), zdecydowałem się na TP-Link RE700X do stworzenia mojej domowej sieci bezprzewodowej (WiFi 6).

Muszę przyznać, że TP-Link RE700X spełnił wszystkie oczekiwania i odciążył moje urządzenie OpenWrt od obsługi WiFi. Oferuje świetne prędkości i zasięg.

> Używam różnych SSID (nazw sieci WiFi) dla sieci 2.4 GHz i 5 GHz.

Oczywiście ustawiłem to urządzenie w trybie Access Point i wyłączyłem DHCP, więc wszystko nadal zależy od OpenWrt w zarządzaniu adresami IP, ruchem sieciowym itp.

W pracy WRT3200 ma dwa porty USB, jeden 2.0 i drugi 3.0. Korzystam z obu, jeden do [zapewnienia zapasowego połączenia 4G](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/), a drugi do [podłączenia zapasowej baterii APC](/podlaczamy-zasilacz-awaryjny-ups-do-routera-z-openwrt/).

W domu potrzebuję tylko jednego portu, ale musi to być USB 3.0, ponieważ używam go do [dodania dodatkowej przestrzeni dyskowej w mojej sieci lokalnej](/dodanie-dysku-usb-do-routera-z-openwrt/).

Większość urządzeń, których używam w domu, jest podłączona do sieci bezprzewodowej. Przewodowo mam podłączone tylko TP-Link RE700X i Apple TV (choć mogę je również przełączyć na połączenie bezprzewodowe). Więc oprócz portu WAN będę potrzebował co najmniej 1-2 wolnych portów LAN w moim „idealnym” routerze, ale nawet to można rozwiązać za pomocą prostego, niezarządzanego switcha.

> Switch 2.5Gigabit, taki jak [TP-Link TL-SG105-M2](https://www.tp-link.com/uk/business-networking/unmanaged-switch/tl-sg105-m2/v1/), kosztuje £69.99, podczas gdy Gigabit Network Switch, taki jak [TP-Link TL-SG105S](https://www.tp-link.com/uk/business-networking/unmanaged-switch/tl-sg105s/v4/), kosztuje około £16 na Amazon UK.

{{% ads-in-article %}}

## OpenWrt One

Nie tak dawno temu (29 listopada 2024), osoby stojące za projektem OpenWrt zaprezentowały swoje pierwsze urządzenie dedykowane OpenWrt i nazwali je [OpenWrt One](https://openwrt.org/toh/openwrt/one).

Cieszy fakt, że dostępne jest urządzenie dedykowane w przystępnym zakresie cenowym, **jednak** nie uznałem go za interesujące dla mnie z kilku powodów.

| | |
| :-: | :-: |
| CPU | MT7981B |
| CPU MHz | 1300 |
| CPU Cores_numcores | 2 |

Wyposażono je w dwurdzeniowy procesor, który powinien zapewnić wystarczającą moc obliczeniową dla większości użytkowników.

> Miałem w przeszłości Linksys MR8300, który był wyposażony w czterordzeniowy procesor, ale taktowany na 717 MHz i jego wydajność (moc obliczeniowa) była słaba.

| | |
| :-: | :-: |
| Flash MB | 256MB |

Tutaj pojawia się pierwszy brak tego urządzenia. 256 MB pamięci bez „oczywistych” opcji rozszerzenia szybko rozczaruje użytkowników, którzy chcą dodać więcej pakietów i korzystać z urządzenia przez dłuższy czas. Zauważyłem, pracując z WRT3200 (256 MB) w pracy i RAC2V1K (512 MB), że będzie to wymagało pewnych kompromisów. Posiadanie urządzenia stworzonego z myślą o OpenWrt, ale od początku ograniczonego, jest trochę rozczarowujące. Rozumiem, że chcą utrzymać dobry stosunek jakości do ceny, ale wątpię, czy takie rozwiązanie sprawdzi się na dłuższą metę, i już wyjaśniam dlaczego.

> Teoretycznie można to rozszerzyć, korzystając z innych opcji przechowywania, poprzez gniazdo M.2 2242/2230 dla dysku NVMe SSD (PCIe gen 2 x1).

| | |
| :-: | :-: |
| RAM MB | 1024 |

Przynajmniej to urządzenie wyposażono w wystarczającą ilość pamięci RAM, która zadowoli większość użytkowników, ale w połączeniu z małą pamięcią na dane to strzał w stopę na samym początku.

| | |
| :-: | :-: |
| USB ports | 1x 2.0 |

Kolejny strzał w stopę to wyposażenie urządzenia w wolny port USB 2.0.

Jest to poniekąd głupie, ponieważ nawet urządzenia takie jak Raspberry Pi od dawna mają USB 3.0. Ignorując możliwości WiFi tego urządzenia (jak opisałem na początku), nie widzę sensu inwestowania w OpenWrt One, skoro Raspberry Pi 5 (wydany 23 października 2023) lepiej sobie poradzi (a gdy 9 stycznia 2025 ogłosili model z 16 GB RAM, różnica stała się jeszcze większa).

| | |
| :-: | :-: |
| Ethernet 1Gbit ports | 1 |
| Ethernet 2.5Gbit ports | 1 |

Urządzenie, w przeciwieństwie do typowego routera, ma tylko dwa porty LAN – jeden, który będzie wykorzystany do głównego połączenia internetowego (WAN, 2.5Gbit), i drugi do sieci lokalnej (1Gbit).

Wszyscy przyzwyczailiśmy się do co najmniej 5 portów: jednego WAN i czterech LAN. To ograniczenie zmusi nas do zastosowania przełącznika, jeśli chcemy podłączyć więcej niż jedno urządzenie przez kabel LAN. Nawet jeśli jest to kompromis, który rozumiem, zaawansowani użytkownicy już mają to wprowadzone.

Jak wspomniałem, WiFi nie jest mi potrzebne na samym routerze OpenWrt i osobiście, biorąc pod uwagę obecne tempo wdrażania nowych standardów WiFi, gorąco polecam porzucenie obsługi WiFi i skupienie się na większą pamięć na dane oraz szybszy port USB.

Szkoda, że OpenWrt One nie będzie czymś, co mogę polecić, jednak nadzieja nie jest stracona.

---

Warto wspomnieć, że OpenWrt One **nie** jest oficjalnie wspierane w **aktualnej stabilnej** wersji OpenWrt 23.05. Trwają prace nad wersją **24.10**, która w momencie pisania tego tekstu znajduje się w fazie **rc5** (Release Candidate 5). Nie jest to duży problem, ponieważ oczekuję, że wersja **24.10** zostanie szybko ukończona, ale oznacza to, że urządzenie zostało wydane, ale nie jest jeszcze gotowe do wdrożenia w środowisku produkcyjnym.

---

Zacząłem szukać dalej urządzenia, które bardziej odpowiadałoby moim potrzebom, ale nie zrujnowałoby mojego budżetu.

Od zawsze interesowała mnie firma GL.iNet i ich urządzenia, które standardowo są dostarczane z oprogramowaniem opartym na nieco przestarzałym, ale zmodyfikowanym OpenWrt (21.02, wydanym 4 września 2021).

Ich urządzenia są szeroko wspierane przez społeczność OpenWrt, co pozwala nam na wgranie najnowszej stabilnej wersji OpenWrt, czyniąc je doskonałą bazą do wdrażania OpenWrt w środowisku produkcyjnym.

Jednak w przeszłości urządzenia te (zwłaszcza te z budżetowego przedziału cenowego) odstawały pod względem specyfikacji, a to, które znalazłem, które mogłoby potencjalnie zastąpić moje RAC2V1K lub WRT3200, było poza moim zasięgiem finansowym.

Sytuacja zmieniła się niedawno, gdy firma zaprezentowała odświeżone urządzenia. Nie monitoruję ich produktów na co dzień, ale dopiero po wydaniu OpenWrt One zacząłem szukać w ich ofercie czegoś, co mogłoby być **idealnym routerem OpenWrt**.

{{% ads-in-article %}}

## GL.iNet Brume 2

Brume 2, czyli [GL-MT2500](https://www.gl-inet.com/products/gl-mt2500/), nie jest nowym urządzeniem (wydane w październiku 2022), ale gdy pierwsza wersja Release Candidate nadchodzącego [OpenWrt 24.10](https://openwrt.org/releases/24.10/changelog-24.10.0-rc1) została wydana, dodano wsparcie dla GL.iNet GL-MT2500, co skłoniło mnie do sprawdzenia, czym jest to urządzenie i ile kosztuje. Byłem pozytywnie zaskoczony, ale jednocześnie zacząłem kwestionować sens wydania urządzenia OpenWrt One.

| | |
| :-: | :-: |
| CPU | MT7981B |
| CPU MHz | 1300 |
| CPU Cores_numcores | 2 |

Brume 2 ma ten sam procesor co OpenWrt One.

| | |
| :-: | :-: |
| Flash MB | EMMC 8GB |

Tutaj różnica jest ogromna. Dla OpenWrt i przechowywania pakietów, urządzenie wyposażono w 8 GB (8192 MB) pamięci masowej. W porównaniu do 256 MB w OpenWrt One wybór jest oczywisty.

| | |
| :-: | :-: |
| RAM MB | DDR4 1GB |

To urządzenie wyposażono w 1 GB pamięci DDR4 RAM (1024 MB), tak samo jak OpenWrt One.

| | |
| :-: | :-: |
| USB ports | 1x 3.0 |

W porównaniu do OpenWrt One, Brume 2 ma USB 3.0 zamiast 2.0. To ogromna różnica i kluczowy aspekt dla osób takich jak ja, które chcą wykorzystać ten port do podłączenia dysku twardego USB do przechowywania plików w sieci.

| | |
| :-: | :-: |
| Ethernet 1Gbit ports | 1 |
| Ethernet 2.5Gbit ports | 1 |

Podobnie jak w OpenWrt One, urządzenie ma tylko 2 porty – WAN z 2.5 Gbit i LAN z 1 Gbit. Jak wspomniano, prawdopodobnie będę potrzebował switcha, aby podłączyć więcej urządzeń w mojej sieci, ale to nie jest problemem (jak już wcześniej wspomniałem).

---

Brume 2 nie posiada żadnych możliwości WiFi, co dla mnie jest zaletą. Jak wspomniałem na początku, biorąc pod uwagę obecny rozwój standardów WiFi, jeśli będę chciał przejść z WiFi 6 (OpenWrt One) na WiFi 7, wystarczy, że zmienię mój TP-Link RE700X, zamiast wymieniać cały router OpenWrt.

Co ciekawe, OpenWrt oficjalnie „dopiero co” dodało wsparcie dla Brume 2 w nadchodzącym 24.10, podczas gdy na [oficjalnej stronie](https://www.gl-inet.com/products/gl-mt2500/) napisano, że działa on na OpenWrt 21.02, które jest prawdopodobnie bezpośrednio zmodyfikowanym oprogramowaniem przez firmę GL.iNet dla ich urządzeń.

Nie jestem zainteresowany używaniem ich oprogramowania, a bardziej chciałbym skupić się na ich sprzęcie, gdy tylko wersja 24.10 stanie się stabilna (co powinno nastąpić w ciągu najbliższych tygodni).

---

Jak wspomniano wcześniej, gdy wydano OpenWrt One, jego twórcy chcieli stworzyć urządzenie wsdzystko w jednym (All-In-One), które jednak wymagało kompromisów w zakresie komponentów, aby utrzymać przystępny przedział cenowy.

Dodali WiFi, ale poświęcili to na rzecz słabej pamięci masowej i wolnego portu USB. To dało cenę $89 (ok. £73), po „wirtualnym” zastosowaniu 50% zniżki na AliExpress od ceny, której nigdy nie było!

Brume 2 jest dostępny w dwóch wersjach – w obudowie plastikowej i w aluminiowej.

Aluminiowa wersja jest nieco droższa, kosztując £63.90, w porównaniu do wersji plastikowej, która kosztuje około £50.90 w [oficjalnym sklepie](https://store-uk.gl-inet.com/collections/security-gateways).

Przy ograniczonym budżecie £50.90 (nawet £63.90) to świetna cena za taki sprzęt. Nawet jeśli trzeba zainwestować w urządzenie WiFi (jak TP-Link RE700X, które posiadam), nadal uważam, że na dłuższą metę jest to lepsze podejście niż inwestowanie w OpenWrt One.

Gdy zdecyduję się przejść z WiFi 6 na WiFi 7, nie będę musiał nic robić z moim urządzeniem OpenWrt (Brume 2), wystarczy, że wymienię urządzenie na jedno z takich:

- [RE800BE (BE19000 Tri-Band Wi-Fi 7 Range Extender)](https://www.tp-link.com/uk/home-networking/range-extender/re800be/)
- [RE655BE (BE11000 Tri-Band Wi-Fi 7 Range Extender)](https://www.tp-link.com/uk/home-networking/range-extender/re655be/)
- [RE550BE (BE9300 Tri-Band Wi-Fi 7 Range Extender)](https://www.tp-link.com/us/home-networking/range-extender/re550be/)

Lub, przy ograniczonym budżecie, bardziej prawdopodobnie wybiorę:
- [RE235BE (BE3600 Dual-Band Wi-Fi 7 Range Extender)](https://www.tp-link.com/us/home-networking/range-extender/re235be/)

---

Gdy zacząłem zastanawiać się nad wymianą mojego RAC2V1K, pomyślałem także o poborze mocy mojego obecnego urządzenia. Ceny energii tak bardzo wzrosły, że każda oszczędność ma znaczenie.

RAC2V1K zasilany jest przez 12V DV 2.5A, a maksymalne zużycie wynosi 30 watów.

Brume 2 korzysta ze standardowego ładowania USB-C o mocy 5V 2A, co oznacza maksymalnie 10 watów potrzebnych dla urządzenia.

OpenWrt One wykorzystuje USB-PD o wartości 15V 2A, co daje 30 watów.

---

Na razie niczego jeszcze nie wymieniam, ponieważ czekam na stabilne wydanie OpenWrt 24.10, ale już mam plan, jakie urządzenie wykorzystam w tym celu.

Rok 2025 zapowiada się ekscytująco.

> Stabilna wersja OpenWrt 24.10.0 została [wydana](https://forum.openwrt.org/t/openwrt-24-10-0-first-stable-release/223845) 6 lutego 2025 roku.


---
## Moje Gwiazdki GitHuba na koniec 2024
- **URL:** https://dariusz.wieckiewicz.org/moje-gwiazdki-githuba-na-koniec-2024/
- **Date:** 2024-12-31
- **Tags:** github, github stars, wgcf, sniffnet, hugo, giscus, modern font stacks, google webfonts helper, minify, instant.page, ai.robots.txt, snow fall, country flag emoji polyfill, PowerToys, Microsoft Activation Scripts, WhyNotWin11, Files, WindowsAppsUnfukker, CapsLockIndicator, pdfsam, brew, Keka, cryptomator, Monolingual, mac-cleanup-py, marktext, maestral, Silicon, UTM, pika, Lockdown iOS, toolz, stats, AmazeFileManager, log2ram, jan, yt-dlp, YoutubeDownloader

### Content

GitHub to świetne miejsce, aby znaleźć dobre zasoby i rozwiązania. Zawsze, gdy potrzebuję czegoś osobiście lub zawodowo, jeśli rozwiązanie jest naprawdę przydatne, upewniam się, że dodaję do niego gwiazdkę.

Regularnie przeglądam swoje gwiazdki, a 31 grudnia 2024 roku nie było inaczej.

Pod koniec 2024 roku zgromadziłem następujące repozytoria, które naprawdę warto poznać.

> Lista jest starannie dobrana, a wybieram te, które warto znać w nadchodzącym roku, 2025.

<!--more-->

## Sieć

### [ViRb3 / wgcf](https://github.com/ViRb3/wgcf)

> 🚤 Wieloplatformowe, nieoficjalne CLI dla Cloudflare Warp

**wgcf** to skrypt powłoki umożliwiający rejestrację i generowanie poświadczeń dla Cloudflare Warp do użycia w aplikacji WireGuard zamiast oficjalnej aplikacji.

Napisałem trochę o tym w moim wpisie [Turbodoładowanie połączenia internetowego (WARP, IPv6, OpenWrt)](/turbodoladowanie-polaczenia-internetowego/).

### [GyulyVGC / sniffnet](https://github.com/GyulyVGC/sniffnet)

> Wygodne monitorowanie ruchu internetowego 🕵️‍♂️

Kiedy muszę przeanalizować ruch sieciowy, najpierw sięgam po Wireshark. Jednak w niektórych przypadkach, szczególnie na macOS, gdy analizuję ruch generowany przez konkretne aplikacje, wolę Sniffnet, głównie ze względu na jego prostszy interfejs w porównaniu do Wiresharka.

{{% ads-in-article %}}

## WebDev

### [gohugoio / hugo](https://github.com/gohugoio/hugo)

> Najszybszy na świecie framework do budowy stron internetowych.

Hugo to framework, który tworzy wszystkie moje strony internetowe. Od [prywatnych](/moja-strona-ponownie-moja/) po profesjonalne [strony firmowe](/kolejna-strona-oparta-na-hugo-paraplan-com-pl/), to narzędzie generuje statyczne strony internetowe, które mogą obsługiwać rosnący ruch bez kompromisów. W przeszłości codziennie zmagałem się z WordPressem i zasobami hostingowymi, ale odkąd przeszedłem na Hugo, wszystko to jest już za mną, i nie mam zamiaru wracać.

Oczywiście budowanie stron za pomocą Hugo wymaga "myślenia inaczej". Jednak po zrozumieniu tego szybko zauważysz, że te strony nie są tak "statyczne", jak mogłoby się wydawać.

### [giscus / giscus](https://github.com/giscus/giscus)

> System komentarzy oparty na GitHub Discussions. :octocat: 💬 💎

GitHub oferuje rozwiązanie w postaci Discussions dla wszystkich swoich repozytoriów. To rodzaj forum społecznościowego, gdzie ludzie mogą dyskutować na różne tematy. Giscus integruje Discussions z Twoją stroną internetową. W ten sposób masz doskonałe rozwiązanie dla systemu komentarzy, które jest łatwe, dostępne i oferuje prostą integrację ze statycznymi stronami internetowymi stworzonymi za pomocą Hugo i innych generatorów stron statycznych.

### [system-fonts / modern-font-stacks](https://github.com/system-fonts/modern-font-stacks)

> Stos systemowych czcionek CSS zorganizowany według klasyfikacji krojów pisma dla każdego nowoczesnego systemu operacyjnego

Czcionki na stronach internetowych nadają im unikalny wygląd. Użytkownicy, wchodząc w interakcję z nimi, wyrabiają sobie opinię o stronie w ciągu pierwszych sekund od jej załadowania. Czasami, budując strony internetowe, możesz mieć trudności z wyborem odpowiedniej czcionki, która dobrze wygląda na wszystkich urządzeniach użytkowników. Czcionki Systemowe umożliwiają stworzenie strony internetowej, która wygląda możliwie jak najbardziej zbliżenie do systemu, na którym jest przeglądana. Jeśli jest to iOS, zauważysz, że czcionka systemowa pasuje do czcionki na stronie. Tworzy to doskonałe doświadczenie użytkownika bez potrzeby dostarczania dodatkowych zasobów, aby strona wyglądała "w porządku".

### [majodev / google-webfonts-helper](https://github.com/majodev/google-webfonts-helper)

> Bezproblemowy sposób na samodzielne hostowanie Google Fonts. Pobierz pliki eot, ttf, svg, woff i woff2 + fragmenty CSS

Choć czcionki systemowe mają swoje zalety, istnieją środowiska, w których chcemy zachować tę samą wizualną spójność dla użytkowników, niezależnie od urządzenia, na którym otwierana jest strona. [Google Fonts](https://fonts.google.com) to świetne narzędzie do dodawania niestandardowych czcionek do stron internetowych, jednak mogą one negatywnie wpłynąć na wydajność. Czasami ładowanie czcionek z serwerów Google może trwać znacznie dłużej niż ich obsługa z tego samego serwera, co strona internetowa. Google WebFonts Helper to wygodne narzędzie, które pozwala pobrać czcionki Google i obsługiwać je wraz ze swoją stroną internetową (lub aplikacją) z tego samego źródła, co sprawia, że są szybsze i łatwiejsze w zarządzaniu i utrzymaniu.

### [tdewolff / minify](https://github.com/tdewolff/minify)

> Minifikatory w języku Go dla formatów internetowych

To repozytorium zawiera minifikator napisany w języku Go. Jego głównym celem jest ponowne przetwarzanie plików (takich jak te używane na stronach internetowych i w aplikacjach internetowych) w celu usunięcia zbędnych elementów i zmniejszenia ich rozmiaru poprzez zastępowanie niektórych nazw zmiennych prostszymi alternatywami, które zajmują mniej miejsca.

Kiedy publikuję swoją stronę internetową za pomocą [Hugo](https://github.com/gohugoio/hugo), automatycznie minifikuję wszystkie niezbędne pliki, aby poprawić wydajność strony.

Chociaż nie używam tego repozytorium na co dzień, jest ono dla mnie kluczowe podczas ponownego przetwarzania mojego [Minimal Google Analytics 4 Snippet](/en/minimal-google-analytics-4-snippet/) przed jego opublikowaniem. Korzystając z [Demo Online](https://go.tacodewolff.nl/minify), przygotowuję gotową, zminifikowaną wersję snippetu, która nie jest później ponownie przetwarzana, co pozwala uniknąć różnych problemów z kompatybilnością, które mogą się pojawić.

### [instantpage / instant.page](https://github.com/instantpage/instant.page)

> Uczyń strony swojej witryny natychmiastowymi w 1 minutę i popraw współczynnik konwersji o 1%.

To repozytorium zawiera świetny skrypt, który, dodany do strony internetowej lub aplikacji internetowej, może znacząco poprawić doświadczenie użytkownika podczas nawigacji między podstronami witryny.

Kiedy odwiedzasz stronę internetową i chcesz kliknąć link, zwykle najpierw na niego najeżdżasz kursorem przed kliknięciem. Dzięki instantpage docelowa strona jest już wstępnie załadowana, gdy tylko najedziesz na link. Po kliknięciu linku wita Cię w pełni załadowana strona, bez konieczności czekania na załadowanie zasobów. Może to wydawać się drobiazgiem, ale na dużych stronach, gdzie użytkownicy nawigują poza jedną stronę, pomaga to w jak najszybszym dostarczaniu treści. Aktywnie używam tego na [stronie mojego pracodawcy](https://andrewsfasteners.uk).

### [ai-robots-txt / ai.robots.txt](https://github.com/ai-robots-txt/ai.robots.txt)

> Lista agentów AI i robotów do zablokowania.

To repozytorium zawiera zbiorczą listę identyfikatorów dla web crawlerów związanych z firmami AI, które wykorzystują treści stron internetowych do trenowania AI. Jeśli nie chcemy, aby tak się działo, możemy wprowadzić niektóre z linii do naszego pliku `robots.txt`, aby ograniczyć ich możliwość korzystania z naszych treści bez wyraźnej zgody.

Choć przestrzeganie reguł w pliku `robots.txt` nie jest obowiązkowe, czasami możemy chcieć chronić swoją własną twórczość, i w tym miejscu to repozytorium pomaga rozwiązać ten problem.

### [zachleat / snow-fall](https://github.com/zachleat/snow-fall)

> Komponent internetowy, który dodaje efekt padającego śniegu do Twojej strony (lub elementu na Twojej stronie).

To prosta, świąteczna atrakcja dla stron internetowych i aplikacji webowych, która pozwala dodać efekt padającego śniegu. Kiedy wszyscy jesteśmy w świątecznym, przedbożonarodzeniowym nastroju, miło jest widzieć, że niektóre strony internetowe dzielą z nami w ten radosny czas.

### [talkjs / country-flag-emoji-polyfill](https://github.com/talkjs/country-flag-emoji-polyfill)

> Dodaj flagi krajów jako emoji do przeglądarek opartych na Chromium na systemie Windows.

Tworząc strony internetowe, lubię używać flag krajów tam, gdzie to możliwe, zamiast ładować niepotrzebne zasoby na coś, co jest już wbudowane w większość systemów operacyjnych. Piszę „większość”, ponieważ chociaż działa to dobrze na urządzeniach Apple i Android — podobnie jak emoji — na Windowsie, od lat flagi są wyświetlane jako tekst, np. „PL” (🇵🇱) lub „GB” dla flagi 🇬🇧. Ten prosty skrypt pomaga rozwiązać ten problem.

{{% ads-in-article %}}

## Windows

### [microsoft / PowerToys](https://github.com/microsoft/PowerToys)

> Narzędzia systemowe Windows do maksymalizacji produktywności

PowerToys to świetny i darmowy „szwajcarski scyzoryk” od Microsoftu. Ta aplikacja to zbiór mini-aplikacji, które umożliwiają różne funkcje w systemie i pomagają zwiększyć produktywność na urządzeniach z systemem Windows. Aktywnie korzystam z niej w pracy przy takich zadaniach jak hurtowa zmiana nazw plików, zmiana rozmiaru obrazów, zapobieganie przechodzeniu urządzenia w tryb uśpienia czy korzystanie z jednej klawiatury i myszy na dwóch oddzielnych komputerach z systemem Windows.

To narzędzie to must-have dla tych, którzy nie chcą tracić czasu na zbędne zadania i chcą zapewnić, by ich urządzenie wspierało ich, a nie przeszkadzało w produktywnym dniu.

### [massgravel / Microsoft-Activation-Scripts](https://github.com/massgravel/Microsoft-Activation-Scripts)

> Open-source aktywator Windows i Office z metodami aktywacji HWID, Ohook, KMS38 oraz Online KMS, a także zaawansowanymi narzędziami do rozwiązywania problemów.

Czasami, mimo posiadania wszystkich niezbędnych licencji, serwery aktywacyjne Microsoftu mogą powodować problemy, które trudno rozwiązać. Ten skrypt oferuje zaawansowane narzędzia do rozwiązywania problemów, pomagając użytkownikom w ich rozwiązaniu na komputerach.

_Oczywiście skrypt ten może być wykorzystywany również w innych (mniej legalnych) celach, ale w mojej opinii, Microsoft, na swojej własnej platformie (GitHub), nie wydaje się mieć z tym problemu. Dlatego nie ma przeciwwskazań, by go polecać, podobnie jak [alsyundawy / Microsoft-Office-For-MacOS](https://github.com/alsyundawy/Microsoft-Office-For-MacOS)._

### [rcmaehl / WhyNotWin11](https://github.com/rcmaehl/WhyNotWin11)

> Skrypt wykrywający przyczyny, dla których Twój komputer nie jest gotowy na Windows 11. Teraz z obsługą sprawdzania aktualizacji!

To narzędzie spoza Microsoftu to świetna aplikacja pomagająca zrozumieć, dlaczego Twoje urządzenie nie może zostać zaktualizowane do Windows 11 z Windows 10. Ponieważ koniec wsparcia dla Windows 10 zaplanowano na październik 2025 roku, to narzędzie jest niezbędne dla każdego, kto chce wiedzieć, jakie zmiany (jeśli to możliwe) są potrzebne, aby przygotować swoje urządzenie na Windows 11.

### [files-community / Files](https://github.com/files-community/Files)

> Nowoczesny menedżer plików pomagający użytkownikom organizować ich pliki i foldery.

Windows Explorer to domyślny sposób przeglądania plików w systemie operacyjnym Windows. Jednak bardziej zaawansowani użytkownicy często korzystają z innych narzędzi, aby zwiększyć swoją produktywność. Osobiście pamiętam czasy, kiedy [Total Commander](https://www.ghisler.com) był dla mnie aplikacją obowiązkową. Files App to nowoczesny odpowiednik zaawansowanego Eksploratora Windows, z dużo przyjemniejszym interfejsem dla (obecnie) młodszych zaawansowanych użytkowników, którzy nie mieli okazji doświadczyć Norton Commandera w DOS-ie. To były czasy, kiedy AI było tylko fikcją z filmu *Terminator*, a wielu z nich prawdopodobnie nawet jeszcze się nie urodziło.

### [AgentRev / WindowsAppsUnfukker](https://github.com/AgentRev/WindowsAppsUnfukker)

> Skrypt PowerShell do naprawy błędów i awarii związanych z WindowsApps.

Niedawno pomagałem komuś, kogo urządzenie z Windows 10 miało problem z uprawnieniami do plików i folderów. Mimo przeprowadzenia napraw i ponownych instalacji nadal miałem trudności z uruchomieniem Microsoft Store oraz wbudowanych aplikacji Windows, takich jak Zdjęcia.

Był to niezwykle irytujący problem, a ja spędziłem zbyt dużo czasu, próbując go rozwiązać. Ta aplikacja pomogła mi przywrócić wszystkie uprawnienia do właściwego stanu, a wszystko zaczęło działać poprawnie, w tym możliwość instalowania i uruchamiania nowo zainstalowanych aplikacji z Microsoft Store.

Był to niezwykle frustrujący problem, ale to narzędzie było fantastyczne w jego rozwiązaniu. Nadal czuję frustrację, jaką odczuwałem, gdy wszystko nie działało, i doskonale rozumiem, dlaczego w nazwie tej aplikacji znajduje się „unfukker”. Całkowicie zrozumiałe!

### [jonaskohl / CapsLockIndicator](https://github.com/jonaskohl/CapsLockIndicator)

> Małe narzędzie wskazujące stan klawiszy Num Lock, Caps Lock i Scroll Lock.

Pracując na wielu ekranach i nie mając czasu, by spojrzeć na klawiaturę i sprawdzić, czy CapsLock lub NumLock jest włączony, możesz potrzebować jakiejś wizualnej wskazówki dotyczącej ich statusu. Czasami możesz także korzystać z klawiatur bez wskaźnika LED stanu CapsLock, co bardzo utrudnia zgadnięcie, czy piszesz wielkimi literami, czy nie. Ta prosta, ale konfigurowalna i darmowa aplikacja umożliwia wyświetlanie powiadomień wizualnych po naciśnięciu określonych klawiszy systemowych oraz zawiera ikonę w zasobniku systemowym, która szybko pokazuje, co jest aktywne, a co nie.

### [torakiki / pdfsam](https://github.com/torakiki/pdfsam)

> PDFsam, aplikacja desktopowa do dzielenia, łączenia, mieszania, obracania plików PDF oraz wyodrębniania stron.

Codziennie pracuję z plikami PDF. Czasami muszę je przearanżować, podzielić, usunąć strony lub je wyodrębnić. Bez potrzeby inwestowania w Adobe Acrobat mogę wykonywać te zadania bez wysiłku za pomocą PDFsam. To świetne narzędzie dla użytkowników, którzy chcą maksymalizować swoją produktywność bez wydawania dodatkowych pieniędzy na oprogramowanie, które nie oferuje dobrej relacji jakości do ceny.

{{% ads-in-article %}}

## Apple

### [Homebrew / brew](https://github.com/Homebrew/brew)

> 🍺 Brakujący menedżer pakietów dla macOS (lub Linuxa)

Jeśli kiedykolwiek korzystałeś z Linuksa, na przykład Debiana lub dystrybucji opartych na Debianie, i instalowałeś aplikacje w terminalu za pomocą `apk`, wiesz, jak świetne jest to narzędzie.

W macOS większość aplikacji jest instalowana za pomocą specyficznych pakietów instalacyjnych pobieranych ze stron internetowych deweloperów. Czasami można je znaleźć w App Store, jednak macOS App Store daleki jest od doskonałości, ponieważ wiele oprogramowania po prostu nie jest tam dostępne.

System Apple dla komputerów nie jest tak zamknięty, jak iOS czy iPadOS, więc możesz instalować potrzebne aplikacje, a nie polegać wyłącznie na tym, co jest dostępne w App Store.

Jeśli chcesz rozszerzyć funkcjonalność swojego systemu operacyjnego, często zwrócisz się do Terminala, w którym możesz uruchamiać bardziej zaawansowane aplikacje. Tu przydaje się Brew. Po dodaniu do systemu rozszerza bibliotekę dostępnego oprogramowania, które można zainstalować za pomocą prostego polecenia.

Przypomina mi `apk`, ale w środowisku macOS.

Swoją przygodę zaczniesz na [brew.sh](https://brew.sh) zamiast w tym repozytorium, ale z pewnością zasługuje ono na gwiazdkę.

### [aonez / Keka](https://github.com/aonez/Keka)

> Archiwizator plików dla macOS i iOS

Podobnie jak w przeszłości Windows miał kompresory i dekompresory, takie jak WinZip i WinRar — zanim podstawowe funkcje kompresji i dekompresji zostały wbudowane w system — macOS również ma swój własny dekompresor i kompresor.

Jednak te podstawowe narzędzia są ograniczone funkcjonalnie. Aby je rozszerzyć, używam [7zip](https://www.7-zip.org) w środowisku Windows. Chociaż 7zip nie jest oficjalnie dostępny na macOS, Keka jest najbliższą alternatywą, oferującą ładny interfejs z wszystkimi opcjami potrzebnymi do osiągnięcia pożądanych rezultatów.

### [cryptomator / cryptomator](https://github.com/cryptomator/cryptomator)

> Cryptomator dla Windows, macOS i Linux: Bezpieczne szyfrowanie po stronie klienta dla przechowywania w chmurze, zapewniające prywatność i kontrolę nad Twoimi danymi.

Cryptomator to świetne narzędzie, które pozwala przechowywać zaszyfrowane pliki w różnych usługach przechowywania w chmurze bez ryzyka, że zostaną przechwycone, zeskanowane przez osoby trzecie lub że ich treść wycieknie.

Tworząc folder z hasłem głównym i kluczem, wszystkie elementy w środku są zapisywane w formie zaszyfrowanej. Gdy są dostępne bezpośrednio, wyglądają jak pliki pełne niezrozumiałych danych, ale otwierane przez Cryptomator ujawniają swoją zawartość.

Świetne narzędzie do przechowywania wysoce poufnych danych.

### [IngmarStein / Monolingual](https://github.com/IngmarStein/Monolingual)

> Usuń zbędne zasoby językowe z macOS.

Przydatne narzędzie do usuwania niepotrzebnych języków i zasobów z macOS, pomagające odzyskać cenne miejsce na dysku.

To narzędzie może nie być potrzebne przeciętnemu użytkownikowi. Jednak jeśli zaczyna Ci brakować miejsca, wraz z innymi narzędziami, takimi jak [OnyX](https://www.titanium-software.fr/en/onyx.html), jest to dobry punkt wyjścia.

### [mac-cleanup / mac-cleanup-py](https://github.com/mac-cleanup/mac-cleanup-py)

> 👨‍💻 Skrypt czyszczący w Pythonie dla macOS

Mac-Cleanup to kolejne narzędzie czyszczące instalowane za pomocą Brew i uruchamiane w terminalu. Umożliwia usunięcie wielu zbędnych plików z komputera, które zajmują miejsce bez potrzeby.

### [marktext / marktext](https://github.com/marktext/marktext)

> 📝 Prosty i elegancki edytor Markdown, dostępny dla Linuxa, macOS i Windows.

Lubię [Markdown](/markdown/) za jego prostotę i kompatybilność. Dzięki prostym elementom możesz pisać tekst w formacie zgodnym z Markdown, nawet używając notatnika, ale prawdziwe edytory Markdown ukazują pełny potencjał tego formatu.

Używam Markdown do treści moich stron internetowych budowanych w Hugo, a także do pisania szkiców przed przekształceniem ich w ostateczny format.

Na co dzień używam [iA Writer](https://ia.net/writer). Jest to jednak rozwiązanie płatne, a jeśli chcesz zaoszczędzić, Marktext jest edytorem, od którego warto zacząć.

### [samschott / maestral](https://github.com/samschott/maestral)

> Open-source'owy klient Dropbox dla macOS i Linuxa

Jeśli korzystasz z Dropboxa, prawdopodobnie używasz jego oficjalnej aplikacji klienckiej do synchronizacji plików z komputerem. Gdy przeszedłem na MacBooka z Apple Silicon, miałem trudności z oficjalnym klientem, który brakował natywnego wsparcia i nadmiernie obciążał zasoby. Chociaż z biegiem lat sytuacja się poprawiła, zdecydowałem się przejść na coś prostszego, co działa natywnie i nie zużywa nadmiernie zasobów systemowych. Maestral to lekki klient Dropbox zaprojektowany do synchronizacji potrzebnych plików na Twoim Macu.

### [DigiDNA / Silicon](https://github.com/DigiDNA/Silicon)

Silicon to prosta aplikacja, która skanuje aplikacje systemowe w celu identyfikacji, które z nich są natywnie kompatybilne z układami Apple, a które działają poprzez emulację aplikacji Intel. Aplikacje, które nie zostały zoptymalizowane, zazwyczaj zużywają więcej zasobów niż to konieczne, ponieważ emulacja wymaga dodatkowej mocy obliczeniowej, co również wpływa na żywotność baterii. Ta aplikacja szybko informuje, które aplikacje warto zaktualizować lub zastąpić kompatybilnymi, aby utrzymać wydajność urządzenia i baterii na optymalnym poziomie przez cały produktywny dzień.

### [utmapp / UTM](https://github.com/utmapp/UTM)

> Maszyny wirtualne dla iOS i macOS

UTM to darmowe oprogramowanie emulacyjne, które pozwala uruchamiać różne systemy operacyjne na macOS. Używałem go jako [alternatywy dla Parallels Desktop do uruchamiania Windows 11](/en/installing-windows-11-macos-apple-mac-m1-utm/) i polecam każdemu, kto chce zbadać możliwość emulacji. Chociaż obecnie nie korzystam aktywnie z UTM, ponieważ przeszedłem na VMware Fusion, gdy stał się darmowy dla użytkowników domowych, nadal mam go zainstalowanego i używam jako pierwszego wyboru, gdy potrzebuję emulować system Linux w macOS.

### [superhighfives / pika](https://github.com/superhighfives/pika)

> Otwarty kolor picker dla macOS

Pika to prosty kolor picker, który oferuje dodatkowe funkcje, takie jak sprawdzanie współczynnika kontrastu, miernik zgodności z WCAG oraz konwerter między różnymi formatami kolorów. Proste, ale bardzo przydatne narzędzie, które jest obowiązkowe dla każdego pracującego z grafiką i/lub stronami internetowymi.

### [confirmedcode / Lockdown-iOS](https://github.com/confirmedcode/Lockdown-iOS)

Lockdown to moja ulubiona aplikacja na iOS do blokowania reklam systemowych. Używam jej do blokowania natrętnych reklam w grach, które są nimi przeładowane, często zniechęcając do dalszej gry i zmuszając do jej odinstalowania.

Więcej na ten temat napisałem w moim poście [Zapora sieciowa (Firewall) dla iPhone, iPad i Mac - Lockdown Privacy](/firewall-iphone-ipad-mac-lockdown-privacy/).

### [d3ward / toolz](https://github.com/d3ward/toolz)

> Łatwy w użyciu interfejs i obszerna kolekcja narzędzi testowych do optymalizacji wydajności i doświadczenia użytkownika.

To repozytorium pozwala przetestować, jak skuteczny jest Twój AdBlocker. Niezależnie od tego, którego używasz, po [krótkim teście](https://d3ward.github.io/toolz/adblock) możesz zobaczyć, jak dobrze (lub źle) działa i zdecydować, czy nadszedł czas na coś lepszego.

### [exelban / stats](https://github.com/exelban/stats)

> Monitor systemu macOS w pasku menu

Stats to przydatne narzędzie do dodawania użytecznych statystyk do paska menu macOS. Osobiście używam go do wyświetlania zajętości dysku, aktywności sieciowej i stanu baterii z bardziej szczegółowymi informacjami niż te oferowane przez system.

## Android

### [TeamAmaze / AmazeFileManager](https://github.com/TeamAmaze/AmazeFileManager)

> Menedżer plików w stylu Material Design dla Androida

Chociaż nie korzystam z systemu Android na co dzień, gdy muszę, szczególnie podczas pracy z plikami, Amaze File Manager jest aplikacją do zarządzania plikami, po którą sięgam w pierwszej kolejności.

{{% ads-in-article %}}

## Linux

### [azlux / log2ram](https://github.com/azlux/log2ram)

> ramlog podobne do systemd (Umieszczanie logów w folderze RAM)

Podczas tworzenia niestandardowych rozwiązań z wykorzystaniem Raspberry Pi, czasami spotykam się z sytuacjami, w których karta SD lub pamięć USB ulegają uszkodzeniu. Bez odpowiedniego backupu mogę zmierzyć się z godzinami pracy, aby wszystko przywrócić do stanu pierwotnego. Problem z Raspberry Pi OS (wcześniej znanym jako Raspbian) polega na tym, że intensywnie zapisuje na lokalnym nośniku. Dzięki Raspberry Pi z większą ilością RAM-u możemy wykorzystać pamięć urządzenia do przechowywania niektórych logów, które nie muszą być zachowywane przez długi czas. To przydatne narzędzie pomaga w tym i zapobiega degradacji naszego nośnika danych.

## AI

### [janhq / jan](https://github.com/janhq/jan)

> Jan to open-source’owa alternatywa dla ChatGPT, która działa w 100% offline na Twoim komputerze. Obsługa wielu silników (llama.cpp, TensorRT-LLM)

Jeśli szukasz sposobu na uruchomienie AI, takiego jak ChatGPT, lokalnie na swoim komputerze i w trybie offline, Jan jest dobrym miejscem, od którego można zacząć. Chociaż nie używam go jeszcze intensywnie — ponieważ Apple Intelligence i ChatGPT wiodą prym — miło wiedzieć, że istnieje alternatywa.

## YouTube

### [yt-dlp / yt-dlp](https://github.com/yt-dlp/yt-dlp)

> Rozbudowany program wiersza poleceń do pobierania audio/wideo

Kiedy chciałem pobrać klip z YouTube, miałem trudności ze znalezieniem sensownego rozwiązania. Większość downloaderów online jest okropna — pełna reklam, próbująca ukraść Twoje dane i rzadko oferująca możliwość pobrania w najwyższej rozdzielczości bez dodatkowych opłat.

Yt-dlp przychodzi z pomocą. Można go uruchomić lokalnie w terminalu i robi dokładnie to, do czego jest przeznaczony.

### [Tyrrrz / YoutubeDownloader](https://github.com/Tyrrrz/YoutubeDownloader)

> Pobiera filmy i playlisty z YouTube

YoutubeDownloader to kolejne świetne rozwiązanie do pobierania klipów z YouTube. Chociaż można go uruchomić z terminala, oferuje również GUI (Graficzny Interfejs Użytkownika), co znacznie ułatwia korzystanie z niego.

----

I to wszystko.

Mam nadzieję, że znajdziesz tutaj coś przydatnego również dla siebie. Jeśli tak, zostaw gwiazdkę w odpowiednim repozytorium i daj znać jego twórcom, że ich praca jest bardzo doceniana.


---
## RCS na iPhone z iOS 18.2 - Nadzieje Przywrócone
- **URL:** https://dariusz.wieckiewicz.org/rcs-na-iphone-z-ios-18-2-nadzieje-przywrocone/
- **Date:** 2024-12-20
- **Tags:** RCS, iMessage, Apple, iOS 18.2, GiffGaff

### Content

Ogłoszenie wsparcia dla RCS na iPhone z iOS 18 było dla mnie dużym rozczarowaniem, o czym wspomniałem w moim [wcześniejszym wpisie](/rcs-na-iphone-z-ios-18-stracone-nadzieje/); jednakże w ostatnich dniach sytuacja się zmieniła.

<!--more-->

Dzięki iOS 18.2 większość głównych sieci w Wielkiej Brytanii pośpieszyła z ogłoszeniem, że wraz z tą aktualizacją kompatybilne urządzenia mogą wysyłać wiadomości do użytkowników z Androidem, używając technologii RCS.

Było to dla mnie zaskoczenie, ponieważ w okresie przedświątecznym przegapiłem wpis na GiffGaff Community zatytułowany [RCS services between iPhone and Android is here](https://community.giffgaff.com/d/34221681-rcs-services-between-iphone-and-android-is-here).

Odkryłem to, gdy postanowiłem wysłać wiadomość tekstową do jednego z moich znajomych i nagle pojawiła się jako Text Message - RCS.

Szybko sprawdziłem ustawienia Wiadomości i zauważyłem, że faktycznie miałem włączone RCS Messaging. Hurra!

W połączeniu z szeroko dostępnym WiFi Calling w GiffGaff, RCS działa również w miejscach, gdzie zasięg jest słaby, ale nadal masz dostęp do internetu przez WiFi.

Dla mnie było to jak wczesny prezent świąteczny, a także wspaniały prezent urodzinowy, ponieważ odkryłem to 20 grudnia!

Apple [śledzi funkcje](https://support.apple.com/en-gb/108048), które są dostępne na ich telefonach w zależności od dostawcy, z którego korzysta użytkownik. Pomimo że aktualizacja wpisu nie jest zbyt częste — na przykład w Wielkiej Brytanii RCS nie jest wymieniony dla O2/GiffGaff (choć jest dla O2 w innych krajach, takich jak Niemcy) — miło wiedzieć, że takie informacje są przekazywane między członkami sieci.

Co ważne, kiedy iPhone zostanie zaktualizowany do iOS 18.2, a sieć włączy RCS, funkcja ta zostanie domyślnie aktywowana, więc użytkownik nie musi robić nic dodatkowego.

Pomimo że niektóre sieci w Wielkiej Brytanii próbują przekonać użytkowników tanimi planami, które trwają tylko kilka miesięcy, GiffGaff nadal trzyma się mocno. Wiedzą, że oferują wartość za pieniądze i myślą długoterminowo o zrównoważonym rozwoju swojego biznesu i usług, zamiast gonić za szybkimi zyskami przed świętami, jak robią to niektórzy nierentowni operatorzy wirtualni w Wielkiej Brytanii.


---
## Zabezpieczanie ruchu DNS w systemie Windows 11 za pomocą Cloudflare dla Rodziny
- **URL:** https://dariusz.wieckiewicz.org/zabezpieczenie-dns-windows-11-cloudflare-for-families/
- **Date:** 2024-11-23
- **Tags:** Windows 11, 1.1.1.1, DNS przez HTTPS, DNS za pośrednictwem protokołu HTTPS, DoH, Cloudflare, Cloudflare for Families, Cloudflare dla Rodziny, DNS, encrypted DNS

### Content

Usługa DNS firmy Cloudflare, znana jako 1.1.1.1, zmieniła internet na lepsze i nadal wywiera znaczący wpływ każdego dnia.

Od ustawienia DNS na urządzeniu po zainstalowanie dedykowanej aplikacji do korzystania z technologii WARP, możesz przyspieszyć swoje połączenia, wybierając zoptymalizowane trasy dla ruchu.

Jeśli jesteś zaawansowanym użytkownikiem, możesz zabezpieczyć całą swoją sieć w domu lub w miejscu pracy, wdrażając technologię Cloudflare [na swoim routerze](/bezpieczny-dns/).

Dla niektórych użytkowników może to wydawać się zbyt przytłaczające.

Windows 11 wprowadził wbudowaną integrację dla Bezpiecznego DNS (Szyfrowanego), którą można wdrożyć na poziomie interfejsu (karty sieciowej, przewodowej lub bezprzewodowej). Dzięki temu wszystkie żądania DNS przechodzące przez nią będą szyfrowane.

<!--more-->

Cloudflare oferuje tzw. [1.1.1.1 dla rodzin](https://one.one.one.one/family/), który z dodatkowymi adresami DNS pozwala wdrożyć niezarządzaną ochronę przed złośliwym oprogramowaniem lub nawet dodać blokowanie treści dla dorosłych obok ochrony przed złośliwym oprogramowaniem.

[![Opcje — Cloudflare DNS dla rodzin](Options_Cloudflare_DNS_for_Families.png)](Options_Cloudflare_DNS_for_Families.png)

Oprócz podania konkretnych adresów do blokowania złośliwego oprogramowania i treści dla dorosłych, dostarczają również [instrukcje](https://developers.cloudflare.com/1.1.1.1/setup/windows/#windows-11) dotyczące sposobu wdrożenia tego na urządzeniu z systemem Windows 11. Mimo to jest jeden kluczowy dodatek, który chciałbym podkreślić — szyfrowanie.

Nawet najkrótsza i najprostsza instrukcja nie pomoże bez wizualizacji, dlatego dodam to przy pomocą kilku obrazów.

## Konfiguracja w systemie Windows 11

> Na podstawie systemu Windows 11 (24H2)

1. Kliknij na **menu Start** i wybierz **Ustawienia**.

[![Windows 11 - Menu Start - Ustawienia](Windows_11_szyfrowany_DNS_124826.png)](Windows_11_szyfrowany_DNS_124826.png)

2. Przejdź do **Sieć i Internet**.

[![Windows 11 - Sieć i internet - Ethernet](Windows_11_szyfrowany_DNS_124834.png)](Windows_11_szyfrowany_DNS_124834.png)

3. Kliknij przycisk **Edytuj** obok sekcji **Przypisanie serwera DNS**.

[![Windows 11 - Przypisanie serwera DNS - Przycisk Edytuj](Windows_11_szyfrowany_DNS_124919.png)](Windows_11_szyfrowany_DNS_124919.png)

4. Zmień opcję **Automatyczny (DHCP)** na **Ręczny**.

[![Windows 11 - Edycja ustawień DNS - Automatyczny (DHCP)](Windows_11_szyfrowany_DNS_124929.png)](Windows_11_szyfrowany_DNS_124929.png)

5. Przełącz przełącznik na **Włączone** dla **IPv4** i wpisz żądany serwer DNS w **Preferowany serwer DNS**, a także **Alternatywny serwer DNS**.

[![Windows 11 - Edycja ustawień DNS - Ręczna - Wyłączone](Windows_11_szyfrowany_DNS_124944.png)](Windows_11_szyfrowany_DNS_124944.png)

{{< details-summary "Użyj resolvera 1.1.1.1" >}}
```
1.1.1.1
1.0.0.1
```
{{< /details-summary >}}

{{< details-summary "Blokuj złośliwe oprogramowanie za pomocą 1.1.1.1 dla rodzin" >}}
```
1.1.1.2
1.0.0.2
```
{{< /details-summary >}}

{{< details-summary "Blokuj złośliwe oprogramowanie i treści dla dorosłych dzięki 1.1.1.1 dla rodzin" >}}
```
1.1.1.3
1.0.0.3
```
{{< /details-summary >}}

[![Windows 11 — Edytuj ustawienia DNS — Ręczne — IPv4 włączone](Windows_11_szyfrowany_DNS_125019.png)](Windows_11_szyfrowany_DNS_125019.png)

6. Zmień ustawienie **DNS przez HTTPS** z **Wyłączone** na **Włączpne (szablon automatyczny)**.

Jak zobaczysz, poniższy szablon zostanie wypełniony odpowiednimi danymi dla usługi Cloudflare.

{{< details-summary "Dla resolvera 1.1.1.1" >}}
```
https://cloudflare-dns.com/dns-query
```
or
```
https://one.one.one.one/dns-query
```
{{< /details-summary >}}

{{< details-summary "Dla Blokowania złośliwego oprogramowanie za pomocą 1.1.1.1 dla rodzin" >}}
```
https://security.cloudflare-dns.com/dns-query
```
{{< /details-summary >}}

{{< details-summary "Dla Blokowania złośliwego oprogramowanie i treści dla dorosłych dzięki 1.1.1.1 dla rodzin" >}}
```
https://family.cloudflare-dns.com/dns-query
```
{{< /details-summary >}}

[![Windows 11 - Edycja ustawień DNS - Instrukcja - IPv4 włączone z szablonem DNS za pośrednictwem protokołu HTTPS](Windows_11_szyfrowany_DNS_125036.png)](Windows_11_szyfrowany_DNS_125036.png)

> Jeśli Twoja sieć używa protokołu **IPv6**, wykonaj te same czynności dla tego protokołu.

7. Ustaw przełącznik na **Włączone** dla **IPv6** i wpisz żądany serwer DNS w polach **Preferowany serwer DNS** oraz **Alternatywny serwer DNS**.

{{< details-summary "Użyj resolvera 1.1.1.1 (IPv6)" >}}
```
2606:4700:4700::1111
2606:4700:4700::1001
```
{{< /details-summary >}}

{{< details-summary "Blokuj złośliwe oprogramowanie za pomocą 1.1.1.1 dla rodzin (IPv6)" >}}
```
2606:4700:4700::1112
2606:4700:4700::1002
```
{{< /details-summary >}}

{{< details-summary "Blokuj złośliwe oprogramowanie i treści dla dorosłych dzięki 1.1.1.1 dla rodzin (IPv6)" >}}
```
2606:4700:4700::1113
2606:4700:4700::1003
```
{{< /details-summary >}}

> Jeśli wybierzesz **Włączone (szablon automatyczny)** dla połączenia **IPv6** i **szablon** nie zostanie automatycznie wypełniony, oznacza to, że Twoje połączenie sieciowe może nie mieć prawidłowej komunikacji przez IPv6 i możesz nie być w stanie tego ustawić. W takim przypadku pozostaw przełącznik IPv6 w pozycji **Wyłączonej**.

Kliknij **Zapisz**, aby zastosować zmiany.

Jeśli wszystko zostało wykonane poprawnie, zobaczysz, że Twój DNS jest ustawiony na korzystanie z usługi Cloudflare i dodatkowo jest szyfrowany, jak pokazano poniżej:

[![Windows 11 - Serwery DNS IPv4 - Szyfrowane](Windows_11_szyfrowany_DNS_125055.png)](Windows_11_szyfrowany_DNS_125055.png)

---

Jeśli wybrałeś tylko serwery DNS **1.1.1.1**, Twoje żądania zostaną zaszyfrowane i zoptymalizowane.

Jeśli wybierzesz opcję **Bezpieczeństwo** z serwerami **1.1.1.2**, Twój ruch zostanie również przefiltrowany pod kątem potencjalnego złośliwego oprogramowania.

W przypadku opcji **Rodzina** z serwerami **1.1.1.3**, oprócz filtrowania złośliwego oprogramowania, wdrożysz blokadę treści dla dorosłych.

---

I tak po prostu, bez instalowania żadnego dodatkowego oprogramowania, wprowadziliśmy zmiany w całym systemie, aby uczynić nasz ruch bardziej bezpiecznym.

W powyższym przykładzie wdrożyliśmy zmianę dla naszej karty sieciowej **Ethernet** (przewodowej). Dla większości użytkowników będzie to dotyczyć **Bezprzewodowej** (Wireless), ale warto zastosować to do wszystkich dostępnych interfejsów.

---

Aby sprawdzić, czy szyfrowany DNS działa, wystarczy przejść do [1.1.1.1/help](http://1.1.1.1/help/), gdzie po krótkiej analizie powinna zostać wyświetlona odpowiedź **Tak** w sekcji **Używanie DNS przez HTTPS (DoH)** (Using DNS over HTTPS (DoH)).


---
## Bluesky — docenienie zmiany i domena jako twój identyfikator
- **URL:** https://dariusz.wieckiewicz.org/bluesky-docenienie-zmiany-domena-jako-identyfikator/
- **Date:** 2024-11-17
- **Tags:** Bluesky, AT Protocol, ATProto, domain handle, domena jako identyfikator, domena jako nazwa użytkownika, niestandardowa nazwa użytkownika

### Content

Kiedy Jack Dorsey odszedł z Twittera, trafił on w tłuste ręce innego miliardera, który zamienił go w ściek.

Nie mam nic przeciwko miliarderom. Pozwólmy im mieć pieniądze; po prostu czyńmy z nimi dobro, a nie zło. Przypomina mi to mema, który jest prawdziwy dla każdej ciężko pracującej osoby:

> „Większość ludzi nie chce być bogata. Chcą po prostu mieć wystarczająco dużo pieniędzy, żeby się już nie martwić”.

<!--more-->

[Zakończyłam korzystanie z tej platformy w grudniu 2022 r.](/dosyc-tego-zegnaj-twitter/) i skupiłam się na miejscach, które nie przyczyniają się do niepokoju ani nie wpływają negatywnie na moje zdrowie psychiczne.

Wiele osób czuło to samo i przeniosło się do instancji Mastodon lub Threads (Meta, Facebook).

Na szczęście zespół Meta nadal dba o moderację śmieci, które ludzie tam publikują. Dlatego przy odpowiednim typie obserwujących możesz widzieć tylko rzeczy, które chcesz przeczytać lub obejrzeć.

> Może to zacząć się zmieniać w niedalekiej przyszłości, ponieważ Meta już ogłosiło, że planuje wdrożyć reklamy do wątków. W rezultacie sytuacja może stać się równie nieprzyjemna, jak obecnie na Facebooku.

W moim przypadku wyklucza to samą platformę Facebook, ponieważ ich główna platforma wkurza mnie codziennie swoimi okropnymi rekomendacjami, kradnącymi czas filmami i reklamami w co drugim poście.

Na Facebooku dzieje się tak wiele śmieci, że rzadko widzę posty moich znajomych z mojej grupy. Z tego powodu używam go do konkretnych rzeczy i staram się nie spędzać tam zbyt wiele czasu, ponieważ może mnie łatwo wciągnąć w króliczą norę. Zanim się zorientuję, straciłem godzinę swojego czasu na tym świecie.

Mając ograniczony czas tutaj, zaczęłam trochę bardziej dbać — zwłaszcza odkąd [skończyłam 40 lat](/kamien-milowy-osiagniety---40/) — o to, co jest naprawdę ważne w życiu.

Wracając do początku.

Jack Dorsey, kiedy zdecydował się założyć Bluesky, przypomniał mi o innym memie, który niedawno pojawił się na mojej drodze:

> „Nie bój się zaczynać od nowa. Tym razem nie zaczynasz od zera; zaczynasz od doświadczenia”.

Muszę przyznać, że biorąc pod uwagę chaos, który ostatnio panuje w Ameryce — i to, co będzie się działo przez następne cztery lata — zauważyliśmy kolejną falę dobrze życzących ludzi, którzy kończą swoje doświadczenia z „X” (dawniej Twitter).

Widzieliśmy pierwszy exodus użytkowników, gdy człowiek Rakieta przejął władzę, a teraz widzimy kolejną falę, gdy na platformie panuje chaos.

Tym razem ludzie dołączają do Bluesky, i nie są to tylko mniej znane osoby. Firmy takie jak Australian Airlines wykorzystują okazję, aby opuścić toksyczne środowiska dzięki sprytnemu zwrotowi akcji (“We took a moment to locate our nearest X-it”). Nawet duże organizacje informacyjne, takie jak *The Guardian*, zdały sobie sprawę, że środowisko platformy nie jest już zgodne z ich wartościami.

Pomimo bycia również na Threads, postanowiłem dołączyć do Bluesky, aby zobaczyć, w jaki sposób „doświadczenie” Jacka posłuży większemu dobru i, miejmy nadzieję, raz na zawsze położy kres martwemu ptakowi.

{{% ads-in-article %}}

Kiedy zakładałem konto, wybrałem nazwę użytkownika, która była powiązana z domeną **.bsky.social**, tworząc tak zwane „uchwyty” (handle, identyfikator), taki jak **@idarek.bsky.social**.

Wkrótce potem w moim kanale pojawił się artykuł o możliwości wykorzystania mojej domeny jako uchwytu (identyfikatora). To dobry sposób, aby zostać znalezionym na platformie i zweryfikować się bez płacenia za śmieszny niebieski znacznik.

W mniej niż dwie minuty mój identyfikator — pod którym można mnie znaleźć na platformie — zmienił się z *@idarek.bsky.social* na **@dariusz.wieckiewicz.org**. Wszystko to dzięki implementacji [protokołu AT](https://en.wikipedia.org/wiki/AT_Protocol) w Bluesky.

Możesz zostać rozpoznany i zweryfikowany na platformie Bluesky bez tworzenia własnego serwera lub instancji (jak w Mastodon).

Dla tych, którzy zdecydowali się uczynić Bluesky swoim nowym domem i są właścicielami swojej domeny, powinien to być pierwszy krok na ich liście rzeczy do zrobienia.

Dzięki prostemu krokowi polegającemu na dodaniu rekordu TXT do konfiguracji DNS Twojej domeny, ktoś taki jak Stephen King (**@stephenking.bsky.social**) może zostać znaleziony jako *@stephenking.com*.

Cały proces zmiany identyfikatora na używanie Twojej domeny jest wyjaśniony w [Jak ustawić swoją domenę jako swój uchwyt (identyfikator)](https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial).

Jeśli przewiniesz do sekcji **Jak ustawić niestandardową domenę jako mój uchwyt?**, zobaczysz instrukcje dotyczące zainicjowania zmiany uchwytu swojej domeny poprzez dodanie rekordu `_atproto` TXT z unikalną wartością (kluczem).

Po kliknięciu przycisku weryfikacji rekordów DNS większość dostawców DNS szybko zezwoli na aktualizację, a Ty będziesz mógł zobaczyć siebie na platformie pod nowym identyfikatorem.

[![Bluesky z niestandardowym identyfikatorem w domenie](dariusz_wieckiewicz_org_bluesky.png)](dariusz_wieckiewicz_org_bluesky.png)

Oczywiście, będziesz potrzebować dostępu do edycji rekordów DNS dla swojej domeny. Od lat opowiadam się za tym, że jeśli poprosisz kogoś o stworzenie dla Ciebie witryny, powinieneś zawsze upewnić się, że domena jest zarejestrowana na Twoje nazwisko. Wasze drogi mogą się później rozejść, a kontrolowanie tych niezbędnych zasobów pomoże Ci uniknąć poważnych przeszkód, gdy zdecydujesz się pójść w innym kierunku.

Muszę przyznać, że ta funkcja prawdopodobnie zwiększy popularność platformy. Miejmy nadzieję, że będzie to ostatni gwóźdź do trumny martwego ptaka — gnijącego trupa, który powinien zostać pochowany dawno temu.


---
## RCS na iPhone z iOS 18 - Stracone nadzieje
- **URL:** https://dariusz.wieckiewicz.org/rcs-na-iphone-z-ios-18-stracone-nadzieje/
- **Date:** 2024-09-18
- **Tags:** RCS, Wiadomości Google, iMessage, Apple, iOS 18

### Content

Czekałem cierpliwie na wydanie nowej wersji iOS, głównie ze względu na jedną funkcję – RCS.

> _RCS oznacza **Rich Communication Services**. Jest to ulepszenie tradycyjnego przesyłania wiadomości SMS, zaprojektowane w celu ulepszenia obsługi wiadomości o takie funkcje, jak potwierdzenia odczytu, wskaźniki pisania, obrazy o wysokiej rozdzielczości, czaty grupowe i udostępnianie większych plików. RCS ma na celu zapewnienie podobnego doświadczenia jak w przypadku aplikacji do przesyłania wiadomości, takich jak WhatsApp lub iMessage, ale zintegrowanego z domyślną aplikacją SMS na smartfonach._

Głównym powodem, dla którego czekałem na RCS, była możliwość wysyłania wiadomości do użytkowników Androida, innych niż SMS, ale nadal z domyślnej aplikacji Wiadomości.

RCS oferuje reakcje, możliwość wysyłania zdjęć (zastępując przestarzałą usługę MMS) i wyświetla potwierdzenia odczytu. Wszystko jest standardowe podczas komunikacji między użytkownikami iPhone'a za pomocą usługi iMessage.

Wraz z dużą popularnością WhatsApp, który wypełnił pustkę i trudności w komunikacji między użytkownikami Androida i iPhone'a, RCS miał odzyskać rynek natywnych aplikacji do przesyłania wiadomości.

<!--more-->

Widziałem, jak działa RCS na urządzeniach z Androidem mojego znajomego, ale nie zdawałem sobie wówczas sprawy, że to tylko dlatego, że Google zaimplementowało RCS w swojej aplikacji Wiadomości Google (aplikacja, która nie jest dostępna dla użytkowników iPhone'a).

RCS może zostać zaimplementowane przez operatora komórkowego, ale jeśli nie jest, Google przychodzi z pomocą użytkownikom Androida.

Aktualizacja do iOS 18 daje możliwość korzystania z RCS, ale nie oznacza to nic dla jego użytkowników, gdy operatorzy tego nie obsługują.

W Wielkiej Brytanii prawie żaden operator nie obsługuje RCS. Nawet jeśli iPhone'y działają w systemie iOS 18, nadal nie będziemy mogli korzystać z tej technologii.

> Są pewne opinie od użytkowników, że RCS działa na EE z iPhone'ami z systemem iOS 18, ale trudno znaleźć oficjalne potwierdzenie tego.

W Wielkiej Brytanii wdrażanie nowych technologii w sieciach komórkowych zawsze wiąże się z dużymi opóźnieniami. Nic dziwnego, że czekając na RCS, będziemy rozczarowani.

Google niedawno poinformowało, że [pracuje nad szyfrowaniem RCS między Androidem a iPhonem](https://9to5google.com/2024/09/17/rcs-encryption-android-iphone-work/).

Najłatwiejszym rozwiązaniem byłoby prawdopodobnie przeniesienie aplikacji Wiadomości Google na iPhone'a, ale byłaby to po prostu kolejna aplikacja. Przekonanie użytkowników do przejścia z WhatsApp nie będzie takie łatwe.

> Wiedząc, jak dobry jest Google w zabijaniu swoich aplikacji, prawdopodobnie usuną je po prostu dlatego, że zwycięzcą na rynku jest WhatsApp. Pokonanie go w środowisku iOS nie jest czymś, czym Google będzie zainteresowane.

W systemie Android, gdy instalujemy Wiadomości Google, aplikacja jest zintegrowana z systemem. Dziedziczy funkcjonalność wysyłania i odbierania wiadomości tekstowych (SMS), dzięki czemu staje się jednym miejscem, w którym użytkownicy mogą komunikować się na swoich telefonach.

Google omija brak natywnego wsparcia dla RCS przez operatorów sieci, obsługując własny serwer RCS.

To tak jak Apple, które obsługuje usługę iMessage, gdzie komunikacja między użytkownikami iPhone'a odbywa się za pośrednictwem serwerów Apple i nie ma nic wspólnego z operatorami sieci komórkowych.

> Apple nie wdrożyło iMessage w środowisku Android od lat, więc wątpliwe jest, aby Google chciało wprowadzić Wiadomości Google i RCS na swoich serwerach do iPhone'ów.

Najprostszym rozwiązaniem byłoby dla Apple otwarcie własnego serwera RCS lub po prostu zintegrowanie RCS z usługą iMessage dla wygody użytkowników.

Nie stanie się to jednak w najbliższym czasie. Nic dziwnego, że Apple nie wspomniało o RCS jako o dużej funkcji na swoich slajdach na Apple Event, ale po prostu umieściło ją jako „wzmiankę” na tablicy funkcji iOS 18 nadchodzących na iPhone'a.

Oficjalna strona internetowa [iOS 18](https://www.apple.com/uk/ios/ios-18/) wyraźnie wspomina o dodaniu obsługi wiadomości RCS.

> _Wiadomości RCS (Rich Communication Services) zapewniają bogatsze treści multimedialne oraz potwierdzenia dostarczenia i odczytu dla osób, które nie korzystają z iMessage._

Jest to jednak dostępne tylko wtedy, gdy operatorzy sieci komórkowych to obsługują.

To powinno zostać zaimplementowane w iMessage na samym początku, ale w powyższym oświadczeniu Apple przyznaje, że nie wszyscy użytkownicy zdecydują się włączyć usługę iMessage.

W ekosystemie Google sprawy wyglądają nieco inaczej, a niektóre funkcje są włączone „dla nas”, niezależnie od tego, czy tego chcemy, czy nie. Apple patrzy na prywatność z innej perspektywy niż Google, stąd ich inne podejście do tej kwestii.

Podsumowując, iOS 18 wprowadza obsługę RCS, ale w Wielkiej Brytanii możemy o tym zapomnieć, dopóki ktoś (operatorzy sieci, bezpośrednio Apple, a nawet Google) nie poświęci energii, aby to działało dla wszystkich, a nie tylko dla nielicznych.

P.S.

Niektórzy ludzie, zapytani [Czy Apple zakończy „strach przed zieloną bańką”?](https://www.govtech.com/question-of-the-day/is-apple-going-to-end-the-green-bubble-dread), odpowiedzieli głośno **Tak!**, ale moja odpowiedź na to pytanie brzmi po prostu **nie**.


---
## Jak zdalnie zrestartować telefony VoIP Yealink
- **URL:** https://dariusz.wieckiewicz.org/jak-zdalnie-zrestartowac-telefony-voip-yealink/
- **Date:** 2024-08-03
- **Tags:** Yealink, Yealink VoIP, Remote Reboot, Zdalne Uruchomienie, Remote Commands, Phone Reboot, Ponowne cruchomienie telefonu, Provision, Cron, Curl, Scheduler, Harmonogram

### Content

Ostatnio musiałem znaleźć metodę ręcznego restartowania telefonów użytkowników w sieci firmowej. Od czasu do czasu, gdy już działają, odkrywamy, że niektóre funkcje powodują problemy. Czasami nie możemy przekierować połączeń lub nie słyszymy osoby, z którą rozmawiamy. Przyczyn może być wiele, ale w większości przypadków proste ponowne uruchomienie telefonu rozwiązuje problemy.

Problem z ponownym uruchomieniem telefonów użytkowników polega na tym, że komputery, których używają, są podłączone do Internetu za pomocą kabli LAN (dla stabilności). Kabel sieciowy jest podłączony bezpośrednio do gniazda telefonu, a następnie przechodzi z telefonu do komputera użytkownika. Dzięki temu nie trzeba używać dwóch kabli LAN; jednak po ponownym uruchomieniu telefonu wbudowany przełącznik również jest ponownie uruchamiany, a zatem połączenie sieciowe zostaje przerwane.

Mamy kilka aplikacji, które po utracie połączenia sieciowego blokują użytkowników i wymagają dodatkowych działań, aby ich odblokować. Dlatego nie jest idealnym rozwiązaniem ponowne uruchamianie telefonów w ciągu dnia.

Sprawdzając telefony i ustawienia, miałem problem ze znalezieniem prostego harmonogramu, który pozwalałby na ponowne uruchamianie telefonów w nocy, więc musiałem znaleźć inny sposób.

<!--more-->

Zanim zaczniesz, musisz znać hasło administratora do panelu internetowego telefonu. Hasło administratora jest zazwyczaj ustawiane przez dostawcę i rzadko udostępniane. Mogą oni jednak również ustawić hasło użytkownika, które pozwoli nam wykonywać niektóre polecenia.

Na szczęście udało mi się zdobyć hasła administratora i użytkownika, dzięki czemu potwierdziłem, że opisana poniżej metoda działa w obu przypadkach.

Każdy telefon VoIP, po podłączeniu do sieci, pobiera ustawienia dostawcy. Ustawienia te nazywane są _provision_.

Aby umożliwić zdalne ponowne uruchomienie, możesz ustawić jedną opcję za pomocą panelu internetowego telefonu. Jednak to proste ustawienie ma jedną wadę, którą opiszę. Z tego powodu, współpracując ze swoim dostawcą, możesz poprosić go o dodanie trzech wierszy konfiguracji do _provision_, co pozwoli Ci na szybkie ponowne uruchomienie telefonów bez problemów. Opiszę to również.

Zaczynajmy.

## Panel administracyjny telefonu


> Ten krok wymaga dostępu administratora, możesz go jednak pominąć i przejść do sekcji [Ustawienie konfiguracji provision](#ustawienie-konfiguracji-provision).

Zaloguj się do panelu administracyjnego swojego telefonu pod adresem `https://twojAdresIPtelefonu`. Możesz znaleźć lokalny adres IP swojego telefonu, naciskając przycisk `OK` na klawiaturze.

W sekcji **Funkcje** (_Features_) znajdziesz opcję **zdalnego sterowania** (_Remote Control_).

[![Yealink T42U - Web Panel - Features - Remote Control](Yealink_T42U_Features_Remote_Control.png)](Yealink_T42U_Features_Remote_Control.png)

W polu `Action URI Allow IP List` możesz określić adresy IP, które mogą wysyłać polecenia zdalnego sterowania, takie jak polecenie reboot. Możesz określić `any` (aby zezwolić na polecenia z dowolnego adresu IP) lub ograniczyć je do określonych adresów IP w sieci lokalnej, takich jak `192.168.0.*` (z gwiazdką zezwalającą na polecenia z dowolnego adresu IP w tym zakresie).

Naciskając niebieski przycisk `Potwierdź` (_Confirm_), zastosujemy tę zmianę w telefonie.

Dodając tę ​​opcję, możemy już wysyłać polecenia do naszego telefonu. Jednak to rozwiązanie nie jest idealne.

Gdy po raz pierwszy wyślemy polecenie zdalne do telefonu, na ekranie telefonu pojawi się komunikat z pytaniem _„Czy zezwolić na zdalne sterowanie?” (_"Allow remote control?"_), aby zezwolić na wykonywanie poleceń zdalnych.

Możemy wybrać odpowiedź „Tak” lub wybrać opcję „Zablokuj”.

Problem polega na tym, że jeśli masz telefony rozsiane po całej firmie, oznacza to, że za pierwszym razem, gdy wykonujesz polecenie zdalne, musisz fizycznie kliknąć przycisk zatwierdzenia na każdym telefonie.

Po potwierdzeniu wszelkie dalsze polecenia zdalne będą wykonywane bez konieczności dodatkowego potwierdzenia.

To rozwiązanie nie jest idealne; byłoby lepiej, gdybyśmy mogli wykonać tę czynność nie przeszkadzając użytkownikom i nie wymagając fizycznego dostępu do telefonu.

W tym miejscu może pomóc Twój dostawca usług VoIP: dodając trzy proste linie do konfiguracji (_provision_), która zostanie przesłana do każdego telefonu.

## Ustawienie konfiguracji provision

Aby umożliwić zdalne wykonywanie poleceń na telefonach użytkowników, możemy poprosić naszego dostawcę o dodanie następujących trzech wierszy do pliku provision. Nie powinno to być dla nich problemem, ponieważ nie ma to żadnego wpływu z ich strony.

```
features.action_uri.enable = 1
features.show_action_uri_option = 0
features.action_uri_limit_ip = 192.168.0.*
```

Ustawienie `features.action_uri_limit_ip`, jak wyjaśniono w [poprzednim punkcie](#panel-administracyjny-telefonu), określa dozwolone adresy IP, które mogą wykonać polecenie. W tym przypadku zezwala na całą sieć.

Wiersz `features.action_uri.enable` jest ogólnym ustawieniem umożliwiającym wykonywanie poleceń zdalnych.

Ustawienie `features.show_action_uri_option` usuwa monit/powiadomienie z telefonu użytkownika pytające **„Czy zezwolić na zdalne sterowanie?”** (_"Allow remote control?"_).

Dzięki temu możesz wykonywać polecenia zdalne bez konieczności fizycznego dostępu do urządzenia. W tym celu możesz użyć polecenia w poniższej sekcji.

## Skrypt ponownego uruchomienia

Aby zdalnie ponownie uruchomić telefon, należy wykonać następujące polecenie:

**Jako użytkownik z uprawnieniami administratora:**
```
https://admin:adminpassword@192.168.0.111/servlet?key=Reboot
```

**Jako normalny użytkownik:**
```
https://user:userpassword@192.168.0.111/servlet?key=Reboot
```

> Gdzie `192.168.0.111` jest zastępowane adresem IP telefonu.

Istnieje kilka sposobów wykonania tych poleceń.

Możesz po prostu wkleić go do przeglądarki i odwiedzić go jak zwykły adres URL.

> Podczas pierwszej wizyty pod danym adresem URL może być konieczne zaakceptowanie niezaufanego certyfikatu lokalnego.

Można go zaimplementować w harmonogramie zadań na urządzeniach sieciowych.

{{% ads-in-article %}}

Na przykład używam routera OpenWrt z funkcją cron, która umożliwia mi planowanie wykonywania poleceń o określonych porach dnia lub nocy.

**Crontab**
```
00 6 * * 2-5 /bin/sh /root/voip_restart_phones
```

To polecenie uruchomiać będzie skrypt o nazwie `voip_restart_phones` o godzinie 6 rano od poniedziałku do piątku.

**voip_restart_phones**
```
curl -l -s https://user:userpassword@192.168.0.111/servlet?key=Reboot
```

Plik będzie zawierał polecenie dla każdego telefonu, który należy ponownie uruchomić, przy czym w każdym wierszu będzie jedno polecenie określające adres IP każdego telefonu.

> Może być konieczne ustawienie uprawnień wykonywania pliku za pomocą polecenia `chmod +x voip_restart_phones`.

---

> Jeśli otrzymasz odpowiedź **403 - User level denied** podczas wykonywania, oznacza to, że zdalne wykonywanie poleceń nie jest włączone. Sprawdź poprzednie kroki, aby upewnić się, że Ty lub Twój dostawca skonfigurowaliście wszystko poprawnie. Uruchom ponownie telefon, aby zastosować najnowsze ustawienia i spróbuj ponownie.

## Hasła ze znakami specjalnymi

Czasami hasła zawierają znaki specjalne. Na przykład `p@ssword`.

Choć wykonanie polecenia `https://user:userp@ssword@192.168.0.111/servlet?key=Reboot` w przeglądarce internetowej nie stanowi problemu, mogą wystąpić trudności, gdy spróbujesz wykonać to samo w powłoce (bash).

W takim przypadku należy zastąpić znaki specjalne ich [odpowiednikami w kodowaniu URL](https://www.w3schools.com/tags/ref_urlencode.ASP). Na przykład symbol `@` staje się `%40`.

Na przykład:
```
curl -l -s https://user:userp%40ssword@192.168.0.111/servlet?key=Reboot
```

Powinno działać bez żadnych problemów.

----

W ten sposób, zdalnie restartując telefony, rozwiązałem kilka problemów z siecią, które wystąpiły w ciągu dnia.

Oczywiście, aby to zrobić, musisz znać adresy IP swoich telefonów. Dlatego warto od początku przypisywać im statyczne adresy IP na podstawie ich adresów MAC.

Pozdrawiam.


---
## Kiedy stan baterii iPhone'a kłamie, pomóż sobie
- **URL:** https://dariusz.wieckiewicz.org/kiedy-stan-baterii-iphone-klamie-pomoz-sobie/
- **Date:** 2024-07-10
- **Tags:** iphone, apple, stan baterii, statystyki baterii, applecare, żywotność baterii, dane analityczne, liczba cykli ładowania

### Content

Telefon, którego używam na co dzień to iPhone 13 Pro Max, który jest ze mną już prawie 3 lata. W tym samym czasie, kiedy dostałem swój, kupiłem także iPhone'a 13 dla mojej żony.

Od razu po zakupie zdecydowałem się na AppleCare+ z opcją miesięcznej płatności. Dzięki płatnościom cyklicznym moje urządzenie nadal objęte jest AppleCare+.

Rozważam wymianę jeszcze w tym roku, prawdopodobnie we wrześniu 2024 r., ale nie spieszę się z tym. Mój telefon działa dobrze jak na swój wiek i nadal jest w nieskazitelnym stanie, co ma znaczenie dla potencjalnej wartości odsprzedaży. Jedyną rzeczą, która wykazuje oznaki starzenia się, jest bateria.

Po ponad 33 miesiącach codziennego użytkowania zacząłem zauważać, że bateria nie jest już tak dobra jak kiedyś. Dzięki wbudowanej funkcji Battery Health widzę, że pokazuje ona 87% żywotności. Nie jest źle jak na swój wiek.

Jednak po tym samym okresie z iPhonem 13 moja żona zaczęła zauważać, że jej telefon wymaga ładowania znacznie częściej.

Ostatnio nawet zauważyliśmy, że poziom naładowania baterii zaskakująco wzrósł z 59% do 61%, by wkrótce potem powrócić do 59%.

To dało mi do myślenia, więc szybko sprawdziłem stan jej baterii. W `Ustawienia > Bateria > Stan baterii i ładowanie` widzimy, że jej żywotność wynosi 80%.

Nie jest to zły wynik po ponad 33 miesiącach, ale z punktu widzenia klienta też nie jest świetny, zwłaszcza gdy mamy wykupione AppleCare+.

Zgodnie z warunkami AppleCare+ dotyczącymi baterii, masz prawo do bezpłatnej wymiany baterii, gdy poziom naładowania spadnie poniżej 80%.

Dokładnie, wskazuje „poniżej” 80%, co obecnie może wydawać się niespełnione, ponieważ stan baterii w ustawieniach pokazuje dokładnie 80%.

**A co, jeśli ta wartość kłamie?**

<!--more-->

Niedawno natknąłem się na podcast, którego nie subskrybuję aktywnie. Podcast z Macworld nosił tytuł "[Zagadka żywotności baterii iPhone'a rozwiązana!](https://www.macworld.com/article/2382769/macworld-podcast-the-mystery-of-iphone-battery-life-solved.html)" i przykuło to moją uwagę. Postanowiłem tego posłuchać.

Sam podcast nie dostarczył mi wiele nowych informacji, których wcześniej nie znałem, ale warto było go posłuchać z pewnej perspektywy. Wspomnieli o [skrócie do statystyk baterii](https://www.icloud.com/shortcuts/4948452c737d4b23887506294a03dfc9), który po uruchomieniu może odczytać dane analityczne iPhone'a, aby odczytać dokładne informacje o stanie baterii.

Skrót ten jest bardzo przydatny do sprawdzenia, ile cykli ładowania mamy w naszych telefonach. Funkcja jest widoczna dla użytkowników iPhone'ów 15, ale użytkownicy starszych iPhone'ów nie mogą uzyskać do niej dostępu z prostego menu w Ustawieniach, co jest nieco nielogiczne.

Postanowiłem spróbować i zobaczyć, co potrafi ten przydatny skrót, mając na uwadze, że Wsparcie Apple odczytuje dane o stanie baterii w podobny sposób, a nie tylko opierając się wyłącznie na tym, co wyświetla się w Ustawieniach.

Zanim przejdę do moich ustaleń, przyjrzyjmy się, jak korzystać z tego skrótu.

---

Po dodaniu skrótu do skrótów (po prostu kliknij [ten link](https://www.icloud.com/shortcuts/4948452c737d4b23887506294a03dfc9) i dodaj go), aby go użyć, musisz przejść do ustawień iPhone'a.

**Pamiętaj, że nie możesz uruchomić go jako samodzielnego skrótu**, ponieważ to nie działa w ten sposób. Skrót wymaga danych wejściowych do analizy i dostarczenia informacji w formie czytelnej dla człowieka.

Aby z niego skorzystać, przejdź do `Ustawienia > Prywatność i bezpieczeństwo` i przewiń w dół do `Analityka i ulepszenia`. Stamtąd znajdziesz opcję `Dane analityczne`, w której możesz zacząć.

[![Lista plików analitycznych w menu Dane analityczne na iPhonie](Analytics_Data_list.png)](Analytics_Data_list.png)

To menu zawiera zbiór różnych plików analitycznych, z których skupimy się tylko na najnowszych (posortowanych według daty w nazwie pliku, a nie kolejności), które zaczynają się od słowa Analytics. Zaobserwowałem, że po podłączeniu do ładowarki przed snem generowany jest nowy plik, który jest gotowy do analizy następnego ranka.

> Aby możliwe było zebranie niektórych danych, konieczne może być włączenie opcji „Udostępnij iPhone Analytics”.

Kliknięcie jednego z tych plików spowoduje wyświetlenie danych, które niewiele osób będzie wiedziało, jak zinterpretować.

[![Z danych analitycznych musimy wybrać przycisk Udostępnij w prawym górnym rogu.](Analytics_Data_header.png)](Analytics_Data_header.png)

Musimy po prostu kliknąć przycisk Udostępnij w prawym górnym rogu, aby otworzyć arkusz udostępniania.

[![Dostęp do skrótu do statystyk baterii z arkusza udostępniania na iPhonie](Battery_Stats_accessed_from_Share_Sheet.png)](Battery_Stats_accessed_from_Share_Sheet.png)

W menu udostępnienia, na dolnej liście (po dodaniu skrótu) zobaczymy opcję Statystyki baterii (Battery Stats).

> Drobna wskazówka: dane analityczne mogą być wymieszane z danymi z innych urządzeń Apple, takich jak Apple Watch. Najnowszy plik może dotyczyć danych zegarka, a nie telefonu. Dlatego stosując metodę chybił trafił, musimy wypróbować i wybrać tę, która pokaże nam dane reprezentujące naszego iPhone'a.

Skrót przeanalizuje Twoje dane Analytics i dostarczy Ci informacji o **oryginalnej maksymalnej pojemności**, **aktualnej maksymalnej pojemności**, **liczbie cykli** (liczbie pełnych cykli ładowania) i **kondycji baterii w %**, co jest wartością względną w porównaniu z stanem, w którym był nowy.

[![Dane wyjściowe ze skrótu do statystyk baterii w telefonie iPhone 13 Pro Max](iPhone_13_Pro_Max_Battery_Stats_D1.png)](iPhone_13_Pro_Max_Battery_Stats_D1.png)

> To obliczenie wymaga prostej matematyki. Gdy pierwotna pojemność wynosi 4489 mAh, a aktualna maksymalna to 3789 mAh, podzielenie niższej wartości przez wyższą daje nam 0,8440. Mnożenie przez 100 daje nam 84,40% (z jakiegoś powodu pokazuje 84,24%).

Tam przeżyjemy mały szok. Zgłaszane tam wartości będą niższe niż te oficjalnie zgłaszane przez Kondycję baterii w Ustawieniach.

Zanim przejdziemy do wniosków, pamiętajmy, że akumulatory dostarczane z nowymi urządzeniami mają większą pojemność, niż jest to oficjalnie zaprezentowane.

Na przykład iPhone 13 Pro Max ma oficjalną pojemność baterii 4352 mAh, podczas gdy iPhone 13 ma 3240 mAh.

Kiedy otrzymamy nasz telefon, projektowana pojemność będzie prawdopodobnie wynosić około 110%, ale Apple oficjalnie ustala niższą wartość, ponieważ to deklaruje i gwarantuje dla nowych urządzeń.

Apple ma wielu producentów baterii i ich jakość może się to różnić, ale wszystkie baterie muszą spełniać minimalne wymagania. Dlatego najprawdopodobniej będą one miały wyższą pierwotną pojemność niż określona, ​​aby zapewnić spełnienie tego wymagania.

Kondycja baterii (battery health) w iPhone najprawdopodobniej porównuje obecną maksymalną pojemność do pojemności ze specyfikacji (3789mAh/4352mAh), co da nam 87,06%, a nie 84,40%.

[![Stan baterii wyświetlany na iPhonie 13 Pro Max](iPhone_13_Pro_Max_Battery_Health.png)](iPhone_13_Pro_Max_Battery_Health.png)

Wartość 87% będzie zgodna z wartością podaną w ustawieniach i stanie baterii.

---

[![Stan baterii wyświetlany na iPhonie 13](iPhone_13_Battery_Health.png)](iPhone_13_Battery_Health.png)

Ponieważ, jak rozumiem, stan baterii telefonu mojej żony wynosił 80%, nadal nie kwalifikuję się on do bezpłatnej wymiany baterii, ponieważ musi ona wynosić poniżej 80%.

Jednak 80% może w rzeczywistości wynosić 79,99%. Tego nie wiesz, ponieważ wartość jest zaokrąglona.

Dzięki skrótowi `Statystyki baterii` (Battery Stats) udało mi się uzyskać szczegółowe dane o telefonie mojej żony.

[![Dane wyjściowe ze skrótu Statystyki baterii na iPhonie 13](iPhone_13_Battery_Stats.png)](iPhone_13_Battery_Stats.png)

Pokazał mi on pierwotną pojemność 3348 mAh, aktualne maksimum 2561 mAh i żywotność obliczoną na **76,49%**.

> Dodatkowo pokazał mi liczbę cykli 1043, która jest niezwykle wysoka. Biorąc jednak pod uwagę, że w ostatnich miesiącach potrzebowała znacznie częstszego ładowania, będzie to wiele wyjaśniało.

Jeśli porównasz obecną maksymalną wartość 2561 mAh z oficjalną wartością 3240 mAh, otrzymasz **79,04%**, co nie stanowi dokładnie 80%, jak podaje Battery Health.

Niezależnie od tego, jaką metodę obliczeń zastosujesz, obie liczby powinny pozwolić mi bezpłatnie wymienić baterię mojej żony.

> Ponieważ planujemy podarować jej telefon naszemu dziecku, pomyśleliśmy o wymianie baterii we wrześniu. Dzięki tej sytuacji możemy go teraz bezpłatnie wymienić. Ogólnie rzecz biorąc, płacimy za to w ramach naszego AppleCare+.

Otworzyłem aplikację Apple Support i szybko zacząłem rozmawiać z przedstawicielem Apple Support.

Wsparcie Apple wysłało prośbę o przeprowadzenie diagnostyki telefonu mojej żony. Po zakończeniu szybko potwierdzono, że rzeczywiście poziom naładowania akumulatora spadł poniżej akceptowalnego poziomu. Teraz, ponieważ mam AppleCare+, kwalifikuje się do bezpłatnej wymiany baterii.

Szybko, za pośrednictwem tego samego czatu, umówiliśmy się na spotkanie w pobliskim sklepie Apple Store, aby to zrobić. Świetne!

To rozwiąże teraz jej problem, a we wrześniu pozwoli nam zaoszczędzić trochę pieniędzy, gdy i tak będziemy chcieli ją (baterię) wymienić.

{{% ads-in-article %}}

---

Cała ta sytuacja dała mi nieco do myślenia o tym, co (oficjalnie) raportuje telefon o stanie baterii.

W Ustawieniach mojego telefonu otrzymałem informację o **87%** żywotności baterii, ale analizując niektóre dane z ostatnich kilku dni, zauważyłem pewne niepokojące oznaki.

1 lipca 2024 roku zaobserwowałem maksymalną pojemność 3789 mAh, liczbę cykli 616 i procent żywotności na poziomie 84,24% (w porównaniu do pierwotnej pojemności 4498 mAh).

> To 3789 mAh w porównaniu do 4352 mAh (oficjalne dane), stanowi 87,06%.

[![Dane wyjściowe skrótu Statystyki baterii na telefonie iPhone 13 Pro Max – innego dnia](iPhone_13_Pro_Max_Battery_Stats_D2.png)](iPhone_13_Pro_Max_Battery_Stats_D2.png)

4 lipca 2024 r. zaobserwowałem maksymalną pojemność 3792 mAh, liczbę cykli 617 i procent żywotności 84,3%.

> Wahania maksymalnej wydajności są normalne, ponieważ inne czynniki mogą mieć na nią wpływ.

[![Dane wyjściowe skrótu do statystyk baterii na telefonie iPhone 13 Pro Max – dzień 6](iPhone_13_Pro_Max_Battery_Stats_D3.png)](iPhone_13_Pro_Max_Battery_Stats_D3.png)

Jednak 7 i 8 lipca 2024 r. dane analityczne wykazały 3576 mAh, liczbę cykli 619 i procent żywotności wynoszący zaledwie **79,5%**.

[![Dane wyjściowe skrótu do statystyk baterii na telefonie iPhone 13 Pro Max – dzień 7](iPhone_13_Pro_Max_Battery_Stats_D4.png)](iPhone_13_Pro_Max_Battery_Stats_D4.png)

W porównaniu do 4352mAh jest to 82,17%.

> Z tego co wyczytałem dane w Ustawieniach dotyczących stanu baterii są odświeżane okresowo. Dlatego nadal wyświetla 87%. **Może** odświeżyć się za kilka tygodni, kiedy maksymalna pojemność będzie raportowana na podobnym poziomie w kolejnych dniach.

Postanowiłem poobserwować sytuację przez kolejny dzień, żeby zobaczyć, jak to się zmieni.

Tajemnicą jest to, dlaczego dane w Ustawieniach nie zostały jeszcze odświeżone, aby pokazać aktualny stan baterii, który wynosi 82% (do określonej pojemności), a nie 87%.

To wyjaśnia, dlaczego stan baterii mojej żony jest zgłaszany w Ustawieniach jako 80%, mimo że rzeczywista pojemność prawdopodobnie była niższa od jakiegoś czasu.

Kontakt ze wsparciem Apple w celu przeprowadzenia diagnostyki to dobry sposób na uzyskanie najdokładniejszego odczytu stanu baterii, który może pomóc w podjęciu decyzji, czy konieczna jest wymiana.

> W międzyczasie żona udała się do Apple Store gdzie potwierdzono, że bateria nie przeszła testu i należy ją wymienić. Zanim rozwiązano ten problem, odkryto również pewne problemy z siecią komórkową i ładowaniem bezprzewodowym, o których nawet nie byliśmy świadomi. To, co zaczęło się od wymiany baterii, zakończy się (po dostarczeniu części) koniecznością wymiany całego tyłu telefonu. Na szczęście wszystko to było objęte Apple Care; w przeciwnym razie kosztowałoby nas to więcej, niż jest wart telefon (357,50 GBP!).

Całkowicie rozumiem, że Apple porównuje oryginalną pojemność baterii z określonym w specyfikacji maksimum, aby określić stan baterii, surowe dane sugerują większą utratę pojemności. Przy stanie żywotności wynoszącym 80% akumulator uległ degradacji o około 24% aktualnej maksymalnej pojemności.

Zgodnie z artykułem Apple na temat [baterii i wydajności iPhone’a](https://support.apple.com/en-gb/101575) baterie iPhone’a 14 i wcześniejszych wersji zaprojektowano tak, aby zachowywały 80% swojej pierwotnej pojemności po 500 pełnych cyklach ładowania w idealnych warunkach.

> Modele iPhone'a 15 zaprojektowano tak, aby zachowywały 80% swojej pierwotnej pojemności po 1000 cyklach.

Mój telefon, a nawet telefon mojej żony bez problemu spełnił te założenia; w związku z tym Apple dostarczył to, co obiecał.

Posiadanie i korzystanie z AppleCare+ wyłącznie w celu bezpłatnej wymiany baterii nie jest rozsądną inwestycją, ale musimy pamiętać, że jest to ubezpieczenie. Płacisz opłatę, aby mieć spokój ducha na wypadek, gdyby coś się wydarzyło. Można powiedzieć, że jeśli przez te 3 lata nie skorzystałeś z ubezpieczenia choć raz, to po prostu zmarnowałeś pieniądze. Jednak w przypadku, gdy będziesz go najbardziej potrzebował, a go nie masz, przekonasz się, jak kosztowna może być naprawa urządzeń Apple. Korzystanie z usług firm trzecich (niezatwierdzonych) do naprawy urządzeń może być tanią alternatywą, ale zdecydowanie odradzam taką opcję, ponieważ najprawdopodobniej nie korzystają one z zatwierdzonych części. Z tego powodu Twój telefon może nie działać tak, jak byś tego oczekiwał, a jego wartość przy odsprzedaży będzie znacznie niższa.

Mój znajomy nie tak dawno temu wymienił ekran w iPhonie 13 na lokalny sklep [iSmash](https://www.ismash.com/pages/ismash-leeds-trinity-phone-repairs) zlokalizowany naprzeciwko Apple Store.

Niestety, oprogramowanie natychmiast zgłosiło, że użyto nieoryginalnych części. W rezultacie odsprzedaż tego telefonu będzie bardzo trudna, jeśli nie niemożliwa. Zaledwie kilka miesięcy po wymianie wydajność i czas reakcji nowego ekranu uległy pogorszeniu, co doprowadziło nas do wniosku, że korzystaliśmy z ich usług po raz pierwszy i ostatni.

Aby dodać kontekst tej historii, Apple w tamtym czasie w ogóle nie podjęło by się wymiany ekranu w telefonie mojego znajomej, ponieważ obudowa została poważnie wygięta do tyłu pod wpływem uderzenia. iSmash zaryzykował maksymalne wyprostowanie obudowy (co nie dobrze zrobione), aby dopasować je do ekranu. Moim zdaniem w powinni oni odmówić tej usługi w przypadku niemożności przywrócenia stanu obudowy, a wybrali taką drogę, gdzie z biegiem czasu klient jest niezadowolony z ich usługi.

Kiedy we wrześniu pojawią się nowe telefony, telefon mojej żony może dać nam [wartość handlowa](https://www.apple.com/uk/shop/trade-in) do 305 GBP, podczas gdy telefon mojej znajomej obecnie jest warty 0.

Po części to moja wina, bo wiedziałam, że Apple nie pomoże jej z telefonem. Poleciłam iSmash, myśląc, że może się to udać (nie miała ona wtedy wykupionego AppleCare+). Ku mojemu rozczarowaniu okazało się, że jest dokładnie tak samo, jak w innych podejrzanych, nieautoryzowanych warsztatach zewnętrznych. Zanim zaryzykuję, powinienem uwierzyć niektórym krytycznym opiniom na ich temat w Internecie i nie wierzyć w to, co piszą na swojej stronie internetowej na temat stosowania oryginalnych części zamiennych. Nauczka na przyszłość.

Niektórzy, szczególnie w dziale sprzedaży, muszą pamiętać o jednej złotej zasadzie zadowolonego klienta.

*Jeden zadowolony klient wygeneruje jedną dodatkową sprzedaż; jednak jeden niezadowolony klient odbierze Ci trzech klientów.*


---
## Przywróć czytelność stron internetowych
- **URL:** https://dariusz.wieckiewicz.org/przywroc-czytelnosc-stron-internetowych/
- **Date:** 2024-06-19
- **Tags:** Safari, Safari Reader, just read, auto reader, rozszerzenie, dostępność, Chrome, Edge, Firefox

### Content

Czy kiedykolwiek próbowałeś przeczytać artykuł na stronie internetowej wypełnionej reklamami? W większości przypadków ogólne doświadczenie zniechęci Cię do tego i poddasz się lub będziesz próbował znaleźć podobne informacje w miejscu, w którym będziesz miał do nich przyjemniejszy dostęp.

Używam AdBlockerów we wszystkich moich przeglądarkach i nienawidzę, gdy niektóre witryny mówią mi, żebym je wyłączył tylko po to, aby przeczytać ich zawartość. Postanowili uniemożliwić mi czytanie, dopóki się nie zastosuję.

Rozumiem, że jest to ich źródło dochodu, jednak przeglądanie tych stron bez włączonego modułu blokującego reklamy jest piekielnie uciążliwe.

Ekrany zachęcające do „wspierania niezależnego pisania” poprzez wyświetlanie reklam są niczym w porównaniu z nieprzyjemnym i rozpraszającym doświadczeniem czytania ich witryny bez włączonego adblockera.

> Tego rodzaju witryną, która na początku uniemożliwia mi wizytę, jest na przykład [makeuseof.com](https://www.makeuseof.com).

Szalone, ale prawdziwe.

<!--more-->

Niektóre inne witryny, które nie wyświetlają reklam, zablokują Ci możliwość zapoznania się z ich treścią, zanim zdecydujesz się wspierać je w ramach płatnej subskrypcji.

Jeśli nie mogę najpierw przeczytać, skąd mogę wiedzieć, że kiedykolwiek wrócę na Twoją stronę? Wspieranie na początku jest jak wręczenie czeku in blanco. Zachowajmy tutaj rozsądek.

Na szczęście istnieje na to rozwiązanie, ale zanim sobie na to pozwolimy, przyjrzyjmy się problemowi tutaj.

## Przykład New York Timesa

[![Artykuł na stronie internetowej New York Times z banerem zasłaniającym widok](nytimes_website_article_banner.png)](nytimes_website_article_banner.png)

Oto [artykuł](https://www.nytimes.com/2024/06/16/world/europe/the-greens-are-dead-long-live-the-greens.html) New York Timesa, który blokuje od czytania artykułów, gdy masz włączone blokowanie reklam. Sugeruje zamiast tego opłacenie abonamentu, czego i tak nie da się ominąć.

Nawet jeśli wyłączysz moduł blokujący reklamy, nadal nie będziesz mógł przejść dalej bez utworzenia konta, aby umożliwić im śledzenie tego, co czytasz i dalsze przekonanie (zmuszenie) Cię do subskrypcji.

[![Artykuł na stronie New York Times z wyłączoną funkcją AdBlocker](nytimes_website_article_without_adblock.png)](nytimes_website_article_without_adblock.png)

**Do bani!**

Jednak ten sam artykuł można przeczytać ponownie w ten sposób:

[![Artykuł na stronie internetowej New York Timesa za pośrednictwem programu Safari Reader](nytimes_website_article_reader.png)](nytimes_website_article_reader.png)

Dzieje się tak dzięki opcji Czytnik (Reader) wbudowanej w przeglądarkę Safari.

> **Safari jest dostępne tylko dla systemów operacyjnych Apple, ale czytaj dalej, ponieważ mam też opcje dla użytkowników systemu Windows.**

---

Czytnik w przeglądarce Safari można włączyć **automatycznie** dla określonych witryn, np. NYT. Dzięki temu skądkolwiek zostaniesz przekierowany do ich artykułu, artykuł zostanie załadowany w taki sposób, abyś mógł się nim w pełni cieszyć.

Na dowolnej stronie internetowej, na której się znajdujesz, wystarczy kliknąć ikonę Czytnika na pasku adresu (na komputerze).

[![Ikona czytnika w przeglądarce Safari wyświetlana jako opcja artykułu w New York Times](nytimes_reader_icon_address_bar.png)](nytimes_reader_icon_address_bar.png)

Aby automatycznie włączyć czytnik w określonej witrynie, wystarczy kliknąć prawym przyciskiem myszy przycisk czytnika (na komputerze) i wybrać opcję *Użyj czytnika automatycznie na ...*.

Jeżeli chcesz korzystać z czytnika na urządzeniu mobilnym należy kliknąć ikonę `aA` na pasku adresu, skąd z dostępnych opcji należy wybrać Czytnik (Reader).

[![Włączanie czytnika Safari w witrynie New York Times na urządzeniu mobilnym](nytimes_reader_safari_mobile.png)](nytimes_reader_safari_mobile.png)

Gdy jesteś w trybie czytnika, klikając ponownie przycisk `aA`, z dostępnych opcji wybierz *Ustawienia witryny internetowej* i włącz czytnikowi *Automatyczne używanie czytnika* w określonej witrynie, jak pokazano poniżej.

{{% gallery %}}
[![Ustawianie automatycznego uruchamiania Czytnika w Safari w witrynie New York Times – menu aA](nytimes_reader_automatically_1.png)](nytimes_reader_automatically_1.png)
[![Ustawianie automatycznego uruchamiania Czytnika w Safari w witrynie New York Times - menu Ustawienia strony internetowej](nytimes_reader_automatically_2.png)](nytimes_reader_automatically_2.png)
{{% /gallery %}}

---

**Wracam do NYT...**

Blokowanie na ich stronie internetowej opiera się wyłącznie na JavaScript. Artykuł został załadowany w całości, ale po załadowaniu kodu JavaScript jego widok jest ograniczony. Całkowite wyłączenie JavaScript również załatwi sprawę.

W ten sposób czytnik w przeglądarce Safari działa. Oczyszcza on serwis ze zbędnych bzdur, pozostawiając jedynie najważniejszą część.

> Jednak nie wszystkie strony internetowe (a nawet niektóre artykuły na NYT) ładują pełne artykuły, a następnie blokują je za pomocą JavaScript. Niektóre artykuły są umieszczone za paywallem i umożliwiają przeczytanie tylko ich części. Aby przeczytać resztę musisz się zalogować i zasubskrybować. W tym przypadku czytelnik załaduje tylko część artykułu, która nie znajduje się za zaporą płatniczą. Niestety nie możemy nic z tym zrobić, ale warto spróbować tego, co jest dostępne **za darmo**.

---

{{% ads-in-article %}}

## Niektóre inne strony internetowe

Na kilku stronach internetowych korzystam z trybu automatycznego czytnika. Wszystkimi tymi stronami internetowymi możesz sterować w ustawieniach Safari.

Na urządzeniu mobilnym wybierz *Ustawienia > Safari > Czytnik (Reader)*, aby je znaleźć.

[![Lista witryn internetowych w przeglądarce Safari, w których Czytnik (Reader) jest ustawiony na automatyczne uruchamianie](safari_automatic_reader_websites.png)](safari_automatic_reader_websites.png)

Nie mam ich wiele, ale mam ich wystarczająco dużo, aby moje codzienne czytanie było w miarę łatwe.

Podczas codziennego przeglądania [AdBlocker](https://adblockplus.org/ad-blocker-safari) wykonuje swoją pracę, w niektórych ekstremalnych sytuacjach muszę włączyć Czytnik, co oszczędza mi wielu kłopotów.

## Witryna internetowa Chrome Unboxed

Jedną z witryn, które ostatnio odkryłem, jest [Chrome Unboxed](https://chromeunboxed.com).

Rozumiem, że jest kilka osób, które muszą walczyć, aby utrzymać się na powierzchni. Wykorzystują reklamy na swoich stronach do tego stopnia, że ​​przy każdym przewijaniu ekranu (szczególnie na urządzeniach mobilnych) pojawia się duży boks reklamowy.

{{% gallery %}}
[![Artykuł w witrynie Chrome Unboxed na urządzeniu mobilnym — z banerem na stroniep](chrome_unboxed_1.png)](chrome_unboxed_1.png)
[![Artykuł w witrynie Chrome Unboxed na urządzeniu mobilnym - z pustym miejscem pozostałym po zablokowaniu reklamy](chrome_unboxed_2.png)](chrome_unboxed_2.png)
{{% /gallery %}}

Nawet jeśli AdBlocker wykonuje swoje zadanie, blokując ich wyświetlanie, puste pole pozostaje niewypełnione, co utrudnia czytanie.

[![Artykuł w witrynie Chrome Unboxed na urządzeniu mobilnym w przeglądarce Safari z pustymi odstępami między akapitami](chrome_unboxed_empty_space.png)](chrome_unboxed_empty_space.png)

Istnieją również inne puste przestrzenie, które potencjalnie zostaną wypełnione reklamami.

Ze względu na puste bloki (które można łatwo naprawić, jak podkreśla [sam Google](https://support.google.com/adsense/answer/10762946?hl=en-GB)) masz wrażenie, że artykuł jest bardzo długi. Jednak gdy zaczniesz czytać, bardzo szybko dojdziesz do sedna i poczujesz, że jest dużo miejsca i za mało treści. Z tego powodu ilość reklam w tak krótkim tekście jest stanowczo za duża.

Gdy włączysz czytnik na ten stronie internetowej, potwierdzi to, ale nawet Reader ma problemy z usunięciem pustych miejsc, w których początkowo wyświetlała się reklama.

[![Artykuł w witrynie Chrome Unboxed na urządzenia mobilne w czytniku z pozostałym miejscem po usuniętych reklamach](chrome_unboxed_empty_space_reader.png)](chrome_unboxed_empty_space_reader.png)

---

Czytnik w przeglądarce Safari nie jest idealny, ale jest świetnym narzędziem, które pozwala przywrócić czytelność stron internetowych.

> Niektóre strony internetowe mogą być źle skonstruowane, dlatego opcja włączenia czytnika nie będzie dostępna.

## Inne przeglądarki

Inne przeglądarki również mają swoje narzędzia, które zazwyczaj wymagają instalacji jako rozszerzenia.

Sugerowane alternatywy dla Safari Reader w innych przeglądarkach:
* [Just Read autorstwa justread.link](http://justread.link/#getJustRead) dla Google Chrome i Microsoft Edge
* [Auto Reader View autorstwa Patrick Marchwiak](https://addons.mozilla.org/en-US/firefox/addon/auto-reader-view/) dla Mozilla Firefox

---

Korzystanie z trybu Czytnika lub wspomnianych powyżej rozszerzeń to dla wydawców świetny sposób na sprawdzenie, **jak dostępne (accessibility) są ich witryny**.

Jeśli przeglądanie strony z czytnikiem nadal przynosi mnóstwo bzdur, właściciel strony powinien rozważyć wprowadzenie zmian.

Należy pamiętać, że z trybu czytnika bardzo często korzystają osoby niepełnosprawne, które polegają na technologiach wspomagających, takich jak czytniki ekranu itp. Jeśli osoba bez żadnych niepełnosprawności boryka się z problemami, wyobraź sobie, jakie zmagania będą miały miliony osób niepełnosprawnych.


---
## Nie kupuj odnowionego iPhone na raty bezpośrednio od Apple, kup nowy i oszczędź.
- **URL:** https://dariusz.wieckiewicz.org/nie-kupuj-odnowionego-iphone-apple-kup-nowy-i-oszczedz/
- **Date:** 2024-06-08
- **Tags:** Apple, Refurbished, Odnowiony, iPhone, APR, RRSO, Raty

### Content

Kupno odnowionego produktu Apple to świetny sposób na zaoszczędzenie pieniędzy. Kupiłem MacBooka Air z chipem M1 w ten sposób w 2021 roku i urządzenie nadal działa dobrze.

Dobrą wiadomością w przypadku zakupu odnowionych produktów bezpośrednio od Apple jest to, że pod względem wsparcia i serwisu nie są one traktowane inaczej niż nowe urządzenia. Możesz zakupić dodatkową ochronę w ramach AppleCare, tak jak w przypadku nowych urządzeń.

Oszczędności na odnowionych produktach w porównaniu z tym samym nowym mogą być znaczne. Oczywiście możesz je kupić jeszcze taniej, jeśli nie przeszkadza Ci utrata możliwości zapewnienia im dodatkowej opieki bezpośrednio przez AppleCare, ale jeśli ci na tym zależy (tak jak mi), to jest jeszcze jedna rzecz, o której powinieneś pomyśleć nim dokonasz wyboru.

<!--more-->

W 2021 roku kupiłem MacBooka Air M1, sprzedając MacBooka Pro (2020) z procesorem Intel bezpośrednio od Apple. Otrzymałem od Apple kredyt na inne urządzenie, za które kupiłem od nich odnowiony laptop i kilka innych rzeczy.

Gdybym nie miał tego kredytu, rozważałbym jego zakup w ratach (co miesiąc).

Zawsze radzę kupować urządzenia Apple w ten sposób, ponieważ w Wielkiej Brytanii, z Barclays, nowe urządzenia są sprzedawane z 0% RRSO (kiedyś).

Miesięcznie płacisz taką samą kwotę, jak gdybyś płacił całość na początku. Z tego powodu wydawanie tak dużej ilości pieniędzy na raz nie jest opłacalne; lepiej wpłacić to na konto oszczędnościowe i coś z tego odzyskać, a urządzenie zwróci się bez żadnych dodatkowych kosztów.

Niedawno zauważyłem, że gdy nowe urządzenia (iPhone'y) otrzymują preferencyjną stawkę RRSO 0%, w odnowionym sklepie jest podkreślone, że rozłożenie kosztów obciąży Cię RRSO na poziomie 14,9%.

Co zaskakujące, inne nowe produkty Apple są również reklamowane ze RRSO wynoszącym 14,9%. Pamiętam, że kiedyś było to 0%.

Oznacza to, że kupno odnowionego produktu (w tym przypadku iPhone'a) i płacenie co miesiąc nie jest dużą oszczędnością, ponieważ ostatecznie możesz zapłacić dokładnie taką samą kwotę, jaką wydałbyś na nowe urządzenie.

Załóżmy, że chcesz kupić iPhone'a 14 128 GB poprzedniej generacji.

Nowe urządzenie w cenie 699 GBP będzie kosztować 29,12 GBP miesięcznie przez 24 miesiące przy 0% RRSO. Ostatnia rata będzie nieco inna, ale w sumie wyniesie 699 funtów.

> Koszt zerowy.

Jednak to samo odnowione urządzenie jest sprzedawane za 589 funtów.

> Potencjalne oszczędności w wysokości 110 GBP przy zakupie odnowionego.

Apple domyślnie reklamuje 36 miesięcznych rat po 20,12 GBP. **Zdecydowanie tego nie polecam**, ale jeśli pójdziesz tą drogą, będzie wyglądać na to, że ostatecznie zapłacisz około 724,32 GBP.

> Po usunięciu początkowej oszczędności w wysokości 110 GBP sytuacja będzie **gorsza (na minus)** o 25,32 GBP w porównaniu z zakupem nowego urządzenia.

Jeśli wybierzesz 24 miesiące, zapłacisz 28,27 GBP. Będzie Cię to kosztować 678,48 GBP.

> Po usunięciu początkowej oszczędności w wysokości 110 GBP sytuacja będzie **lepsza (na plus)** o zaledwie 20,52 GBP.

Czy warto kupić produkt odnowiony? **W tym przypadku nie sądzę!**

Inną opcją, którą możesz rozważyć, są 12-miesięczne raty za 52,88 GBP miesięcznie. Łącznie zapłacisz 634,56 GBP.

> Po usunięciu początkowej oszczędności w wysokości 110 GBP otrzymasz 64,44 GBP **na plusie**.

Ale czy taka mała różnica jest tego warta? Ostatecznie, jeśli będziesz chciał sprzedać produkt, nawet po 12 miesiącach, nic nie zyskasz, a stracisz jeszcze więcej.

{{% ads-in-article %}}

---

Ta sama historia dzieje się obecnie na brytyjskim rynku samochodów. Nowe samochody, mimo że są droższe, mają znacznie niższą RRSO niż w przypadku zakupu zatwierdzonego używanego samochodu, który ma zaledwie 1 rok. W takiej sytuacji po prostu nie warto szukać używanego samochodu, chyba że kupisz go i zapłacisz w całości.

---

Spośród wszystkich produktów Apple obecnie tylko nowy iPhone jest sprzedawany w Wielkiej Brytanii z 0% RRSO rozłożoną na 24 miesiące.

To naprawdę dobra oferta na nadchodzący wrzesień 2024, kiedy wszyscy z niecierpliwością czekamy na to, co zaoferuje iPhone 16.

---

Oczywiście istnieje również inna opcja zakupu iPhone'a w ramach programu aktualizacji iPhone'a (iPhone Upgrade Programme). Zastanawiałem się nad tym w [2020 r.](/iphone-upgrade-programme-w-2020-czy-warto/), ale nigdy nie wydało mi się to na tyle przekonujące, aby się na to zdecydować.

Program jest dobry dla osób, które:
1. zawsze kupuj AppleCare wraz z ich produktem, oraz
2. zawsze chcę uaktualnić telefon na najnowszy, gdy ten zostanie wydany.

Numer 1 mi odpowiada, ale nie zawsze mam ochotę co roku aktualizować do najnowszego iPhone. Mam już za sobą etap, w którym zawsze muszę mieć najnowszą technologię. Jestem na to za stary.

Obecnie posiadam iPhone'a 13 Pro Max (256 GB) i celowo zakładałem, że będę go używał przez 3 lata. W tym roku, kiedy zapowiedziany zostanie iPhone 16, najprawdopodobniej się na niego zdecyduję. Zacząłem zauważać zużycie baterii, a wydajność zaczęła powoli spadać w przypadku najnowszych gier. Porównując potrzebę większej wydajności i starzejącą się baterię, stwierdziłem, że częściej niż rok temu trzymam się ładowarki.

---

Mimo że Apple nadal oferuje 0% RRSO, ale tylko na iPhone'ach, nie oznacza to, że nie masz innych możliwości oszczędzania.

W Wielkiej Brytanii dostępnych jest wiele kart kredytowych z oprocentowaniem 0% (jeśli się kwalifikujesz), które mogą pomóc Ci zaoszczędzić na dłuższą metę, pod warunkiem, że dotrzymasz miesięcznych spłat i spłacisz saldo w całości przed końcem promocyjnej stawki 0%.


---
## Apple TV - Retro Konsola do Gier
- **URL:** https://dariusz.wieckiewicz.org/apple-tv-retro-konsola-do-gier/
- **Date:** 2024-05-17
- **Tags:** Apple TV, Apple TV 4K, konsola do gier, emulator, RetroArch, App Store, Apple

### Content

Trzeba było lat, aby Apple zezwolił na emulatory do gier na ich platformach.

Po nieudanym starcie z podróbką emulatora nadeszła pora na pierwszy, który działał i nie był żerowaniem na cudzej własności intelektualnej. Twórca jednakże szybko się wystraszył i wycofał aplikację ze sklepu. Po części go można go zrozumieć, gdyż w rzeczywistości rzadko David wygrywa z Goliatem.

Niecały tydzień później mogliśmy się jednak cieszyć emulatorem Delta, który pozostał do dzisiaj.

Delta wprowadził, w bardzo przyjaznej szacie graficznej, obsługę wielu emulatorów. Jednakże to nie o Delta będę pisał.

Trochę czasu minęło, gdy emulator Gamma i PPSSPP zawitały oficjalnie do sklepu jednakże, czego im, jak i Delta, brakowało to obsługi innej platformy Apple, a mianowicie Apple TV.

I tak pewnego dnia zawitał na platformę Apple wraz ze wsparciem dla Apple TV multi-emulator [**RetroArch**](https://apps.apple.com/uk/app/retroarch/id6499539433).

Wraz z podłączonym kontrolerem bluetooth (osobiście używam kontrolera od Xboxa) mój Apple TV, w końcu, stał się konsolą do gier, na którą czekałem.

O ile wcześniej używałem do tego Raspberry Pi oraz RetroPi, o tyle RetroArch na Apple TV jest bardziej wygodny i pozwala w łatwy sposób na dodawanie plików przez przeglądarkę internetową.

Mój Apple TV jest stale podłączony i w użyciu, więc nie muszę przełączać się pomiędzy urządzeniami.

Jak chcę zagrać w [Super Mario Bros](https://en.wikipedia.org/wiki/Super_Mario_Bros.) przez 5 minut, a następnie obejrzeć film, mogę to zrobić z pozycji kanapy bez kombinowania.

Nim mogłem sobie jednak pograć, musiałem wyłączyć "overlay" w aplikacji, gdyż dziwnie to wygląda mieć przyciski ekranowe na telewizorze, który nie ma dotykowego ekranu.

Ot twórca RetroArch nie uwzględnili faktu, że dla Apple TV overlay powinien być domyślnie wyłączony :)

{{% ads-in-article %}}

W Grudniu 2022, po zakupie najnowszego Apple TV pisałem o tym, że jest to [dobra konsola do gier z niewykorzystanymi możliwościami](/apple-tv-4k-2022-dobra-konsola-niewykorzystane-mozliwosci/). O ile można było sobie pograć w nowsze gry z Apple Arcade, o tyle tak naprawdę wszyscy czekali na coś prostszego, takiego jak Super Mario Bros.

Półtora roku później, użytkownicy Apple doczekali się przełomu, który nie był niczym nowym na platformę od Google, ale na wreszcie możemy sobie pograć w "starocie".

RetroArch wprowadza na nasz Apple TV nie tylko konsolę NES, SNES, MegaDriveale również Nintendo 64, Gameboy, Nintendo DS, jak i PlayStation 1, PSP oraz inne.

To właśnie gry z PlayStation mogą zachęcić wielu z was do spróbowania czegoś "starego" ale dobrego.

Teraz jeszcze ciąłbym zobaczyć czy jest możliwość dodania obsługi [Light Gun](https://en.wikipedia.org/wiki/NES_Zapper), które w przeszłości cieszyły użytkowników podczas gry w [Duck Hunt](https://en.wikipedia.org/wiki/Duck_Hunt)!

Ot byłaby to taka wisienka na torcie :)

> Dla ciekawości RetroArch dostępny jest również na Apple Vision!


---
## Zarządzanie ustawieniami przeglądarki Microsoft Edge w środowisku biznesowym z usługą Microsoft 365
- **URL:** https://dariusz.wieckiewicz.org/zarzadzanie-microsoft-edge-w-srodowisku-biznesowym-microsoft-365/
- **Date:** 2024-04-13
- **Tags:** Microsoft 365, Microsoft 365 Business Basic, Microsoft Edge, Microsoft Edge Business, Zasady dla Microsoft Edge, Google, Wyszukiwarka Google

### Content

Chociaż ostrożnie podchodzę do zakupu drogich licencji, dla niektórych firm najtańsza opcja, Business Basic za £4,90 za użytkownika miesięcznie, jest więcej niż wystarczająca!

Co jakiś czas odkrywam nowe „ukryte” funkcje, z których mogę korzystać, mając tylko podstawową licencję, i tym razem nie było inaczej.

Konfigurując komputery w firmach, zawsze domyślnie używam wyszukiwarki Google. Szczerze mówiąc, Bing po prostu nie nadąża, pomimo niedawnego szumu wokół sztucznej inteligencji. Dla większości użytkowników znajomość Google zwiększa produktywność, co jest kluczowe w każdym środowisku biznesowym.

Czego nienawidzę, to to, że Microsoft, wraz z każdą kolejną aktualizacją Microsoft Edge, zmusza Binga do powrotu jako domyślnej wyszukiwarki.

<!--more-->

Ta sytuacja przypomina mi tę bzdurę:

![Czerwony kapelusz z napisem Make Bing Great Again](make_bing_great_again.png)

**Pewnego dnia zaczęło mnie to tak denerwować, że chciałem znaleźć sposób, aby to powstrzymać.**

Martwię się jednak, gdy użytkownicy wyłączają ustawienia przeglądarki lub rozszerzenia, które zainstalowałem dla ich własnego bezpieczeństwa i bezpieczeństwa firmy. W idealnym przypadku chciałbym mieć możliwość zapobiegania tym zmianom.

Ręczne przywracanie zmian użytkownika na każdym komputerze nie jest wykonalne. Dlatego chciałem sprawdzić, czy Microsoft 365 oferuje sposób na wymuszenie tych ustawień bez uaktualniania licencji.

W naszej organizacji każdy użytkownik wykorzystuje swoje konto Microsoft do logowania się do swojego systemu operacyjnego i Microsoft Edge. Ta płynna integracja zapewnia synchronizację w całej firmie i dostępność danych.

Microsoft [Admin Portal](https://admin.microsoft.com) oferuje bogactwo przydatnych funkcji. Jednak niektóre dodatki mogą być aktywowane tylko na okres próbny i wymagają rozszerzonej licencji. Inne, mimo że są bardzo przydatne, są tak ukryte, że nawet nie wiesz, że tam są.

Niedawno znalazłem nową opcję związaną z [Microsoft Edge w portalu administracyjnym Microsoft 365](https://admin.microsoft.com/Adminportal/Home#/Edge). Nie wiadomo, jak długo ta funkcja jest dostępna, ponieważ Microsoft nie zawsze skutecznie komunikuje te cenne dodatki swoim płacącym użytkownikom.

[![Portal administracyjny Microsoft 365 — Ustawienia — Microsoft Edge](Microsoft_365_Settings_Microsoft_Edge.png)](Microsoft_365_Settings_Microsoft_Edge.png)

Ta sekcja służy do ustawiania **Zasad dla przeglądarki Microsoft Edge**.

[![Zasady dla Microsoft Edge — ekran początkowy](Policies_for_Microsoft_Edge_initial_screen.png)](Policies_for_Microsoft_Edge_initial_screen.png)

Może się to wydawać znajome użytkownikom, którzy mają doświadczenie z zasadami grupy na komputerach użytkowników. Jednak w przeciwieństwie do zasad grupy, to podejście nie wymaga ich wdrożenia.

Dzięki zasadom dla Microsoft Edge możesz skonfigurować szeroki zakres ustawień przeglądarki, a nawet je zablokować, aby zapobiec modyfikacjom użytkownika. Ponadto możesz wdrażać rozszerzenia centralnie.

Aby zapewnić spójne przeglądanie w całej firmie, wdrażam [Adblock Plus](https://microsoftedge.microsoft.com/addons/detail/adblock-plus-free-ad-bl/gmgoamodcdcjnbaobigkjelfplakmdhh) jako domyślne rozszerzenie na wszystkich komputerach. Chociaż użytkownicy mogą czasami je wyłączać, częste majstrowanie przy nim może zakłócić środki bezpieczeństwa. Na szczęście zasady Microsoft 365 pozwalają mi wymusić jego aktywację i zapobiec niezamierzonym modyfikacjom.

Jednak najważniejszym aspektem dla mnie było trwałe ustanowienie wyszukiwarki Google jako domyślnej wyszukiwarki na wszystkich komputerach. Dzięki temu pozostanie ona niezmieniona nawet w przypadku przyszłych aktualizacji firmy Microsoft.

**Oto jak to zrobiłem.**

> **Ważna uwaga:** Zasady te obowiązują obecnie wyłącznie użytkowników systemów Windows 10 i 11. System macOS nie jest obecnie obsługiwany, ale ta sytuacja może się zmienić w przyszłości.

## Domyślna wyszukiwarka

Ponieważ nie skonfigurowano jeszcze żadnych domyślnych zasad, musimy je utworzyć.

[![Microsoft Edge — konfiguracja zasad](Microsoft_Edge_Configuration_policies.png)](Microsoft_Edge_Configuration_policies.png)

Kierując się do **konfiguracji zasad** musimy nacisnąć przycisk **Utwórz zasady**.

> Nie martw się o przypadkowe wpłynięcie na użytkowników podczas konfigurowania zasad. Możesz tworzyć i definiować ustawienia bez wpływu na kogokolwiek. Zasady stają się aktywne dopiero po przypisaniu ich do określonych użytkowników lub grup w sekcji [Przypisanie](#przypisanie).

Początkowa lista ustawień może być obszerna i mniej przyjazna dla użytkownika w porównaniu z samym interfejsem przeglądarki.

Rozpoznając to potencjalne wyzwanie, Microsoft pomocnie dołączył następujący tekst wprowadzający...

> Wyszukaj ustawienie do skonfigurowania i dodania do zasad Microsoft Edge. Przeglądaj listę dostępnych zasad tutaj: [Dokumentacja zasad przeglądarki Microsoft Edge | Microsoft Learn](https://learn.microsoft.com/en-us/deployedge/microsoft-edge-policies)

**Ostrzeżenie!**

Chociaż zespół Microsoftu zasługuje na uznanie za **rozległą** dokumentację, jej pojedynczy, długi format stanowi wyzwanie pod względem użyteczności.

Początkowe ładowanie może być dość ciężkie, potencjalnie powodując powolne działanie przeglądarki lub nawet tymczasowe obciążenie zasobów komputera.

Wczytanie tej strony w jednej karcie zwiększyło użycie pamięci RAM mojego komputera do 2,6 GB, zanim przestał odpowiadać (prawdopodobnie z powodu mojej niecierpliwości).

Ta kompleksowa strona wymaga początkowego czasu ładowania. Zachowaj cierpliwość i unikaj odświeżania lub nawigowania tam i z powrotem. Może to znacznie spowolnić proces ładowania.

> Jeśli musisz przejść między sekcjami (nagłówkami), użyj paska przewijania, aby wrócić do miejsca, w którym byłeś.

Po załadowaniu użycie pamięci strony spada do kilku megabajtów, a następnie działa płynnie.

---

Wybierz opisową nazwę dla swojej polityki przed kliknięciem **Utwórz**.

Przejrzyjmy ponownie listę polityk. Kliknij na politykę, którą właśnie utworzyłeś, aby otworzyć sekcję **Zarządzaj ustawieniami dla tej polityki konfiguracji**. Ta sekcja początkowo będzie pusta.

[![Zarządzaj ustawieniami tej polityki konfiguracji](Manage_settings_for_this_Configuration_policy.png)](Manage_settings_for_this_Configuration_policy.png)

Kliknięcie **Dodaj ustawienie** wyświetla listę konfigurowalnych opcji zasad dla Microsoft Edge.

> Jak wspomniano wcześniej, konfigurowanie zasad Microsoft 365 dla Microsoft Edge nie jest tak proste, jak korzystanie z ustawień przeglądarki. Na przykład ustawienie domyślnej wyszukiwarki wymaga zastosowania wielu ustawień zamiast dokonania pojedynczego wyboru.

Aby skonfigurować wyszukiwarkę Google jako domyślną i jedyną wyszukiwarkę (wymuszoną), musimy zastosować następujące ustawienia:

- **DefaultSearchProviderEnabled**\
	Włącz domyślnego dostawcę wyszukiwania
	
	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

- **DefaultSearchProviderName**\
	Domyślna nazwa dostawcy wyszukiwania
	
	```
	Google
	```
	
	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

- **DefaultSearchProviderImageURL**\
	Określa funkcję wyszukiwania według obrazu dla domyślnego dostawcy wyszukiwania
	
	```
	{google:baseURL}searchbyimage/upload
	```
	
	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

- **DefaultSearchProviderImageURLPostParams**\
	Parametry dla adresu URL obrazu korzystającego z metody POST
	
	```
	encoded_image={google:imageThumbnail},image_url={google:imageURL},sbisrc={google:imageSearchSource},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight}
	```
	
	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)
	
- **DefaultSearchProviderSearchURL**\
	Domyślny adres URL wyszukiwania dostawcy wyszukiwania

	```
	{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}ie={inputEncoding}
	```

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

- **DefaultSearchProviderSuggestURL**\
	Domyślny adres URL dostawcy wyszukiwania dla sugestii

	```
	{google:baseURL}complete/search?output=chrome&q={searchTerms}
	```

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)


Jeśli chcesz dodatkowo włączyć funkcję [SafeSearch](https://en.wikipedia.org/wiki/SafeSearch) firmy Google, możesz skonfigurować następujące ustawienie:

- **ForceGoogleSafeSearch**\
	Wymuś filtrowanie Google SafeSearch
	
	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

Te ustawienia obejmują podstawowe elementy. Jednak ponieważ Bing może również wpływać na wyszukiwanie w pasku adresu, dołączyłem dodatkowe ustawienie, aby to rozwiązać.

- **NewTabPageSearchBox**\
	Konfigurowanie pola wyszukiwania na stronie nowej karty

	`Address bar`

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

Dodatkowo włączyłem następujące ustawienia:

 - **ShowHomeButton**\
	Pokaż przycisk Home na pasku narzędzi

	Zezwalaj użytkownikom na nadpisywanie: **Tak** (zaznaczone)

- **HomepageLocation**\
	Skonfiguruj adres URL strony głównej

	```
	https://www.google.com
	```

	Zezwalaj użytkownikom na nadpisywanie: **Tak** (zaznaczone)

{{% ads-in-article %}}

## Rozszerzenia

W każdej polityce Edge znajdziesz dedykowaną sekcję **Rozszerzenia** oprócz sekcji Ustawienia.

Ta dedykowana sekcja Rozszerzenia umożliwia wdrażanie rozszerzeń na komputerach użytkowników. Możesz również kontrolować, czy użytkownicy mogą modyfikować lub wyłączać te rozszerzenia.

[![Microsoft Edge - zasady - Rozszerzenia - AdBlock Plus](Microsoft_Edge_policy_Extensions_Adblock_Plus.png)](Microsoft_Edge_policy_Extensions_Adblock_Plus.png)

Ustawienie **Ustawienia instalacji** na **Wymuś** zapewnia wstępną instalację rozszerzenia na wszystkich komputerach użytkowników i uniemożliwia im jego wyłączenie.

Oprócz powyższych ustawień, zalecam również dodanie następujących:

- **ExtensionSettings**\
	Konfigurowanie ustawień zarządzania rozszerzeniami

	`Use the Extensions tab to manage this setting`

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

## Branding organizacji

Dostęp do zasad Edge daje Ci kontrolę nad różnymi aspektami. Poszukaj sekcji Ustawienia dostosowywania, która zawiera opcję **Branding organizacji**.

[![Microsoft Edge — branding organizacji](Microsoft_Edge_Organization_branding.png)](Microsoft_Edge_Organization_branding.png)

Ta sekcja umożliwia włączenie niestandardowych elementów marki Twojej organizacji, takich jak logo i schematy kolorów.

Chociaż korzystanie z niestandardowego brandingu jest opcjonalne, zdecydowanie polecam przynajmniej zmodyfikowanie **Koloru akcentującego**. Ta prosta zmiana zapewnia wskazówkę wizualną, pomagając Ci szybko zidentyfikować, czy przeglądarka użytkownika przestrzega zasad.

## Przypisanie

Po skonfigurowaniu ustawień zasad przejdź do sekcji **Przypisanie** (dostępnej w zasadach, w obszarze **Zasady dla przeglądarki Microsoft Edge**), aby wdrożyć je dla użytkowników.

[![Zasady Microsoft Edge - Przypisanie](Microsoft_Edge_Policy_Assignment.png)](Microsoft_Edge_Policy_Assignment.png)

Podczas gdy przypisywanie grup zabezpieczeń wykracza poza zakres tego przewodnika, wybranie **Wszyscy użytkownicy** z listy rozwijanej Wybierz grupę spowoduje wdrożenie tej polityki dla wszystkich w Twojej organizacji.

Dodanie tej grupy uruchamia wdrożenie polityki w przeglądarkach Twoich użytkowników. Chociaż nie nastąpi to natychmiast, polityka dotrze do wszystkich w rozsądnym czasie.

## Skąd wiesz, że to działa?

Wdrożenie polityki i przypisanie jej do grupy nie skutkuje natychmiastowym zastosowaniem.

Podobnie jak w przypadku wielu usług Microsoft, synchronizacja stosowania polityki na wszystkich urządzeniach może zająć trochę czasu. W niektórych przypadkach może to potrwać nawet jeden dzień.

Jeśli włączono [**Branding organizacji**](#branding-organizacji), dostosowany **Kolor akcentu** będzie najszybszym sposobem potwierdzenia zastosowania polityki. Zwróć uwagę na tę zmianę koloru po kliknięciu ikony użytkownika w lewym górnym rogu przeglądarki użytkownika.

Uzyskanie dostępu do ustawień Microsoft Edge (za pośrednictwem menu z trzema kropkami) ujawnia komunikat **Zarządzane przez Twoją organizację** na dole.

[![Microsoft Edge – menu Ustawienia (zarządzane)](Microsoft_Edge_Settings_menu_managed.png)](Microsoft_Edge_Settings_menu_managed.png)

Po wejściu do sekcji Ustawienia na górze baneru wyraźnie informuje: **Twoja przeglądarka jest zarządzana przez Twoją organizację.**

[![Microsoft Edge — baner ustawień (zarządzany)](Microsoft_Edge_Settings_banner_managed.png)](Microsoft_Edge_Settings_banner_managed.png)

Kliknięcie łącza w banerze przeniesie Cię do sekcji `edge://management`, w której znajdują się podstawowe informacje na temat zasad.

[![Microsoft Edge — zarządzanie](Microsoft_Edge_management.png)](Microsoft_Edge_management.png)

Kontynuując od sekcji `edge://management`, możesz uzyskać dostęp do `edge://policy`, aby uzyskać bardziej szczegółowy widok. Ta sekcja wyświetla aktualnie stosowane ustawienia i udostępnia opcję **Reload Policies**. Jest to przydatne, jeśli wprowadziłeś zmiany w polityce i chcesz, aby zostały one zastosowane natychmiast w przeglądarkach użytkowników, omijając zwykły czas oczekiwania na synchronizację.

[![Microsoft Edge — zasady](Microsoft_Edge_policies.png)](Microsoft_Edge_policies.png)

## Inne sugerowane

Zasady Microsoft Edge oferują szeroki zakres opcji dostosowywania, aby sprostać konkretnym potrzebom biznesowym. Przykłady podane tutaj przedstawiają tylko kilka ustawień, które uznałem za przydatne.

Poza tym jest też kilka, które bym zasugerował:

- **StartupBoostEnabled**\
	Włącz przyspieszenie uruchamiania

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

- **BackgroundModeEnabled**\
	Kontynuuj działanie aplikacji w tle po zamknięciu przeglądarki Microsoft Edge

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

- **SleepingTabsEnabled**\
	Konfigurowanie uśpionych kart

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)

- **SleepingTabsTimeout**\
	Ustaw limit czasu bezczynności karty w tle dla uśpionych kart

	`30 minutes of inactivity`

	Zezwalaj użytkownikom na nadpisywanie: **Tak** (zaznaczone)

- **PasswordManagerEnabled**\
	Włącz zapisywanie haseł w menedżerze haseł

	Zezwalaj użytkownikom na nadpisywanie: **Nie** (odznaczone)
	
---

Postępując zgodnie z tymi krokami, udało Ci się pomyślnie wdrożyć niestandardowe ustawienia przeglądarki Microsoft Edge na komputerach użytkowników w Twojej organizacji, stosując określone zasady.


---
## ChromeOS, Klawisze Trwałe i problem ze znakami wywoływanymi prawym klawiszem Alt (AltGr)
- **URL:** https://dariusz.wieckiewicz.org/chromeos-dostepnosc-klawisze-trwale-altgr/
- **Date:** 2024-04-11
- **Tags:** Chromebook, ChromeOS, ChromeOS Flex, Accessibility, Sticky Keys, Klawisze Trwałe, AltGr

### Content

> Od 29 maja 2024 roku, ChromeOS w wersji 125 zaczął być wdrażany na stabilne kanały dla wszystkich obsługiwanych Chromebooków. Poniżej opisany problem powinien zostać rozwiązany dla wszystkich, szczególnie dla osób piszących w obcych językach z włączonymi Klawiszami Trwałymi.

Niedawno napotkałem na bardzo interesujący problem z Chromebookiem mojej znajomej.

Moja koleżanka jest niepełnosprawna i pisze na swoim blogu [antybariera.pl](https://antybariera.pl) jednym palcem. Ponieważ domyślnie pisze po polsku, aby wstawić znaki specjalne, takie jak `ąśćżeł`, musiałaby użyć kombinacji klawiszy. Musiałaby do tego użyć dwóch palców, co jest niezwykle trudne, jeśli nie **niemożliwe**.

Chromebooki są wyposażone w przydatne funkcje ułatwień dostępu. Pamiętam, że widziałem coś zwanego klawiszami trwałymi (Sticky Keys), który **w teorii** powinien działać w następujący sposób.

Aby utworzyć znak `ę` w języku polskim, naciśnij i przytrzymaj klawisz <kbd>Alt</kbd>, a następnie naciśnij literę `e`.

Klawisze trwałe działają w sposób pozwalający na jednokrotne naciśnięcie klawisza, np. <kbd>Alt</kbd>. To go aktywuje i sprawia, że zachowuje się tak, jakby był przytrzymywany innym palcem. W ten sam sposób możesz dwukrotnie nacisnąć dany klawisz kontrolny (np. klawisz <kbd>Alt</kbd>), aby działał tak, jakby był zawsze wciśnięty, podobnie jak zwykle zachowuje się klawisz Caps Lock. Umożliwi to wpisanie więcej niż jednego znaku specjalnego w jednym przebiegu. Jeśli nie musisz już używać klawisza, naciśnij go ponownie (po raz trzeci), aby zwolnić go z funkcji klawisza trwałego.

**Na tyle teorii.**

<!--more-->

Wydawało mi się to idealnym rozwiązaniem dla mojej znajomej, ale jest jeden problem: **to nie działa!** Przynajmniej nie tak, jak się spodziewałem.

Przetestowałem klawisze trwałe na macOS (Sonoma) i Windows (11) i działały zgodnie z oczekiwaniami. Jednak w systemie ChromeOS klawisze trwałe działały nieprawidłowo na różnych urządzeniach. Sprawdziłem Chromebooki zarówno z klawiaturą wbudowaną, jak i zewnętrzną, a także ChromeOS Flex na PC.

Postanowiłem zbadać tę sprawę.

Po przeczytaniu więcej na ten temat zdałem sobie sprawę, że my, jako użytkownicy, nadmiernie uprościliśmy kilka rzeczy w oparciu o nasze doświadczenie.

Powszechnie wiadomo, że naciśnięcie lewego klawisza <kbd>Alt</kbd> w połączeniu z <kbd>F4</kbd> wymusza zamknięcie aplikacji lub okna. I odwrotnie, w polskim układzie klawiatury naciśnięcie prawego klawisza <kbd>Alt</kbd> z <kbd>e</kbd> powoduje wyświetlenie litery `ę`.

Klawisz umieszczony po lewej stronie spacji to zwykły klawisz <kbd>Alt</kbd>. Drugi klawisz, po prawej stronie, zwykle nosi nazwę <kbd>Alt Gr</kbd> (lub **Alt Graph**). Ten klawisz <kbd>Alt Gr</kbd> odpowiada za wywoływanie znaków specjalnych charakterystycznych dla różnych języków, co jest szczególnie przydatne dla tych, którzy nie korzystają z angielskiego układu klawiatury.

Gdy na Chromebooku (ChromeOS lub ChromeOS Flex) włączona jest funkcja klawiszy trwałych, lewy i prawy klawisz są błędnie rozpoznawane jako zwykłe klawisze <kbd>Alt</kbd>.

Podejrzewałem, że może to być problem tylko w przypadku klawiatur zewnętrznych, ale sprawdziłem też wbudowaną klawiaturę markowego Chromebooka. Zawiera on także klawisz <kbd>AltGr</kbd> po prawej stronie spacji.

Podczas pisania przy użyciu zwykłych kombinacji klawiszy lub przy użyciu wielu palców prawy klawisz <kbd>Alt</kbd> działa poprawnie jako klawisz <kbd>AltGr</kbd>. Jednakże, gdy funkcja klawiszy trwałych jest włączona, prawy <kbd>Alt</kbd> jest traktowany jak zwykły klawisz <kbd>Alt</kbd> i w ten sposób jest podświetlany.

Potwierdzają to powiadomienia na ekranie, które pojawiają się w lewym górnym rogu ekranu, gdy włączone są klawisze trwałe i naciśnięty jest odpowiedni klawisz, jak pokazano poniżej.

[![Powiadomienie o klawiszach trwałych po naciśnięciu w ChromeOS Flex](sticky_keys_chromeos.png)](sticky_keys_chromeos.png)

Oto myląca część: zrzut ekranu pokazuje opcję `altgr`, mimo że Chromebook traktuje zarówno pojedyncze, jak i podwójne naciśnięcia lewego lub prawego klawisza <kbd>Alt</kbd> jak standardowy klawisz <kbd>Alt</kbd> podczas gdy klawisze trwałe są włączone. Jest to sprzeczne z tym, co jest wyświetlone na samej klawiaturze.

Kiedy aktywowałem klawiaturę ekranową, poprawnie pokazywała ona klawisz <kbd>AltGr</kbd> umieszczony po prawej stronie spacji, tak jak powinna wyglądać klawiatura fizyczna.

Jeśli klawisze trwałe mają działać z **AltGr**, to jak właściwie możemy ich używać razem?

W swoich poszukiwaniach znalazłem stronę [keyjs.dev](https://keyjs.dev/), która pozwala wykryć, jaki klawisz został naciśnięty.

Kiedy naciskam lewy klawisz <kbd>Alt</kbd>, otrzymuję odpowiedzi `e.key=Alt` i `e.code=AltLeft`. Jednak gdy nacisnę prawy klawisz <kbd>Alt</kbd> (klawisz <kbd>AltGr</kbd>), otrzymuję komunikat `e.code=AltRight`, ale nadal `e.key=Alt`. Prawdopodobnie w tym miejscu pojawia się zamieszanie z klawiszami trwałymi.

Po tej informacji znalazłem dyskusję na [Reddit](https://www.reddit.com/r/chromeos/comments/lel1ju/custom_russian_colemak_phonetic_keyboard/), w której ktoś chciał utworzyć niestandardowy układ klawiatury rosyjskiej za pomocą <kbd>AltGr< /kbd> dla znaków cyrylicy. Sugeruje to, że możliwe może być dodanie niestandardowych układów do ChromeOS.

Część jego kodu wygląda następująco:
```
var AltGr = { PLAIN: "plain", ALTERNATE: "alternate" };
var Shift = { PLAIN: "plain", SHIFTED: "shifted" };

var lut = {
"KeyE": { "plain": {"plain": "ш", "shifted": "Ш"}, "alternate": {"plain": "щ", "shifted":"Щ"}, "code": "KeyE"},
};
```

Ten kod definiuje znaki tworzone przez różne kombinacje klawiszy: naciśnięcie samego klawisza <kbd>e</kbd>, naciśnięcie <kbd>e</kbd> z <kbd>AltGr</kbd> i naciśnięcie <kbd>e</kbd> z <kbd>Shiftem</kbd>.

W moim scenariuszu będzie to wyglądać następująco:

```
var lut = {
"KeyE": { "plain": {"plain": "e", "shifted": "E"}, "alternate": {"plain": "ę", "shifted":"Ę"}, "code": "KeyE"},
};
```

Chociaż rozwiązaniem jest utworzenie niestandardowego układu, należy pamiętać, że klawiatura sama poprawnie rozpoznaje <kbd>AltGr</kbd> podczas tworzenia symbolu `ę`. Problem polega na tym, że Sticky Keys traktują <kbd>AltGr</kbd> jako zwykły klawisz <kbd>Alt</kbd>, gdy jest włączony.

Po zwróceniu się o pomoc do Zespołu Google ds. ułatwień dostępu (Google Accessibility Team) postanowiłem bliżej przyjrzeć się temu problemowi, czekając na jego odpowiedź.

Z [innej dyskusji na Reddicie](https://www.reddit.com/r/chromeos/comments/e5qi4i/creating_custom_keyboard_layout_or_customizing/) wygląda na to, że ChromeOS używa `e.code` do rozróżniania lewego i prawego klawisza <kbd>Alt</kbd>. Pozostaje pytanie: dlaczego klawisze trwałe nie rozpoznają odpowiedniego <kbd>Alt</kbd> (który w rzeczywistości jest <kbd>AltGr</kbd>) i nie wykorzystuje go poprawnie?

Czy istnieje sposób zmodyfikowania `e.code=AltRight` tak, aby klawisze trwałe rozpoznawał go jako <kbd>AltGr</kbd>?

[Przeszukałem](https://github.com/search?q=repo%3Agoogle%2Fextra-keyboards-for-chrome-os%20AltGr&type=code) oficjalne repozytorium Google GitHub z dodatkowymi klawiaturami dla ChromeOS. Szukając wystąpień <kbd>AltGr</kbd>, znalazłem je w niektórych językach.

Znalazłem coś interesującego w układzie klawiatury `bepo`, który jest przeznaczony do zoptymalizowanego pisania po francusku:

```
function updateAltGrState(keyData) {
  altGrState = (keyData.code == "AltRight") ? ((keyData.type == "keydown") ? AltGr.ALTERNATE : AltGr.PLAIN)
                                              : altGrState;
```

Znalazłem podobne odniesienia do użycia <kbd>AltGr</kbd> w Esperanto i Dvorak (zarówno w układzie lewo-, jak i praworęcznym), a także niektórych rozszerzonych funkcjonalnościach w układzie UK Extended.

W pliku `composekey/background.js` zauważyłem wpis:

```
// Domyślnie zachowywany jest modyfikator: w przeciwnym razie domyślny klawisz tworzenia AltRight koliduje z klawiszem AltGr w układach międzynarodowych.
keepModifier: true,
```

Na podstawie tego odkrycia zajrzałem do [Compose Key dla systemu operacyjnego Chrome](https://github.com/google/extra-keyboards-for-chrome-os/tree/1f644e9f056fae74078f0d35000e2e906ae9475f/composekey), aby zobaczyć, co robi.

Oto, czego się dowiedziałem z informacji o Compose Key...

> _To rozszerzenie zamienia prawy klawisz Alt (klawisz wyzwalający można konfigurować) w Compose key na różnych układach klawiatur angielskich, w tym w USA, Kanadzie i Wielkiej Brytanii._

Sugeruje to, że potrzebny jest kolejny krok, aby włączyć funkcjonalność **AltGr**. Samo dodanie układu, np. angielskiego (brytyjskiego) z Dvorakiem, nie rozwiązuje problemu polegającego na tym, że klawisze trwałe nie rozpoznają prawego klawisza <kbd>Alt</kbd> jako <kbd>AltGr</kbd>.

Znalazłem [rozszerzenie Compose Key](https://chromewebstore.google.com/detail/composekey/iijdllfdmhbmlmnbcohgbfagfibpbgba) w sklepie Chrome Web Store i zdecydowałem się je zainstalować.

Jak czytamy:

> _To rozszerzenie dodaje do systemu operacyjnego Chrome kilka układów klawiatury z Compose key._

Nie napawałem się optymizmem, gdy przeczytałem jeden z komentarzy:

> _Nie działa już w wersjach Chrome OS i Chrome OS Flex Wersja 99.0.4844.94_

**I komentarz był słuszny.**

Instrukcje dotyczące włączania metody wprowadzania Compose Key wskazują ustawienia, które już nie istnieją w ten sam sposób.

[![ComposeKey Początkowa konfiguracja](composekey_initial_setup.png)](composekey_initial_setup.png)

Na szczęście udało mi się znaleźć niezbędną metodę wprowadzania w menu ustawień.

[![Dodaj metodę wprowadzania ComposeKey](add_input_method_composekey.png)](add_input_method_composekey.png)

Miałem nadzieję, że po wylogowaniu się i ponownym zalogowaniu zgodnie z zaleceniami powiadomienie ekranowe dotyczące klawiszy trwałych w końcu poprawnie rozpozna <kbd>AltGr</kbd>. **Niestety tak nie było.**

Ponieważ nie otrzymałem jeszcze odpowiedzi od zespołu Google ds. ułatwień dostępu, postanowiłem zadać to pytanie gdzie indziej.

Zacząłem poszukiwania na [forum społeczności Chromium](https://support.google.com/chromebook/thread/259227846/how-to-invoke-altgr-with-sticky-keys-turned-on). Tam stało się jasne, że wygląda to na błąd w samym systemie.”

Zgodnie z zaleceniem utworzyłem śledzony błąd ([#325633307](https://issuetracker.google.com/issues/325633307)), aby zobaczyć jego postęp. W międzyczasie powiadomiłem także e-mailem Zespół Google ds. ułatwień dostępu o otwartej sprawie, na wypadek gdyby zespół chciał być na bieżąco informowany.

Czekając na odpowiedź, zdecydowałem się przetestować klawisze trwałe z różnymi metodami wprowadzania języka. Zainstalowałem kilka i obserwowałem ich zachowanie. Niestety żaden z nich nie zgłosił aktywacji <kbd>AltGr</kbd> po naciśnięciu prawego klawisza <kbd>Alt Gr</kbd> na klawiaturze.

**Na razie jestem w ślepym zaułku. Może później coś wymyślę.**

{{% ads-in-article %}}

Mimo że wykryty błąd nie poczynił żadnych postępów, otrzymałem dalszą wiadomość od zespołu Google ds. ułatwień dostępu. Poprosili o dodatkowe informacje, które pomogą im rozwiązać problem.

W międzyczasie mój śledzony błąd zyskał popularność w zespole Google i po miesiącu został rozwiązany.

Zespół wyraźnie rozumie problem i rozpoczął pracę nad rozwiązaniem.

Ich dochodzenie zidentyfikowało pierwotną przyczynę problemu. Do celów testowych zaimplementowano potencjalną poprawkę, która została zintegrowana z wersją rozwojową ChromeOS 125.0.6380.0.

Nie mogę jeszcze przetestować poprawki. Chociaż mój laptop ma system operacyjny Chrome w wersji Dev Channel, jest on w wersji 124.

Zakładając, że poprawka się powiedzie, zastanawiam się, ile czasu zajmie osiągnięcie stabilnej wersji ChromeOS. Obecnie wersja stabilna to 122, Beta to 123, a Dev to 124.

**Czas poczekać.**

Wreszcie nadszedł ten dzień! Moje urządzenie zostało zaktualizowane do wersji rozwojowej 125.0.6398.0. Po ponownym uruchomieniu chciałem sprawdzić, czy problem rozpoznawania **AltGr** został w końcu naprawiony.

**I rzeczywiście!**

Powodzenie! Przy włączonej funkcji klawisze trwałe naciśnięcie prawego klawisza Alt (<kbd>AltGr</kbd>) powoduje teraz wyświetlenie w powiadomieniu komunikatu `altgr`, zgodnie z oczekiwaniami.

[![Naprawia klawisze trwałe w ChromeOS 125 z działającym AltGr](sticky_keys_chromeos_altgr.png)](sticky_keys_chromeos_altgr.png)

Szybki test z pewną kompozycją tekstu to potwierdza: poprawka działa doskonale!

Wow, jestem pod wielkim wrażeniem, że poważnie podeszli do mojego problemu i tak go rozwiązali! Na początku nie byłem pewien, czy tak się stanie, ale zespół Google naprawdę się spisał.

Ponownie odwiedziłem witrynę [keyjs.dev](https://keyjs.dev/), aby potwierdzić poprawkę. Teraz naciśnięcie prawego klawisza Alt (<kbd>AltGr</kbd>) zwraca `e.key=AltGraph` i `e.code=AltRight`. Poprzednio wyświetlało tylko `e.key=Alt` i `e.code=AltRight`.

Chociaż z radością ogłaszam, że problem został rozwiązany, moja znajoma niestety nadal boryka się z tym problemem.

Poprawka jest obecnie w wersji 125, natomiast stabilna wersja ChromeOS to 123 (dwie wersje później). Zapytałem zespół o możliwość wcześniejszego przeniesienia tej poprawki na kanał stabilny, zamiast czekać na oficjalne wydanie wersji 125.

Chociaż backport może być mało prawdopodobny, zawsze istnieje szansa. Tymczasem musimy poczekać na stabilną wersję.

**Bez obaw! Przynajmniej zostało to naprawione, a to będzie duża poprawa w pisaniu dla mojej znajomej.**


---
## Kiedy wszystko zaczyna się walić... dodanie alternatywnego routingu do Cloudflare Email Routing przy pomocy Email Workers
- **URL:** https://dariusz.wieckiewicz.org/kiedy-wszystko-zaczyna-sie-walic-cloudflare-email-routing/
- **Date:** 2024-03-29
- **Tags:** Cloudflare, Email Routing, Email Workers, Gmail, Outlook, Gmailify, Gomailify

### Content

Dzięki Cloudflare Email Routing mogę odbierać i wysyłać e-maile w mojej domenie, ale nadal zarządzać nimi na moim zwykłym koncie Gmail. Wszystko jest ustawione tak jak napisałem w moim wpisie [Poczta we własnej domenie z Cloudflare (i Gmail)](/cloudflare-poczta-we-wlasnej-domenie/)

W zeszłym tygodniu napotkałem problem polegający na tym, że e-maile nie docierały do mojej skrzynki pocztowej.

Najpierw pomyślałem, że coś jest nie tak z usługą Gmail, która blokuje przesyłane dalej wiadomości. Niestety, to samo spotkało wielu innych osób korzystających z tej usługi czytając ich wpisy w Internecie.

<!--more-->

Na stronie społeczności Cloudflare znajduje się [wpis](https://community.cloudflare.com/t/transient-error-421-4-7-0-when-forwarding-emails-to-gmail/629941), w którym zaczęto narzekać na to i utratę wiadomości e-mail, szczególnie podczas korzystania z routingu poczty e-mail z Cloudflare.

Kiedy wiadomość została odrzucona po stronie Cloudflare, została zgłoszona jako **Delivery Fail** (Niepowodzenie dostarczenia) i opisana z następującym komunikatem:

```
transient error (451): 4.7.650 The mail server [104.30.8.112] has been temporarily rate limited due to IP reputation.
```

Jako, że nie ma możliwości podglądu wiadomości w Cloudflare ani zrobienia z nią czegokolwiek ciężko jest zdiagnozować problem.

O ile bardzo lubię Cloudflare, tak i ja, podobnie jak inni użytkownicy, zastanawialiśmy się nad rezygnacją z tego rozwiązania na rzecz bardziej niezawodnych opcji.

Wracając do komunikatu o błędzie, ponieważ myślałem, że jest to spowodowane ograniczeniem Gmaila, szybko udało mi się zmienić regułę routingu, aby przekierowywać moje e-maile na pocztę Outlook.

Zwykle serwery poczty e-mail, które nie były w stanie dostarczyć wiadomości do miejsca docelowego, będą podejmować kolejne próby, zanim je odrzucą. Przekierowanie z Gmaila do Outlooka spowoduje zmianę trasy i przy kolejnej próbie dostarczenia poczta zostanie poproszona w innym kierunku (Outlook).

Zadziałało! W ciągu kilku dni otrzymałem większość e-maili, których nie udało się dostarczyć do Gmaila.

> Co zaskakujące, wszystkie zostały dostarczone przez serwery Outlooka i oznaczone jako spam (śmieci), dlatego jest tu coś więcej niż tylko konflikt między Cloudflare a Gmailem.

Jednak nadszedł kolejny dzień i zobaczyłem podobny problem zgłoszony przez serwery Microsoft:

```
upstream (outlook-com.olc.protection.outlook.com.) temporary error: Unknown error: transient error (451): 4.7.650 The mail server [104.30.8.115] has been temporarily rate limited due to IP reputation.
```

**To nie może być przypadek i coś musi być nie tak z Cloudflare.**

Ludzie zaczynają się skarżyć, twierdząc, że Cloudflare nie jest zainteresowany naprawieniem tego problemu. Choć problem wygląda na błahy, naprawienie go może nie być tak proste, jak można sobie wyobrazić.

Ponieważ usługa jest świadczona bezpłatnie, trudno bezpośrednio poprosić o pomoc, jednak część użytkowników, którzy zdecydowali się na płatny abonament, również narzeka na brak wsparcia w tej kwestii.

Mijały dni i wydawało się, że sytuacja blokowania po stronie Gmaila powróciła do poprzedniego poziomu, w którym e-mail był blokowany, a po ponownej próbie zazwyczaj akceptowany i przekazywany po 20 minutach.

Pozostaje jednak pytanie, jak poważne konsekwencje może mieć dla nas ta zawodność i co możemy z tym zrobić.

Możliwość odbierania e-maili w mojej domenie jest dla mnie dość istotna. Z poczty e-mail w mojej domenie korzystam od lat, kiedy korzystałem z Google Workspace (w wersji darmowej) i korzystam z niej niemal wszędzie.

Niezależnie od tego, czy powoduje to jakiekolwiek straty materialne, czy nie, trudno sobie pozwolić na utratę istotnej komunikacji tylko dlatego, że niektóre adresy IP po stronie Cloudflare zostały sklasyfikowane jako spam.

Wprowadziłem środki łagodzące (tymczasowe przekierowania), ale w międzyczasie szukałem alternatywnego rozwiązania na wypadek, gdyby sytuacja się powtórzyła w przyszłości.

> Jeśli jesteś pojedynczym użytkownikiem w swojej domenie, wybór innego rozwiązania na rynku (płatnego) może być proste. Jednakże, gdy zaczniesz budować liczbę użytkowników (rodziny), dodatkowe płacenie za każdego użytkownika nagle stanie się niepotrzebnie bardzo kosztowne. Już na początku warto przemyśleć wybór odpowiedniej usługi.

Mając na uwadze mój budżet, zastanowiłem się nad płatnym rozwiązaniem umożliwiającym przekazywanie wiadomości e-mail do Gmaila o nazwie [Gomailify (Gomailify.com)](https://www.gomailify.com) (poprzednio Gmailify.com). Gomailify pobiera opłatę w wysokości 12 USD rocznie za maksymalnie 2 połączone konta Gmail, a następnie 6 USD rocznie za każde dodatkowe. Usługę, podobną w nazwie do rozwiązania Google, ale różniącą się funkcjonalnością, tworzy osoba o imieniu Mercata Sagl mieszkająca w Szwajcarii.

Autor tej usługi tworzy ją z myślą o Gmailu. Komunikacja odbywa się wyłącznie z serwerami Google i odbywa się głównie przy użyciu protokołu IPv6, w razie potrzeby powracając do protokołu IPv4. Obsługuje SPF, DMARC i DKIM w określonych domenach. W porównaniu z Cloudflare Email Routing, gdzie mogę ustawić SPF i DMARC, nie znalazłem sposobu na użycie DKIM z Gmailem i prawdopodobnie na tym właśnie polega główny problem tej usługi przesyłania dalej.

**Ale czy napewno?**

> Cloudflare podpisuje każdy e-mail, w którym brakuje DKIM, swoim kluczem, a w raporcie widnieje informacja, że wiadomość pochodzi z `email.cloudflare.com`.

**Ktoś w dyskusji powiedział coś, co skłoniło mnie do zastanowienia się, zanim podjąłem decyzję o zmianie usługodawcy.**

> „Martwię się o niezawodność i bezpieczeństwo zarówno Gomailify, jak i Forewardemail…
> 
> Obydwa rozwiązania sprawiają wrażenie 1-osobowych firmy, które wyrosły z hobby. Co zwykle jest świetne w przypadku projektów OSS, ale w przypadku podstawowej i krytycznej usługi, takiej jak poczta e-mail dla całych domen, nie wiem… Kto wie, czy ich infrastruktura nie mogłaby się załamać pod wpływem ataku, czy też nie mogłaby stać się wektorem ataku dla kogoś, kto przechwyci kody 2FA w wiadomościach e-mail, itd. Niezastąpiony człowiek może wyjechać na wakacje lub umrzeć…”

[![Cloudflare Radar Malicious Emails](cloudflare-radar-email-malicious-xy-20240325-20240325.png)](cloudflare-radar-email-malicious-xy-20240325-20240325.png)

W ramach korzystania z innych usług Cloudflare sprawdzałem ich radar Cloudflare i wykres dla [Email Security](https://radar.cloudflare.com/email-security). W weekend, kiedy problem osiągnął szczyt, okazało się, że 50% e-maili na całym świecie zostało sklasyfikowanych jako potencjalne zagrożenie. **Zbieg okoliczności?**

Łatwo jest wyciągnąć pochopne wnioski i zacząć wypowiadać się źle na temat usługi świadczonej bezpłatnie. Oczywiście jest miejsce na ulepszenia, ale jeśli na horyzoncie wydarzy się coś większego, czego nikt nie rozumie, pierwszą linią obrony będą praktyki łagodzące i **cierpliwość**.

Dyskusja, która toczyła się w społeczności, stała się przez część osób tyradą na temat Cloudflare (obecnie usuniętego przez tę osobę). Tyrada pełna żądań usługi, która jest świadczona taką jaka jest, bez żadnych opłat i zobowiązań. Niektórzy o tym zapominają.

## Cloudflare Email Routing z Email Workers - Podejście 1

> Uwaga spoiler: Podejście 3 jest tym, które osobiście używam.

Dyskusja jest świetna, gdy dochodzi do wniosku, który pomaga wszystkim, i ten [dotarł](https://community.cloudflare.com/t/transient-error-421-4-7-0-when-forwarding-emails-to-gmail/629941/).

Jeden z użytkowników przypomniał w swoim [innym poście](https://community.cloudflare.com/t/my-email-worker-catchall-backup-routing-plus-addressing-and-subdomain-addressing/634156), że istnieje to opcja, która umożliwia doładowanie routingu poczty e-mail w Cloudflare przy pomocy Email Workers.

```js
export default {
  async email(message, env, ctx) {

  //alias lists using RegEx. Examples below will allow for plus-addressing and subdomain addressing.
  // (I have configured wildcard (*) DNS records to catch all sub-domains). 
    const user1_alias = [
      "user1+.*@mydomain.net",
      ".*@user1.mydomain.net",      
      ];

    const user2_alias = [
      "user2+.*@mydomain.net",
      ".*@user2.mydomain.net",      
      ];

  //primary emails
    const user1_primary = 'user1@gmail.com';  
    const user2_primary = 'user2@gmail.com';  
    const user3_primary = 'user3@gmail.com';  

  //backup emails (still going to primary email, but via improvmx instead of directly from Cloudflare).
  //you will need to create a subdomain (ex. 'imx') setup using improvmx, and improvmx aliases pointed to primary email
    const user1_backup = 'user1@imx.mydomain.net';  
    const user2_backup = 'user2@imx.mydomain.net';   
    const user3_backup = 'user3@imx.mydomain.net';  
  
  //final catchall if primary and backup fails
    const user3_outlook = 'user1@outlook.com';  

  //This tests alias against message "To:", showing the value of [true] if matching.
    const is_user1_alias = RegExp(user1_alias.join("|"), "i").test(message.to);
    const is_user2_alias = RegExp(user2_alias.join("|"), "i").test(message.to);
  
  //action to take 
    //inside Try is to route to backup (ImprovMX to Gmail) to get by Cloudflare to Gmail issues.
    //outside Try is to route to Outlook (final catchall) if both primary and backup fails.
    var gmail_error;
    try {
      switch (true){
        case (is_user1_alias):
          try {await message.forward(user1_primary);}
          catch(gmail_error) {await message.forward(user1_backup);}
          break;
        case (is_user2_alias):
          try {await message.forward(user2_primary);}
          catch(gmail_error) {await message.forward(user2_backup);}
          break;
        default:
          try {await message.forward(user3_primary);}
          catch(gmail_error) {await message.forward(user3_backup);}
          break;
      }
     }
    catch(improvmx_error){
      try {await message.forward(user3_outlook);}
      catch(outlook_error) {
        message.setReject(outlook_error.message);
        return message.setReject(outlook_error.message + '\n' + improvmx_error.message + '\n' + gmail_error.message);
        }
    }
  }
}
```

> Zapisuję to i poniższe kody dla moich referencji na wypadek, gdyby zniknęły z wątku społeczności.

Autor ustawił pracowników (Workers) poczty e-mail tak, aby wszelkie e-maile, które nie zostały dostarczone za pośrednictwem usługi Cloudflare, zostały dostarczone za pomocą innej usługi przesyłania dalej, [ImprovMX](https://improvmx.com).

> Ustawił on poddomenę w swojej domenie głównej jako usługę e-mail na ImprovMX, gdzie domena główna nadal była zarządzana przez Cloudflare.

Dodatkowo Worker dodał możliwość przechwytywania i dostarczania wiadomości e-mail do innych subdomen, co nie jest możliwe bezpośrednio poprzez Cloudflare Email Routing, a także wprowadził możliwość przechwytywania wiadomości e-mail zawierających symbole `+` w adresach e-mail, które w środowisku Gmail są służy do kategoryzowania wiadomości e-mail.

## Cloudflare Email Routing z Email Workers - Podejście 2

Inny użytkownik w [tym samym wątku](https://community.cloudflare.com/t/my-email-worker-catchall-backup-routing-plus-addressing-and-subdomain-addressing/634156/13) utworzył kolejny singiel pracownik poczty elektronicznej do obsługi wiadomości e-mail poprzez zastosowanie techniki catch-all.

```js
export default {
    async email(message, env, ctx) {

        // defining all alias to user mappings we have
        const users = [{
            alias: [
                "first@firstdomain.de",
                "first@seconddomain.de",
            ],
            primary: "first@gmail.com",
            backup: "first@gmx.de",
        }, {
            alias: [
                "second@firstdomain.de",
            ],
            primary: "second@gmail.com",
            backup: "second@gmx.de",
        }, {
            alias: [
                "third_alias1@firstdomain.de",
                "third_alias2@firstdomain.de",
            ],
            primary: "third@gmail.com",
            backup: "third@gmx.de",
        }, {
            alias: [
                "fourth@firstdomain.de",
            ],
            primary: "fourth@gmail.com",
            backup: "fourth@gmx.de",
        }, ]

        // setting the target_user as our catch all user
        let target_user = {
            primary: "catchall@gmail.com",
            backup: "catchall@gmx.de",
        }

        // checking if we have a user matching and overwrite the target_user with it
        users.forEach(user => {
            if (RegExp(user.alias.join("|"), "i").test(message.to)) {
                target_user = user;
            }
        });

        // sending mail out, first to google and on error to gmx
        let reject_reason;
        try {
            await message.forward(target_user.primary);
        } catch (gmail_error) {
            reject_reason = gmail_error.message;
            try {
                await message.forward(target_user.backup);
            } catch (gmx_error) {
                reject_reason = gmx_error.message + "\n" + reject_reason;
                message.setReject(reject_reason);
            }
        }
    }
}
```

Obydwa rozwiązania świetnie sprawdzają się jako dodanie możliwości utworzenia trasy zapasowej, jeśli z jakiegoś powodu wiadomości e-mail zostaną odrzucone.

{{% ads-in-article %}}

## Cloudflare Email Routing z Email Workers - Podejście 3

Wracając do głównego wątku w społeczności Cloudflare [inny użytkownik](https://community.cloudflare.com/t/transient-error-421-4-7-0-when-forwarding-emails-to-gmail/629941/91 ) dodał bardzo uproszczony kod dla pracownika (Worker) poczty e-mail, który wykorzystuje proste podejście do trasy zapasowej.

```js
export default {
  async email(message, env, ctx) {
    await message.forward("your gmail address").catch((err) => {
      return message.forward("your alternative mailbox address");
    });
  }
}
```

Myślałem o zastosowaniu bardziej złożonego podejścia (1 lub 2), ale ostatecznie wybrałem uproszczone, ponieważ **po prostu działa**.

## Uproszczone podejście w praktyce

Poprzez **Email** > **Email Routing** > **Destination Addresses** dodałem (i zweryfikowałem) adresy Gmail wszystkich użytkowników, których używam, a także ich alternatywne adresy e-mail (Outlook).

> Musisz dodać i zweryfikować wszystkie trasy, które określisz w swoim Email Worker. W przeciwnym razie Worker po prostu nie dostarczy wiadomości.

Następnie utworzyłem kilka Email Workers dla każdego użytkownika i każdego scenariusza.

W **Routing rules** zmieniłem każdą akcję dla każdego adresu niestandardowego z **Send to an email** na **Send to a Worker** i określonego pracownika (Worker).

W ten sposób wykorzystałem proste zasady, które brzmią następująco.

Każdy, kto wyśle wiadomość e-mail na mój główny adres `dariusz@` (w mojej domenie) zostanie przekierowany na mój adres `@gmail.com`. Jeśli z jakiegoś powodu Cloudflare zgłosi błąd w przekazywaniu, spróbuje przekierować do `@outlook.com`.

> Przy odrobinie majsterkowania możliwe jest ustawienie podejścia 3-kierunkowego, gdy pierwsze dwa zawiodą, zostanie wypróbowany trzeci i ostatni adres. Początkowo rozważano to w podejściu 1. W przypadku większości ludzi pojedyncza trasa zapasowa powinna spełnić swoje zadanie.

Pomyślnie przesłane (przez Email Worker) e-maile zostaną oznaczone w Cloudflare, w **dzienniku aktywności** jako _Dropped_ (Porzucone). Jeśli obie trasy zawiodą, wyświetli się błąd i zostanie oznaczony jako _Delivery Failed_ (Dostarczenie nieudane).

[![Cloudflare Email Routing summary (March 2024)](Cloudflare_Email_Routing_summary_March_2024.png)](Cloudflare_Email_Routing_summary_March_2024.png)

Pomyślnie przesłane e-maile bez Email Workers zostały oznaczone jako __Forwarded__ (Przekazane) w dzienniku aktywności i jako _Dropped_ (Porzucone) z Email Workers. Może to być nieco mylące, ale jak słusznie zauważyła jedna osoba na forum społeczności, jest to po prostu kwestia nazewnictwa autorstwa Cloudflare. Musimy tylko ponownie przemyśleć słowo _Dropped_ (Porzucone), ponieważ _poczta została pomyślnie porzucona do skrzynki pocztowej_. **Cieszę się z tej interpretacji :)**

> Jak zauważyłem w listopadzie/grudniu 2024 roku, Cloudflare zmieniło sposób oznaczania wiadomości e-mail dostarczanych przez Email Workers. Niektóre nadal są oznaczane jako _Dropped_, ale więcej z nich jest oznaczanych, thak jak powinny być oznaczane, czyli jako _Forwarded_. Pozytywna zmiana, która nie będzie mylić użytkowników.

## Zarządzanie trasą główną i zapasową w jednym miejscu - Google Gmailify

Kiedy masz ładnie ustawiony adres główny (w Gmailu) wraz z kopią zapasową (w Outlooku), miło będzie mieć całą pocztę w jednym miejscu.

W środowisku Outlook możemy łatwo ustawić regułę przekazywania, dzięki czemu każdy e-mail, który trafi do skrzynki odbiorczej, zostanie przekazany, tym razem przez serwery Microsoft, z powrotem na nasz główny adres Gmail.

**Testowałem i działa dobrze, ale...**

Jest jeden problem z _samym_ włączeniem przekazywania w Outlooku.

Tylko e-maile, które pomyślnie trafiły do skrzynki odbiorczej, są przekazywane dalej. Jeśli którykolwiek z naszych e-maili zostanie przekazany przez Cloudflare na alternatywny adres e-mail, wyląduje w folderze Śmieci, pozostanie tam (tylko przez 10 dni, zgodnie z polityką przechowywania Outlook).

Nie widzę siebie, jak od czasu do czasu wchodzę do Outlooka tylko po to, żeby sprawdzić folder Śmieci, dlatego skorzystałem z Gmailify, aby mi w tym pomóc.

Wspomniałem na początku o Gomailify (poprzednio Gmailify.com), ale tym razem mam na myśli [Gmailify, usługę oferowaną przez Google](https://blog.google/products/gmail/gmailify-best-of-gmail-without-gmail/). **Wiem, to mylące!**

Ze względu na tę samą nazwę dla dwóch różnych usług świadczonych przez dwóch różnych autorów, dlatego twórca [Gomailify.com](https://gomailify.com) umieścił to na swojej stronie internetowej:

> **To nie Gmailify Google**
>
> Gmail ma funkcję o nazwie Gmailify. Służy jednak innemu celowi, łącząc konta Outlook i Yahoo z Gmailem. Nasza usługa łączymy Gmaila z domenami. Konflikt nazw jest przypadkowy.

**Gmailify od Google** pozwala dodać Twoje konto Outlook w tak unikalny sposób, że **nie** będzie po prostu pobierać wiadomości z innego e-maila, tak jak ma to miejsce przy ustawieniu go przez protokół POP3 lub IMAP. Gmailify **zintegruje** pocztę Outlook z Twoim środowiskiem Gmail.

> Google wyłączyło ostatnio usługę Gmailify, a także możliwość pobierania wiadomości z innych skrzynek pocztowych przy użyciu protokołu POP3. Możesz o tym przeczytać na ich oficjalnej stronie: [Więcej informacji o nadchodzących zmianach w Gmailify i protokole POP w Gmailu](https://support.google.com/mail/answer/16604719?hl=pl)

Jeśli coś wyląduje w folderze Śmieci w programie Outlook po synchronizacji w środowisku Gmail (nie jest to natychmiastowe), zobaczysz tę wiadomość w folderze Śmieci w Gmailu. **Świetnie!**

Jeśli usuniesz wiadomość z folderu Śmieci po stronie Gmaila, zostanie ona również usunięta z Outlooka.

**Dzięki przekierowaniu ustawionemu w Outlooku dla wszystkich wiadomości przychodzących i Gmailify by Google, możesz zarządzać swoją główną pocztą e-mail i zapasową z jednego miejsca, Gmaila.**

## Inne podejście

Wraz z wprowadzeniem prostego routingu z Cloudflare Email Workers zadałem sobie pytanie, czy możliwe jest routing na więcej niż jeden adres e-mail?

W [innym poście w społeczności](https://community.cloudflare.com/t/routing-an-email-to-more-than-one-address-from-the-same-user/437169/3) znalazłem prostą odpowiedź na pytanie, jak to osiągnąć.

```js
export default {
  async email(message, env, ctx) {
    const forwardList = ["email1@gmail.com", "email2@gmail.com"];
    for(const email of forwardList){
      await message.forward(email);
    }
  }
}
```

Przy odrobinie majsterkowania Worker może stać się ciekawą metodą realizacji celu, o który od jakiegoś czasu pytają użytkownicy Cloudflare, czyli kierowania poczty e-mail na więcej niż jeden adres z tego samego użytkownika.

Nie jestem ekspertem, ale _z grubsza_ pomysł będzie taki:

```js
export default {
  async email(message, env, ctx) {
    const forwardList = ["email1@gmail.com", "email2@gmail.com"];
    for(const email of forwardList){
      await message.forward(email).catch((err) => {
      return message.forward("email@outlook.com");
    });
    }
  }
}
```

Z wieloma kopiami zapasowymi:

```js
export default {
  async email(message, env, ctx) {
    const forwardList = ["email1@gmail.com", "email2@gmail.com"];
    const backupList = ["email1@outlook.com", "email2@outlook.com"];
    for(const email of forwardList,backup of backupList){
      await message.forward(email).catch((err) => {
      return message.forward(backup);
    });
    }
  }
}
```

Nie mogę zagwarantować, że to zadziała, ponieważ może to mieć pewne negatywne skutki, jeśli jeden e-mail zakończy się niepowodzeniem, a inny nie.

Osobiście korzystam z trasy e-mail Cloudflare z mojej domeny na prywatny adres e-mail Grupy Google, z którego przekazuję wiadomości do wielu użytkowników.

--- 

Ostatnie słowo w tym poście to liczba wykorzystanych zapytań do Workers w Cloudflare.

W ramach naszego konta mamy limit bezpłatnych kont wynoszący **100 000** żądań **dziennie**. Interesujące jest to, że kiedy ustawiam reguły, po przesłaniu około 50 e-maili liczba żądań zbliża się do 600. Nie jestem pewien, jak dokładnie liczone są żądania pracowników, ale myślę, że zmieszczę się w limicie na mój prywatny użytek.

Pozdrowienia.


---
## Filtrowany, Bezpieczny DNS z Cloudflare One, Zero Trust i OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/filtrowany-bezpieczny-dns/
- **Date:** 2024-03-24
- **Tags:** OpenWrt, Bezpieczny DNS, Filtrowany DNS, DNS, DNS over HTTPS, DoH, HTTPS DNS Proxy, Cloudflare, Zero Trust, Firewall Policies, Cloudflare Radar

### Content

Cloudflare, powiedzmy sobie szczerze, jest niezwykle szczodrą organizacją, oferując szereg usług, za które rzadko, kiedy musimy płacić. Osoby indywidualne, rodziny, małe lub średnie firmy mogą korzystać z ich technologi bez konieczności wydawania pieniędzy, o ile nie jest to potrzebne.

Pośród szeregu usług na uznanie zasługują serwery DNS (1.1.1.1) oraz usługa szyfrowania DNS. W połączeniu z ich oprogramowaniem dostępnym na szereg platform nie dosyć, że możemy przyśpieszyć nasze surfowanie po internecie, to dodatkowo możemy podwyższyć nasze bezpieczeństwo.

OpenWrt z drugiej strony to niebywałe oprogramowanie stworzone do podniesienia bezpieczeństwa naszego urządzenia sieciowego jakim jest router, jak również dodaje możliwość rozszerzenia możliwości naszego sprzętu.

W połączeniu Cloudflare z oprogramowaniem OpenWrt oraz dodatkowym pakietem oprogramowania możemy wprowadzić do naszej sieci [Bezpieczny DNS](/bezpieczny-dns/), o którym pisałem jakiś czas temu.

Co więcej, gdy potrzebujemy uzyskać dostęp do naszych zasobów sieci lokalnej z dowolnego miejsca na ziemi, możemy wykorzystać usługę Cloudflare Zero Trust, tworząc [bezpieczny tunel](/dodanie-cloudflare-tunel-router-openwrt/).

Zero Trust, oferowany w ramach naszego konta Cloudflare (i to w wersji darmowej), to nie tylko tunel "VPN". Zero Trust oferuje również szereg innych opcji. Jedną z nich jest możliwość stworzenia "własnego" bezpiecznego serwera DNS.

<!--more-->

Tak jak 1.1.1.1 bez większej konfiguracji, potrafi zabezpieczyć nasze zapytania do DNS, nie pozwala na wprowadzenie niczego innego.

Po stronie DNS można wprowadzić dodatkowe ograniczenia, zabezpieczenia czy też blokady. Tak się dzieje, nie koniecznie za naszą zgodą, gdy korzystamy z serwerów DNS dostarczonych przez naszego usługodawcę internetowego.

A co by było, gdybyśmy chcieli tego typu ograniczenia wprowadzić po stronie naszej sieci, z tym wyjątkiem, że my będziemy decydować, co jest blokowane a co nie?

Mamy już bezpieczny DNS z wykorzystaniem Cloudflare (1.1.1.1) oraz OpenWrt. Jeżeli mamy ustawiony nasz tunel Zero Trust, to mamy używamy już cześć infrastruktury, która pozwoli nam nad uzyskaniem większej kontroli po naszej stronie.

Bezpieczny DNS z Cloudflare (1.1.1.1) domyślnie nie zablokuje żadnych stron szerzących nienawiść, udostępniających pornografię, sprzedających narkotyki czy też broń do kogo tylko popadnie. Internet to miejsce, w którym możemy spędzić miło czas, ale również, tak jak w prawdziwy życiu, możemy spotkać się z jego czarną stroną.

W przypadku firm (ale również w obrębie twojego gospodarstwa domowego), nie możemy sobie pozwolić, aby nasi pracownicy wykorzystywali powierzony im sprzęt do celów, które mogą narazić nas na poważne konsekwencje prawne. W związku z tym większość firm posiada wprowadzoną tak zwaną politykę IT, informującą ich pracowników o możliwości monitorowania i blokowania niepożądanych zachowań.

O ile monitorowanie to nie problem, to blokowanie może wymagać dodatkowych zabiegów, sprzętu lub też specyficznego oprogramowania. A co jeżeli powiem, że rozwiązanie mamy w zasięgu ręki dzięki **Zero Trust**.

Otóż w ramach Zero Trust możemy ustawić własny bezpieczny DNS, który będzie obsługiwany przez Cloudflare, tak jak jest to z usługą 1.1.1.1. W ramach niego będziemy mogli dodać reguły, pozwalające nam na zablokowanie części ruchu w internecie, z poziomu DNS, który mógłby narazić nas na poważne konsekwencje.

To wszystko jest możliwe z możliwością zarządzania w panelu Zero Trust (Cloudflare One) oraz śledzenia co się dzieje. Dodatkowo wszystko to jest dostępne za darmo (przynajmniej na nasze podstawowe potrzeby).

Jeżeli nasz pracownik ma problemy z hazardem i zamiast pracować, spędza czas (marnuje pieniądze swoje i firmy) na obstawianiu zakładów, możemy to zablokować.

Jeżeli inny pracownik odwiedza strony, które mogą narazić jego urządzenie (z którego korzysta) lub jego samego na stanie się ofiarą phishingu, lub innego podobnego zagrożenia, możemy również temu zapobiec, wprowadzając odpowiednie obostrzenia.

Oczywiście, każde ograniczenia są na tyle dobre o ile reguły, które są wprowadzone do ich blokowania. Internet ewoluuje każdego dnia i muszą one (reguły) być co trochę aktualizowane. Fajnie by było, gdybyśmy nie musieli się tym przejmować, lecz powierzylibyśmy to profesjonalistą.

I to właśnie, na czym cała zabawa polega. Wykorzystując dostępne rozwiązania, zabezpieczymy naszą sieć, sprecyzujemy, co chcemy blokować, a resztą zajmą się profesjonaliści — Cloudflare. Oto jak tego możemy dokonać.

---

Poniżej opiszę metodę, jak wprowadzić **filtrowany, bezpieczny DNS** po stronie naszego routera z OpenWrt, jednakże nie znaczy, że jest to jedyna metoda.

Jeżeli nasz router nie ma możliwości wzbogacenia go w oprogramowanie OpenWrt, to nadal możemy wykorzystać możliwości oferowane przez Cloudflare.

W przypadku urządzeń korzystających z różnych połączeń, poza naszą siecią domową, możemy również wprowadzić oferowane rozwiązanie poprzez dedykowane aplikacje, modyfikację ustawień sieciowych czy też zmianę w ustawieniach naszej przeglądarki.

O ile głównie skupię się na routerze z OpenWrt, to na końcu zahaczę o inne dostępne rozwiązania. Jako że niektóre kroki opisałem w moich innych wpisach na temat [OpenWrt](/tag/openwrt/), w związku z tym nie będę się za dużo powtarzał, ale odniosę się do nich w odpowiednim kroku.

## Instalacja Bezpiecznego DNS

W pierwszej kolejności musimy [zainstalować obsługę **DNS przez HTTPS** na naszym routerze z OpenWrt](/bezpieczny-dns/#dns-over-https-openwrt) zgodnie z poradnikiem.

Na tym etapie powinniśmy mieć ustawiony **Bezpieczny DNS** z wykorzystaniem Cloudflare (1.1.1.1) oraz Google (8.8.8.8).

Jeżeli wszystko działa tak jak opisałem w powyższym odnośniku, możemy przejść do dalszej zabawy.

Przechodzimy do [Cloudflare Zero Trust](http://one.dash.cloudflare.com).

## Gdy posiadamy stały (zewnętrzny) adres IP (w wersji 4)

Jeżeli nasz router dysponuje stałym adresem IP, będziemy mogli go wykorzystać w celu otrzymania dodatkowych adresów IP (w wersji 4) dla serwerów DNS, które będziemy mogli ustawić na naszych interfejsach na routerze. Ma to na celu zabezpieczenie wycieku zapytań DNS. W momencie, gdy nasz szyfrowany DNS nie będzie działać, wówczas domyślnie nasze urządzenie korzystać będzie z adresów DNS powiązanych z usługą, przez co nadal będzie filtrować zapytania.

W pierwszej kolejności przechodzimy do zakładki **Gateway** > **DNS Locations**.

[![Gateway DNS Locations Default Location](Gateway_DNS_Locations_Default_Location.png)](Gateway_DNS_Locations_Default_Location.png)

Tam będziemy mieli już ustawioną domyślną lokalizację (**Default Location**), którą musimy zmodyfikować.

Klikamy na trzy kropki po prawej stronie i wybieramy opcję edytuj (**Edit**).

[![Gateway DNS Locations Default Location Add IP](Gateway_DNS_Locations_Default_Location_Add_IP.png)](Gateway_DNS_Locations_Default_Location_Add_IP.png)

W zakładce **Ochrona punktu końcowego** (Endpoint protection*) można wybrać **filtrowanie punktu końcowego IPv4 i dopasowywanie lokalizacji** (IPv4 endpoint filtering and location matching) według adresu IP. Po kliknięciu na to, powinniśmy otrzymać nasz zewnętrzny adres IP.

> Ten krok jest opcjonalny. Włączenie tej opcji spowoduje rozwiązywanie zapytań DNS tylko za pomocą dodanych poniżej źródłowych adresów IPv4. Zapytania DNS będą dopasowywane do lokalizacji z najbardziej szczegółową siecią źródłowego adresu IP. Jeśli masz dynamiczny adres IP lub więcej niż jedno połączenie na routerze, pomiń ten krok.

---

Aby się upewnić, że adres ten jest prawidłowy, zalogujmy się na nasz router przez SSH i wykonajmy następującą komendę:

```bash
curl -s 'http://icanhazip.com'
```

> Czasem może się tak zdarzyć, że mamy włączony bezpieczny DNS, np. Cloudflare Warp, lub też korzystamy z Apple Private Relay i nasz oryginalny IP jest filtrowany. DNS przez HTTPS zainstalowany na naszym routerze również może na to wpływać. Na czas ustawiania niezbędne może się okazać, że musimy tę usługę tymczasowo wyłączyć.

W tym momencie zapiszemy naszą konfigurację.

> Jeśli nie mamy statycznego adresu IP lub nie chcemy włączać filtrowania punktów końcowych IPv4 i dopasowywania lokalizacji, musimy także wyłączyć **IPv4 DNS** w zakładce **Punkty końcowe DNS** (DNS endpoints), który jest współdzielonym adresem IP. Stracimy opcję korzystania z poniższego **Indywidualnego adresu do konfiguracji Bezpiecznego DNS** (Individual address for configuring Secure DNS) przez IPv4 (chyba że uaktualnisz swój Plan Cloudflare), ale nadal będziemy mieć **DNS over HTTPS**, co może być w zupełności wystarczające.

## Indywidualny adres do konfiguracji Bezpiecznego DNS

Przechodzimy do **Gateway** > **DNS Locations** i klikamy na **Default Location**.

[![Gateway DNS Locations Default Location data](Gateway_DNS_Locations_Default_Location_data.png)](Gateway_DNS_Locations_Default_Location_data.png)

W oknie, które pojawi się z prawej stronie, zobaczymy przypisane dla nas adresy.

Jeżeli mamy i ustawiliśmy nasz stały adres IP w domyślnej lokalizacji, tak jak opisałem we wcześniejszym kroku, w sekcji **IPv4** ujrzymy adresy naszego DNS, który będziemy potrzebować na dalszym etapie (typowo `172.64.36.1` oraz `172.64.36.2`)

W sekcji **IPv6** otrzymamy przypisany dla nas adres IP serwera DNS w wersji 6 (w postaci `2a06:98c1:54::`)

W sekcji **DNS over HTTPS** otrzymamy odnośnik do konfiguracji bezpiecznego serwera DNS (w postaci `https://{unikalny_link}.cloudflare-gateway.com/dns-query`), który wykorzystamy na naszym routerze.

Wszystko to będziemy potrzebować na dalszym etapie konfiguracji.

## Ustawienie routera z OpenWrt — HTTPS DNS Proxy

Logujemy się na nasz router z przeglądarki internetowej i przechodzimy do **Services** > **HTTPS DNS Proxy**.

[![OpenWrt Services HTTPS DNS Proxy](OpenWrt_Services_HTTPS_DNS_Proxy.png)](OpenWrt_Services_HTTPS_DNS_Proxy.png)

W sekcji **HTTPS DNS Proxy — Instances** usuwamy domyślnie dodany **Cloudflare (Standard)** oraz **Google** korzystając z przycisku **Delete** z prawej strony.

Następnie klikamy przycisk "dodaj" (**Add**) i z usługodawcy (**Provider**) wybieramy opcję na samym dole listy — niestandardową (**Custom**).

[![OpenWrt Services HTTPS DNS Proxy Custom](OpenWrt_Services_HTTPS_DNS_Proxy_Custom.png)](OpenWrt_Services_HTTPS_DNS_Proxy_Custom.png)

W sekcji parametr (**Parameter**) wklejamy adres, który odczytaliśmy wcześniej w sekcji **DNS over HTTPS** po stronie Cloudflare.

```
https://{unikalny_link}.cloudflare-gateway.com/dns-query
```

Adres nasłuchiwania `127.0.0.1` oraz port `5053` pozostawiamy tak jak zasugerowane.

> Osobiście wolę go "przepisać".

Następnie klikamy zielony przycisk "zapisz" (**Save**).

[![OpenWrt Services HTTPS DNS Proxy Custom set](OpenWrt_Services_HTTPS_DNS_Proxy_Custom_set.png)](OpenWrt_Services_HTTPS_DNS_Proxy_Custom_set.png)

Na następnym ekranie klikamy "zapisz i zastosuj" (**Save & Apply**).

> Jeżeli nasz usługodawca internetowy dostarcza nam również adres IPv6, wówczas warto dodać, analogicznie do powyższego stawienia, odpowiedź po DNS przez IPv6. Wówczas, dodajemy tą samą konfigurację, na tym samym porcie nasłuchu (`5053`), ale w adresie nasłuchiwania wpisujemy `::1`.

Na koniec upewniamy się, że nasza usługa **HTTPS DNS Proxy** jest włączona (**Enabled**) w sekcji **Service Control** oraz wystartowała (**Start**).

Takim sposobem nasz osobisty bezpieczny DNS został włączony i zyskaliśmy dzięki temu możliwość filtrowania po stronie Cloudflare Zero Trust, o czym za chwilę.

---

To, że nasze zapytania DNS przechodzą przez nasz osobisty bezpieczny serwer DNS, możemy zobaczyć w sekcji **Analytics** > **Gateway** po stronie [Cloudflare Zero Trust](http://one.dash.cloudflare.com).

[![Analytics Gateway analytics](Analytics_Gateway_analytics.png)](Analytics_Gateway_analytics.png)

## Ustawienie routera z OpenWrt — Interfejsy sieciowe

Nasze zapytania DNS działają w sposób bezpieczny, w momencie, gdy nasza usługa **HTTPS DNS Proxy** działa. W przypadku, gdy zostanie ona wyłączona lub z jakiegoś powodu przestanie działać, warto mieć plan zapasowy (**backup**).

W przypadku, gdy posiadamy stały zewnętrzny adres IP, warto wykorzystać adresy DNS otrzymane w sekcji IPv4 oraz IPv6.

W tym celu, w panelu administracyjnym naszego routera, przechodzimy do zakładki **Network** > **Interfaces**.

W pierwszej kolejności klikamy na przycisk "edytuj" (**Edit**) na naszym połączeniu internetowym **wan**. 

W polu **Use custom DNS servers** (w zakładce **Advanced Settings**) wprowadzamy nasze serwery DNS otrzymane wcześniej (`172.64.36.1` oraz `172.64.36.2`).

> Jeżeli nie widzimy pola **Use custom DNS servers**, prawdopodobnie zaznaczone mamy pole ** Use DNS servers advertised by peer**. Po jego odznaczeniu pojawi nam się opcja do wpisania adresów.

Zakańczamy przyciskiem "zapisz" (**Save**).

Analogicznie zmieniamy nasz interfejs **wan6** z adresem DNS IPv6 otrzymanym w trakcie konfiguracji (opcjonalnie).

Dodatkowo wprowadzamy adres IPv4 oraz IPv6 (oba) w konfiguracji interfejsu **lan**.

Całość zakańczamy, klikając przycisk "zapisz i zastosuj" (**Save & Apply**).

---

Takim sposobem mamy wszystko ustawione. Nie ma konieczności zmieniania niczego po stronie naszych klientów (użytkowników i ich urządzeń).

Nim przejdziemy dalej, zalecam włączenie jeszcze jednej funkcji w naszym pakiecie **HTTPS DNS Proxy**, a mianowicie **DNS Hijacking**.

## DNS Hijacking w HTTPS DNS Proxy

Nim przeszedłem dalej do konfigurowania filtrowania, wróciłem do ustawień pakietu **HTTPS DNS Proxy** na moim routerze i zmieniłem ustawienie **Force Router DNS** a **Let local devices use their own** na **Force Router DNS server to all** aby mieć pewność, że wszyscy użytkownicy (urządzenia) korzystają z tego samego bezpiecznego serwera DNS.

{{% ads-in-article %}}

## Filtrowanie

Przyszła pora na dodanie filtrowania zapytań DNS przez naszych użytkowników i ich urządzeń. W tym celu udajemy się do panelu [Cloudflare Zero Trust](http://one.dash.cloudflare.com).

W sekcji **Gateway** przechodzimy do **Firewall Policies**. Tutaj, w sekcji DNS, będziemy dodawać nasze reguły.

[![Gateway Firewall Policies](Gateway_Firewall_Policies.png)](Gateway_Firewall_Policies.png)

Cloudflare dysonuje różnymi metodami filtrowania ruchu (**Selectors**). Osobiście skupię się na dwóch. 

1. **Security Categories**, kategorie bezpieczeństwa
2. **Content Categories**, kategorie treści

W ramach kategorii bezpieczeństwa mamy do dyspozycji możliwość blokowania takich rzeczy jak ruch sklasyfikowany jako Spam, Spyware, Phishing czy też złośliwe oprogramowanie (Malware).

Są to rzeczy, na które powinniśmy zwrócić uwagę w pierwszej kolejności.

Tworzenie nowej reguły jest bardzo proste. Klikamy przycisk dodania nowej reguły (**Add DNS Policy**).

[![Gateway Firewall Policies Add DNS Policy](Gateway_Firewall_Policies_Add_DNS_Policy.png)](Gateway_Firewall_Policies_Add_DNS_Policy.png)

W pierwszym kroku (**Step 1**) prowadzamy nazwę. W kroku drugim (**Step 2**), a cześci odpowiedzialnej za ruch w sieci (**Traffic**) naciskamy przycisk, aby dodać warunek, który musi być spełniony (**Add consition**).

Następnie z **Selector** wybieramy **Security Categories**. Jako **operator** jako **in** (zawiera), z opcji **Value** wybieramy typ blokady, na przykład **Malware**.

W kroku trzecim (**Step 3**) wybieramy, co ma się stać, gdy warunek zostanie spełniony. W moim przypadku wybieram "zablokuj" (**Block**).

Zakańczamy wszystko poprzez przyciśnięcie przycisku utworzenia reguły **Create policy**.

Takim sposobem nasza reguła została włączona i nasz ruch w sieci jest filtrowany z poziomu serwerów DNS.

---

Kategoria treści (**Content Categories**) posiada nieco więcej opcji, takie jak blokowanie pornografii, nienawiści czy też hazardu.

> Więcej na temat poszczególnych kategorii możecie poczytać na stronie [kategorii domen (**Domain categories**)](https://developers.cloudflare.com/cloudflare-one/policies/gateway/domain-categories/).

O ile można w pojedynczej zasadzie włączyć więcej niż jedną wartość (**Value**) to osobiście polecam na utworzenie każdej z osobna dla każdej z wartości. Czasem może się zdarzyć tak, że przez przypadek zablokujemy coś, co nie powinno być blokowane i dzięki podzieleniu reguł będziemy mogli prześledzić, która reguła powoduje problem i ją wyłączyć w ramach potrzeb.

> Osobiście utworzyłem osobne reguły dla każdego elementu s kategorii bezpieczeństwa i włączyłem je w mojej sieci. W ramach analizy elementów zablokowanych podejmowałem decyzję czy reguła się spisuje, czy należy ją wyłączyć.

## Analiza blokad i Cloudflare Radar

W momencie, gdy ruch w sieci będzie analizowany, na bieżąco możesz obserwować, co jest pozwolone i co jest blokowane w **Analytics** > **Gateway**.

[![Analytics Gateway analytics 7 days](Analytics_Gateway_analytics_7_days.png)](Analytics_Gateway_analytics_7_days.png)

W odpowiednich sekcjach będziesz mógł podejrzeć rzeczy, które najczęściej występowały i zostały pozwolone, oraz rzeczy, które zostały zablokowane.

Przyjazne dla oka wykresy pozwolą przeanalizować ci ruch pod kątem różnych kategorii.

[![Analytics Gateway analytics Charts](Analytics_Gateway_analytics_Charts.png)](Analytics_Gateway_analytics_Charts.png)

W sekcji **Logs** > **Gateway** będziesz mógł w detalach przeanalizować elementy, które zostały zablokowane.

[![Logs Gateway activity logs](Logs_Gateway_activity_logs.png)](Logs_Gateway_activity_logs.png)

Klikając na poszczególne elementy (domeny), możesz dowiedzieć się więcej na temat blokady oraz która reguła została wykorzystana do tego celu. Jest to wysoce przydatne pod kątem analizy reguł, które blokują więcej, a niżeli założyliśmy, że będą.

---

Interesującą rzeczą jest opcja **View domain details in Radar**.

[![Logs Gateway activity logs Preview](Logs_Gateway_activity_logs_Preview.png)](Logs_Gateway_activity_logs_Preview.png)

W ramach Cloudflare Radar możesz dowiedzieć się, do jakiej kategorii dana domena została sklasyfikowana.

[![Cloudflare Radar example](Cloudflare_Radar_example.png)](Cloudflare_Radar_example.png)

Na przykład, moja domena, pod którą serwuję moją stronę, sklasyfikowana jest jako **News & Media**, **Personal Blogs** i **Technology**.

Jeżeli za pomocą **Content Categories** zdecydujesz się zablokować którąś z tych kategorii, jednocześnie zablokujesz moją stronę.

Dzięki Cloudflare Radar możesz również przeanalizować kategorie i wysłać zgłoszenie do Cloudflare, za pomocą odnośnika **Categorization Feedback**, jeżeli dana strona jest mylnie kategoryzowana.

> Nie oczekuj jednak zbytniego zaangażowania ze strony Cloudflare na temat zgłoszonych sugestii.

Na przykład, `www.halfords.com` oznaczona jest jako **Ecommerce** oraz **Vehicles**. Z tym się mogę z pewnością zgodzić, ale wrzucanie jej do kategorii **Sports** to jest nieco mylne w moim założeniu.

[![Cloudflare Radar halfords](Cloudflare_Radar_halfords.png)](Cloudflare_Radar_halfords.png)

## Konfiguracja Filtrowanego Bezpiecznego DNS w przeglądarce

Jeżeli nie mamy do dyspozycji routera, który możemy skonfigurować na potrzeby bezpiecznego DNS z filtrowaniem, możemy skonfigurować przeglądarkę internetową na te potrzeby.

Na przykład, Google Chrome (czy też Microsoft Edge bazujący na Chromium) posiada opcję używania bezpiecznego DNS (**Use secure DNS**) w sekcji prywatność i bezpieczeństwo (**Privacy and security**).

Możemy posłużyć się dostępnymi tam opcjami lub dodać konfigurację niestandardową (**Add custom DNS service provider**), gdzie możemy wkleić nasz adres, który otrzymaliśmy na początku naszej zabawy:

```
https://{unikalny_link}.cloudflare-gateway.com/dns-query
```

Takim sposobem zapytania do stron internetowych kierowane z naszej przeglądarki będą bezpieczne i filtrowane zgodnie z ustalonymi regułami.

## Konfiguracja Filtrowanego Bezpiecznego DNS w systemie Windows 11

Jeżeli nie mamy luksusu w postaci routera z OpenWrt, a zabezpieczenie ruchu generowanego przez przeglądarkę jest niewystarczające, możemy zabezpieczyć nasze zapytania DNS z poziomu systemu Windows 11.

Nie mówię tutaj o możliwości dodania adresów DNS do interfejsów (kart) sieciowych, ale na wprowadzenie opcji DNS przez HTTPS.

Zmiana adresów DNS interfejsów sieciowych to coś, co również powinniśmy zrobić, ale przechodząc do ustawień (**Settings**) systemowych, kategorii "Sieć i Internet" (**Network & internet**), klikając na ustawienia naszej sieci (**Network properties**), a następnie na ustawienia sprzętu (**Hardware properties**), możemy wprowadzić szyfrowanie naszych zapytań DNS w całym systemie.

[![Windows 11 DNS Settings DNS over HTTPS](Windows_11_DNS_Settings_DNS_over_HTTPS.png)](Windows_11_DNS_Settings_DNS_over_HTTPS.png)

Klikając na sekcję odpowiedzialną za adres serwerów DNS (**DNS server assignment**), które domyślnie ustawione są na uzyskanie tych informacji automatycznie (z routera), zmieniamy je na ustawienie tego ręcznie (**Manual**). Następnie włączamy ustawienia dla IPv4 i wprowadzamy nasze adresy DNS, które otrzymaliśmy ze strony Cloudflare (`172.64.36.1` jako podstawowy,  `172.64.36.2` jako alternatywny).

W sekcji **DNS over HTTPS** zmieniamy z wyłączonej (**Off**) na włączoną z ręczną konfiguracją (**On (manual template)**).

W polu, które zostanie nam zaprezentowane, wklejamy otrzymany od Cloudflare adres podobny do tego.‌

```
https://{unikalny_link}.cloudflare-gateway.com/dns-query
```

Analogicznie robimy w przypadku adresów IPv6.

---

Takim sposobem, nie dosyć, że mamy wprowadzony [Bezpieczny DNS](/bezpieczny-dns/), to mamy również kontrolę nad tym, co jest dozwolone w sieci a co nie. Jest to o tyle wygodne, gdyż w prosty sposób możemy ukrócić zachowania niektórych użytkowników w naszej sieci.

---

Cloudflare Zero Trust to nie tylko serwery DNS. To również możliwość utworzenia bezpiecznego tunelu (VPN), dzięki któremu możemy połączyć się z naszą siecią lokalną spoza domu lub firmy.

Więcej o tym pisałem we wpisie: [**Dodanie Tunelu Cloudflare do routera z OpenWrt (alternatywa dla VPN)**](/dodanie-cloudflare-tunel-router-openwrt/).

Pozdrawiam.


---
## Apple kończy sprzedaż MacBooków Air z czipem M1, ale co to oznacza dla użytkowników?
- **URL:** https://dariusz.wieckiewicz.org/apple-konczy-sprzedaz-macbook-air-z-chipem-m1/
- **Date:** 2024-03-04
- **Tags:** MacBook Air, Apple Silicon, Apple M1, Apple Care, discontinued, wycofane, vintage, zabytkowe, obsolete, przestarzałe

### Content

Jeszcze kilka tygodni temu zastanawiałem się, co zrobię ze starzejącym się MacBookiem Air z chipem M1.

MacBook Air Air z M1 został wprowadzony na rynek w listopadzie 2020 r., ale mój kupiłem w lipcu 2021 r., oficjalnie od Apple, ale w ich sklepie z ondnowionym (refurbished) sprzętem.

Zaoszczędziłem trochę na modelu bazowym i dzięki temu mogłem wykupić 3 lata Apple Care i nadal zmieścić się w budżecie.

Mimo że po drodze nic się nie dzieje, więc nie muszę korzystać z tego planu, wciąż się zastanawiam, czy po tych 3 latach uda mi się kupić chociaż rok więcej.

Urządzenie działa dobrze. Chciałbym mieć trochę więcej pamięci wewnętrznej (obecnie mam 256 GB), ale poza tym wszystko działa. Urządzenie jest nadal szybkie i niezawodne. Na moje potrzeby nie widzę powodu do zmian.

Zastanawiałem się nad możliwą aktualizacją po wprowadzeniu MacBooka Air z chipem M3 i właśnie to miało miejsce dzisiaj (4 marca 2024 r.) w [komunikacie prasowym](https://www.apple.com/newsroom/2024/03/apple-unveils-the-new-13-and-15-inch-macbook-air-with-the-powerful-m3-chip/).

W tym samym czasie Apple zdecydowało się zaprzestać sprzedaży MacBooka Air z chipem M1. Jego miejsce, w tym samym przedziale cenowym, zajął 13-calowy MacBook Air z chipem M2.

Co to jednak oznacza dla użytkowników korzystających z MacBooka Air z chipem M1? I co to oznacza dla osób, które dopiero teraz decydują się na zakup MacBooka Air z chipem M1?

<!--more-->

Apple nadal sprzedaje MacBooka Air z chipem M1 w swoim [sklepie z odnowionym sprzętem](https://www.apple.com/uk/shop/refurbished/mac), gdzie model podstawowy można kupić za 759 funtów (w porównaniu do 849 funtów, gdy kupiłem go w lipcu 2021 r.).

Pamiętajmy, że Apple ma różne określenia na swój produkt w zależności od kręgu życia.

Są to produkty **wycofane** (discontinued), **zabytkowe** (vintage) i **przestarzałe** (obsolete).

**Wycofane** (discontinued) oznacza, że **nowe produkty** nie są już w sprzedaży. Zamienniki i części będą nadal dostępne przez dłuższy czas i nadal będzie można kupić te urządzenia jako odnowione.

Produkty uważa się za **zabytkowe** (vintage), jeśli Apple zaprzestało ich sprzedaży (nowych urządzeń) ponad 5 i mniej niż 7 lat temu. Licząc od dzisiaj, będzie to okres pomiędzy marcem 2029 r. a listopadem 2031 r.

Produkty uznaje się za **przestarzałe** (obsolete), gdy Apple zaprzestało ich sprzedaży (nowych urządzeń) ponad 7 lat temu. W przypadku Air z chipem M1 będzie to koniec listopada 2031 r.

Jeśli wszystkie obliczenia się potwierdzą (Apple może zmienić te warunki), Apple będzie wspierać MacBooka Air z chipem M1 przez ponad 8 lat od premiery. Nadal będzie można kupić Apple Care, które będzie dostępne co najmniej do marca 2029 roku.

> Oczywiście musisz kupić plan Apple Care do 30 dni od zakupu lub do 30 dni po wygaśnięciu aktualnego planu Apple Care (jeśli nie został zakupiony razem z komputerem).

Ponieważ moja usługa Apple Care wygaśnie w lipcu 2024 r., jeśli przedłużę ją w rocznych odstępach, będę mogła dłużej spokojnie korzystać z mojego urządzenia, jeśli nic się nie stanie.

**Ale czy będzie to możliwe?**

{{% ads-in-article %}}

Zadaję to pytanie, ponieważ świeżo zaktualizowana strona produktu [AppleCare dla komputerów Mac](https://www.apple.com/uk/support/products/mac/) nie zawiera już cen z M1.

Nieco ponad tydzień temu zadałem pytanie wsparciu Apple, czy będę mógł kupić Apple Care dla mojego komputera po 3 latach wsparcia?

Odpowiedź brzmiała: tak, o ile zrobię to w ciągu 30 dni po wygaśnięciu mojego Apple Care.

W świetle zaktualizowanej strony produktu AppleCare oraz faktu, że urządzenie zostało wycofane ze sprzedaży, zdecydowałem się zadać to pytanie ponownie.

Przez bardzo przyjazną rozmowę telefoniczną potwierdziłem, że będę mógł wykupić przedłużenie planu Apple Care pod warunkiem, że nie upłynę 30 dni i że nazwanie produktu **wycofanym** (discontinued) nie ma na to wpływu.

**Dobrze to usłyszeć.**

Z jednej strony chciałbym przejść na MacBooka Air z M3, ale z drugiej są inne rzeczy, które chciałbym w tym roku potraktować priorytetowo, dlatego jeśli moje urządzenie będzie mi służyć trochę dłużej i będzie objęte ubezpieczeniem, to mi to da Święty spokój.

Myślę, że na to pójdę. Ogólnie rzecz biorąc, nie będzie mnie to kosztować więcej niż 64,99 GBP rocznie, co stanowi najniższy plan w przypadku 13-calowego MacBooka Air (M2).

**Koniec końców, co to oznacza dla użytkowników?**

**Niewiele.** Jeśli urządzenie jest objęte Apple Care, lub nawet jeśli nie, nadal będzie możliwość uzyskania potrzebnego wsparcia.

W przypadku osób nie posiadających aktywnej usługi Apple Care koszt naprawy może wzrosnąć, a naprawa może wymagać wysłania urządzenia i zająć trochę czasu, zanim zostanie naprawione.

W takim przypadku czasami bardziej opłacalny będzie zakup nowego (lub odnowionego) urządzenia niż naprawianie starego.

Ogólnie rzecz biorąc, urządzenia Apple, jeśli są właściwie traktowane, służą użytkownikom znacznie dłużej niż standardowa gwarancja i początkowy okres Apple Care.

> Urządzenia Apple w większości przypadków bez problemu spełniają [angielską zasadę SAD FART](https://www.moneysavingexpert.com/reclaim/consumer-rights-refunds-exchange/).

Usługa Apple Care może nie być ekonomicznie opłacalną opcją, jeśli wydasz X pieniędzy na nowe urządzenie Apple, ale na dłuższą metę „opłaci się”.


---
## ChromeOS, środowisko Linux i hasło sudo
- **URL:** https://dariusz.wieckiewicz.org/chromeos-linux-sudo-password/
- **Date:** 2024-02-23
- **Tags:** ChromeOS, Linux, Penguin, SUDO, password, passwd

### Content

Środowisko Linux jest częścią mojego komputera od lat.

W życiu osobistym korzystam z systemu macOS, który pozwala mi wykorzystać terminal do rozszerzenia moich możliwości poza graficzny interfejs użytkownika (GUI).

W pracy korzystam z urządzeń z systemem Windows. Dzięki podsystemowi Linux dla systmu Windows mogę także używać system Linux na tych komputerach.

Ostatnio w ramach pracy z Chromebookami postanowiłem wykorzystać możliwości terminala Linux również i tam.

<!--more-->

Właśnie zainstalowałem środowisko Linux za pomocą opcji Deweloper w ChromeOS Flex i zdecydowałem się zainstalować menedżera pakietów, aby ułatwić dodawanie niezbędnego oprogramowania.

Na Windows 11 korzystam ze środowiska Ubuntu, które opiera się na Debianie. Ponieważ przez lata uczyłem się Debiana, jestem z nim zaznajomiony.

ChromeOS wykorzystuje również środowisko Linux oparte na Debianie, co czyni je dość podobnymi.

Pracując z Linuksem na macOS lub Windows, polegam na [Homebrew](https://brew.sh), trafnie nazwanym „Menedżerem brakujących pakietów dla macOS lub Linux”. Dzięki niemu mogę bez wysiłku instalować niezbędne pakiety.

W środowisku ChromeOS podjąłem również próbę instalacji, ale napotkałem niewielką przeszkodę podczas kopiowania i wklejania polecenia instalacji ze strony Homebrew.

Początkowo napotkałem trudności z wklejeniem polecenia instalacji za pomocą skrótu klawiaturowego wklejania (<kbd>Ctrl</kbd>+<kbd>V</kbd>).

Musiałem przejść do ustawień terminala, gdzie w obszarze Klawiatura i mysz zaznaczyć pole wyboru dotyczące wklejania <kbd>Ctrl</kbd>+<kbd>V</kbd>. Włączyłem także kilka innych, których zwykle używam, np. kopiowania <kbd>Ctrl</kbd>+<kbd>C</kbd>.

{{% gallery %}}
[![ChromeOS Ustawienia Terminale](chromeOS_Terminal_Settings.png)](chromeOS_Terminal_Settings.png)
[![ChromeOS Ustawienia Terminala > Klawiatura i Mysz](chromeOS_Terminal_Settings_keyboard_and_mouse.png)](chromeOS_Terminal_Settings_keyboard_and_mouse.png)
{{% /gallery %}}

Jednak wklejenie polecenia instalacji Homebrew do terminala pingwina napotkało kolejną przeszkodę.

{{% ads-in-article %}}

Homebrew nie jest zalecany do instalacji z uprawnieniami roota. Zamiast tego jest instalowany jako zwykły użytkownik należący do grupy `sudoers`. Daje to możliwość uruchamiania poleceń z uprawnieniami administratora za pomocą polecenia `sudo`.

[![ChromeOS Terminal ze środowiskiem Linux](chromeOS_Terminal_Linux.png)](chromeOS_Terminal_Linux.png)

Pomimo tego, że domyślnie jestem w grupie sudoers, proces instalacji początkowo wymagał podania hasła.

Co zaskakujące, podczas początkowej konfiguracji środowiska Linux wystarczyło ustawić nazwę użytkownika. Nie było monitu o podanie hasła. Zakładałem, że hasło do konta Google wystarczy, ale się myliłem.

Zdesperowany w poszukiwaniu rozwiązania, szybko wyszukałem w Google „hasło domyślne” i znalazłem odniesienie do `test0000`. Nie trzeba dodawać, że to nie zadziałało.

Wiedząc, jak zmienić hasło, natychmiast uruchomiłem polecenie `passwd`. Jednak ku mojemu zaskoczeniu, poprosiło mnie o podanie _aktualnego hasła_, którego oczywiście nie znałem.

Ku mojemu zdziwieniu użycie `sudo su` w terminalu zapewniło mi podwyższone uprawnienia bez pytania o hasło.

Na szczęście uzyskanie uprawnień roota pozwoliło mi zmienić hasło użytkownika za pomocą `passwd user` (gdzie `user` to nazwa użytkownika wyświetlana przed `@penguin`).

Wychodząc z uprawnień roota i ponownie uruchamiając polecenie instalacji Homebrew, proces przebiegł sprawnie po wprowadzeniu nowego hasła.

Może się to wydawać proste, ale wyszukiwanie w Internecie często prowadzi do nieistotnych podpowiedzi. Ten wpis służy jako przypomnienie dla mnie i innych, jak pomyślnie zainstalować Homebrew na ChromeOS.

Pozdrawiam


---
## Po przekonywaniach do Microsoft Edge przenoszę niektórych użytkowników z powrotem do Google Chrome
- **URL:** https://dariusz.wieckiewicz.org/od-microsoft-edge-z-powrotem-do-google-chrome/
- **Date:** 2024-02-09
- **Tags:** Microsoft Edge, Google Chrome, Chromebook

### Content

Ponieważ Microsoft Edge przeszedł na silnik Chromium (ten sam silnik co Google Chrome), zachęcałem użytkowników Windowsa do wypróbowania zaktualizowanej wersji. W końcu obie przeglądarki oferują podobną funkcjonalność.

Przeglądarka Microsoft Edge po zalogowaniu się na konto Microsoft została ładnie zintegrowana z systemem operacyjnym Windows, zapewniając płynną obsługę. Zauważyłem jednak, że dla użytkowników, którzy korzystają głównie z telefonów z Androidem i w dużym stopniu polegają na usługach Google (takich jak Zdjęcia Google), to rozwiązanie nie jest już optymalne.

<!--more-->

Zarówno Google, jak i Microsoft zbudowały swoje przeglądarki w oparciu o swoje usługi, o czym świadczy dostosowanie przeglądarki Google Chrome do systemu Android i integracja przeglądarki Microsoft Edge z systemem Windows. Jednak porzucenie przez Microsoft urządzeń mobilnych i późniejsze wycofanie telefonów z systemem Windows Phone pozostawiło lukę w ich ekosystemie. Chociaż ich rozwiązanie umożliwiające integrację systemu Windows z telefonami z systemem Android za pośrednictwem programu Microsoft Launcher jest godne pochwały, przypomina to dodanie silnika do samochodu, który już działa doskonale.

W obliczu rosnącej popularności przeglądarki Microsoft Edge firma Google uruchomiła ukierunkowaną kampanię, namawiając użytkowników swoich usług do powrotu do przeglądarki Google Chrome, zwłaszcza tych, którzy uzyskują dostęp do usług Google za pośrednictwem przeglądarki Edge.

Nie obyło się to jednak bez powszechnej krytyki skierowanej pod adresem Google. Niemniej jednak Microsoft poszedł ostatnio w jego ślady, stosując podobną taktykę.

W moim nowym podejściu stawiam potrzeby i preferencje użytkowników ponad własne.

Dla firm korzystających z rozwiązań Microsoft 365 **utrzymanie** Microsoft Edge może być rozsądną opcją ze względu na jego korzystną integrację z systemem operacyjnym i usługami, za które **płacą**.

Dla użytkowników korzystających głównie z Gmaila i niezależnych od płatnych usług Microsoftu, wybranie Google Chrome jako domyślnej przeglądarki w systemach operacyjnych Windows wydaje się rozsądnym rozwiązaniem.

**Proste, koniec historii.**

Możesz z łatwością zainstalować rozszerzenia przeznaczone dla przeglądarki Google Chrome w przeglądarce Microsoft Edge, a wszystko to działa w ten sam sposób.

Należy jedynie wziąć pod uwagę miejsce przechowywania haseł, zakładek i innych preferencji (na koncie Microsoft lub Google).

Dla użytkowników, którzy polegają głównie na wyszukiwarce i usługach Google, najwygodniejszym wyborem może być przeglądarka Google Chrome. Osoby inwestujące w usługi Microsoftu prawdopodobnie uznają Microsoft Edge za lepszy wybór.

Moja sytuacja jest wyjątkowa: żongluję prywatnym iPhonem i komputerem Mac (z usługami Google) oraz w pracy z urządzeniami z systemem Windows (z usługami Microsoft).

Waham się pomiędzy wieloma opcjami i oprogramowaniem.

Jednym z obszarów, w którym Microsoft Edge nie spełnia oczekiwań wielu użytkowników, jest domyślna wyszukiwarka.

Domyślna wyszukiwarka przeglądarki Microsoft Edge, Bing, może nie być odpowiednia dla niektórych użytkowników preferujących wyniki wyszukiwania Google.

Ustawiłem Google jako domyślną wyszukiwarkę na wszystkich komputerach w pracy, ale po pewnych aktualizacjach została ona ponownie przełączona na Bing. To frustrujące!

Ostatnie aktualizacje Microsoftu wzbudziły obawy o prywatność danych po doniesieniach, że przeglądarka Edge może automatycznie importować karty z Chrome bez wyraźnej zgody użytkownika, jak szczegółowo opisano w artykule The Verge [Microsoft ukradł moje karty Chrome i chce też twoich](https://www.theverge.com/24054329/microsoft-edge-automatic-chrome-import-data-feature).

Wygląda to na przegięcie pały.

> Według [ostatnich doniesień](https://www.theverge.com/2024/2/16/24074712/microsoft-edge-automatic-chrome-import-data-bug-fix) Microsoft "naprawił" błąd, który kopiował karty i dane Chrome. Chociaż firma twierdzi, że było to niezamierzone, wiele osób podejrzewa, że było to działanie celowe. Usunięcie tej funkcji po publicznym oburzeniu pozostawiło utrzymujące się poczucie nieufności.

Na rynku przeglądarek istnieje wyraźna konkurencja pomiędzy Google i Microsoft. W systemie Windows jest preinstalowana przeglądarka Microsoft Edge, natomiast przeglądarka Google Chrome wymaga osobnej instalacji. Niektórzy użytkownicy wybierają Chrome ze względu na preferencje lub znajomość, podczas gdy inni mogą mieć wątpliwości dotyczące Edge. Chociaż obie przeglądarki mają podobne funkcjonalności, mają także unikalne funkcje i zaspokajają różne potrzeby użytkowników.

_Naturalnie wielu użytkowników nieświadomych tego domyślnie pobierze przeglądarkę Chrome. Jednak ta historia to coś więcej niż tylko rozpoznawalność marki._

{{% ads-in-article %}}

Moje podejście uległo zmianie, głównie ze względu na moje doświadczenie w promowaniu Chromebooków wśród użytkowników z ograniczoną wiedzą techniczną i wymaganiami dotyczącymi dostępności. Dostrzegając potrzeby osób, które zbliżają się do końca wsparcia dla systemu Windows 10, sugeruję obecnie alternatywne rozwiązania wykraczające poza zakup nowego komputera z systemem Windows 11.

W przypadku zwykłych użytkowników, którzy głównie wykorzystują komputer do przeglądania stron internetowych, rozważ Chromebooka jako potencjalną alternatywę dla pełnoprawnego komputera z systemem Windows. Specjalnie dla użytkowników telefonów z Androidem Chromebooki oferują znajomy interfejs i bezproblemową integrację z innymi usługami Google.

Kupując Chromebooka Plus, masz teraz gwarantowaną pomoc techniczną dotyczącą oprogramowania do czerwca 2032 r., dzięki której Twoje urządzenie będzie działać dobrze nawet w przypadku rozwoju sprzętu. W większości przypadków sam sprzęt prawdopodobnie wytrzyma równie długo, co sprawi, że Chromebook Plus będzie potencjalnie opłacalnym wyborem na nadchodzące lata.

W przypadku użytkowników posiadających urządzenia, które nie kwalifikują się już do oficjalnej aktualizacji systemu Windows 11, zrozumiałe są obawy dotyczące starzenia się i potencjalnych odpadów elektronicznych.

Urządzenia niekompatybilne z systemem Windows 11 technicznie pozostaną sprawne. Pojawiły się jednak obawy dotyczące możliwych ograniczeń oprogramowania i problemów ze zgodnością.

Chociaż niektóre urządzenia mogą nie otrzymać oficjalnej aktualizacji systemu Windows 11, mogą być dostępne alternatywne rozwiązania, takie jak ChromeOS Flex, które pozwalają przekształcić komputery PC w urządzenia podobne do Chromebooków. Należy jednak pamiętać, że ChromeOS Flex nie obsługuje aplikacji na Androida, co oznacza, że nie będzie można uruchamiać aplikacji na Androida ze Sklepu Google Play.

Chromebooki oferują dostęp do ekosystemu Androida wraz z przeglądarką Google Chrome, umożliwiając użytkownikom instalowanie aplikacji na telefony komórkowe i tablety, zazwyczaj niedostępnych na tradycyjnych komputerach stacjonarnych.

Jeśli przeszedłeś na Microsoft Edge i nie jesteś do końca usatysfakcjonowany, warto rozważyć powrót do Google Chrome. Z drugiej strony, jeśli używasz Edge'a opartego na Chromium i spełnia on Twoje potrzeby, może nie być istotnego powodu, aby wrócić do Chrome.



---
## Zdjęcia Google w ekosystemie Apple (na iPhonie i iPadzie)
- **URL:** https://dariusz.wieckiewicz.org/zdjecia-google-apple-iphone-ipad/
- **Date:** 2023-11-13
- **Tags:** Google Photos, iCloud Photos, iCloud, Oszczędzanie miejsca na dane

### Content

Jeśli Twoje codzienne cyfrowe życie opiera się na usługach Google, gdy zostaniesz właścicielem iPhone'a, sytuacja może się nie zmienić. Zanim przeszedłem na ekosystem Apple, byłem długoletnim użytkownikiem Androida.

Mimo że Apple oferuje odpowiednik tego, co Google oferuje na Androida, nigdy nie znalazłem lepszej alternatywy do przechowywania zdjęć niż Zdjęcia Google.

Zdjęcia Google dla większości typowych użytkowników są niezastąpione ze względu na opcję oszczędzania miejsca. Dzięki temu możemy zmagazynowaç wszystkie nasze zdjęcia i nie płacimy zbyt dużo za ich przechowywanie. W pewnym momencie będziemy musieli zapłacić Google za ich przechowywanie, jednak po skompresowaniu zajmują one mniej miejsca niż przechowywanie ich w pełnej rozdzielczości, na przykład w bibliotece zdjęć Apple.

Pierwszą rzeczą, którą robię podczas konfigurowania iPhone'a, jest pobranie aplikacji Zdjęcia Google z App Store. To właśnie polecam moim znajomym, którzy przesiadają się z Androida na iPhone'a, jednak jest jedna rzecz, o której trzeba pamiętać.

<!--more-->

Kiedy robisz zdjęcia na iPhonie, są one przechowywane w aplikacji Zdjęcia.

W większości przypadków kopie zapasowe zdjęć w tej aplikacji są zapisywane w bibliotece zdjęć iCloud. Są one również uwzględnione w kopii zapasowej iPhone'a (biblioteka zdjęć), która jest wykonywana w chmurze zazwyczaj przez noc, podczas ładowania telefonu.

Apple daje Ci tylko 5 GB bezpłatnej przestrzeni dyskowej w iCloud, zanim będziesz musiał kupić więcej miejsca.

Google udostępnia 15 GB miejsca do wykorzystania w usługach takich jak Gmail i Zdjęcia Google.

Jeśli zaczniesz przechowywać zdjęcia w ekosystemie Apple, szybko będziesz musiał zainwestować w wyższy plan przechowywania iCloud.

Z Google 15 GB dla intensywnych użytkowników również nie wystarczy na zbyt długo, jednak w przypadku przechowywania zdjęć w trybie oszczędzania pamięci, a nie w jakości oryginalnej, megabajty znikają znacznie wolniej.

Dlatego zdecydowałem się przechowywać zdjęcia tylko w jednym miejscu, w Zdjęciach Google.

Aby to zrobić i nie wpływać niepotrzebnie na moją pamięć iCloud, muszę najpierw zmienić dwie rzeczy.

1. Wyłączyć Zdjęcia iCloud
2. Wykluczyć zdjęcia Apple z kopii zapasowej

Brzmi to prosto, ale wiele osób o tym zapomina, dopóki ich telefon nie zacznie krzyczeć, że nie może sam wykonać kopii zapasowej z powodu braku miejsca w iCloud.

Ponadto po włączeniu Zdjęć iCloud i korzystaniu ze Zdjęć Google powielamy zadanie, niepotrzebnie kopiując zdjęcia w obu miejscach.

Oto, co zwykle robię po instalacji aplikacji Zdjęcia Google.

> Jeśli zainstalujesz aplikację Zdjęcia Google i przeniesiesz do niej zdjęcia z już zapisane w Zdjęciach iCloud, musisz wziąć pod uwagę inne aspekty. Napiszę o tym na koniec.

## Wyłącz Zdjęcia iCloud

Uprośćmy to.

Przejdź do **Ustawienia > Twoje Apple ID > iCloud > Zdjęcia** i upewnij się, że wszystkie przełączniki są wyłączone.

[![Zdjęcia iCloud z wyłączoną synchronizacją](icloud_photos_sync_off_PL.png "Zdjęcia iCloud z wyłączoną synchronizacją")](icloud_photos_sync_off_PL.png)

## Wyklucz zdjęcia Apple z kopii zapasowej

Przejdź do **Ustawienia > Twoje Apple ID > iCloud > Zarządzaj miejscem na konto > Kopia zapasowa**, a następnie wybierz z listy kopię zapasową swojego urządzenia (iPhone) i poczekaj na następnym ekranie, aż lista elementów kopii zapasowej zostanie w pełni załadowana.

[![Kopia zapasowa iCloud z wyłączoną biblioteką zdjęć](icloud_backup_photo_library_PL.png "Kopia zapasowa iCloud z wyłączoną biblioteką zdjęć")](icloud_backup_photo_library_PL.png)

Upewnij się, że przełącznik jest wyłączony w pobliżu **Biblioteki zdjęć**.

{{% ads-in-article %}}

## Migracja ze Zdjęć Apple do Zdjęć Google

Jeśli masz kopię zapasową zdjęć w Zdjęciach iCloud, istnieje sposób na migrację do Zdjęć Google, ale wymaga to czasu.

Najpierw musisz zainstalować aplikację Zdjęcia Google i włączyć tworzenie kopii zapasowych zdjęć.

W **Ustawienia aplikacji Zdjęcia Google > Kopia zapasowa > Jakość kopii zapasowej** upewnij się, że jest wybrana opcja **Oszczędzanie miejsca na dane**.

> Więcej o tym możesz przeczytać we wpisie [Zwalniamy miejsce na Zdjęciach Google (Google Photos)](/zwalniamy-miejsce-na-zdjeciach-google/).

Pozostaw aplikację uruchomioną na ekranie i poczekaj, aż zostaną utworzone kopie zapasowe wszystkich zdjęć znajdujących się w telefonie. Możesz to sprawdzić, klikając ikonę użytkownika w prawym górnym rogu, gdzie w sekcji **Kopia zapasowa** pojawi się informacja **Kopia zapasowa utworzona**. 

Następnie z tego samego menu należy wybrać opcję **Zwolnij miejsce**, która usunie z Twojego telefonu wszystkie zdjęcia, których kopie zapasowe znajdują się już w Zdjęciach Google.

Ze względu na ograniczenia w ekosystemie Apple Zdjęcia Google nie mogą trwale usunąć zdjęć z Twojego urządzenia, dlatego usunięte zdjęcia zostaną umieszczone w folderze **Ostatnio usunięte** w aplikacji Zdjęcia Apple.

Przejdź do aplikacji Zdjęcia Apple, sekcji **Albumy** i przewiń w dół do opcji **Ostatnio usunięte**, naciśnij przycisk **Wybierz**, co spowoduje włączenie menu kropek w prawym dolnym rogu z którego wybierz **Usuń wszystko** i potwierdź ich usunięcie w następnym kroku.

> Nie martw się, korzystając z opcji **Zwolnij miejsce** w aplikacji Zdjęcia Google nic nie stracisz. Pamiętaj jednak, że usunięcie zdjęć ze Zdjęć Google spowoduje usunięcie ich stamtąd i z naszego urządzenia. Na szczęście Zdjęcia Google umieszczają je również w Koszu, podczas gdy aplikacja Zdjęcia Apple umieszcza je w folderze Ostatnio usunięte, gdzie można je trwale usunąć lub przywrócić w ciągu 30 dni.

Ale to nie wszystko.

Dla użytkowników, którzy z biegiem czasu tworzyli kopie zapasowe zdjęć w iCloud, nie wszystkie oryginalne zdjęcia są przechowywane w telefonie. Ich kopie zapasowe są tworzone w iCloud Photo, a telefon przechowuje tylko podgląd wysokiej jakości, aby zaoszczędzić miejsce. Są one pobierane z iCloud tylko wtedy, gdy jest to potrzebne.

> Gdy aplikacja Zdjęcie Google tworzy kopię zapasową, robi to tylko w przypadku plików przechowywanych na Twoim urządzeniu.

Kierując się ponownie do **Ustawienia > Twój Apple ID > iCloud > Zdjęcia** dostępna jest opcja o nazwie **Optymalizacja dysku iPhone'a**.

[![Zdjęcia iCloud z włączoną synchronizacją](icloud_photos_sync_on_PL.png "Zdjęcia iCloud z włączoną synchronizacją")](icloud_photos_sync_on_PL.png)

Będziemy musieli go zmienić na **Pobieraj i pozostaw oryginały**, aby zdjęcia zostały pobrane na nasze urządzenie, a następnie Google Photos mogło wykonać ich kopię zapasową. Kiedy już to zrobisz, wybierając opcję **Oczyszczanie** i opróżniając folder **Ostatnio usunięte**, możemy się ich pozbyć.

Może to wymagać trochę czasu i przyzwoitego połączenia internetowego (nie tylko prędkości pobierania, ale także prędkości wysyłania), aby zakończyć, szczególnie w przypadku dużej biblioteki zdjęć. Ponadto tworzenie kopii zapasowych za pomocą Zdjęć Google, czyszczenie i usuwanie ostatnio usuniętych będzie musiało zostać wykonane kilka razy, aż wszystkie zdjęcia znikną z aplikacji Apple Photo i będą dostępne tylko w Zdjęciach Google.

Na koniec zauważysz, że Twoje zdjęcia nie zużywają miejsca w iCloud, ale korzystają z miejsca w Google.

> W trybie oszczędzania miejsca będą używać mniej miejsca niż w iCloud.

Prawdopodobnie skończysz z koniecznością zakupu większej ilości miejsca od Google, ale także zmniejszysz pakiet miejsca w swoim iCloud.

---

Zdjęcia Google na urządzeniach Apple mają jedną wadę.

Podczas korzystania ze Zdjęć Apple kopie zapasowe zdjęć są tworzone, gdy istnieje połączenie internetowe. Aby „wrzucić” zdjęcia do Zdjęć Google, należy pamiętać o wejściu do aplikacji, pozostawieniu jej otwartej na ekranie i umożliwieniu wykonania kopii zapasowej. To bardziej przypomina tworzenie kopii zapasowej tylko wtedy, gdy się na to zdecydujemy, a nie w tle.

Ma to swoją pozytywną stronę. Nie tworzysz kopii zapasowych zdjęć w chmurze, dopóki nie podejmiesz takiej decyzji. Jeśli robisz zdjęcia, których nie chcesz zapisywać, możesz je usunąć z telefonu (za pomocą aplikacji Zdjęcia Apple) przed włączeniem aplikacji Zdjęcia Google – nie zostaną tam zapisane.

> W kolejnych aktualizacjach aplikacji Zdjęcia Google dodana została opcja **Odświeżania w tle** (Background App Refresh), która powinna poprawić ten problem, pozwalając na wrzucanie zdjęć w tle. To, czy mamy tę opcję włączoną musimy sprawdzić w Ustawieniach naszego telefonu > Aplikacje > Google Photos.


---
## Podróż do Polski z eSIM i Orange Flex
- **URL:** https://dariusz.wieckiewicz.org/podroz-do-polski-z-esim-orange-flex/
- **Date:** 2023-11-05
- **Tags:** eSIM, Orange Flex, Polska, kart SIM

### Content

Po latach przeplatanych pandemią i niestabilnością na rynku, a dokładnie było to pięć, poleciałem do Polski odwiedzić najbliższych.

Od mojej ostatniej wizyty sporo się zmieniło. Moje dzieci potrzebują połączenia ze światem w znacznie większym zakresie a niżeli w przeszłości. Osobiście również przyzwyczaiłem się do posiadania internetu pod ręką, zawsze tam, gdzie go potrzebuję.

O ile w Anglii większość osób posiadających Wi-Fi w domu, posiada je w dość rozsądnej prędkości, to w przypadku polski, w zależności gdzie się wybierasz, bywa różnie.

<!--more-->

Usługi streamingowe przeważają, a tutaj, przy niecierpliwych, nie takich małych już "maluchach", buforowanie podczas jazdy po Polsce może nieźle zagrzać atmosferę w samochodzie.

Jeszcze niż się wybrałem do Polski, przeglądałem oferty internetu na kartę, aby znaleźć coś, co mi pomoże przy zadowolić nawet najbardziej wymagającego użytkownika.

Pakiet 5 GB w Unii Europejskiej, jaki oferuje [GiffGaff](/giffgaff/), to jest naprawdę nic. W moim przypadku nielimitowany internet z pełną prędkością to coś, czego bym naprawdę potrzebował.

Jako że ostatnio w UK testowałem LycaMobile, postanowiłem sprawdzić, czy nie mogę wykupić karty eSIM po polskiej stronie i tam wybrać sobie dogodny pakiet.

Niestety, mimo że w UK mogłem sobie założyć konto z wyborem karty eSIM, na polskiej stronie utknąłem na konieczności posiadania już numeru w sieci. Z tego wywnioskowałem, że karta eSIM nie jest dostępna. Mogę się mylić, ale to ich strata.

Postanowiłem poszukać dalej i tak natrafiłem na ofertę Orange Flex, którą, będąc już w Polsce, nie mogę się nie nachwalić.

Orange Flex oferuje elastyczny pakiet w tak zwanej subskrypcji (nie na kartę, nie w abonamencie a w subskrypcji). Wykupujesz na tak długo, jak chcesz i kończysz, wtedy kiedy potrzebujesz.

Orange Flex obsługuje karty eSIM oraz internet w pełnej prędkości 5G, który przy moich testach oscylował w granicach 100 Mbps (w kilku miejscach w Polsce, w których przebywałem), co było wręcz rewelacyjne.

Usługa oferuje przeróżne plany taryfowe. Przełączając cenę na ilość dostępnych gigabajtów, zdecydowałem się na start wykupić sobie najwyższy pakiet 150 GB na miesiąc.

Pakiet ten kosztował mnie 80 zł, co w przeliczeniu na funty było nieco ponad £15.

Zakładając konto, nie spodziewałem się, że tak naprawdę otrzymam od Orange sporo więcej, niż oczekiwałem. Po części z prostego faktu, gdyż nie doczytałem się w ofertę, lub też nie do końca ją zrozumiałem, lub w nią uwierzyłem. Byłem co do niej bardziej sceptyczny, co jednak okazało się niepotrzebne, ale o tym za chwile.

Zacząłem od ściągnięcia aplikacji Orange Flex dostępnej na [iPhone](https://apps.apple.com/app/orange-flex/id1441116618) (jak również na telefony z [Androidem](https://play.google.com/store/apps/details?id=com.orange.rn.dop)).

Podczas zakładania konta musiałem potwierdzić moją tożsamość. Tutaj myślałem, że zaczną się dla mnie schody, jednakże nie.

Jako że moje Polskie dokumenty wygasły i jeszcze ich nie odnowiłem, posłużyłem się moim brytyjskim paszportem.

W związku z tym, że Wielka Brytania nie jest już członkiem Unii Europejskiej, spodziewałem się nieco problemów, ale nie. Weryfikacja tożsamości przebiegła bez najmniejszego problemu i byłem gotowy na dalszy krok.

Po wybraniu mojego planu (150 GB za 80 zł) przystąpiłem do płatności, gdzie wprowadziłem moją brytyjską kartę (w tym celu polecam [Wise](/wise/), [bank Monzo](/monzo/) lub dowolną kartę podpiętą pod [Curve](/podroze-w-czasie-z-curve/), aby uzyskać najlepszy kurs wymiany walut) i zapłaciłem za usługę.

W okamgnieniu moja wirtualna karta eSIM była gotowa do dodania do mojego telefonu.

Jako że w momencie wykupu przebywałem jeszcze w Wielkiej Brytanii, tutaj również oczekiwałem schodów. Mimo tego moja karta eSIM została dodana do mojego telefonu i aktywowała się, łącząc z nadajnikami sieci EE bez problemu.

Takim sposobem w moim telefonie miałem już dwie karty, jedną z GiffGaff, którą używam w UK, oraz kolejną, którą zacznę aktywnie używać, jak wyląduję w Polsce.

W tym celu, w ustawieniach iPhone, w momencie wylądowania, pozostawiłem GiffGaff jako domyślna sieć do dzwonienia, natomiast jako główną kartę do obsługi danych ustawiłem tą z Orange Flex.

Wszystko zadziałało zgodnie z planem i urlop można było zacząć.

Ale to jeszcze nie wszystko.

Tak sobie pomyślałem, że 150 GB może być niewystarczające, w związku z tym sprawdziłem w aplikacji, ile będzie mnie kosztować dokupienie gigabajtów. Tam, obok dodatkowych pakietów danych zobaczyłem możliwość włączenia pakietu nielimitowanego (UNLMTD).

Po jego kliknięciu ujrzałem (czego wcześniej nie doczytałem), że w ramach najwyższego pakietu, który wykupiłem, mogę do włączyć za ZERO złotych.

Bez wahania go włączyłem.

> Bez jego włączenia, połączenia z portalami społecznościowymi (Social Media) są domyślnie niewliczane w pakiet internetowy (teoretycznie), a rozmowy, SMS-y i MMS-y w kraju i w ramach Unii Europejskiej są nielimitowane.

[![Orange Flex - Mój plan 150 GB z aktywnym pakietem UNLMTD](orange_flex_150GB_UNLMTD.png)](orange_flex_150GB_UNLMTD.png)

Teraz to już byłem naprawdę gotowy, na cieszenie się moim urlopem bez konieczności kontrolowania jak używam swoich urządzeń.

Początkowo myślałem o wykupieniu karty eSIM dla siebie i udostępnienie internetu za pomocą mobilnego punktu dostępu (Personal Hotspot) dla członków mojej rodziny.

Tutaj jednak jeszcze raz przyszło pozytywne rozczarowanie spowodowane niedoczytaniem (kolejnym), przeze mnie co jeszcze Orange Flex oferuje bez dodatkowych kosztów.

Otóż w ramach najwyższego pakietu za 80 zł, otrzymałem już działającą usługę z nielimitowanym internetem.

W ramach niej mogłem dodać jeszcze 3 dodatkowe karty eSIM do tego samego pakietu.

Postanowiłem wygenerować kod QR i dodać kartę dla telefonu mojej  żony, jak również telefonu córki i o dziwo wszystko przebiegło bez najmniejszego problemu.

Gdybym miał zegarek Apple Watch lub iPad z obsługą sieci komórkowych, również to urządzenie mógłbym wyposażyć w pakiet internetowy.

Aktywacja dodatkowych kart, którą dokonywałem, jeszcze będąc w UK, oficjalnie się nie powiodła (ale tylko w teorii).

> Przechodząc do zakładki **Karty SIM** (SIM cads) w aplikacji Orange Flex i klikając w sekcji Numer główny (Main number) na opcję **Twój numer** (Your number), dostępne będzie menu dodawania kolejnych kart sim. Nie mylić z dodawaniem nowych numerów do konta (Add new number).

Po przeszło 10 minutach, będąc na etapie aktywacji, telefon dodał kartę, ale zwrócił informację, że aktywacja się nie powiodła.

Gdy testowałem jakiś czas temu LycaMobile w UK miałem również ten sam problem. Przełączenie się w tryb samolotowy i z powrotem poprzednio rozwiązało to problem, jednakże nie w przypadku Orange Flex.

Karty dodane na dodatkowych urządzeniach wyświetlały się jako aktywowane, ale nie posiadały one sygnału (nie połączyły się z nadajnikami sieci w UK).

Skoczyłem szybko na chat z pomocą techniczną Orange Flex w aplikacji i uzyskałem informację, że karty dodatkowe w pakiecie działają tylko w Polsce, dlatego nie łączą się one w roamingu za granicą.

Nie stanowiło to dla mnie problemu, gdyż i tak nie planowałem korzystać z nich w UK, jednakże chciałem mieć pewność, że po wylądowaniu złapią one zasięg i będą działały bez problemu.

I tak też się stało. Każda z kart złapała sygnał bez problemu zaraz po wylądowaniu i wyłączeniu trybu samolotowego i każdy z użytkowników, niezależnie, mógł korzystać z internetu.

Dodatkowo każda z kart otrzymała własny numer telefonu, który można byłoby wykorzystać do dzwonienia i odbierania połączeń w kraju.

W moim przypadku jednak gdy dodawałem dodatkowe karty, wybrałem opcję, że będę je używał tylko do transmisji danych, gdyż i tak, GiffGaff, po wylądowaniu, wysłał mi informację, że mogę dzwonić w Polsce, na Polskie (i Angielskie) numery tak jak byłbym w UK. Wszelkie połączenia schodzić będą z dostępnych minut (w moim przypadku nielimitowanych), a nie z dostępnego salda (balance). Znacząco ułatwiło to komunikację w kraju, gdyż nie musiałem nikomu podawać numeru z Orange i powodować zamieszania.

Wszelkie urządzenia, które nie posiadały komunikacji komórkowej, korzystały z mobilnego punktu dostępu (Personal Hotspot), co było znaczącym ułatwieniem.

> Tutaj mała uwaga. Niektóre usługi, oferujące internet za granicą, takie jak Holafly, mimo że oferują możliwość korzystania z dowolnej sieci, nie zezwalają one na wykorzystanie wykupionego pakietu internetu poza podstawowym urządzeniem (tethering).

{{% ads-in-article %}}

Tutaj moje kolejne niedoczytanie kosztowało mnie dodatkowe 79 zł, gdyż pakiet na pierwszy miesiąc, korzystając z kodu rabatowego FLEX, mógłbym mieć za jedyne 1 zł.

Niema co jednak narzekać, gdyż mój urlop w Polsce trwał zaledwie tydzień, więc i tak pakiet nie odnowiłby się on na kolejny okres.

Urlop przeleciał, cała rodzina korzystała z internetu, jak tylko chciała (tak jak w domu) i nie martwiliśmy się o żadne ograniczenia.

Przez cały okres zużyliśmy sporo danych, a prędkość pozostawała na wysokim poziomie.

Nawet z naszej lokalizacji docelowej, podróżując na lotnisko, korzystaliśmy z niego w trakcie i nie słyszałem żadnego narzekania.

Tutaj zdziwiony byłem, że nawet wjeżdżając w las, telefon pokazywał zasięg sieci 5G, czego nie mogę doświadczyć w niektórych lokalizacjach w UK, chociaż w Polsce natrafiłem na czarne dziury.

Urlop przeleciał i przyszła pora na wyłączenie Orange Flex i niepłacenie za kolejny miesiąc bez potrzeby.

[![Orange Flex - Informacja o moim aktualnym planie](orange_flex_moj_plan.png)](orange_flex_moj_plan.png)

W tym celu wszedłem na **Mój profil** (My profile) a następnie w **Mój Plan** (My Plan) po czym wybrałem opcję **Zakończ swój Plan** (Cancel your Plan).

[![Orange Flex - zakończenie planu w przeciągu 14 dni](orange_flex_zakoncz_plan.png)](orange_flex_zakoncz_plan.png)

Co ciekawe, jako że wykupiłem mój plan kilka dni przed wyjazdem, a mój urlop trwał mniej niż tydzień, w momencie jak chciałem go anulować, dostałem informację, że mogę dostać zwrot pieniędzy za poniesiony plan. Wszystko dlatego, że dokonałem tego, w ciągu 14 dni od zakupu.

Akurat nie zależało mi na zwrocie, gdyż plan spełnił swoje założenie podczas podróży, ale skoro się oni upierają to, dlaczego by nie.

W związku z tym potwierdziłem rezygnację i utratę numeru.

Na ekranie głównym otrzymałem potwierdzenie, że moja prośba jest w trakcie realizacji. Po chwili plan został anulowany, a moja karta eSIM straciła zasięg. Mogłem ją wówczas usunąć z mojego telefonu a wszelkie dodatkowe z pozostałych urządzeń, do których je dodałem.

Moje konto w aplikacji pozostało aktywne i mogę wybrać plan na przyszłość, gdy tylko zajedzie taka potrzeba.

Takim sposobem, mam sprawdzone rozwiązanie na nielimitowany internet dla całej rodziny oraz wszelkich urządzeń po bardzo rozsądnej cenie, nawet za darmo (co zapewne się zmieni w przyszłości, gdyż nie widzę, jak to może być dla nich opłacalne).

Pozdrawiam.


---
## Aktualizacja Windows 11 Home do wersji Profesjonalnej
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-windows-11-home-do-pro/
- **Date:** 2023-10-18
- **Tags:** Windows, Windows 11 Home, Windows 11 Pro, Windows 11 Enterprise, aktualizacja

### Content

Ostatnio przyszło mi przekazać w użytkowanie komputer, który domyślnie został dostarczony z systemem Windows 11 w wersji Home. Jako że w środowisku, w którym muszę go użytkować, potrzebuję wersję profesjonalną, postanowiłem go zaktualizować.

Posiadając już zakupiony klucz produktu, najprostszą metodą będzie przejście do **Ustawień** (_Settings_) > **System** > **Aktywacja** (_Activation_) i w sekcji `Zmień klucz produktu` (_Change produkt key_) wprowadzić klucz do wersji Pro.

Niestety, o ile dokonywałem tej metody wcześniej na innych komputerach, tym razem otrzymałem informację, że podany klucz produktu nie może zostać wykorzystany do aktualizacji system aktualnie zainstalowanego.

Postanowiłem sprawdzić, czy z wykorzystaniem [opisanej wcześniej przeze mnie metody aktualizacji Windows 10 Home do Pro](/aktualizacja-windows-10-home-do-pro/) nie uda mi się zaktualizować Windows 11 z Home do Pro.

<!--more-->

Posiadałem już pobrany obraz ISO systemu Windows 11 wgrany na pendrive za pomocą programu [Rufus](https://rufus.ie). Jeżeli nie posiadasz obrazu ISO systemu Windows 11, odsyłam do mojego wpisu [Jak pobrać obraz Windows 10 (ISO)](/obraz-iso-windows-11/).

---

Podobnie jak w metodzie w systemie Windows 10, zacząłem od zmiany w rejestrze systemowym.

Aby uruchomić rejestr systemowy, wystarczy kliknąć skrót klawiszowy 'Logo Windows + R', następnie wpisując w nowo otwartym oknie Uruchom... 'regedit' i potwierdzając przyciskiem <kbd>Enter</kbd>.

> Alternatywnie, klikamy na przycisk 'Start' i wpisujemy słowo 'regedit' gdzie powinniśmy otrzymać sugestię 'Edytor rejestru' (_Registry Editor_).

Przechodzimy do folderu podstawowego `HKEY_LOCAL_MACHINE > SOFTWARE`.

1. Następnie do `Microsoft\Windows NT\Current Version`

Tutaj, w prawej części okna zmieniamy wartości `EditionID` na `Professional` oraz `ProductName` na `Windows 10 Pro`.

[![Edytor rejestru Windows 11](Registry_Editor_Windows_11.png)](Registry_Editor_Windows_11.png)

> Tak, wpisujemy Windows 10, mimo że aktualizujemy Windows 11. Jak widać Windows 11 to tylko podrasowany Windows 10.

2. Wracamy do folderu podstawowego i idziemy do `WOW6432Node\Microsoft\Windows NT\Current Version` i dokonujemy analogicznej zmiany jak powyżej.

[![Edytor rejestru Windows 11 WOW6432Node](Registry_Editor_Windows_11_WOW6432Node.png)](Registry_Editor_Windows_11_WOW6432Node.png)

3. Uruchamiamy `setup.exe` z instalatora systemu Windows 11.

> Jeżeli pobraliście obraz ISO, to możecie go rozpakować za pomocą programu [7Zip](https://www.7-zip.org).

{{% ads-in-article %}}

Aby przyśpieszyć cały proces, zalecam odłączenie komputera od internetu, gdyż instalator może zechcieć dokonać aktualizacji systemowych najpierw, a niżeli zacznie instalację, co może znacząco wydłużyć cały proces.

[![Instalator Windows 11 gotowy do zaktualizowania do Windows 11 Pro](Windows_11_Pro_ready_to_install.png)](Windows_11_Pro_ready_to_install.png)

Jeżeli wszystko wykonaliście prawidłowo, po krótszej (lub dłuższej) analizie instalator zapyta nasz czy chcemy zainstalować `Windows 11 Pro` z `Zachowaniem plików i aplikacji`.

> Jeżeli instalator nadal poinformuje nas o `Windows 11 Home`, wówczas go zamykamy i sprawdzamy jeszcze raz nasz rejestr systemowy, w szczególności `Microsoft\Windows NT\Current Version`.

Teraz wystarczy poczekać i cieszyć się z osiągniętego efektu.

---

Po ponownym uruchomieniu komputera nasz system powinien zostać zaktualizowany do wersji Windows 11 Enterprise.

> Tak, nie Windows 11 Pro, tak jak wprowadziliśmy.

Możemy ponownie połączyć nasz komputer z internetem.

Przechodząc z menu Start do **Ustawień** (_Settings_) > **System** > **Aktywacja** (_Activation_) musimy dokonać zmiany, wprowadzić nasz klucz do Windows 11 Pro i go aktywować.

Aktualizacja powinna pójść bez żadnego problemu, a wersja systemu zmieni się z Windows 11 Enterprise na Windows 11 Pro.

---

Ostatnim krokiem pozostanie przejście do Aktualizacji Windows (Windows Update) i sprawdzenie, czy nie ma nowych dostępnych do zainstalowania. Z reguły, przy tej operacji znajdą się nowe, które **muszą** zostać zainstalowane w pierwszej kolejności, nim zaczniemy korzystać z naszego systemu.

I to by było na tyle.

Pozdrawiam.



---
## Przygoda z LycaMobile w sieci EE (jako użytkownik GiffGaff)
- **URL:** https://dariusz.wieckiewicz.org/przygoda-z-lycamobile-w-sieci-ee-jako-uzytkownik-giffgaff/
- **Date:** 2023-10-06
- **Tags:** LycaMobile, Sieć EE, GiffGaff, eSIM, SpeedTest

### Content

Jestem długoletnim użytkownikiem GiffGaff. Nie pamiętam już od jak dawna, to było gdzieś w połowie 2012 roku. Przez lata nieustannie polecałem GiffGaff ze względu na świetne ceny za miesięczny pakiet (goody bags) i ceny za połączenia zagraniczne. Nic się nie zmieniło. Nadal polecam to każdemu, kto chce trochę zaoszczędzić i mieć dobry stosunek jakości do ceny, ale zawsze szukam czegoś lepszego.

<!--more-->

[GiffGaff](/giffgaff/) opiera się na sieci O2 i dlatego tak długo się ich trzymałem. Długo korzystałem z O2. Krótko przebywałem w Three UK, ale szybko się wycofałem, ponieważ było i nadal jest słaba do codziennego użytku w różnych lokalizacjach.

Niedawno czytałem o **[bałaganie, który wydarzył się w Lyca Mobile](https://www.moneysavingexpert.com/news/2023/06/lyca-mobile-has-started-switching-customers-from-o2-to-ee---here/)**, gdy zdecydowali się na migrację z infrastruktury O2 do EE bez odpowiedniego poinformowania swoich klientów (lub sprawdzenia, jak to na nich wpłynie). Nie wygląda to dobrze, ale nie oglądając się wstecz, chcę spróbować zobaczyć, jak sieć EE działa w miejscach, w których O2 ma problemy. Lyca Mobile w EE staje się o wiele bardziej przekonującym wyborem.

Obecnie płacę 10 funtów miesięcznie za 20 GB Golden GoodyBag (z dodatkowym 1 GB, jeśli mi się skończy), aby móc dzwonić i wysyłać nielimitowane SMS-y w Wielkiej Brytanii. Wszystkie numery płatne i połączenia międzynarodowe są rozliczane z osobnego salda, które muszę stale uzupełniać.

> Dobra wiadomość jest taka, że ​​jeśli kupię Goodybag i skończą mi się dane przed upływem 30 dni, mogę kupić nowy wcześniej. Nie muszę czekać do końca okresu, aby to zrobić. W Lyca Mobile jednak tak nie jest. Po zakupie planu, nawet jeśli skończą mi się dane, nie mogę kupić kolejnego przed upływem 30 dni.

Plan Lyca, którego szukam (koniec sierpnia 2023 r.), który jest konkurencyjny w stosunku do GiffGaff, oferuje również 20 GB (dla nowych klientów) z nielimitowanymi połączeniami i wiadomościami SMS w tej samej cenie, czyli 10 funtów miesięcznie, ale dla nowych klientów obowiązuje zniżka do **5 funtów za pierwsze 6 miesięcy**, jeśli regularnie odnawiasz swój plan.

Dodatkowo otrzymuję 100 minut na połączenia międzynarodowe do ponad 40 krajów, w tym do Polski, gdzie dzwonię najczęściej (jednak mniej w sieci komórkowej, a więcej w różnych komunikatorach).

**100 darmowych minut na połączenia międzynarodowe to dobra oferta na początek.**

Ponieważ głównie dzwonię na numery komórkowe w Polsce, w GiffGaff, będzie mnie to kosztowało 5 pensów za minutę, stąd te 100 minut jest warte 5 funtów. To nie jest zła oferta. Powyżej tej kwoty jest 6 pensów za minutę według [Standard International Rates](https://www.lycamobile.co.uk/en/rates/).

Jedyny aspekt, który biorę pod uwagę, to czy zasięg sieci EE jest lepszy niż O2. [Wszystkie znaki mówią, że EE działa lepiej](https://www.moneysupermarket.com/mobile-phones/networks/reviews/ee-vs-o2/).

Wiem, czego mogę się spodziewać po O2, ale wiem też, gdzie O2 ma braki. Moi znajomi mieszkający w innych częściach Leeds w Wielkiej Brytanii mają poważne problemy z połączeniami telefonicznymi w domu (1 kreska i 4G to maksimum lub w ogóle brak sygnału). Mam doświadczenie, w którym nie można korzystać z danych, gdy telefon pokazuje 3G, ale czasami, przy słabym 4G, nie działa tak dobrze i nic się nie zmieniło od lat.

> To nie jest konkretny problem GiffGaff, ale całej sieci O2.

W niektórych obszarach wiejskich, w których byłem ostatnio, nie było w ogóle zasięgu, mimo że [mapa zasięgu Ofgem](https://checker.ofcom.org.uk/en-gb/mobile-coverage) pokazywała inaczej. Kiedy w końcu zobaczyłem 1 kreskę 4G, internet nadal nie działał.

To dało mi do myślenia i postanowiłem wypróbować Lyca Mobile. W najgorszym przypadku po miesiącu lub dwóch wrócę do GiffGaff, ponieważ migracja między operatorami, gdy nie jesteś ograniczony długą umową, jest teraz prosta.

> Przeczytaj: [Jak zmienić sieć komórkową w Wielkiej Brytanii](/jak-zmienic-operatora-komorkowego-w-wielkiej-brytanii/)

W przypadku Lyca chciałbym najpierw wypróbować eSIM (GiffGagg wciąż tego nie rozgryzł, a raczej O2 nie pozwolił im na to). Nadal korzystając z GiffGaff, mogę przejść na dual sim na moim iPhonie, zanim zdecyduję się na migrację (lub nie).

Mając fizyczną kartę GiffGaff w telefonie, postanowiłem aktywować eSIM od Lyca, aby spróbować, a ostatnio migrować z jednej sieci do drugiej.

![Aktywacja eSIM w LycaMobile](LycaMobile_Activate_eSIM.png)

Pomimo że zakup był prosty i otrzymałem kod QR do aktywacji eSIM, nie poszło to zgodnie z planem.

![Nie można aktywować eSIM w LycaMobile](LycaMobile_Unable_to_Activte_eSIM.png)

Podczas próby aktywacji eSIM otrzymałem wiadomość **„Nie można aktywować eSIM. Możesz spróbować ponownie lub skontaktować się z operatorem sieci w celu uzyskania pomocy”**.

**Nie jest to dobry początek!**

Zastanawiam się, czy to coś związanego z faktem, że kupiłem eSIM w sierpniowy długi weekend (w Wielkiej Brytanii), i z tego powodu sieć mogła go jeszcze nie aktywować.

Postanowiłem odczekać godzinę lub dwie przed ponowną próbą, a jeśli znów się nie uda, zdecyduję się zadzwonić do Lyca.

> W przeciwieństwie do GiffGaff, możesz zadzwonić do Lyca i porozmawiać z człowiekiem, więc to plus.

W międzyczasie przeszukałem internet i nie znalazłem żadnych informacji na ten temat, zwłaszcza niezwiązanych z Lyca. Kierując się na forum społeczności EE, niektórzy ludzie zalecają wyjęcie fizycznej karty SIM, a następnie próbę aktywacji eSIM. Postanowiłem spróbować.

Próbowałem, ale wynik był taki sam.

Postanowiłem zadzwonić do nich pod numer **0207 132 0322**.

Różnica między GiffGaff a Lyca polega na tym, że możesz zadzwonić pod numer ich obsługi klienta i porozmawiać z człowiekiem, a nie polegać tylko na wysłaniu wiadomości do agenta i cierpliwym czekaniu, aż odpowie.

Bez długiego czasu oczekiwania udało mi się porozmawiać z kimś. Otworzyli sprawę po swojej stronie, dzięki której wygenerują mi nowy kod QR z moją kartą eSIM, ponieważ najprawdopodobniej mój obecny kod jest wadliwy. Niestety, zajmie to prawdopodobnie 24-48 godzin.

Dobra, nie spieszę się z nową kartą i mogę poczekać na nowy kod QR, w innym przypadku nie jest to dobry początek, ale zrozummy, że to tylko technologia, która nie jest bez wad.

Tymczasem chcę sprawdzić moją teorię, że eSIM nie zawsze są gotowe od pierwszej minuty po zakupie, szczególnie te od wirtualnych operatorów, takich jak Lyca, i miałem rację.

Sześć godzin później postanowiłem ponownie dodać eSIM do telefonu, skanując kod QR z mojej poczty e-mail.

![Kolejna próba aktywacji eSIM w LycaMobile](LycaMobile_Activate_eSIM_Activating.png)

Tym razem nie było żadnego komunikatu o błędzie, a **„Aktywowanie...”** pozostał na ekranie nieco dłużej.

![Łączenie z siecią podczas aktywacji eSIM w Lyca Mobile](LycaMobile_Activate_eSIM_Connecting_to_network.png)

Krótko po chwili zmienił się na **„Łączenie z siecią...”**.

![Aktywacja eSIM w LycaMobile została ukończona](LycaMobile_Activate_eSIM_Continue.png)

Po około minucie pojawił się przycisk **„Kontynuuj”** z komunikatem, że mogę korzystać z mojego iPhone'a, podczas gdy aktywują moją eSIM.

W kolejnych krokach ustawiłem główną kartę SIM, która jest używana do danych i pomocniczą do innych rzeczy. **Świetnie.**

![Dual SIM wyświetlający GiffGaff i EE (LycaMobile) na iPhonie](GiffGaff_SIM_and_LyceMobile_EE_eSIM.png)

Kiedy mój telefon pokazał sieć GiffGaff i EE na moim Gmailu, dostałem wiadomość e-mail od Lyca Mobile z informacją o aktywacji mojej karty eSIM i mojego numeru Lyca.

> Mimo że obiecano mi nowy kod QR do mojego eSim, Lyca nigdy do mnie nie wróciła. To nie jest świetne podejście, mimo że potrafią rozmawiać z ludźmi, nie robią tego, co ci mówią.

Szybko włączyłem tryb samolotowy, a następnie ponownie otrzymałem wiadomości tekstowe od Lyca Mobile, że **Aktywacja pakietu powiodła się**, a następnie kolejną wiadomość tekstową z moim numerem telefonu.

Po tym nastąpił link do rejestracji mojego numeru telefonu na [LycaMobile.co.uk/en/registration](https://www.LycaMobile.co.uk/en/registration), co robię.

Dzięki temu numerowi mogłem w końcu zacząć eksplorować Lyca, zaczynając od pobrania aplikacji mobilnej (na [iPhone](https://apps.apple.com/gb/app/lyca-mobile-uk/id1670808515) lub [Android](https://play.google.com/store/apps/details?id=com.lycadigital.lyca_mobile_uk)).

> Po kilku dniach mój telefon wyświetlał EE jako dostawcę sieci i zmienił się na LycaMobile. Prawdopodobnie wynika to z konieczności aktualizacji ustawień sieciowych w telefonie. To samo dotyczy GiffGaff, który najpierw wyświetla O2, a następnie aktualizuje się, aby wyświetlić właściwą nazwę.

---

Kiedy kupiłem eSIM do użytku moich znajomych, w ciągu tygodnia aktywacja zajęła około 5-10 minut bez żadnych błędów. Moje doświadczenie prawdopodobnie ma coś wspólnego z dniami wolnymi od pracy.

---

Po wykonaniu tej czynności postanowiłem porównać prędkość w mojej lokalizacji.

Wyłączyłem Wi-Fi i uruchomiłem [test prędkości fast.com](https://fast.com) na mojej podstawowej karcie SIM.

![Test prędkości przeprowadzony przy użyciu fast.com dla GiffGaff w sieci O2](SpeedTest_fast_com_GiffGaff_O2.png)

Maksymalna prędkość pobierania wynosiła około 110 Mb/s, a pobieranie 25 Mb/s ze średnią 90/17 w sieci O2.

Kiedy zmieniłem kartę główną do korzystania z danych na Lyca, ku mojemu zaskoczeniu otrzymałem informację, że korzystam z LTE, a nie 5G.

To był pierwszy raz, kiedy od jakiegoś czasu widziałem połączenie LTE w Wielkiej Brytanii, ponieważ zwykle jest to 4G lub 5G (niż 3G). W Polsce, gdzie mieszkałem, LTE (lub LTE+) było bardzo popularną nazwą wiele lat temu.

![SpeedTest przeprowadzony przy użyciu fast.com dla LycaMobile w sieci EE](SpeedTest_fast_com_LycaMobile_EE.png)

Mimo że LTE teoretycznie powinno być wolniejsze od 5G, podczas testu osiągnęło szczyt 270 Mb/s i ustabilizowało się na poziomie około 100 Mb/s przy pobieraniu i szczytowym wysyłaniu 22 Mb/s.

To LTE dało mi do myślenia, więc udałem się do Ustawienia > Dane mobilne i sprawdziłem ustawienie domyślne w opcji Głos i dane.

{{% gallery %}}
![Opcje głosowe i danych GiffGaff na iPhonie](Voice_Data_options_GiffGaff.png "Opcje głosowe i danych GiffGaff na iPhonie")
![Opcje głosowe i danych LycaMobile na iPhonie](Voice_Data_options_LycaMobile.png "Opcje głosowe i danych LycaMobile na iPhonie")
{{% /gallery %}}

> Na Lyca było dostępnych więcej opcji niż na GiffGaff.

Tam domyślnie było ustawione LTE, a nie 5G Auto. Przełączyłem się na 5G Auto i spróbowałem ponownie.

> Kiedyś najpierw przeprowadziłem test prędkości na LTE i wkrótce potem otrzymałem wiadomość tekstową od Lyca, że ​​mogę korzystać z danych 5G.

![Dual SIM wyświetlający EE (LycaMobile) i GiffGaff na iPhonie](LyceMobile_EE_eSIM_and_GiffGaff_SIM.png)

Tym razem zauważyłem 5G na pasku sieci, a nie LTE.

![SpeedTest przeprowadzony przy użyciu fast.com dla LycaMobile w sieci EE i sygnału 5G](SpeedTest_fast_com_LycaMobile_EE_5G.png)

Nie jest jednak zaskakujące, że LTE zostało ustawione domyślnie, ponieważ prędkości w 5G były gorsze niż w LTE, osiągając szczyt 80 Mb/s przy pobieraniu, ale szczyt wysyłania 30 Mb/s, kończąc na średniej 72/14.

---

Potem przypomniałem sobie, że mój iPhone ma domyślnie włączony Apple Private Relay. Może to mieć wpływ na prędkość Internetu. Postanowiłem to usunąć i powtórzyć testy.

- GiffGaff (O2) zakończył ze średnią prędkością pobierania 120 Mb/s i wysyłania 16 Mb/s w 5G.
- Lyca (EE) zakończył ze średnią prędkością pobierania 83 Mb/s i wysyłania 21 Mb/s w LTE.
- Lyca (EE) zakończył ze średnią prędkością pobierania 54 Mb/s i wysyłania 18 Mb/s w 5G.

To, co mnie zainteresowało, to opóźnienie w EE w 5G i LTE, które jest znacznie gorsze niż w O2. Niższe opóźnienie sprawdzi się świetnie u osób grających na swoich telefonach komórkowych.

O2 wykazało opóźnienie na poziomie 49 ms bez obciążenia, ale przy obciążeniu osiągnęło szczyt na poziomie 503 ms. Można to interpretować jako opóźnienie w grze wynoszące 0,5 sekundy.

Opóźnienie EE wynosiło 61 ms bez obciążenia i 1 s (czyli 1000 ms) przy obciążeniu na LTE oraz 1,8 s (1800 ms) na 5G. **Tragedia!**

> Dla porównania, mój domowy internet na łączu Virgin Media 250 Mb/s ma opóźnienie około 80 ms (na moim routerze OpenWrt).

---

Dużym testem byłoby **jednak** sprawdzenie tego w miejscach, w których zawsze mam problemy z dostępem do Internetu, takich jak dom mojego przyjaciela. Mapa zasięgu Ofgem wygląda o wiele lepiej dla EE niż dla O2 z nimi.

Ponadto w moim miejscu pracy rzadko mam zasięg 5G w pomieszczeniach i zastanawiam się, czy uda mi się go uzyskać z Lyca Mobile. Patrząc na mapę Ofgem, zasięg w pomieszczeniach jest nierównomierny.

Prędkości były bardzo podobne, jednak opóźnienie w EE, po raz kolejny, było słabe!

{{% gallery %}}
![Test prędkości GiffGaff 5G (w lokalizacji 2)](SpeedTest_fast_com_GiffGaff_O2_location_2.png "Test prędkości GiffGaff (w lokalizacji 2)")
![Test prędkości LycaMobile 5G (w lokalizacji 2)](SpeedTest_fast_com_LycaMobile_EE_5G_location_2.png "Test prędkości LycaMobile (w lokalizacji 2)")
{{% /gallery %}}

Mój test w domu mojego przyjaciela przebiegł bezproblemowo, ale wyniki nie były tak imponujące, jak się spodziewałem.

Ogólna siła sygnału była lepsza. Zaletą posiadania LTE wśród 3G, 4G i 5G jest utrzymanie połączenia w słabych punktach.

Podczas rozmowy testowej połączenie było w porządku (nie świetne, ale w porządku), jednak nie straciłem odbiorcy. Po rozłączeniu zauważyłem, że GiffGaff (O2) pokazał informację o braku usługi, podczas gdy Lyca Mobile (EE) nadal działała.

Podczas gdy O2 pokazuje zaledwie jeden pasek 4G i stale przełącza się między 3G i 4G, EE pokazuje jeden pasek w 5G.

Prędkości wahają się od 1 Mb/s przy pobieraniu w O2 do 8-9 Mb/s w EE, więc to poprawa. Siła EE była porównywalna z tym, co pokazywała mapa Ofgem dla lokalizacji mojego przyjaciela, jednak było jedno miejsce, w którym EE pokazało mi brak usługi, a GiffGaff nadal wisiał na jednym pasku. To jednak było (EE) o wiele lepsze niż to, czego moi znajomi doświadczają każdego dnia, kiedy to tracą cenne połączenia, ponieważ ich telefon pokazuje im Brak sygnału lub słaby sygnał nie pozwala im na połączenie.

To dowodzi, że przynajmniej dla nich wypróbowanie różnych sieci może być dobrym rozwiązaniem ich problemów.

> Moja znajoma korzysta z LycaMobile od kilku tygodni i zauważyła, że ​​czasami telefon również traci sygnał (rzadziej niż GiffGaff), jednak gdy już tak się dzieje, to agresywniej próbuje nawiązać połączenie, prawdopodobnie próbując różnych częstotliwości. To powoduje ogromne rozładowanie baterii. Pewnego dnia, kiedy sprawdzałam, 25% utraty baterii w jej iPhonie było spowodowane brakiem zasięgu, a nie korzystaniem z innych aplikacji. Tragedia.

Pomimo skarg, O2 przez lata nie zrobiło nic, aby poprawić swój sygnał w niektórych obszarach, dlatego EE przejmie tych klientów, którzy potrzebują trochę większej niezawodności.

{{% ads-in-article %}}

**Nie myślmy, że wszystko jest lepsze.**

![GiffGaff w O2 z 4G, gdy LycaMobile w EE wyświetla Brak Usługi](GiffGaff_O2_4G_LycaMobile_EE_No_Service.png)

Poszedłem do mojego zwykłego miejsca, gdzie trenuję karate, aby dowiedzieć się, że w środku (kościół) nie było w ogóle **Brak Sygnału** z EE, gdy O2 nadal miało pełny sygnał na 4G.

To sprawia, że ​​myślę, czy to rozwiązanie jest dobre dla mnie? Może będzie lepsze dla mojego przyjaciela, ale niekoniecznie dla mnie.

Ciągle szukałem innych rzeczy, zanim podjąłem decyzję.

---

Kolejna różnica między Lyca Mobile a GiffGaff, mimo że strona internetowa GiffGaff jest o wiele bardziej przyjazna użytkownikowi (dostępna), to fakt, że możesz zobaczyć swoją historię rozliczeń na stronie internetowej (jeśli działa).

To może brzmieć szalenie, ale czasami, gdy zastanawiasz się, gdzie zostałeś obciążony z salda lub gdzie trafiają Twoje dane, możesz to tam zobaczyć.

---

Jedną niespodzianką dla mnie w Lyca był brak uwierzytelniania dwuetapowego w celu dostępu do profilu. Możesz dokonać zamiany karty SIM bezpośrednio ze swojego konta, brak dodatkowego uwierzytelniania jest nieco ryzykowny w obecnych czasach.

---

Jeśli podróżujesz do UE, bardzo ważne będzie, abyś mógł korzystać ze swojego telefonu w sposób, w jaki zwykle go używasz. Ze względu na ostatnie zmiany większość operatorów wprowadziła limit danych podczas korzystania z niego w UE. W GiffGaff, za pośrednictwem O2, narzucono limit 5 GB danych niezależnie, jeśli kupiłeś Goodybag z 20 GB lub dużo więcej.

W przypadku Lyca Mobile jest trochę inaczej. Limit zależy od zakupionego pakietu.

Na przykład w moim obecnym pakiecie 20 GB mój limit danych w roamingu w UE wynosi 12 GB.

Jeśli zdecydujesz się na plan Unlimited (prędkość ograniczona po wykorzystaniu 300 GB), otrzymasz 35 GB na roaming.

**W obu przypadkach jest to o wiele lepsze niż tylko 5 GB.**

---

Od czasu do czasu, gdy mój internet przestaje działać, muszę uzyskać dostęp na laptopie, w tym celu używam tetheringu.

W GiffGaff nie było z tym problemu. Używasz planu, który kupiłeś i swojego limitu.

Byłem trochę zaskoczony, że Lyca Mobile w swoich warunkach zabrania tetheringu i zaleca, aby dane były używane tylko w telefonie komórkowym. **Serio!?**

To trochę bzdura. W dzisiejszych czasach, jeśli za coś płacisz, będziesz mógł z tym zrobić, co jest możliwe.

Oto mały bałagan po stronie Lyca Mobile. Kiedy próbujesz przejść przez ich stronę internetową, znajdziesz sprzeczne informacje, a tethering jest taki sam. Jedyny artykuł, jaki tam znalazłem, pochodził z 2019 roku, czyli sprzed 4 lat, i mówił, że nie można tetherować, jednak popularna w Wielkiej Brytanii strona uSwitch, opisując Lyca Mobile, stwierdziła, że ​​jest to dozwolone, więc muszą mieć, być może, poprawne informacje.

> Niedawno zaktualizowali swoją stronę internetową i sekcję [FAQ](https://www.lycamobile.co.uk/en/help/faq), w której odpowiedzieli na pytanie **Tak** i usunęli odniesienia do starych, niedokładnych artykułów.

Tutaj siła społeczności GiffGaff wygrywa, utrzymując ich stronę internetową świeżą i aktualizowaną, a wszelkie stare, niedokładne informacje są usuwane. W Lyca to, co zostało opublikowane, co niekoniecznie jest nadal aktualne, nadal tam jest. Być może inny pracownik dodał to i od tego czasu, kiedy odszedł, nikt tego nie sprawdził. To nie jest dobra rzecz, zwłaszcza że chciałbyś opierać wszystkie swoje informacje na źródle - ich oficjalnej stronie internetowej.

---

Po rozważeniu zalet i wad postanowiłem spróbować, **ale nie zrezygnowałem całkowicie z GiffGaff**.

Zachowałem swój numer w GiffGaff, ale zmieniłem wykorzystanie danych na Lyca Mobile (EE), aby zobaczyć, jak to działa w rzeczywistości. Wyłączyłem cykliczne Goodybag na miesiąc i wybrałem główny internet do korzystania z sieci EE.

Kiedy podejmę decyzję, mogę [przenieść swój numer do Lyca Mobile](https://www.lycamobile.co.uk/en/transferyournumber) za pomocą ich formularza lub anulować Goodybag i używać go trochę dłużej jako PAYG, ponieważ większość moich znajomych jest w GiffGaff, a ja dostałem zazwyczaj 3 miesiące darmowych połączeń i wiadomości tekstowych GiffGaff do GiffGaff od ostatniego doładowania (zakupu Goodybag).

Zobaczymy, jak to będzie.

> Na razie jest tak jak ze mną i moim bankiem - Monzo. Wiem, że inne banki dają łapówki za przystąpienie do nich, w niektórych przypadkach nawet 200 funtów, jednak elastyczność i użyteczność Monzo oraz brak zbędnej biurokracji nie rekompensują mi wycofania się z czegoś, co jest częścią mojego życia finansowego.

---

Przeniosłem kilka osób do GiffGaff i zawsze było to proste, ale w przypadku Lyca Mobile czuję się jak początkujący użytkownik.

Ktokolwiek wpadnie na pomysł Porting Form, powinien zostać zwolniony.

![LycaMobile porting form](LycaMobile_porting_form.png)

Imię, nazwisko, adres e-mail, **numer, który chcesz zachować**, a następnie kod PAC wyglądają bardzo podobnie, ale następnie musimy wpisać New number (?).

Co to jest New number, jeśli **zachowamy numer podany wcześniej?**.

Numer Lyca Mobile SIM to tymczasowy numer telefonu komórkowego dołączony do naszej eSIM, który zostanie zastąpiony naszym przeniesionym numerem.

Następnie otrzymaliśmy inny numer karty SIM, **który to jest?**

Kończąc datą przeniesienia i akceptacją Warunków i Postanowień przed przejściem dalej.

Naprawdę utknąłem w tej formie i postanowiłem użyć ikony robota dostępnej w prawym dolnym rogu i zrobić to za jej pośrednictwem. Było to o wiele bardziej intuicyjne i 2 dni później moja znajoma została przeniesiona i mogła zacząć testować Lyca Mobile w terenie.

> Dobra wiadomość z GiffGaff jest taka, że ​​nawet gdy się przeprowadzisz, Twoje konto, dane logowania i hasło będą nadal działać. Po prostu nie będziesz mieć do niego żadnej karty SIM. Jeśli zdecydujesz, że Lyca Mobile nie jest dla Ciebie, możesz łatwo wrócić do tego, jak było kiedyś.

Początkowy test dla moich znajomych poszedł tak dobrze, że postanowili przenieść swój inny numer (numer partnera) również do Lyca Mobile.

> Od kiedy próbowałem przenieść numer, strona internetowa Lyca została zaktualizowana wraz z formularzem przenoszenia. Jednak nie byłem w stanie zobaczyć, jak to wygląda, ponieważ ich nowa strona internetowa ciągle ma problemy i poza informacjami o zasobach nie można nawet uzyskać dostępu do swojego konta.

---

Tego dnia, kiedy zdecydowaliśmy się na migrację mojego przyjaciela, mój Golden Goodybag z GiffGaff wygasł i zacząłem testować internet przez sieć EE, aby uzyskać przegląd tego, jak dobre lub nie, będzie to dla mnie, zanim zdecyduję się lub nie, na przeniesienie mojego numeru. Nie spieszę się z tym i jeśli będzie trzeba, będę kontynuował testowanie, aż moje ustawowe darmowe połączenia GiffGaff do GiffGaff wygasną, czyli 11 listopada 2023 r.

{{% ads-in-article %}}

---

Jest jeszcze jeden powód, dla którego nie spieszę się z przeprowadzką z GiffGaff: [polecam ludzi](https://giffgaff.com/orders/affiliate/itdarek) i zbieram z tego zachęty, które kumulują się przez okresy miesięcy. Obecnie mam niewielką kwotę do wypłaty za okres kończący się w listopadzie 2023 r. i nie chcę ryzykować jej utraty. Ale da mi to mnóstwo czasu na przetestowanie Lyca Mobile w terenie.

---

Minęło trochę czasu, a ja nie zauważyłem żadnej różnicy w korzystaniu z GiffGaff (O2) i Lyca Mobile (EE).

Wiem, że w niektórych obszarach będzie lepiej (moi znajomi udowodnili mi, że gdy dotarli nad morze, żaden z ich znajomych na O2 nie miał sygnału, gdy wszystko działało dobrze), ale głównie w tych wiejskich miejscach, w których bywam okazjonalnie, zazwyczaj na wakacjach szkolnych. Możliwość podłączenia eSim w krótkim czasie doda mi opcji, gdy ich będę potrzebować.

Ciągle myślę, co zrobić, a ostatnie wydarzenia z Lyca Mobile tylko upewniły mnie, że gdy Lyca będzie dobrze działać u moich znajomych, nie będę u nich zostawał.

Niektóre rzeczy, których doświadczyłem w okresie testowania, tylko utwierdziły mnie w przekonaniu, że to jest dla mnie odpowiednie.

---

Pod koniec września i na początku października 2023 r. Lyca zaktualizowała swoją witrynę internetową na całym świecie, ale wprowadziła w niej tak duże zamieszanie, że ludzie nie byli w stanie nic zrobić ze swoimi kontami.

![Strona internetowa LycaMobile niedostępna](LycaMobile_website_down.png)

W 2023 roku odsyłają ludzi do powrotu o 10 lat wstecz, kiedy to aby doładować telefon, trzeba było iść do sklepu stacjonarnego, kupić kupon, wybrać numer i wpisać kod z karty.

Nie mogę uwierzyć w to, co zobaczyłem.

W tym momencie byłem gotowy wyłączyć automatyczne odnawianie mojego planu, ale nie byłem w stanie tego zrobić.

Na szczęście dla mnie, miałem jeszcze około 3 tygodni do końca i kilka dni później mogłem zalogować się na swoje konto i je wyłączyć.

![Aplikacja LycaMobile niedostępna](LycaMobile_App_down.png)

Dobrze, że to zrobiłem, ponieważ w momencie kończenia tego artykułu logowanie do konta na ich nowej stronie internetowej jest ponownie niedostępne. Aplikacja mobilna również wyświetla komunikat o błędzie i nic nie można z tym zrobić.

Mam jeszcze mniej niż 3 tygodnie z Lyca, zanim mój plan zostanie zakończony i ponownie aktywuję mój Golden Goodybag w GiffGaff, ale nawet wtedy nie mogę nic zrobić na swoim koncie bez korzystania z metod stosowanych wieki temu, czyli wybierania specjalnych kodów w celu sprawdzenia salda.

---

Problemy ze stroną internetową, aplikacjami mobilnymi i logowaniem się na konto były tylko ostatecznym potwierdzeniem decyzji, którą już podjąłem, aby odejść od Lyca i pozostać przy GiffGaff jako głównym dostawcy.

Były też inne rzeczy, które mi się nie podobały.

---

Od pierwszego dnia, kiedy byłem podłączony do eSIM i nowego numeru Lyca, zacząłem otrzymywać spamowe połączenia na ten nowy numer.

Numer, którego nikt nie znał, teoretycznie, nagle stał się znany telemarketerom. Zaskoczeniem było to, że znali moje imię, więc skądś wzięli te informacje.

Wygląda na to, że Lyca prowadzi jakiś podejrzany interes, sprzedając dane swoich klientów. Gdybym otrzymywał tylko losowe spamowe połączenia, pomyślałbym, że ponownie wykorzystali jakiś numer z przeszłości, ale dzwoniący znali dane, których nie powinni znać. **Niepokojące!**

---

Innym aspektem był moment, w którym Twój plan miał zostać odnowiony.

GiffGaff wysyła Ci wszystkie informacje o tym, kiedy plan się kończy, jaki jest następny plan i, co ważniejsze, ile będzie kosztował i kiedy zostanie naliczony.

Lyca jest mniej przejrzysta.

Dostajesz informację, że Twój plan jest przedłużany, ale nie wiesz, ile zostaniesz obciążony.

Na początku podpisałem umowę, więc dopóki moje automatyczne odnawianie jest włączone, przez pierwsze miesiące powinienem zostać obciążony opłatą w wysokości tylko 5 funtów za plan, który normalnie kosztuje 10 funtów, ale skąd mam wiedzieć, ile mnie obciążą.

Nie było nigdzie informacji, aby zobaczyć, ile będę musiał zapłacić. Ponadto, gdy (w końcu) zalogowałem się na swoje konto, nie mogłem znaleźć informacji o tym, ile obecnie płacę lub będę płacić.

To trochę podejrzane.

> Być może wraz z nową stroną internetową to się zmieni, jednak biorąc pod uwagę obecne problemy z dostępem do niej, nie będę miał zbyt wielkich nadziei.

Każda wiadomość tekstowa i e-mail przypominające mi o odnowieniu mojego planu również nie były jasne, bez żadnych kosztów itp.

Nie mogę tego znieść, jeśli nie wiem dokładnie, ile płacę.

Jeśli w jakiś sposób zmienią ceny, a ja tego nie zauważę, czeka mnie niemiła niespodzianka, z którą nie będę mógł nic zrobić, dopóki nie zacznie obowiązywać kolejny plan.

---

Kiedy myślałem, że gorzej już być nie może, LycaMobile wysłało mi następującą wiadomość tekstową:

> „Lyca Mobile reaguje na incydent związany z bezpieczeństwem danych. W ramach środków ostrożności przeczytaj nasze wskazówki dla klientów na stronie lycamobile.co.uk/en/update”

Możesz tam przeczytać:

> „Lyca Mobile UK Limited padła ofiarą cyberataku na system”.

> „Lyca Mobile dowiedziała się o tym po raz pierwszy 30 września i natychmiast podjęła działania w celu powstrzymania incydentu, w tym odizolowanie i wyłączenie systemów, jeśli było to konieczne”.

Jak wspomniałem na początku, fakt, że konta w LycaMobile nie są chronione przez uwierzytelnianie czynnikowe, był jedną z rzeczy, które powstrzymały mnie przed przeniesieniem mojego głównego numeru do nich i nadal eksploruję środowisko z dwiema kartami SIM.

Zakładam, że sobie z tym poradzą i wyciągną wnioski z przeszłości, ale dla mnie było to ciekawe doświadczenie. GiffGaff pozostanie moim głównym wyborem.

---

Jak wspomniałem, dołączenie do Lyca Mobile ma swoje plusy i minusy.

Ignorując koszty, które Lyca próbuje absurdalnie obniżyć, aby pozyskać klientów, jeśli Twoim głównym problemem jest sygnał i prędkość mobilnego Internetu, LycaMobile jest dobrym sposobem na wypróbowanie sieci EE.

W każdym innym przypadku nadal gorąco polecam dołączenie do GiffGaff, dokąd wkrótce wrócę.

> **ps. Jeśli przeczytałeś to w całości, oficjalnie nigdy nie odszedłem.**

Jeśli jesteś zainteresowany dołączeniem do GiffGaff, zawsze możesz to zrobić, zamawiając bezpłatną kartę SIM z dostawą do domu, a dodatkowo otrzymując co najmniej **£5 salda na niej za darmo** przy zakupie bezpłatnego planu, ale używając poniższego kodu polecającego:

[https://giffgaff.com/orders/affiliate/itdarek](https://giffgaff.com/orders/affiliate/itdarek)

---

Przez cały rok 2024 dużo mówiło się o Lycamobile, a większość z tego nie była dobra. Ze względu na ich taktykę pozyskiwania klientów poniżej kosztów, są obecnie firmą przynoszącą straty, która dodatkowo jest winna miliony brytyjskiemu urzędowi skarbowemu (HMRC). Jeśli zdecydujesz się zostać z nimi, przelicz za i przeciw oraz ryzyko, jakie może powstać, jeśli zbankrutują.


---
## Virgin Media dołącza do gangu i zacznie podnosić ceny w połowie kontraktu
- **URL:** https://dariusz.wieckiewicz.org/virgin-media-dolacza-do-gangu-podnosi-ceny-w-polowie-kontraktu/
- **Date:** 2023-09-15
- **Tags:** Virgin Media, price increase, mid-contract, Retail Price Index, RPI, Consumer Price Index, CPI

### Content

Jako klient Virgin Media od wielu lat zawsze doceniałem gwarancję stałej ceny, którą otrzymuję przy podpisywaniu umowy. Nie ma żadnych ukrytych opłat ani podwyżek cen i mam pewność, że mój miesięczny rachunek pozostanie taki sam przez cały okres obowiązywania umowy. Na miesiąc przed końcem mojej umowy będę mógł negocjować nową umowę lub przejść na innego dostawcy, jeśli znajdę lepszą ofertę.

Niestety Virgin Media zdecydowała się dołączyć do trendu innych firm i podnieść ceny. Powiadomili swoich klientów, że warunki cenowe ulegną zmianie.

> Jak wyjaśnili, podwyżki cen przypisuje się rosnącej inflacji, która w Wielkiej Brytanii jest obecnie najwyższa od 40 lat.

<!--more-->

W przeszłości, jeśli Virgin Media decydowała się na zmianę ceny w trakcie trwania umowy, miała obowiązek poinformować o tym swoich klientów i dać im możliwość rozwiązania umowy bez kar, jeśli nie zgodzili się na podwyżkę.

Wiadomość e-mail, którą otrzymałem, stanowi ostatnią szansę na zakończenie umowy z Virgin Media bez ponoszenia opłaty za wcześniejsze rozwiązanie.

Jeśli masz nową umowę z Virgin Media lub Twoja umowa jest (mniej więcej) w połowie, będziesz musiał zdecydować **do końca października 2023 r.**, czy zaakceptować nowe warunki, czy rozwiązać umowę bez kary.

> Jeśli nie akceptujesz nowych warunków, musisz powiadomić Virgin Media z 30-dniowym wyprzedzeniem o zamiarze rozwiązania umowy. **Jeśli nic nie zrobisz, Twoje nowe warunki zostaną zaakceptowane automatycznie.**

Jeśli zaakceptujesz nowe warunki, Virgin Media podniesie cenę Twojego kontraktu o stopę wskaźnika inflacji cen detalicznych (RPI) plus dodatkowe 3,9% każdego kwietnia. Na podstawie aktualnych danych RPI oznaczałoby to wzrost o 13,8% w kwietniu.

> Virgin Media wykorzystuje RPI+3,9% do podwyżek cen, podczas gdy inni dostawcy zazwyczaj stosują CPI (indeks cen towarów i usług konsumenckich). RPI jest na ogół wyższy niż CPI, więc podwyżki cen Virgin Media będą zwykle droższe dla klientów.

Umowy z Virgin Media są zazwyczaj zawierane na 18 miesięcy, więc Twoja cena wzrośnie co najmniej raz w trakcie obowiązywania umowy. Jeśli podpiszesz umowę w okresie od października do marca, Twoja cena może wzrosnąć dwukrotnie w trakcie obowiązywania umowy.

Jeśli tak jak ja płacisz 27 GBP za internet o przepustowości 250 Mb/s, wówczas Twoja cena wzrośnie do 30,78 GBP w kwietniu 2024 r., w oparciu o aktualną stopę inflacji RPI.

Mój kontrakt wygasa w połowie stycznia 2024 roku. Oznacza to, że jeśli nie wynegocjuję lepszej umowy, grozi mi podwójna podwyżka ceny.

W takim wypadku cenę będę musiał ostrożnie negocjować.

Jeśli uda mi się wynegocjować tę samą cenę 27 GBP miesięcznie, mój miesięczny rachunek wzrośnie do 30,78 GBP w kwietniu 2024 r. i do 34,20 GBP w kwietniu 2025 r.

Obecnie na rynku jedynie firma Hyperoptic nie zdecydowała się na podwyżki cen w połowie kontraktu. Dostępność ich usług jest jednak ograniczona i będą musiały inwestować w infrastrukturę, aby udostępnić je większej liczbie klientów. Będzie ich to kosztować, więc nie zdziwię się, jeśli w końcu zdecydują się na te same zasady, co inni gracze na rynku.

Ogłoszenie podwyżki cen nigdy nie jest mile widziane, ale nie podejmuj pochopnych decyzji. Najpierw przeprowadź rozeznanie i porównaj oferty innych dostawców. Jeśli znajdziesz dobrą ofertę, załóż, że cena, którą teraz podajesz, wzrośnie (dwukrotnie) o 14% za każdym razem. Wykonaj szybko obliczenia, aby sprawdzić, czy lepiej pozostać przy tym, co masz teraz.

Pamiętaj, aby korzystać z dobrych porównywarek, takich jak Uswitch lub MoneySuperMarket, aby zobaczyć, co jest dla Ciebie dostępne. Możesz także rozważyć firmę Vodafone, która niedawno nawiązała współpracę z CityFibre i może zaoferować połączenie synchroniczne (pobieranie z szybkością 100 Mb/s i wysyłanie 100 Mb/s), czego nie oferuje większość innych dostawców.

Jeśli niedawno rozpocząłeś umowę z Virgin Media lub będzie cię obowiązywał do kwietnia 2024 roku i dotknie Cię podwyżka cen, zawsze warto do nich zadzwonić przed podjęciem decyzji o odejściu i zapytać, czy zrezygnują z podwyżki ceny lub zaoferują ci jakąś zniżkę. Pamiętaj jednak, że nie mają takiego obowiązku, więc komunikując się z nimi, zachowuj się grzecznie i z szacunkiem, ponieważ dają ci opcję i nie zmuszają cię do pozostania.

Pamiętaj, że masz czas **do końca października 2023**, aby poinformować Virgin Media, czy chcesz zaakceptować nowe warunki lub rozwiązać umowę. Jeśli Twoja umowa wygasa przed kwietniem 2024 r., tak jak moja, nie musisz nic robić. Należy jednak pamiętać, że ceny wzrosną w kwietniu 2024 r., dlatego przy podpisywaniu nowej umowy upewnij się, że uzyskasz dobrą cenę (rabat), aby zrekompensować przyszłe podwyżki cen.

{{% ads-in-article %}}


---
## Każdy może utworzyć Apple ID przy użyciu Twojego adresu e-mail bez Twojej zgody
- **URL:** https://dariusz.wieckiewicz.org/kazdy-moze-utworzyc-apple-id-przy-uzyciu-twojego-adres-email/
- **Date:** 2023-09-14
- **Tags:** apple, apple id, email, apple support

### Content

Wyobraź sobie, że pewnego dnia budzisz się i widzisz 11 nieprzeczytanych wiadomości e-maili od Apple z prośbą o weryfikację Apple ID. **Ktoś właśnie utworzył Apple ID przy użyciu twojego adresem e-mail na swoim nowym iPhonie!**

<!--more-->

Pierwszą rzeczą, o której możesz pomyśleć, jest to, że ktoś uzyskał dostęp do Twojej poczty e-mail. Następnie podejmiesz kroki w celu zabezpieczenia swojego konta, takie jak zmiana hasła, włączenie uwierzytelniania dwuetapowego i przejrzenie dzienników aktywności.

Myślisz, że to wystarczy, ale potem znajdujesz dziesiątki innych e-maili od osóby próbującej zweryfikować swój Apple ID za pomocą Twojego adresu e-mail.

**Czy nie jest to trochę denerwujące i niepokojące?**

Kierując się intuicją, uważnie przeczytasz wiadomość e-mail i postępujesz zgodnie z instrukcjami. W instrukcji jest napisane, że jeśli nie utworzyłeś Apple ID, możesz zresetować hasło na stronie [iforgot.apple.com](https://iforgot.apple.com/).

Możesz pomyśleć, że będzie to proste i szybko rozwiążesz ten problem. **Ale możesz się mylić co do tego założenia.**

Witryna powita Cię przyciskiem **Resetuj hasło**, po którym wyświetli się krótki formularz, w którym możesz wpisać swój Apple ID i wpisać tekstowy kod bezpieczeństwa przedstawiony w formie graficznej.

Po kliknięciu przycisku **Kontynuuj** utkniesz na kolejnym ekranie, na którym zostaniesz poproszony o potwierdzenie numeru telefonu.

Ku Twojemu zdziwieniu numer telefonu zostanie wyświetlony w ukrytej formie, widoczne będą tylko dwie ostatnie cyfry.

Ku Twojej irytacji wyświetlony numer telefonu nie należy do Ciebie, ale do osoby, która utworzyła Apple ID na podstawie Twojego adresu e-mail.

Nie znając numeru telefonu, który należy wprowadzić na tym etapie, utkniesz i nie będziesz mógł zrobić nic innego.

Spróbuj wpisać, co chcesz, ale wyświetli się następujący komunikat.

> _Ten numer telefonu jest nieprawidłowy. Wprowadź numer telefonu, którego używasz do otrzymywania kodów weryfikacyjnych do uwierzytelniania dwuskładnikowego._

Na tym etapie zdajesz sobie sprawę, że utknąłeś i **nic nie możesz z tym zrobić**.

Pierwszą myślą byłoby skontaktowanie się z firmą Apple w celu uzyskania pomocy. Powinno to być proste i powinni być w stanie Ci pomóc w mgnieniu oka.

**Oto jak błędne jest to założenie!**

Skontaktujmy się z Apple przez chat.

Obsługa czatu poinformuje Cię, że problemu nie można rozwiązać za pośrednictwem czatu i należy go przekazać pracownikowi telefonicznemu.

Możesz pomyśleć, że tak jest jeszcze lepiej. Będziesz mieć kontakt z osobą, która wysłucha Twoich problemów i obaw oraz pomoże Ci je rozwiązać.

Możesz nawet opisać, jak bardzo się martwisz, że ktoś używa Twojego adresu e-mail i Apple ID do popełnienia oszustwa, a potem zdziwisz się, że Twoje obawy nie zostaną potraktowane na tyle poważnie, aby można było podjąć działania.

Po spędzeniu czasu na telefonie dowiedziałem się, że pomoc w takiej sprawie jest bardzo ograniczona, a nawet **niemożliwa**.

Jedyna rada, jaką otrzymasz, będzie taka, że w przyszłości nie będziesz mógł utworzyć identyfikatora Apple ID przy użyciu swojego adresu e-mail i będziesz musiał użyć innego.

Ale co, jeśli nie chcesz utworzyć nowego adresu e-mail? A co, jeśli nie chcesz męczyć się z otwieraniem kolejnego konta e-mail tylko po to, aby Twój Apple ID działał?

**Prosta odpowiedź jest taka, że nie możesz nic z tym zrobić**. Oto, co otrzymasz od przedstawiciela wsparcia Apple podczas rozmowy telefonicznej.

Według wsparcia Apple możliwe jest, że ktoś przez pomyłkę dodał Twój adres e-mail do swojego Apple ID, ponieważ twój, i jego, adres e-mail są bardzo podobne. Mogą nie zdawać sobie sprawy, że popełnili błąd, i będą nadal próbować zweryfikować swój adres e-mail, nie otrzymując żadnych wiadomości e-mail.

Wsparcie Apple prawdopodobnie będzie twierdzić, że nie może nic zrobić w tej sprawie, ponieważ istnieje ryzyko, że osoba, która użyła nieprawidłowego adresu e-mail, w końcu skontaktuje się z pomocą techniczną, aby rozwiązać problem. Uważam jednak, że bardziej prawdopodobne jest, że dana osoba po prostu zrezygnuje i utworzy nowy Apple ID, pozostawiając Twój adres e-mail zablokowany w systemie Apple i bezużyteczny.

To jest całkiem absurdalne. Jako wieloletni użytkownik Apple jestem dość zirytowany brakiem opcji i chęci pomocy w tym problemie.

W takim przypadku każdy mógłby to zrobić i w konsekwencji uniemożliwić Ci używanie adresu e-mail do celów Apple ID, a Ty musiałbyś to po prostu zaakceptować.

> Pamiętaj, że twój adres e-mail może być prostszą metodą skontaktowania się z tobą za pomocą usługi iMessage bez konieczności podawania twojego numeru telefonu. Tym samym, brak możliwości używania twojego adresu e-mail ogranicza twoje możliwości komunikacji w strukturze Apple.

Dziwię się, że zabezpieczenia Apple nie zapobiegają temu zjawisku, albo że nie ma okresu karencji na weryfikację adresu e-mail, po którym niezweryfikowane e-maile (konta) zostaną zablokowane lub usunięte, zmuszając drugą osobę do podjęcia pewnych działań.

> Apple teoretycznie usuwa nieużywane Apple ID ze swojego systemu po 2 latach. Skąd jednak wiesz, że ten Apple ID jest nieużywany? To, że druga osoba może zalogować się na swoje konto, nawet jeśli adres e-mail nie jest zweryfikowany, nie oznacza, że nie może z niego korzystać. Przedada!

Problem może się jeszcze bardziej skomplikować, jeśli utworzysz Apple ID z innym adresem e-mail. W pewnym momencie możesz przypadkowo zweryfikować Apple ID na adresie e-mail, który został przez pomyłkę dodany przez inną osobę.

Zakładając, że nie jest to oszustwo, ale autentyczny błąd, w najlepszym przypadku nic się nie stanie. Żyjemy jednak w niebezpiecznym świecie i jeśli ktoś może utworzyć Apple ID z Twojego adresu e-mail, a Ty nie możesz nic z tym zrobić, a Apple nie będzie w stanie Ci pomóc, to coś jest poważnie nie tak z systemem.

Zwykle rozwiązuję problemy, ale to doświadczenie naprawdę mnie rozczarowało, Apple.

{{% ads-in-article %}}

## Aktualizacja — 10 dni później

Denerwuje mnie cała ta sytuacja. Podejście wsparcia Apple było bardzo rozczarowujące i nie mogłem uwierzyć, że to już wszystko, że nic nie da się zrobić.

Mijały dni, a mój znajomy, którego dotknęły te bzdury, powtarzał mi, że nadal codziennie otrzymuje mnóstwo e-maili od Apple z prośbą o zweryfikowanie adresu e-mail.

Te e-maile pochodzą od drugiej osoby, która nieustannie, każdego dnia, próbuje zweryfikować swój adres e-mail, nie zauważając, że prawdopodobnie jest on błędny (błędnie wpisany).

Jeśli zostaniesz zasypany setkami e-maili od firmy, która na pierwszym miejscu stawia prywatność, powiesz dość i spróbujesz rozwiązać tę kwestię.

Uzbrojeni w argument, że Apple spamuje e-maile mojego przyjaciela, ponownie skontaktowaliśmy się ze wsparciem Apple. Tym razem rozmowa była zupełnie inna. Nadal było to grzeczne, ale z częścią winy zrzucono na Apple, aby zrozumieli irytację wywołaną całą tą sytuacją.

Z czatu pomocy technicznej Apple zostaliśmy przeniesieni do pomocy telefonicznej, gdzie ponownie przeglądając całą sprawę, próbowaliśmy rozwiązać ten problem raz na zawsze.

> Podczas pierwszego kontaktu z Apple otrzymaliśmy numer sprawy i przy tym numerze trzymaliśmy się do końca. Dzięki temu mamy całą historię.

Chociaż osoba po drugiej stronie linii próbowała zrobić to samo, czego próbowała kilka dni wcześniej druga osoba, nie widziała innej opcji, co mogłaby zrobić, z jedną różnicę. Doskonale rozumiejąc sytuację, w której Apple spamuje prośbą o weryfikację adresu e-mail, wiedział, że jeśli jemu się to przydarzy, będzie zły tak samo jak mój przyjaciel.

Dzięki temu zdecydował się pójść o krok dalej w hierarchii Apple Support i dotrzeć do swojego przełożonego (lub osoby posiadającej większą wiedzę i władzę).

To było odważne posunięcie, które pokazało, że jest szansa na uporządkowanie tej sprawy **i tak się stało.**

Po zapoznaniu się ze szczegółami druga osoba zajmująca się pomocą techniczną zasugerowała jedną z metod rozwiązania problemu, która podczas pierwszej rozmowy telefonicznej nigdy nie była brana pod uwagę.

> Przeglądając szczegóły podaliśmy, na jakim urządzeniu dana osoba stworzyła Apple ID, z jakiego kraju pochodzi (ponieważ niektóre e-maile Apple były wysyłane w obcym języku przed przejściem na angielski) oraz cały harmonogram, kiedy dokładnie to się dzieje. Dobrze, że mój przyjaciel nie usunął tych wszystkich e-maili.

Wsparcie Apple na wyższym poziomie ma możliwość zweryfikowania własności adresu e-mail dołączonego do Apple ID.

Wywołując tę akcję, Apple poprosi nas o kod weryfikacyjny, który zostanie wysłany na nasz e-mail.

Wiadomość e-mail o tytule „Kod weryfikacyjny własności adresu e-mail” będzie zawierać następujące informacje:

> "Drogi Kliencie, przekaż następujący kod weryfikacyjny swojemu doradcy AppleCare."

Dzięki temu Apple zainicjował usunięcie adresu e-mail pierwotnie powiązanego z utworzonym przez inną osobę kontem Apple ID.

Nie mają oni jednak możliwości całkowitego usunięcia Apple ID, i nie upierałbym się przy tym, ponieważ druga osoba może być autentyczna.

Po usunięciu poczty e-mail przypisanego do Apple ID druga osoba nadal będzie mogła zalogować się przy użyciu swojego numeru telefonu. Kiedy to zrobi, prawdopodobnie zostanie poproszona o podanie nowego adresu e-mail. Alternatywnie zostanie poproszona o skontaktowanie się ze wsparciem Apple w celu omówienia tej kwestii.

Odłączenie adresu e-mail nie następuje od razu. Zgodnie z otrzymaną informacją może to zająć kilka dni i tak się stało.

Od zakończenia rozmowy mój znajomy nie otrzymywał już e-maili od Apple, a 2 dni później, gdy sprawdziłem go na [iforgot.apple.com](https://iforgot.apple.com), jego e-mail nie był już rozpoznawany jako Apple ID.

Oto sukces całej historii.

Cieszę się, że ten problem został rozwiązany. Przywróciło to mój optymizm w Apple Support, który ostatnio zakwestionowałem.


---
## Dodanie Tunelu Cloudflare do routera z OpenWrt (alternatywa dla VPN)
- **URL:** https://dariusz.wieckiewicz.org/dodanie-cloudflare-tunel-router-openwrt/
- **Date:** 2023-07-02
- **Tags:** OpenWrt, WireGuard, VPN, Cloudflare, Cloudflare Tunnel, Zero Trust, Zero Trust Network Access, CG-NAT, cloudflared, Cloudflare WARP, WARP

### Content

Jeżeli śledzisz moją stronę i wpisy związane z [OpenWrt](/tag/openwrt) to zapewne napotkałeś się na mój wpis odnośnie [instalacji serwera VPN na routerze z OpenWrt z użyciem WireGuard](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/).

**WireGuard** jest jednym z najszybszych dostępnych protokołów służących stworzeniu połączenia VPN. Dzięki niemu, z poziomu Internetu, możemy bez problemu połączyć się z naszą siecią i używać jej, albo do celów lokalnych (dostęp do drukarki lub dysku sieciowego) lub w celu ograniczeń restrykcji regionalnych. Będąc poza krajem, mogę w każdej chwili połączyć się z moim routerem i moje urządzenie wyglądać będzie w Internecie tak, jakby znajdowało się tam, gdzie jest router, czyli w Wielkiej Brytanii.

To super szybkie rozwiązanie wiąże się jednak z koniecznością konfiguracji, która czasami może być złożona i powodować przeróżne błędy (choć z reguły jest dużo łatwiejsza a niżeli inne VPN-y).

WireGuard ma również pewne ograniczenie. Aby połączyć się z naszym routerem, musimy dysponować zewnętrznym (statycznym lub dynamicznym, bez znaczenia) adresem IP. 

<!--more-->

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

> W przypadku zmiennego (dynamicznego) adresu IP możemy ustawić domenę zgodnie ze wpisem [Ustawienie domeny dla zmiennego adresu IP (OpenWrt i DDNS)](/ustawienie-domeny-ddns-openwrt-cloudflare/)

W przypadku gdy nasze połączenie internetowe nie posiada zewnętrznego adresu IP, tak jak w przypadku opisanym w moim wpisie [Dodanie drugiego połączenia internetowego do routera z OpenWrt](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/), wówczas mamy problem.

Większość połączeń mobilnych (4G/5G) nie dysponuje zewnętrznym adresem IP, a dodatkowo każdy użytkownik umieszczony jest za tak zwanym [CG-NATem](https://en.wikipedia.org/wiki/Carrier-grade_NAT).

> Osobiście opisałbym CG-NAT jako sieć użytkowników wewnątrz innej sieci przynależącej do współdzielonego zewnętrznego adresu IP. Nasz router (nasza sieć) umieszczona jest w innej sieci, w której znajduje się router, który posiada zewnętrzny adres IP, nad którym nie mamy kontroli.

W pracy posiadam skonfigurowany router z OpenWrt w taki sposób, gdy połączenie główne wysiądzie, to połączenie mobilne zostaje aktywowane. Użytkownicy w sieci lokalnej mogą nadal pracować, jednakże ci, którzy łączą się za pośrednictwem WireGuard, mają problem.

Postanowiłem spróbować użyć metody na stworzenie tunelu, który niezależnie od tego, czy posiadamy zewnętrzny adres IP, czy jesteśmy za CG-NAT, czy też nie chcemy się bawić w konfigurację WireGuard lub przekierowywania portów na routerze, pozwoli nam na dostęp do zasobów sieci lokalnej z Internetu.

Tutaj napotkałem na [rozwiązanie Hectora Moliny z wykorzystaniem Cloudflare Tunnel](https://hmolina.dev/p/cloudflared-tunnel-in-openwrt/) i [Zero Trust Network Access](https://www.cloudflare.com/products/zero-trust/zero-trust-network-access/).

Autor oryginalnego wpisu podkreślił brak pakietu *cloudflared* w repozytoriach OpenWrt, który w prosty sposób pozwoliłby na instalację i konfigurację tunelu.

Tutaj poniekąd sytuacja się ostatnio zmieniła, gdyż pakiet jest dostępny z repozytorium pakietøw, jeżeli chodzi o oprogramowanie OpenWrt 22.03. Jednakże, jak się przekonałem, pakiet ten nie jest na bieżąco aktualizowany oraz w pełni nie działa. Nie bez powodu pakietu tego brakuje w repozytoriach najnowszej wersji OpenWrt 23.05.

W związku z tym opisze tutaj jak utworzyć tunel Cloudflare z wykorzystanie pakietu dla naszego routera dostarczonego bezpośrednio przez ekipę z Cloudflare. Dodatkowo nie musimy się przejmować o jego aktualizacje, gdyż będzie się on aktualizował automatycznie, jak tylko nowa wersja zostanie opublikowana.

---

Oprócz całego tunelu CouldFlare ma swoją aplikację 1.1.1.1 (Cloudflare WARP), która pozwala na skonfigurowanie jej w celu połączenia się z naszym tunelem. Dzięki temu nie musimy się bawić w konfigurację profili dla każdego użytkownika.

> Dla systemu macOS dostępna jest aplikacja Cloudflare WARP oraz Cloudflare ONE. Cloudflare One pozwala na skonfigurowanie naszego tunelu niezależnie od aplikacji WARP, dzięki czemu mamy możliwość użytkowania zarówno WARP, jak i skonfigurowanego tunelu bez konieczności przelogowywania się za każdym razem.

Mimo tego, że WireGuard jest moim domyślnym podejściem, jeżeli chodzi o połączenie zdalne z siecią domową, to warto mieć alternatywę do dyspozycji, która w ramach zmieniających się warunków, może rozwiązać takie bolączki, jakim jest CG-NAT.

Dodatkowo tunel nie wymaga od nas otwierania żadnych portów na naszym routerze w celu połączenia, tak jak to jest w przypadku Wireguard. Pozwala on również ominąć wszelkie ograniczenia sieciowe.

Można to opisać, porównując tunel, do sposobu połączenia się za pomocą aplikacji TeamViewer. Bez znaczenia czy mamy zewnętrzny adres IP, jesteśmy za CG-NAT lub nie, o ile połączenie internetowe działa, o tyle jest możliwość stworzenia tunelu w celu otrzymania dostępu do naszej sieci.

## Instalujemy oficjalny pakiet cloudflared

W oprogramowaniu OpenWrt w wersji 22.03 jest możliwość zainstalowania pakietu `cloudflared` z repozytorium pakietøw, jednakże nie polecam tego, gdyż pakiet ten jest wadliwy, a dokładniej plik inicjujący nasz tunel nie działa.

Po aktualizacji do najnowszej wersji OpenWrt 23.05 nie ujrzymy pakietu `cloudflared` w repozytorium co po części ułatwi sprawę, gdyż pozbędziemy się związanych z tym problemów.

Wcześniej niniejszy wpis opierał się na pakiecie z repozytorium, jednak zmodyfikowałem go, aby te samo rozwiązanie użyć niezależnie czy używamy OpenWrt 22.03, czy też 23.05.

W oprogramowaniu OpenWrt w wersji 24.10, jak i 25.12, pakiet `cloudflared` ponownie znajduje się w repozytorium. Osobiście jednak wolę skupić na tym, aby nasz system pracował na pakiecie, który jest dostarczany i aktualizowany przez Cloudflare, a co tak naprawdę odbywa się w tle, bez naszej ingerencji i konieczności ręcznej aktualizacji.

---

> Nim zaczniemy drobna uwaga. Pakiet *cloudflared* wymaga prawie 32 MB wolnego miejsca na naszym urządzeniu. Upewnij się, że twój router, a dokładniej partycja `/overlay`, posiada co najmniej dwu krotność miejsca potrzebnego na ten pakiet.

[Cloudflare dostarcza pakiet dla kilku platform](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/#linux). W przypadku routerów z OpenWrt potrzebujemy pakiet dla platformy ARM dla systemu Linux.

W tym celu wykonujemy poniższą komendę:

```bash
wget --no-check-certificate -O /usr/bin/cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm
```

Jeśli twój system to arm64, polecenie będzie wyglądać następująco:

```bash
wget --no-check-certificate -O /usr/bin/cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64
```

Nadajemy prawa do wykonywania (uruchamiania):

```bash
chmod +x /usr/bin/cloudflared
```

> Tutaj mała uwaga. Jeżeli używasz mojej metody do [aktualizacji oprogramowania OpenWrt z przywróceniem pakietów](/aktualizacja-oprogramowania-openwrt/), pamiętaj aby wykonać powyższe dwie komendy po przywróceniu pakietów, ale przed przywróceniem kopii zapasowej. W przeciwnym wypadku, system będzie posiadał pakiet nieprawidłowo działający pakiet `cloudflared`.

I uruchamiamy, sprawdzając, czy nasz plik działa:

```bash
cloudflared version
```

Powinniśmy zobaczy coś takiego:

```
cloudflared version 2023.10.0 (built 2023-10-31-1235 UTC)
```

Na tym etapie przechodzimy na stronę [Cloudflare Zero Trust](https://one.dash.cloudflare.com/) gdzie wybieramy użytkownika, po czym ustalamy nazwę naszej "drużyny" przypisanej w domenie `cloudflareaccess.com`

[![Cloudflare Zero Trust Team](cloudflare_zero_trust_team.png)](cloudflare_zero_trust_team.png)

> Zapamiętaj nazwę "drużyny" (team), gdyż będziesz ją potrzebować w celu skonfigurowania użytkowników na ich urządzeniach. Jeżeli zapomnisz, możesz ją znaleźć (i zmienić) w **Settings** > **Custom pages**.

Następnie musimy wybrać plan taryfowy. Oczywiście, na początku wybieramy plan darmowy (Free).

> W ramach darmowego planu możemy mieć do 50 użytkowników usługi, co jest bardzo hojne.

Takim sposobem rozpoczęliśmy zabawę.

Na tym etapie musimy utworzyć nasz tunel. Tę zabawę robimy po stronie naszego routera.

```bash
cloudflared tunnel login
```

Wykonując tę komendę, otrzymamy link, który musimy wkleić w naszą przeglądarkę internetową, aby zalogować się do Cloudflare.

Na dalszym etapie wybierzemy domenę, dla której autoryzujemy nasz tunel.

Jeżeli wszystko poszło prawidłowo, otrzymamy informacje, że Cloudflare utworzył certyfikat umożliwiający utworzenie tunelu.

[![Cloudflared tunnel login success](cloudflared_success.png)](cloudflared_success.png)

Nasz terminal wyświetli:

```bash
root@OpenWrt:~# cloudflared tunnel login
Please open the following URL and log in with your Cloudflare account:

https://dash.cloudflare.com/argotunnel?...

Leave cloudflared running to download the cert automatically.
You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
/root/.cloudflared/cert.pem
```

Plik `cert.pem` musimy skopiować (przenieść) do folderu `/etc/cloudflared/`

```bash
mkdir /etc/cloudflared
mv /root/.cloudflared/cert.pem /etc/cloudflared/
```

Następnie utworzymy nasz tunel:

```bash
cloudflared tunnel create Nazwa-Tunelu
```

Nasz terminal wyświetli informację, gdzie zapisane zostały uwierzytelnienia oraz ID naszego tunelu.

```bash
Tunnel credentials written to /etc/cloudflared/b26bb351-46ca-4fc1-a157-0ecdc1560658.json. cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.

Created tunnel Nazwa-Tunelu with id b26bb351-46ca-4fc1-a157-0ecdc1560658
```

> Moje ID w tym przykładzie to `b26bb351-46ca-4fc1-a157-0ecdc1560658`, twój będzie inny.

Te informacje musimy wypełnić w naszym pliku konfiguracyjnym `vim /etc/cloudflared/config.yml`

```bash
tunnel: b26bb351-46ca-4fc1-a157-0ecdc1560658
credentials-file: /etc/cloudflared/b26bb351-46ca-4fc1-a157-0ecdc1560658.json
warp-routing: 
 enabled: true
```

Jeśli masz już utworzony tunel, pobierz jego nazwę oraz ID za pomocą polecenia `cloudflared tunnel list`, a następnie utwórz plik poświadczeń (credentials), używając poniższej komendy:

```bash
cloudflared tunnel token --cred-file /etc/cloudflared/b26bb351-46ca-4fc1-a157-0ecdc1560658.json Tunnel-Name
```

Następnie uzupełnij plik `/etc/cloudflared/config.yml` zgodnie z powyższym opisem.

> **Pamiętaj!** Moje ID w tym przykładzie to `b26bb351-46ca-4fc1-a157-0ecdc1560658`, twój będzie inny.

Pozostaje nam uruchomienie naszego tunelu i sprawdzenie, czy wszystko działa.

### Kilka zabiegów korygujących (wymagane)

Nim to jednak zrobimy, jest jeszcze dodatkowy krok, który myśmy wykonać po stronie naszego routera w celu poprawienia kilku błędów, które wyświetlają się podczas uruchomienia tunelu.

1. Tworzymy plik `touch /etc/sysctl.d/99-fix-buffer-and-ping.conf`
2. Dodajemy do pliku poprzez `vim /etc/sysctl.d/99-fix-buffer-and-ping.conf` następujące linijki

```bash
net.core.rmem_max=2500000
net.ipv4.ping_group_range=0 2147483647
```

3. Uruchamiamy następującą komendę `sysctl -p /etc/sysctl.d/99-fix-buffer-and-ping.conf`.

Zapobiega to problemowi podczas uruchamiania:

```bash
WRN The user running cloudflared process has a GID (group ID) that is not within ping_group_range. You might need to add that user to a group within that range, or instead update the range to encompass a group the user is already in by modifying /proc/sys/net/ipv4/ping_group_range. Otherwise cloudflared will not be able to ping this network error="Group ID 0 is not between ping group 1 to 0"
WRN ICMP proxy feature is disabled error="cannot create ICMPv4 proxy: Group ID 0 is not between ping group 1 to 0 nor ICMPv6 proxy: socket: permission denied"
```

Teraz możemy uruchomić nasz tunel.

```bash
cloudflared tunnel run Nazwa-Tunelu
```

Po przejściu do panelu [Cloudflare Zero Trust](https://one.dash.cloudflare.com/) > **Network** > **Tunnels** (było **Access** > **Tunnels**) zobaczymy czy nasz tunel działa.

[![Cloudflare Zeru Trust Your Tunnels](cloudflare_zero_trust_your_tunnels.png)](cloudflare_zero_trust_your_tunnels.png)

Tym sposobem wiemy, że tunel działa. Możemy powyższą komendę zakończyć (<kbd>Ctrl</kbd>+<kbd>C</kbd> dla Windows, lub <kbd>Cmd</kbd>+<kbd>C</kbd> dla macOS).

### Migracja tunelu

Uruchamiamy jeszcze raz, ręcznie, nasz tunel i przechodzimy do naszego tunelu na stronie [Cloudflare Zero Trust](https://one.dash.cloudflare.com/) i wybieramy opcję **configure** (lub po prostu klikamy na nazwę tunelu) w sekcji **Network** > **Tunnels** (było **Access** > **Tunnels** ).

Tutaj otrzymamy opcję migracji tunelu, którą musiały wykonać.

[![Cloudflare Zero Trust Migrate Tunnel](cloudflare_zero_trust_migrate_tunnel.png)](cloudflare_zero_trust_migrate_tunnel.png)

Klikamy przycisk **Start migration**, potwierdzamy przy każdym pytaniu (nie wprowadzając żadnych danych) przyciskiem **Confirm** kończąc **Migrate tunnel**.

### Dodanie adresów naszej sieci lokalnej

Klikamy ponownie nasz tunel i przycisk **Configure**.

W zakładce **Private Network** dodajemy nasze lokalne adresy, które używamy w naszej sieci.

Jako że do Wireguard używam pulę 10.0.0.(1-254) a w sieci 192.168.0.(1-254) dodałem je następująco.

```
10.0.0.0/24
192.168.1.0/24
```

### Dostęp do sieci lokalnej - Split Tunnel

Dodatkowo musimy podzielić tunel (**Split Tunnel**), aby można było za uzyskać dostęp do sieci lokalnej.

W tym celu przechodzimy do **Settings** > **WARP Client** i klikamy w sekcji **Device settings** na nasz domyślny profil (Default).

Przechodzimy do sekcji **Split Tunnels**, który domyślnie ustawiony jest na **Exclude IPs and domains** i klikamy przycisk **Manage**.

Tam na liście wykluczeń odszukujemy adresy sieci, które odpowiadają naszej sieci lokalnej, w tym przypadku 10.0.0.0/8, 192.168.0.0/16, 192.0.0.0/24 i usuwamy je.

Na tym etapie możemy zakończyć nasz tunel.

### Dodanie obsługi pakietów UTP i ICMP (ping)

Oprócz tego przechodząc do **Settings** > **Network**, w sekcji **Firewall** włączamy **Proxy** i zaznaczamy, oprócz domyślnie włączonych pakietów TCP, również UTP oraz ICMP.

Dzięki temu rozszerzymy funkcjonalność naszego tunelu a dodatkowo zyskamy możliwość wykonywania polecenia **ping** do naszych urządzeń w sieci lokalnej, co jest bardzo przydatne w celu analizowania czy nasz tunel działa, czy nie.

Włączamy również usługę **WARP to WARP**.

[![Cloudflare Zero Trust Firewall Proxy TCP UDP ICMP](cloudflare_zero_trust_firewall_proxy_tcp_udp_icmp.png)](cloudflare_zero_trust_firewall_proxy_tcp_udp_icmp.png)

### Uruchomienie tunelu

Podczas instalowania pakietu `cloudflared` z repozytorium OpenWrt 22.03, wraz z nim dostarczany jest plik startowy instalowany w `/etc/init.d/cloudflared`. Plik ten jest jednak wadliwy i nie działa, dlatego go nie używamy.

W przypadku oficjalnego pakietu nie dysponujemy domyślnie tego rodzaju plikiem, co po części uprości nam całą procedurę.

Aby go utworzyć, wykonujemy następującą komendę:

```bash
cloudflared service install
```

> Dzięki temu otrzymamy plik w zapisany w `/etc/init.d/cloudflared`, który niestety nie do końca działa, ale jest na to rozwiązanie opisane poniżej.

Plik startowy nie jest przystosowany do pracy z OpenWrt. Pakiety dostępne na routerze, takie jak `ps` nie są takie same (nie posiadają tych samych opcji) co w innym Linuxowym systemie.

Nasz tunel wystartuje komendą `/etc/init.d/cloudflared start` bez problemu, ale zatrzymanie komendą `stop` nie działa i mimo tego, że `status` pokazuje, że tunel nie działa, to nadal widzimy go, gdy wykonamy komendę `ps | grep cloudflared`.

Plik startowy generowany przez cloudflared przeznaczony jest dla systemu Linux Redhat (jak można zobaczyć, wykonując komendę `head -2 /etc/init.d/cloudflared`).


#### Naprawa nowego pliku startowego /etc/init.d/cloudflared

W pliku dla systemu RedHat prawie na samym początku, mamy następującą komendę:

```bash
is_running() {
    [ -f "$pid_file" ] && ps $(get_pid) > /dev/null 2>&1
}
```

Komenda `ps` w OpenWrt nie posiada za dużo opcji, więc nie można po prostu wyświetlić procesu, podając jego PID (`ps 14535` nie zadziała).

W tym celu następującą część:

```bash
ps $(get_pid)
```

zmieniamy na:

```bash
ps | grep $(get_pid) | grep -v grep
```

> Komenda `grep -v grep` na na celu wykluczenie pakietu grep z odpowiedzi, jaką otrzymamy.

Takim sposobem wszystkie komendy pakietu *cloudflared* działają i jesteśmy gotowi do dalszej konfiguracji.

```bash
Usage: /etc/init.d/cloudflared {start|stop|restart|status}
```

## Logowanie się do tunelu za pomocą aplikacji 1.1.1.1 (Cloudflare WARP)

Podczas gdy nasz tunel działa, musimy rozpocząć konfigurację naszych użytkowników.

Nim to nastąpi, musimy określić, kto może logować się do naszego tunelu.

### Metoda logowania

W panelu [Cloudflare Zero Trust](https://one.dash.cloudflare.com/) przechodzimy do **Settings** po czym **Authentication** gdzie możemy dodać sposoby logowania w **Login methods**.

Skupię się tutaj na tym, co jest włączone domyślnie, a mianowicie **One-time PIN** i to wykorzystamy na początku.

> Jak zauważysz, dostępne są tam opcje, dzięki którym możemy określić na przykład, że użytkownik będzie musiał zalogować się za pomocą konta Google, aby potwierdzić tożsamość i wraz z ustaloną (na dalszym etapie) regułą logowania połączyć się z tunelem.

Osoba logująca się w naszym tunelu będzie musiała podać nazwę "drużyny" (team), którą sprecyzowaliśmy na początku w domenie `cloudflareaccess.com`.

> Przypomnę, że możemy ją zobaczyć w **Settings** > **Custom pages**.

Nim to jednak zrobimy, musimy określić, kto może się logować, ustalając regułę logowania.

### Reguła logowania

W tym celu w **Settings** przechodzimy do **WARP Client** > **Device enrollment permissions**. Klikając przycisk **Manage** utworzymy nową regułę w sekcji **Policies** za pomocą przycisku **Add a rule**.

1. Nazwę reguły (Rule name) ustaliłem **Allowed emails**.
2. Regułę akcji (Rule action) pozostawiłem na **Allow**
3. W sekcji **Include** wybrałem (Selector) **Emails** a w polu wartości (Value) wpisałem mój adres email.

> Możemy tutaj również określić, że wszyscy użytkownicy w domenie mogą się logować do tunelu (**Emails ending in**). Jeżeli dysponujemy własną domeną oraz adresami email w niej skonfigurowanej, ograniczy to konieczność dodawania każdego adresu email/użytkownika z osobna.

Podczas logowania się w aplikacji 1.1.1.1/Cloudflare WARP będę musiał podać mój email, na który dostanę hasło jednorazowe do wpisania w aplikacji, dzięki któremu zostanę uwierzytelniony i zalogowany.

{{% ads-in-article %}}

## Aplikacja

Zacznijmy od aplikacji na nasze urządzenie mobilne.

> Dla systemu iOS, dostępna jest ona w [App Store](https://itunes.apple.com/app/1-1-1-1-faster-internet/id1423538627). Wszelkie inne (odnośniki do nich) wyświetlone są, gdy przejdziemy na stronę [1.1.1.1](https://1.1.1.1) w naszej przeglądarce internetowej.

Po wstępnym uruchomieniu i skonfigurowaniu profilu VPN do standardowej usługi WARP przechodzimy do ustawień (trzy poziome kreski) > **Account** > **Login to Cloudflare Zero Trust**

Na tym etapie poproszeni zostaniemy o nazwę naszej "drużyny" (team) i przekierowani zostaniemy do strony logowania. Wprowadzamy tam zatwierdzony adres email, po czym otwieramy nasz email i odczytujemy otrzymany kod, który wprowadzamy w aplikacji.

Po zalogowaniu moja aplikacja Cloudflare WARP (1.1.1.1) zmieni nieco wygląd, a opcje ograniczą się do pojedynczego przycisku włączenia/wyłączenia tunelu **Zero Trust**.

[![Cloudflare WARP App Zero Trust](cloudflare_warp_app_zero_trust.png)](cloudflare_warp_app_zero_trust.png)

W analogiczny sposób (**Preferences** > **Account** > **Login to Cloudflare Zero Trust**) dokonamy tego w aplikacji na naszym komputerze.

## Podtrzymanie tunelu w przypadku zmiany adresu IP (opcjonalne)

Jedynym problemem, jaki mi pozostał to upewnienie się, że tunel będzie nadal działa, gdy adres IP interfejsu internetowego ulegnie zmianie lub też internet będzie przekierowany przez inny interfejs.

W moim przypadku gdy główne połączenie internetowe ze statycznym adresem IP przestanie działać, a awaryjne (za CG-NAT) zostanie aktywowane.

Jak sprawdziłem, aktywny tunel nie wykrywa faktu, że adres IP, lub interfejs dostępowy, uległ zmianie. Mimo że tunel jest włączony, to będzie on nieaktywny.

### Z pakietem mwan3

> Odniesienie do wpisu [Dodanie drugiego połączenia internetowego do routera z OpenWrt](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/)

W moim przypadku, w momencie przełączenia internetu na awaryjne połączenie, pakiet `mwan3` zadba o to, aby w sieci lokalnej nadal było połączenie internetowe.

Pakiet `mwan3` ma możliwość wykonania komendy w momencie, gdy jedno z połączeń przestanie działać. Mogę to teoretycznie wykorzystać do zatrzymania tunelu Cloudflare i uruchomienia na nowym połączeniu.

W panelu **LuCI** przechodzimy do **Network** > **MultiWAN Manager** i zakładki **Notify**.

Tutaj możemy wykonać następujący skrypt.

```bash
if [ "${ACTION}" = "ifdown" ] || [ "${ACTION}" = "ifup" ] && [ "${INTERFACE}" = "wan" ] ; then
   (/bin/sleep 30; /etc/init.d/cloudflared restart >/dev/null) &
fi
```

W przypadku gdy nasz interfejs WAN przestanie działać (lub ponownie się uruchomi), skrypt odczeka 30 sekund, po czym zrestartuje nasz tunel Cloudflare.

Inny przykład:

```bash
if [ "${ACTION}" = "ifdown" ] || [ "${ACTION}" = "ifup" ] ; then
 if [ "${INTERFACE}" != "loopback" ] && [ "${INTERFACE}" != "self" ] ; then
 (/bin/sleep 30; /etc/init.d/cloudflared restart >/dev/null) &
 fi
fi
```

Gdy którykolwiek z interfejsów przestanie działać lub wznowi działanie (ignorując interfejs `loopback`), poczekaj 30 sekund i uruchom ponownie tunel Cloudflare.

---

Chciałbym jednak przeanalizować inne opcje, gdy tylko nasz adres IP, z którego nawiązane jest połączenie, ulegnie zmianie.

### Poprzez analizę adresu IP

Tak jak opisałem w moim wpisie [Ustawienie domeny dla zmiennego adresu IP (OpenWrt i DDNS)](/ustawienie-domeny-ddns-openwrt-cloudflare/) i sekcji [Obsługa wielu połączeń internetowych z DDNS (gdy powyższe rozwiązanie nie działa)](/ustawienie-domeny-ddns-openwrt-cloudflare/#obsługa-wielu-połączeń-internetowych-z-ddns-gdy-powyższe-rozwiązanie-nie-działa), za pomocą `curl` możemy odczytać zewnętrzny adres IP z danego interfejsu.

Jeżeli nasz zapasowy interfejs ma IP na routerze 192.168.8.2, wykonujemy następującą komendę, aby odczytać IP.

```bash
curl -s --interface 192.168.8.2 'http://icanhazip.com'
```

Pozwoli to nam odczytać aktualny adres IP.

Osobiście, w domu, posiadając jeden interfejs, zapiszę mój adres IP do pliku, wykonując komendę porównywania, gdy adres IP się zmieni, uruchomię ponownie tunel.

Komenda do odczytania adresu IP i zapisanie w pliku tymczasowym jest następująca.

```bash
curl -s 'http://icanhazip.com' > /tmp/ip_read
```

Odczytanie adresu IP dodam do harmonogramu `cron` aby wykonywało się raz na dobę, minutę po północy.

```bash
01 0 * * * curl -s 'http://icanhazip.com' > /tmp/ip_read
```

Do harmonogramu dodam również mój skrypt, który będzie odczytywał adres IP i porównywał z odczytanym wcześniej. W momencie, gdy adres IP ulegnie zmianie, tunel zostanie uruchomiony ponownie. Skrypt będzie uruchamiany co 5 minut.

```bash
*/5 * * * * /bin/sh /root/ip_check_script
```

Zawartość pliku `ip_check_script`

```bash
FILE1="/tmp/ip_read"
curl -s 'http://icanhazip.com' > /tmp/ip_check
FILE2="/tmp/ip_check"

if cmp -s -- "$FILE1" "$FILE2"; then
  # IP not changed, don't do anything
  :
else
 # ip address differ, run the following
 /etc/init.d/cloudflared restart > /dev/null
 # update ip_read
 cp /tmp/ip_check /tmp/ip_read
fi
```

Dodajemy prawa do uruchomienia

```bash
chmod +x ip_check_script
```

Dodamy również do harmonogramu `cron` sprawdzenie adresu IP po ponownym uruchomieniu routera.

```bash
@reboot sleep 15 && curl -s 'http://icanhazip.com' > /tmp/ip_read
```

Aby komenda resetowania tunelu nie była wykonywana co 5 minut (mimo że adres IP nie uległ zmianie), w momencie, gdy adres IP odczytany na bieżąco ulegnie zmianie, wówczas plik `ip_read` zostanie zaktualizowany.

## Automatyczne uruchomienie tunelu przy starcie routera

Domyślnie dostarczony z pakietem `cloudflared`, z repozytorium OpenWrt 22.03, `/etc/init.d/cloudflared`, który nie działał, a który zastąpiliśmy i naprawiliśmy, posiadał opcję uruchomienia usługi podczas startu routera (`enabled`).

Nowy, oficjalny, plik ma tylko cztery opcje (`start`, `stop`, `restart` i `status`).

Aby sprawić by nasz tunel startował po uruchomieniu, wykorzystamy do tego harmonogram `cron`.

Dodajemy następującą linijkę.

```bash
@reboot sleep 15 && /etc/init.d/cloudflared start
```

Do powyższej linijki dodałem odczekanie 15 sekund. W niektórych przypadkach należy odczekać nieco dłużej, szczególnie gdy zajmuje routerowi trochę nawiązanie połączenia z internetem.

## Failsafe — Sprawdzenie okresowe czy tunel działa

Jeżeli zrobiliśmy wszystko poprawnie, to nasz tunel bez problemów powinien działać, jednakże zdarzają się sytuacje, gdy nasz tunel (proces) przestanie działać.

W związku z tym warto wprowadzić swojego rodzaju sprawdzenie. W momencie wykrycia, że tunel nie działa, wykonać komendę, aby go wskrzeszać.

Do tego celu możemy wykorzystać 2 rodzaje komend. Wybierz jedną, którą uważasz za słuszną. Osobiście preferuję pierwsze rozwiązanie.

Wybraną komendę dodamy do harmonogramu `cron` wykonywanego co 5 minut. W momencie, gdy nasza komenda wykryje, że nasz tunel nie działa, spróbuje go ponownie uruchomić.

```bash
*/5 * * * * /bin/sh /root/cloudflared_check
```

### Sprawdzenie za pomocą opcji /etc/init.d/cloudflared status

```bash
if [[ $(/bin/sh /etc/init.d/cloudflared status) == "Running" ]];
then
 :
else
 /bin/sh /etc/init.d/cloudflared restart
fi
```

Powyższą komendę zapisujemy w plik `/root/cloudflared_check` i nadajemy mu prawa do wykonywania `chmod +x /root/cloudflared_check`.

### Sprawdzenie przy pomocy pakietu pgrep

```bash
if pgrep cloudflared >/dev/null
then
    :
else
    /bin/sh /etc/init.d/cloudflared restart
fi
```

Powyższą komendę zapisujemy w plik `/root/cloudflared_check` i nadajemy mu prawa do wykonywania `chmod +x /root/cloudflared_check`.

## Zarządzanie użytkownikami

Podczas gdy wszystko działa, a użytkownicy mogą korzystać z nowej usługi, aby zobaczyć jakie urządzenia oraz jacy użytkownicy są dostępni, możemy to zrobić z sekcji **My Team** i odpowiednio **Devices** (Urządzenia) oraz **Users** (Użytkownicy).

Również tam możemy wycofać prawa logowania danemu użytkownikowi za pomocą opcji **Revoke**.

## Dołączenie plików konfiguracyjnych do kopii zapasowej OpenWrt

Jeżeli wykonujesz kopię zapasową OpenWrt z menu **System** > **Backup / Flash Firmware**, w zakładce **Configuration** dodaj następujące foldery, aby włączone były one w plik kopii zapasowej.

```bash
/etc/cloudflared/
```

Osobiście, jako że posiadam również inne pakiety, w tym WireGuard, moje foldery wyglądają następująco:

```bash
/etc/ssl/
/etc/wireguard/
/etc/cloudflared/
/etc/config/
/etc/init.d/
/root/
```

## Bonus

Nie wiem, czy wiesz, że jako bonus całej tej zabawy, będąc połączony do własnego tunelu, zyskujesz dostęp do sieci za pomocą IPv6 (od strony użytkowników, nie routera).

---

Źródła:

* [Cloudflared Tunnel in OpenWrt - Hector Molina](https://hmolina.dev/p/cloudflared-tunnel-in-openwrt/)
* [Securely access home network with Cloudflare Tunnel and WARP - Savjee, Simply Explained](https://savjee.be/blog/securely-access-home-network-with-Cloudflare-Tunnel-and-WARP/)
* [Cloudflare tunnel - OpenWrt.org](https://openwrt.org/docs/guide-user/services/vpn/cloudfare_tunnel)
* [Cloudflare Tunnel, /etc/init.d/cloudflared not doing anything - Forum OpenWrt](https://forum.openwrt.org/t/cloudflare-tunnel-etc-init-d-cloudflared-not-doing-anything/164478/2)


---
## Google uśmierca kolejną usługę, tym razem Domeny Google (Google Domains)
- **URL:** https://dariusz.wieckiewicz.org/google-usmierca-kolejna-usluge-domeny-google-domains/
- **Date:** 2023-06-18
- **Tags:** Google, Domeny Google, Google Domains, Domeny, Squarespace, Cloudflare

### Content

Nie pierwszy raz jesteśmy w tej sytuacji, że gdy zaczynamy korzystać z jakiejś usługi, to jest ona przekształcana w dojną krowę lub ubijana jak mucha.

Google słynie z zabijania swoich usług. Tym razem nie do końca zabijają kolejną, ale sprzedanie jej do innej firmy niczym się nie różni.

<!--more-->

Otóż usługa Domeny Google (Google Domains) nie jest czymś zbytnio popularnym. Mimo że usługa, rejestrowanie domen z Google, istnieje podobno od 2005 roku, to Domeny Google wystartowały oficjalnie 9 lat temu. Nie długo po tym odkryłem tę usługę i zacząłem z niej korzystać wstępnie dla mojej domeny `.org`.

Po tym, jak się w niej zadomowiłem, gdyż oferta cenowa jest nie do pożałowania, to przypodobał mi się nowy interfejs zaimplementowany jakiś czas temu. Dodatkowo opcje dostępne za darmo skusiły mnie do przeniesienia kilku domen w to miejsce.

Oprócz parkowania domeny, zarządzania wpisami DNS skusiłem się również na Email Forwarding (przekazywanie poczty). Szkoda, że wpis, który stworzyłem rok temu, tak szybko stał się nieaktualny.

Zmiany, które obserwujemy, w Google nie idą w dobrym kierunku, szczególnie dla użytkowników ich usług.

Zrozumiałbym jeszcze, że usługa, jaką są Domeny Google, nie przynosiłaby dochodu, jednakże tak nie jest. Mimo tego, jak donosi [The Register](https://www.theregister.com/) w swoim artykule [Domeny Google zostaną zamknięte i przeniesione do Squarespace](https://www.theregister.com/2023/06/18/google_domains_shutting_down/), Google zamierza sprawić sobie zastrzyk gotówki w wysokości $180 milionów dolarów. Szkoda tylko, że nam przyjdzie za to płacić.

O ile bezpośrednio w Polsce usługa rejestracji i obsługi domen z Google nie stała się popularna za sprawą braku obsługi domen w końcówce `.pl`, to jednak, szczególnie dla osób przebywających za granicą, była ona dobrą alternatywą z przystępnymi cenami.

Jak wyczytamy, interes, o którym mowa dotyczyć będzie prawie dziesięciu milionów użytkowników, w tym mnie.

Oczywiście, usługa nie jest zabijana, ale sprzedana, to jednak nie uważam, że jest to w najlepszym interesie ich użytkowników. Nie ukrywajmy, usługi od Squarespace nie są najtańsze, więc dlaczego firma nie będzie miała na tym jeszcze zarobić.

Mimo tego, że Google i Squarespace uzgodniły, że w okresie 12 miesięcy od rozpoczęcia przenoszenia, Squarespace będzie tolerował oferowane ceny przez Google, jeżeli chodzi o wszelkie odnowienia domen, to nie znaczy, że później nie stanie się to bardzo drogie.

Nie zdziwię się, gdy Squarespace wprowadzi to, co w Wielkiej Brytanii wprowadza firma [Namesco](https://names.co.uk), która za uwolnienie domeny (przeniesienie do innej firmy) żąda sobie opłatę administracyjną, która jest czasem wyższa niż odnowienie u nich, co jednocześnie zniechęca do działania.

Osobiście posiadam 3 domeny zarejestrowane w Google i nie myślę przenosić się do Squarespace, gdyż nie jestem pewien, co zostanie mi zaoferowane, a za co będzie mi trzeba płacić dodatkowo.

Osobiście mam konto w [Cloudflare](https://cloudflare.com), gdzie od lat zarządzam większość moich (i osób współpracujących) domen, to wiem, czego mogę się tam spodziewać. Dodatkowo Cloudflare oferuje również możliwość użytkowana domeny na potrzeby przekierowania poczty zwany Email Routing. Pisałem o tym jeszcze wcześniej w ramach wpisu [Poczta we własnej domenie z Cloudflare (i Gmail)](/cloudflare-poczta-we-wlasnej-domenie/).

Cloudflare oferuje również opcję rejestrowania oraz przeniesienia domen więc dlaczego by nie skorzystać.

Oczywiście, mógłbym poczekać na oficjalne stanowisko Google, bo wypadałoby poinformować o tym użytkowników, ale szczerze mam już dość tego i postanowię przenieść się, nim nowy właściciel zacznie rzucać mi kłody pod nogi.

Miałem inne plany, jeżeli chodzi o Domeny zarejestrowane w Google, to jednak trzeba się nieco zweryfikować.

Jeżeli jesteś w podobnej sytuacji co ja, zachęcam do zainteresowania się Cloudflare oraz zobaczenia ile u nich będzie kosztować utrzymywanie domeny. Wstępnie jak spojrzałem, co ciekawe, jest w niektórych przypadkach taniej niż w Google.

Pamiętaj jednak, że aby móc rozpocząć przenoszenie domeny z Domen Google, musisz daną domenę "odblokować". Przechodząc do naszej domeny i "Registration settings", w sekcji "Domain registration" musimy przełączyć przycisk przy opcji "Domain is locked"

[![Domeny Google - Registration settings - Domain is locked](domeny_google_registration_settings.png)](domeny_google_registration_settings.png)

Następnie, korzystając z opcji poniżej zwanej "Transfer out" musimy wygenerować kod autoryzacyjny, który podajemy naszemu nowemu usługodawcy.

[![Domeny Google - Transfer Out](domeny_google_transfer_out.png)](domeny_google_transfer_out.png)

Miało być tak pięknie, a znowu muszą poświęcić mój czas i nerwy na zabawę z czymś, czego nie miałem w planie.

{{% ads-in-article %}}


---
## Lepszy sposób na wysłanie zdjęć przez WhatsApp
- **URL:** https://dariusz.wieckiewicz.org/leprzy-sposob-na-wyslanie-zdjec-przez-whatsapp/
- **Date:** 2023-06-18
- **Tags:** WhatsApp, Google Photos, Zdjęcia Google, zdjęcia, Oszczędzanie miejsca, Storage Saver

### Content

Straciłem rachubę, ile razy mówiłem moim przyjaciołom i ich przyjaciołom, aby nie wysyłali zdjęć przez WhatsApp. Jeśli musisz to zrobić, najpierw zmień przynajmniej tę jedną rzecz, aby ułatwić wszystkim życie.

<!--more-->

W większości przypadków zdjęcia przesłane przez WhatsApp są przydatne tylko jako podgląd na ekranie. Często są one zbyt niskiej jakości, aby można je było wydrukować lub wykorzystać na stronach internetowych.

WhatsApp oferuje dwie opcje wysyłania zdjęć: Oszczędzanie danych, która kompresuje obraz do 0,9 MP (720x1280, około 80 kB) oraz Najlepsza jakość, która wysyła obraz w oryginalnej rozdzielczości 1,4 MP (899 x 1599, około 113 kB).

Domyślnie WhatsApp jest ustawiony na Auto (zalecane), co oznacza, że automatycznie wybierze najlepsze ustawienie jakości obrazu na podstawie szybkości Twojego internetu i urządzenia odbiorcy.

Jeśli nie możesz ponownie wykorzystać zdjęć przesłanych w słabej rozdzielczości, najgorszym scenariuszem jest otrzymanie ich w rozdzielczości 0,9 MP. Dlatego zawsze powinieneś wybrać jakość „Najlepsza” jako domyślną.

Otwórz WhatsApp, przejdź do `Ustawienia > Przechowywanie i dane > Jakość przesyłania multimediów` i zmień ustawienie na Najlepsza jakość już dziś.

Nawet jeśli nadal nie będziesz mógł ponownie użyć otrzymanego zdjęcia, będzie ono wyglądać lepiej. Jeśli obraz zawiera jakieś szczegóły, będzą znacznie wyraźniejsze.

Możesz porównać te ustawienia do oglądania filmu na ekranie 4K. Podobnie jak film 4K będzie wyglądał znacznie wyraźniej na ekranie 4K niż na ekranie 1080p (Pełne HD), obraz 1,4 MP będzie wyglądał znacznie wyraźniej niż obraz 0,9 MP.

Ponadto porównaj to z kupowaniem wysokiej klasy telewizora 4K tylko po to, aby oglądać treści, które nie są nawet dostępne w rozdzielczości Full HD. To tak, jakby kupić ferrari, żeby jeździć po okolicy.

Ogólnie rzecz biorąc, WhatsApp nie jest najlepszą aplikacją do wysyłania lub odbierania zdjęć. Jeśli nie musisz, polecam zamiast tego korzystać ze Zdjęć Google. Zdjęcia Google oferują szerszy zakres funkcji, takich jak możliwość dodawania zdjęć do albumów i udostępniania albumów swoim kontaktom.

{{% ads-in-article %}}

Zdjęcia Google oferują dwie opcje jakości kopii zapasowych: oryginalna rozdzielczość i Oszczędzanie miejsca (Storage Saver). Polecam każdemu Storage Saver, ponieważ zapewnia dobrej jakości obrazy bez zajmowania zbyt dużej ilości miejsca.

Oszczędzanie miejśca optymalizuje zdjęcia, kompresując je przy zachowaniu rozdzielczości do 16 MP (czyli około 5312 x 2988 pikseli). To jest znacząca różnica. Jeśli masz iPhone'a z czujnikiem 12 MP, Twoje zdjęcia będą nadal dostępne do dalszego przetwarzania, takiego jak kadrowanie, nawet po ich skompresowaniu. To da ci trochę swobody, zwłaszcza jeśli chcesz, aby ostateczny obraz miał rozmiar 2048 pikseli.

Ostatnio słuchałem podcastu, w którym zaproszony gość twierdził, że rozdzielczość 1200 pikseli jest wystarczająca. Gdyby tak było, zdjęcia przesłane przez WhatsApp byłyby w porządku. Jednak nie zgadzam się z tą oceną. Biorąc pod uwagę rozpowszechnienie wyświetlaczy Retina i ekranów Full HD, moje zalecenie to 2048 pikseli jako punktu wyjścia.

Wniosek: jeśli chcesz wysyłać zdjęcia wysokiej jakości, WhatsApp nie jest najlepszą opcją. Najlepszym sposobem na wysyłanie zdjęć przez WhatsApp jest nie wysyłanie ich wcale. Jeśli musisz wysłać zdjęcia, polecam zamiast tego korzystać ze Zdjęć Google.


---
## Publikuj własną treść w Wiadomościach Bing oraz Windows... jeśli masz szczęście
- **URL:** https://dariusz.wieckiewicz.org/publikuj-wlasna-tresc-w-wiadomosciach-bing-windows/
- **Date:** 2023-05-14
- **Tags:** Bing News, Wiadomości Bing, agregator wiadomości, RSS, kanał RSS, Atom, Bing, Centrum wydawców Google, Bing PubHub, Narzędzia webmasterów Bing, Bing Webmaster Tools

### Content

> Na początku 2025 roku firma Microsoft oficjalnie wycofała usługę Bing News PubHub, rezygnując z modelu ręcznego zgłaszania stron przez wydawców wiadomości.
> 
> Proces ręcznego przesyłania zgłoszeń został całkowicie zakończony. Dotychczasowi wydawcy, którzy zostali już zatwierdzeni, pozostają w indeksie, jednak portal dla nowych wniosków został wyłączony.
> 
> Poniższy artykuł udostępniam wyłącznie w celach informacyjnych.

Niedawno pisałem o tym, jak [opublikować własną treści w Wiadomościach Google na Androidzie, iOS i news.google.com](/publikuj-wlasna-tresc-w-wiadomosciach-google/) . Szukając dalej sprawdziłem, czy jest taka opcja w innych wyszukiwarkach typu... Bing.

Bing oferuje wyświetlanie zgromadzonych Wiadomości z różnych źródeł w [Wiadomościach Bing](https://www.bing.com/news) oraz, poprzez wyświetlanie ich bezpośrednio w systemie Windows.

Użytkownicy mogą uzyskiwać spersonalizowane treści za pośrednictwem wyszukiwarki Bing, menu Start w Windows, przeglądarce Microsoft Edge oraz pakiecie Office.

<!--more-->

Pomimo tego, że Bing nie ma takiego zasięgu jak Google, system operacyjny Windows, poprzez włączone i przypięte do menu Start/paska zadań widżety pogodowe/wiadomościowe, może zapewnić taki zasięg.

Jeśli dany użytkownik jest zainteresowany przepisami kulinarnymi, zostanie mu zasugerowany pokrewny materiał, więc dlaczego nie zasugerować również naszego?

Google korzysta z Centrum wydawców, aby dodawać treści do swoich zgromadzonych kanałów wiadomości. Bing (Microsoft) obsługuje Bing PubHub do zgromadzania informacji z różnych źródeł.

[Bing PubHub](https://www.bing.com/webmasters/pubhub?source=pubhub) jest zintegrowany z [Bing Webmaster Tools (Narzędzia dla webmasterów)](https://www.bing.com/webmasters), jednak nie ma tam bezpośredniego odnośnika, stąd też jego istnienie nie jest tak oczywiste dla zwykłego użytkownika.

```
https://www.bing.com/webmasters/pubhub
```

Czasami pojawi się w sekcji **polecane** (_recommended_), gdy przejdziemy na [stronę główną Narzędzi dla webmasterów](https://www.bing.com/webmasters/home).

![Bing PubHub w sekcji polecane na głównej stronie w Narzędziach dla webmasterów Bing](recommended_section_bing_webmaster_Bing_PubHub.png)

Zanim zaczniemy, warto wiedzieć, że aby publikować w Bing PubHub, niekoniecznie trzeba serwować wiadomości. Obsługiwane są zarówno witryny z wiadomościami, jak i bez (takie jak blogi). Jest to bardzo podobne do Centrum wydawców Google, jednak [Wytyczne PubHub dla wydawców](https://www.bing.com/webmasters/help/pubhub-publisher-guidelines-32ce5239) wyjaśniają, jakie kryteria kwalifikacyjne muszą spełniać ci niezwiązani z publikowaniem wiadomości.

Podobnie jak w przypadku Google, tutaj z Bing możemy łatwo wykorzystać kanał RSS do rozpowszechniania naszych treści.

> Jeszcze raz przypomnę mój wpis z 2021 roku, w którym stwierdziłem, dlaczego [RSS nie umarł i nadal ma znaczenie](/dlaczego-rss-nadal-ma-znaczenie-w-2021/). Wpis jest po angielsku, ale możesz go przetłumaczyć, klikając ikonę tłumaczenia w prawym górnym rogu strony.

## Wstępna konfiguracja

Jest kilka rzeczy, które trzeba ustawić na początku.

1. **Przesyłanie treści** (_Content submission_) to miejsce, w którym wykorzystamy kanał RSS naszej witryny.
2. **Rozliczalność i przejrzystość** (_Accountability and transparency_) to obszary, w których musimy jasno określić, kto jest wydawcą oraz gdzie się znajdujemy (adres fizyczny) i adres e-mail.
3. **Prawa do treści i odpowiedzialność** (_Content rights and responsibility_) dotyczą treści i naszych praw do nich. Jeśli opublikujesz czyjąś treść bez uzyskania pozwolenia, która zawiera nie tylko tekst, ale także obrazy, może to sprawić ci problem. Lepiej zająć się tym wcześniej, aby uniknąć (kosztownego) późniejszego rozczarowania.
4. **Atrybucja i reprezentacja** (_Attribution and representation_)

## Ustawianie

Przejdźmy do [Bing PubHub](https://www.bing.com/webmasters/pubhub) w Narzędziach dla webmasterów.

![Bing PubHub - Strona początkowa](Bing_PubHub_start_page.png)

### Informacje o witrynie (Site Info)

![Bing PubHub - dodawanie Informacje o witrynie](Bing_PubHub_adding_Site_Info.png)

Tutaj podajmy **nazwę**, **język**, w którym prezentowana jest strona oraz **region**.

Pierwszą witryną, którą dodałem, była witryna [Yummy Recipes UK](https://yummyrecipes.uk), na której wraz z moją znajomom, która tworzy treść, publikujemy (_"z pewną częstotliwością"_) pyszne i łatwe przepisy dla każdego.

Nasz zamierzony zasięg (‌**Odbiorcy**, _Audience_) jest globalny (_Global_), ale także krajowy (_National_). Niekoniecznie regionalny (_Regional_) lub lokalny (_Local_), a nie przemysłowy (_industrial_). Zaznaczamy odpowiednie pola wyboru.

### Dodanie naszych adresów URL (Adding our URLs)

![Bing PubHub - dodawanie adresów URL RSS mapy strony](Bing_PubHub_adding_your_URLs_RSS_Sitemaps.png)

Tutaj wybierzemy **Typ linku** jako **RSS** i wkleimy link do naszego kanału. Nasza strona wykorzystuje [Hugo](https://gohugo.io) do zbudowania naszej strony internetowej, nasze RSS jest prezentowane w katalogu głównym jako plik `/index.xml`.

```
https://yummyrecipes.uk/index.xml
```

Jeśli mamy więcej kanałów lub źródeł, możemy je również dodać tutaj, na przykład mapę witryny (_sitemap_).

```
https://yummyrecipes.uk/sitemap.xml
```

{{% ads-in-article %}}

### Kontakty (Contacts)

![Bing PubHub - dodawanie kontaktów](Bing_PubHub_adding_Contacts.png)

Ostatnią częścią jest podanie **nazwy firmy** (_business name_) oraz osoby kontaktowej. Jako osoba zarządzająca treścią witryny dodałem siebie jako osoba kontaktowa.

Gdy wypełnimy wszystkie pola zakańczamy klikając przycisk **Zgadzam się i wyślij** (_Agree and Submit_).

![Bing PubHub - oczekiwanie na akceptację (11 Luty 2023)](Bing_PubHub_Awaiting_for_Approval_11_February_2023.png)

Teraz pozostaje nam tylko czekać.

Zespół Microsoft, czy ekipa Bing, nie podaje nam skali czasowej, tak jak to było, gdy dodaliśmy witrynę do [Wiadomości Google](/publikuj-wlasna-tresc-w-wiadomosciach-google/).

## Obserwowanie

Mimo że Bing PubHub jest bardzo podobny do Wiadomości Google, nie ma tutaj bezpośredniej opcji śledzenia źródła, więc nie możesz zobaczyć, jak to będzie wyglądać na naszym urządzeniu. Wszystkie są nadzorowane przez algorytm Microsoftu.

## Odrzucenie (Rejection)

Podczas konfigurowania źródła, co zaskakujące, nie ma opcji określenia, do której kategorii należy nasza strona.

Jeśli na pewnym etapie strona nie zostanie dodana, nie ma forum ani możliwości skontaktowania się w celu omówienia tego tylko poza [pojedynczym adresem e-mail](https://www.bing.com/webmasters/help/pubhub-publisher-guidelines-32ce5239) z zastrzeżeniem. Twój e-mail, jak możesz podejrzewać, pozostanie bez odpowiedzi.

> _"W przypadku jakichkolwiek pytań dotyczących tych wytycznych skontaktuj się z obsługą klienta. Należy jednak pamiętać, że nie jesteśmy w stanie przekazać opinii na temat sposobu ulepszenia witryny do oceny."_

Efekt końcowy wcale mnie nie zdziwił.

![Bing PubHub - Odrzucenie (27 Luty 2023)](Bing_PubHub_Rejected_27_February_2023.png)

W dniu 27 lutego 2023 r. strona została odrzucona ze standardowym tekstem:

> _Aplikacja witryny została odrzucona. Rozwiąż problemy zgłoszone w wiadomości e-mail i ponownie prześlij formularz. Kliknij poniższy formularz edycji, aby wprowadzić niezbędne zmiany._

Problem polega na tym, że **nie otrzymaliśmy żadnego maila**.

Irytującą częścią był tekst na górze przycisku z napisem „Kliknij poniższy formularz edycji, aby wprowadzić niezbędne zmiany”. Byłoby miło, gdyby przycisk był aktywny!

![Bing PubHub - Odrzucenie (27 Luty 2023) - najechanie na przycisk](Bing_PubHub_Rejected_27_February_2023_Button_hover.png)

Po najechaniu kursorem na przycisk pojawi się podpowiedź z informacją:

> _Możesz ponownie przesłać witrynę do weryfikacji po godzinie 15:05 29 marca 2023 r._

**Brak e-maila, brak wyjaśnień i musisz czekać ponad miesiąc, zanim będziesz mógł cokolwiek zrobić.**

Nie dziwię się, że webmasterzy nie zwracają uwagi na Bing i jego narzędzia dla webmasterów. Tutaj nawet ich AI Chatbot nie pomoże tego zmienić. Przepraszam Microsoft, ale nadal nie rozumiesz sensu, jeżeli chodzi o rynek wyszukowarek. Myślę, że Bing, podobnie jak to było z Internet Explorerem, powinien zakończyć swój żywot i powrócić wskrzeszony jako nowy produkt, aby miał przynajmniej szansę zaistnienia, tak jak to się stało z Microsoft Edge, który obecnie oparty jest na Chromium.

Jeszcze raz, pomimo tego tekstu:

> _W przypadku jakichkolwiek pytań dotyczących tych wytycznych skontaktuj się z obsługą klienta. Należy jednak pamiętać, że nie jesteśmy w stanie przekazać opinii na temat sposobu ulepszenia witryny do oceny._

Postanowiłem się z nimi skontaktować, nie pytając o przyczynę odrzucenia, **ale o e-mail, którego nie otrzymałem**.

Cierpliwie czekałem do 29 marca, po czym nic nie zmieniając (bo nie wiedziałem dokładnie w czym tkwi problem i przede wszystkim powód odrzucenia) ponownie zgłosiłem stronę.

Niestety, nie robię sobie z tego wielkich nadziei. Ze względu na brak jakichkolwiek informacji zwrotnych na mój e-mail, nie rozumiem, w jaki sposób to narzędzie jest w ogóle używane przez kogokolwiek.

![Bing PubHub - oczekiwanie na akceptację (30 Marca 2023)](Bing_PubHub_Awaiting_for_Approval_30_March_2023.png)

Od mojego ponownego przesłania o 6:41 rano 30 marca 2023 r. nic się nie zmieniło, a zgłoszenie utknęło w **Oczekiwaniu na zatwierdzenie** przez półtora miesiąca i wciąż trwa.

Mimo to nadal nie wiem, czy strona zostanie zaakceptowana, warto, abyś jako właściciel strony, na której publikujesz przydatne treści, zobaczył i ocenił nowe sposoby promocji i dotarcia do szerszego grona odbiorców.

To nic nie kosztuje, więc czemu nie spróbować?

Jeśli zdecydowałeś się to zrobić, daj mi znać w komentarzu, jak ci poszło. Wszelkie historie zakończone sukcesem są mile widziane. W międzyczasie, jeśli moja strona zostanie dodana lub ponownie odrzucony, albo w jakiś sposób dostanę e-mail zwrotny, podzielę się z wami, aktualizując wpis.


---
## Ustawianie hreflang i x-default na wielojęzycznej stronie (z Hugo)
- **URL:** https://dariusz.wieckiewicz.org/ustawienie-hreflang-x-default-na-wielojezycznej-stronie/
- **Date:** 2023-05-12
- **Tags:** Google, hreflang, międzynarodowe SEO, wielojęzykowe SEO, celowanie językowe, atrybuty hreflang, linki hreflang, adnotacje hreflang, walidacja hreflang, przypadki użycia hreflang, x-default, domyślny język, język zapasowy, wielojęzyczne strony, WebDev, Hugo

### Content

Ustawienie meta tagu hreflang na Twojej wielojęzycznej stronie powinno być tak proste jak bułka z masłem. Wystarczy umieścić odpowiedni meta tag na stronie, odnieść się do przetłumaczonej wersji i w wersji przetłumaczonej odnieść się z powrotem do oryginalnej.

Wygląda to na takie proste. Koniec historii? **Nieprawda!**

<!--more-->

Choć brzmi to prosto, w praktyce nie zawsze tak jest. Jeśli prowadzisz stronę w wielu językach, ale nie cała zawartość jest przetłumaczona, ustawienie i używanie tagu hreflang na całej stronie stanowi pewne wyzwanie. Jeśli dodasz do tego poprawne użycie meta tagu x-default, staje się to jeszcze większym wyzwaniem.

Gdy zaczynasz myśleć, jak poprawnie to zaimplementować, pojawia się więcej pytań, a szukanie odpowiedzi w internecie daje sprzeczne wyniki.

Nawet Google w swojej dokumentacji Google Search Central ma post zatytułowany [Poinformuj Google o lokalizowanych wersjach swojej strony](https://developers.google.com/search/docs/specialty/international/localized-versions), który nie wyjaśnia niektórych scenariuszy.

Na szczęście, 8 marca 2023 roku, pojawił się nowy post zatytułowany [Jak x-default może ci pomóc](https://developers.google.com/search/blog/2023/05/x-default), który zmienia twoją perspektywę na to, jak należy patrzeć na implementację meta tagów hreflang i x-default.

**Chodzi o [konwersje](https://developers.google.com/search/blog/2023/05/x-default#2.-conversions), a nie o międzynarodowe celowanie**, jak wielu myśli. Nawet Google [odstąpiło](https://support.google.com/webmasters/answer/12474899?hl=pl) od tego.

Ten post w końcu odpowiada na niektóre z moich pytań.

Główne podejście polega na zmianie sposobu myślenia o tagach hreflang i x-default.

> _Twoim celem jest bardzo prawdopodobnie w jakiś sposób konwertowanie użytkowników, którzy trafiają na Twoje strony._
> 
> _(...) jeśli opublikowałbyś esej tylko po niemiecku, jest mało prawdopodobne, że osoby nieposługujące się językiem niemieckim dokonałyby konwersji na tej stronie, więc być może zechciałbyś wysłać je gdzie indziej, gdzie mogłyby faktycznie dokonać konwersji w inny sposób (...)._

Pomyśl o powyższym, czytając dalej.

---

Mój główny adres strony (`/`) odnosi się do wersji polskiej. Jeśli przejdziesz do `/en/`, trafisz na wersję angielską.

Niektóre posty są przetłumaczone i ładnie połączone ze sobą za pomocą flagi w prawym górnym rogu. Jeśli post jest dostępny w języku angielskim, a jesteś w części polskiej, możesz kliknąć flagę angielską i czytać po angielsku.

> Dla tego typu strony istnieje meta tag hreflang dla polskiego i angielskiego w obu postach, które odwołują się do siebie nawzajem.

Jeśli nie, oferuję automatyczne tłumaczenie za pomocą Tłumacza Google, które nie jest takie złe, jak było kilka lat temu.

Problem polega na tym, że nie tłumaczę wszystkiego na język angielski, jeśli piszę po polsku. Podobnie, jeśli zaczynam pisać post po angielsku (jak ten), nie zawsze decyduję się przetłumaczyć go na polski. Czasami jest to po prostu bezcelowe i niepotrzebnie pochłania mój czas bez żadnych korzyści dla moich czytelników.

Czasami decyzja o tłumaczeniu lub nie jest dyktowana kontekstem postem. Czasami coś napisane po angielsku będzie miało sens dla anglojęzycznego użytkownika, ale nie będzie miało sensu dla polskiego czytelnika, zwłaszcza jeśli czyta to z Polski (z polskim podejściem), a nie jak ja z Wielkiej Brytanii z odziedziczonym brytyjskim stylem życia.

Prawdopodobnie zrozumiesz, jeśli spróbuję przetłumaczyć słowo lub znaczenie, które ma doskonały sens w brytyjskim angielskim, ale w polskim po prostu nie istnieje. To wymagałoby pełnego wyjaśnienia, co masz na myśli, gdy w angielskim to tylko jedno słowo (i na odwrót).

Post [Jak x-default może ci pomóc](https://developers.google.com/search/blog/2023/05/x-default) pomógł mi zrozumieć, jak zaimplementować hreflang i jak używać ustawienia x-default do **celów konwersji**.

Zawsze miałem trudności z x-default, ponieważ moja strona w języku polskim nie zawiera wszystkiego, co jest w części angielskiej.

Nie chciałbym sugerować dla osób nie-(domyślnie)-anglojęzycznych i nie polskojęzycznych, aby domyślnie przechodziły na polską stronę, jeśli mają ustawiony inny (domyślny) język, niż te dwa.

Jest znacznie łatwiej dla osób nieanglojęzycznych i nie polskojęzycznych (powiedzmy francuskojęzycznych z francuskim ustawionym jako domyślny język w systemie operacyjnym) wylądować na angielskiej części strony, niż domyślnie na polskiej. Bardziej prawdopodobne jest, że zrozumieją angielski, niż polski.

Ale też chciałbym, aby niektórzy wiedzieli, że jeśli napiszę coś po polsku i nie jest to dostępne po angielsku, mogą użyć przycisku tłumaczenia w prawym górnym rogu, aby je przetłumaczyć, zamiast po prostu zamknąć stronę, której nie rozumieją.

Właśnie tutaj przydaje się odpowiednie ustawienie i zrozumienie, jak wykorzystać meta tag x-default z konwersją na uwadze.

---

Zaczynając od podstawowego podejścia, gdy obie strony są przetłumaczone (tak jak moja strona O mnie), hreflang w nagłówku będzie wyglądać tak.

Na polskiej stronie o mnie ([/o/](/o/))

```html
<html lang=pl-pl xml:lang=pl-pl>
...
<link rel=alternate hreflang=pl href=https://dariusz.wieckiewicz.org/o/>
<link rel=alternate hreflang=en href=https://dariusz.wieckiewicz.org/en/about/>
```

Na tej samej stronie w języku angielskim ([/en/about/](/en/about/))

```html
<html lang=en-gb xml:lang=en-gb>
...
<link rel=alternate hreflang=en href=https://dariusz.wieckiewicz.org/en/about/>
<link rel=alternate hreflang=pl href=https://dariusz.wieckiewicz.org/o/>
```

To proste podejście, gdy obie strony są przetłumaczone.

W **Hugo** zostanie to zaimplementowane w `<head>` za pomocą poniższego kodu.

```html
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink }}">
{{ range .Translations }}
	<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink }}">
{{ end }}
```

Ale co, jeśli napiszę post, który jest tylko po angielsku?

Mogę dodać warunek, że tam, gdzie nie ma tłumaczenia, cały hreflang zostanie pominięty.

```html
{{ if .IsTranslated }}
	{{ range .Translations }}
		<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink }}">
	{{ end }}
	<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink }}">
{{ end }}
```

To spowoduje, że niektóre strony będą miały hreflang, a inne nie.

> Podejście **z konwersją na uwadze** polega na tym, że jeśli wynik jest w języku, którego użytkownik domyślnie nie rozumie, zasugeruj mu coś innego, co może go zainteresować. W ten sposób jest bardziej prawdopodobne, że odkryją coś innego w języku, który rozumieją, zamiast po prostu opuścić stronę.

{{% ads-in-article %}}

W [cytowanej sugestii](https://developers.google.com/search/blog/2023/05/x-default#2.-conversions) wciąż będę serwować tag hreflang, nawet jeśli ta strona ma tylko jeden język, a jeśli język nie jest tym, który użytkownik rozumie, zaproponuję **alternatywę**. Alternatywna strona będzie [stroną wyboru języka](/en/language-selector), na której wyjaśnię dostępne języki, fakt, że nie wszystkie strony będą tłumaczone domyślnie i że użytkownicy mogą nadal korzystać ze stron, których nie rozumieją za pomocą opcji automatycznego tłumaczenia.

To będzie wyglądać jak poniżej:

```html
<html lang=en-gb xml:lang=en-gb>
...
<link rel=alternate hreflang=en href=https://dariusz.wieckiewicz.org/en/minimal-google-analytics-4-snippet/>
<link rel=alternate href=https://dariusz.wieckiewicz.org/en/language-selector/ hreflang=x-default>
```

Lub

```html
<html lang=pl-pl xml:lang=pl-pl>
...
<link rel=alternate hreflang=pl href=https://dariusz.wieckiewicz.org/microsoft-mial-racje-nie-aktualizuj-do-windows-11/>
<link rel=alternate href=https://dariusz.wieckiewicz.org/en/language-selector/ hreflang=x-default>
```

W ten sposób każda strona będzie wykorzystywać podejście hreflang. Jeśli jest tłumaczenie, będzie dodatkowy język wymieniony. Jako alternatywa będzie odniesienie do dedykowanej strony, którą zrozumie większość odwiedzających, z której bardziej prawdopodobne jest, że dokonają dalszej **konwersji** (czytaj więcej).

Do tego wykorzystam następujący kod na mojej stronie Hugo:

```html
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink }}">
{{ range .Translations }}
	<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink }}">
{{ end }}
<link rel="alternate" href="{{ .Site.Params.langSelector | absURL }}" hreflang="x-default">
```

W moim pliku konfiguracyjnym Hugo (`hugo.toml`) określę adres strony wyboru języka

```toml
[params]
	langSelector = "/en/language-selector/"
```

W frontmatterze pliku markdown, gdzie umieszczę swoją treść, przedstawię URL.

```markdown
---
url: '/en/language-selector/'
---
```

To zadziała, jak wyjaśniono w [najnowszym wpisie na blogu Google](https://developers.google.com/search/blog/2023/05/x-default#2.-conversions).

> _Jednak jeśli opublikujesz esej tylko po niemiecku, jest mało prawdopodobne, że osoby nieznające tego języka dokonają konwersji na tej stronie, więc możesz chcieć skierować je gdzieś indziej, gdzie mogą faktycznie dokonać konwersji w inny sposób. Możesz to wyrazić za pomocą hreflang="x-default"_

Mam nadzieję, że to wyjaśnia coś dla osób w podobnej sytuacji jak moja, gdzie nie wszystkie posty są tłumaczone równomiernie.

---

Istnieją narzędzia dostępne w internecie, które powiedzą Ci, czy [poprawnie zaimplementowałeś hreflang](https://hreflangchecker.com). [Inne](https://technicalseo.com/tools/hreflang/) powiedzą Ci coś innego. To dlatego, że podejście opisane powyżej nie jest typowym, najczęściej znanym sposobem implementacji, a jednak nadal jest poprawne.

Gary Illyes, analityk w Google [powiedział to na swoim profilu LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:7061239741156839424/):

> _Chociaż wartość hreflang x-default została zaimplementowana, aby pomóc w bardzo specyficznych potrzebach, przypadkowo może również pomóc w dostarczaniu Googlebotowi adresów URL, których biedak w przeciwnym razie by nie zobaczył. To nie jest nowa rzecz, ale myślę, że to całkiem fajne, że ma "ukryte" przypadki użycia._

Jeśli chcesz dowiedzieć się więcej, przejdź do dokumentacji na temat [Poinformuj Google o lokalizowanych wersjach swojej strony](https://developers.google.com/search/docs/specialty/international/localized-versions).


---
## Prosty sposób na poprawę stabilności routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/prosty-sposob-na-poprawe-stabilnosci-router-openwrt/
- **Date:** 2023-04-22
- **Tags:** cron, harmonogram, OpenWrt, Cache, pamięć podręczna, drop_caches

### Content

Czy spotykacie się z problemem, że co jakiś czas wasz router zamula? Strony internetowe, które otwierają się zazwyczaj bardzo szybko, nagle spowalniają. Nie zawsze jest to wina waszego połączenia internetowego. Czasami wina spoczywa na routerze.

<!--more-->

Jeżeli jesteście intensywnym użytkownikiem waszego łącza internetowego lub na co dzień wasz router rozgrzany jest do czerwoności przez twoich domowników, po kilku dniach zauważysz, że wszystko zaczyna co nieco mulić.

Problem jest w tym, że to, co router trzyma w pamięci podręcznej (Cache), nie zawsze musi tam być wiecznie. W tym wypadku najprostszą metodą jest ponowne uruchomienie routera (restart).

Możemy to zrobić ręcznie lub wprowadzić w harmonogram (cron) komendę, która uruchomi nasz router w czasie, gdy jest on najmniej użytkowany.

```shell
cron -e
```

Naciśnij <kbd>i</kbd> i wklej poniższą komendę:

```shell
# Uruchom ponownie po 4:00 rano każdego dnia
30 4 * * * sleep 70 && touch /etc/banner && reboot
```

Następnie wciskamy <kbd>Esc</kbd> i zakończamy `:wq` aby zapisać nasze zmiany.

Dla większości z was powyższa komenda rozwiąże problem bardzo szybko.

> Dodanie tylko komendy 'reboot' nie zawsze działa. Zdarza się, że router wchodzi w tak zwaną pętlę ponownego uruchomienia (redirect loop), stąd też najpierw uruchamiana jest komenda 'sleep' do odczekania 70 sekund, po czym ustawienia aktualnego czasu i daty w pliku '/etc/banner', a następnie na bazie niego uruchomienie ponowne routera.

Nie każdy jednak lubi to rozwiązanie. Jeżeli mamy podłączone do routera kamery monitoringu, każdorazowe ponowne uruchomienie to strata w okresie nagrywania, szczególnie gdy kamerki nagrywają bezpośrednio do chmury.

W poszukiwaniu alternatywy znalazłem niniejszą komendę, którą dodajemy do harmonogramu (cron) zamiast powyższej.

```shell
00 4 * * * sync && echo 3 > /proc/sys/vm/drop_caches
```

Dzięki temu o 4:00 nad ranem nasz router opróżni tabelę pamięci podręcznej (cache), co znacząco poprawia wydajność urządzenia, bez konieczności jego ponownego uruchomienia.

Niby nic, a jednak pomaga to w poprawieniu stabilności naszego urządzenia po ciężkim dniu.

```shell
08:45:22 up 78 days,  3:13,  load average: 0.13, 0.10, 0.07
```

---

Dla osób, które nie czują się pewnie w terminalu, powyższe komendy można dodać z poziomy panelu administracyjnego waszego routera (LuCI) z menu **System** > **Scheduled Tasks**.

Wklejając powyższe komendy i zapisując zmiany przyciskiem **Save** dodamy je do naszego harmonogramu (cron).

---

Pozdrawiam.

{{% ads-in-article %}}


---
## Publikuj własną treść w Wiadomościach Google na Androidzie, iOS i news.google.com
- **URL:** https://dariusz.wieckiewicz.org/publikuj-wlasna-tresc-w-wiadomosciach-google/
- **Date:** 2023-02-05
- **Tags:** Google News, Wiadomości Google, agregator wiadomości, RSS, Atom, Google, Centrum wydawców, Społeczność Centrum wydawców, Konsola wyszukiwania, Google Search Console, Search Console, Hugo, HTML, CSS

### Content

> Niestety, **25 kwietnia 2025** roku Google [ogłosiło](https://support.google.com/news/publisher-center/answer/14859160?sjid=2136619422920343189-EU) co następuje:
>
> _Od dziś wydawcy nie mogą już dodawać publikacji do Centrum Wydawców. Wprowadzamy tę zmianę w ramach przejścia na automatycznie tworzone strony publikacji, które zostaną uruchomione później w tym roku._
>
> _Wydawcy, którzy mają ręcznie tworzone strony publikacji, nadal będą mieli dostęp do funkcji dostosowywania aż do końca tego roku, kiedy strony zostaną przełączone na automatyczne tworzenie._
>
> Przekazuję poniższy artykuł wyłącznie do celów referencyjnych.

Czy masz stronę internetową lub blog, na którym codziennie lub od czasu do czasu publikujesz nowe rzeczy?

Czy wiesz, że możesz je opublikować w **Wiadomościach Google**?

Ostatnio, kiedy czytałem jeden z artykułów na [9to5mac](https://9to5mac.com), zauważyłem, że pod ich wpisem dostali oni fajną funkcję.

[![Przycisk Google News zaimplementowany na stronie 9to5mac](Google_News_9to5mac_implementation.png)](Google_News_9to5mac_implementation.png)

Opcję śledzenia ich witryny za pośrednictwem Wiadomości Google (Google News).

Daje im to dodatkowy sposób na pozyskanie większej liczby odwiedzających, ale także przekonuje ich do pozostania w kontakcie z ich treściami.

Moje pierwsze wrażenie było takie... Chcę to również umieścić na jednej z moich stron internetowych, więc zaczynam odkrywać, jak to zrobić. Kiedy to zrobiłem, byłem zaskoczony, jak stosunkowo łatwo było to zrobić bez dodatkowej pracy z mojej strony. Dzięki wykorzystaniu kanału RSS witryny i przejściu przez wstępną konfigurację i zatwierdzenie (co zajęło około 2-3 dni) moja pierwsza witryna była aktywna, a posty były aktualizowane po opublikowaniu.

> To jest kolejny powód na to że [RSS nie umarł i nadal ma sens](/dlaczego-rss-nadal-ma-znaczenie-w-2021/).

Oto jak to zrobiłem i jak ty też możesz to zrobić!

<!--more-->

Na jednej z moich stron internetowych, gdzie jestem moderatorem treści, regularnie publikujemy [przepyszne przepisy (ang. Yummy Recipes)](https://yummyrecipes.uk). Promujemy je na różnych platformach społecznościowych, w tym na [Pinterest](https://www.pinterest.co.uk/yummyrecipesuk), czyli wykorzystujemy kanał RSS do umieszczania tam treści. Więc tak naprawdę nie musimy nic robić. Witryna czyta nasz kanał RSS i po wykryciu zmiany publikuje dla nas treść.

> Wspomniałem o [Pintereście](https://www.pinterest.co.uk/yummyrecipesuk/) z jednego powodu. Za pośrednictwem strony internetowej publikowane są posty RSS z wykorzystaniem Schema dla przepisów w celu wyświetlenia dodatkowych funkcji, takich jak składniki. Jednak Pinterest jest nieco w tyle, jeśli chodzi o „właściwą” technologię (Schema), której należy użyć, aby wyświetlić „właściwe” elementy. Powoduje to, że wymieniony jest tam tylko pierwszy składnik, mimo że każda inna strona, która czyta Schema dla przepisów, może to zrobić bez problemu. To dlatego że głównym sposobem wprowadzania uporządkowanych danych do Pinteresta są [formaty h-recipe](https://developers.pinterest.com/docs/rich-pins/recipe-pins/), a nie dobrze zestandaryzowany Schema.org. W przyszłości będę musiał przyjrzeć się temu głębiej.

Wiadomości Google nie różnią się niczym, ale chcę uzyskać z nich jak największą popularność.

Oczywiście nie spodziewam się nagłego wzrostu ruchu (jak w przypadku Google Discover), ale każdy dodatkowy sposób (właściwy) dotarcia do naszych odbiorców jest zawsze dobry.

Yummy Recipes UK było moją pierwszą próbą zaistnienia w Wiadomościach Google. Jako przykład zdecydowałem się dodać moją stronę internetową i oba moje kanały, dla polskiej i angielskiej części strony.

## Centrum wydawców (Publisher Center)

Przejdźmy do [Centrum wydawców Google (Publisher Center)](http://publishercenter.google.com) i dodajmy naszą publikację.

Najpierw musimy stworzyć **organizację** (organisation), pod którą będziemy dodawać **publikacje** (publications).

Organizacja to w teorii firma odpowiedzialna za publikacje, a publikacje są źródłem treści, które zostaną wyświetlone. W moim przykładzie "jestem moją organizacją" i moja polska część serwisu będzie jedną publikacją, a angielską drugą.

Jeśli masz już utworzoną organizację, tak jak ja w Yummy Recipes UK, musisz pamiętać o utworzeniu nowej organizacji w menu **Zarządzaj organizacjami** (Manage organisations) w prawym górnym rogu.

[![Centrum wydawców - Prawe górne menu](Publishing_Center_top-tight_menu.png)](Publishing_Center_top-tight_menu.png)

Tworzenie organizacji ogranicza się jedynie do wpisania jej nazwy.

[![Centrum wydawców - Nowa organizacja](Publishing_Center_New_organisation.png)](Publishing_Center_New_organisation.png)

Dla siebie stworzyłem organizację pod nazwą **wieckiewicz.org**.

Kiedy to zrobimy, w następnym kroku będziemy musieli dodać naszą pierwszą publikację.

[![Centrum wydawców - Sozpocznij dodając twoją publikację](Publishing_Center_Get_Started_add_publication.png)](Publishing_Center_Get_Started_add_publication.png)

W **URL Twojej publikacji** (your publication's URL) umieściłem główny URL mojej strony internetowej `https://dariusz.wieckiewicz.org` i kliknąłem przycisk **Dodaj** (Add).

Teraz musimy wypełnić luki w formularzu, w którym określimy **nazwę publikacji** (publication name), w moim przypadku jest to `Dariusz Więckiewicz🇵🇱`, oraz **lokalizację** (location).

> Jak zauważyłeś, jeśli czytasz z urządzenia innego niż Windows, nazwa mojej publikacji zawiera emotikonę flagi, aby ujednolicić go z tytułem mojej witryny. W systemie Windows będzie wyświetlany jako „PL”, ponieważ system Windows nadal nie chce bawić się emotikonami zawierającymi flagi krajów (wygląda to raczej na poprawność polityczną niż cokolwiek innego).

Po zakończeniu wystarczy zaznaczyć, kliknąć pole wyboru, zanim będziemy mogli dodać publikację.

> _„Zaznaczając to pole, oświadczasz, że Twoja publikacja jest zasadniczo i na stałe zlokalizowana w wybranym przez Ciebie kraju”_

Oświadczenie jest trochę mylące. Tak, moje posty na stronie głównej (po polsku) są skierowane głównie do polskich czytelników, jednak nie są one "na stałe" zlokalizowane w Polsce, tak jak Polacy są wszędzie. Znaczenie **lokalizacja** (location) jest wyjaśnione w dalszej części konfiguracji jako **lokalizacja siedziby Twojej publikacji** (location of your publication's headquarters). W moim przypadku nawet dla polskiej części publikacji, moja siedziba znajduje się w **Wielkiej Brytanii** i prawa tego kraju czuję się zobowiązany.

Zanim zacznę konfigurować publikację, RSS i inne opcje, dodam jeszcze jedną dla anglojęzycznej części mojej strony (`https://dariusz.wieckiewicz.org/en/`)

[![Centrum wydawców - Dodaj kolejną publikację](Publishing_Center_Add_another_publication.png)](Publishing_Center_Add_another_publication.png)

Tym razem jako **nazwę publikacji** (publication name) podam `Dariusz Więckiewicz 🇬🇧` (z brytyjską flagą – w systemie Windows będzie wyświetlana jako `GB`) oraz **lokalizację** (location), lokalizację siedziby Twojej publikacji, jako Wielka Brytania.

Teraz mogę przechodzić pomiędzy publikacjami z prawego górnego menu.

[![Centrum wydawców - menu przełączania pomiędzy publikacjami](Publishing_Center_menu_switching_between_publications.png)](Publishing_Center_menu_switching_between_publications.png)

Z tego samego menu klikniemy ikonę koła zębatego i zaczniemy dostosowywać niektóre ustawienia, takie jak **podstawowy język** (primary language), na karcie Ogólne, zgodnie z językiem używanym na stronie.

Przewijając w dół, musimy potwierdzić **Adres główny naszej strony** (primary website property URL), co zrobię, weryfikując przez Konsola wyszukiwania (Google Search Console), klikając przycisk **Zweryfikuj w konsolai wyszukiwania** (Verify in Search Console).

[![Centrum wydawców - adres główny naszej strony](Publishing_Center_primary_website_property_URL.png)](Publishing_Center_primary_website_property_URL.png)

> Jeśli Twoja witryna została dodana do Google Search Console, wystarczy jedno kliknięcie.

Ostatnią rzeczą, którą możemy zrobić (ale niekoniecznie musimy) jest podanie **punktu kontaktowego dla Twojej publikacji** (point of contact for your publication) w sekcji Kontakt (zakładka Ogólne).

Teraz możemy przejść do zakładki ‌**Style wizualne** (Visual styles) w ustawieniach, aby dodać logo do publikacji.

Skoncentruję się tylko na dodaniu **kwadratowego logo** (Square logo). Umożliwi nam to łatwą identyfikację naszej witryny, gdy będziemy jej szukać w Wiadomościach Google.

> Kwadratowe logo powinno być w formacie PNG i mieć wymiary co najmniej 512x512 px (zalecane 1000x1000 px).

Dla każdego kwadratowego logo (ponieważ będzie takie samo dla obu moich publikacji) dostosuję je z flagą kraju w prawym dolnym rogu, aby ułatwić identyfikację.

Po dokonaniu zmian w każdej zakładce pamiętaj, aby nacisnąć niebieski przycisk **zapisz** (save) w prawej górnej części strony.

W ten sposób stworzyliśmy bazę dla naszej publikacji. Teraz musimy dodać więcej informacji dotyczących treści, które publikujemy i które chcemy, aby pojawiały się w Wiadomościach Google.

Gdy wrócimy do naszej strony głównej w [Centrum publikacji](https://publishercenter.google.com/) w sekcji **Odkrywaj produkty** (Explore products), zobaczymy informację, że nasze **Wiadomości Google** (Google News) **Nie zostały uruchomione** (Not started).

[![Centrum wydawców - Odkrywaj produkty - Wiadomości Google](Publishing_Center_Explore_Products_Google_News.png)](Publishing_Center_Explore_Products_Google_News.png)

W takim razie kliknijmy to.

Teraz będziemy konfigurować naszą stronę internetową do wyświetlania treści w Wiadomościach Google.

[![Centrum wydawców - Wiadomości Google](Publishing_Center_Google_News.png)](Publishing_Center_Google_News.png)

Klikając niebieski przycisk **edytuj** (edit), przejdziemy przez kilka sekcji podzielonych na trzy karty: **Ogólne** (General), **Ustawienia treści** (Content settings) oraz **Przejrzyj i opublikuj** (Review and publish).

Zaczynając od kategorii, moja witryna pasuje głównie do **Nauka i technologia** (Science & Technology). Dystrybucję zostawiam taką, jaka jest domyślnie ustawiona **na cały świat** (worldwide).

Teraz możemy przejść do zakładki **Ustawienia treści** (Content settings), gdzie dodamy **Sekcje** (Sections), klikając przycisk **Nowa sekcja** (New section).

[![Centrum wydawców - Wiadomości Google - Dodaj sekcję z kanału RSS](Publishing_Center_Google_News_add_section_from_RSS_Feed.png)](Publishing_Center_Google_News_add_section_from_RSS_Feed.png)

Tutaj mamy kilka opcji.

Dodam swój kanał RSS (**Feed**), przez który będą publikowane moje wpisy.

> Część Sekcje może być wykorzystana do podzielenia strony internetowej na różne kategorie i dostarczenia ich oddzielnie. Możesz pomyśleć o tym, jak wykorzystać tę funkcję, jeśli dużo publikujesz. Do moich celów użyję tylko jednej sekcji.

Podobnie jak ustawiłem publikację, ustalę **tytuł sekcji** (section title) jako tytuł mojej strony internetowej (z flagą).

W **URL do RSS lub kanału Atom** (RSS or Atom feed URL) wkleję link do mojego kanału RSS (dla PL `https://dariusz.wieckiewicz.org/index.xml`, dla EN `https://dariusz.wieckiewicz.org/ pl/index.xml`)

> Kiedy zaczniesz o tym myśleć, mógłbym wykorzystać jedną publikację do obsłużenia dwóch sekcji w różnych językach. Jeśli obie publikacje byłyby w tym samym języku, ma to sens, ponieważ język jest ustalany na poziomie publikacji, a nie na poziomie sekcji. Dlatego zakończę dwoma publikacjami i po jednej sekcji w każdej z nich.

To wszystko, co musimy zrobić w zakładce **Ustawienia treści** (Content settings).

Czas na **przejrzenie i opublikowanie** (Review and publish).

[![Centrum wydawców - Wiadomości Google - Status publikacji](Publishing_Center_Google_News_app_publishing_status.png)](Publishing_Center_Google_News_app_publishing_status.png)

W **Stan publikowania aplikacji Wiadomości Google** (Google News app publishing status) mamy dwie rzeczy, które musimy przejrzeć, **Treść** (Content) i **Warunki korzystania z usługi** (Terms of Service).

Jak zauważysz, kliknięcie przycisku **recenzja** (review) spowoduje powrót do karty **Ustawienia treści** (Content settings). Dzieje się tak, ponieważ nasz kanał RSS musi zostać odświeżony przez Google, co jeszcze nie zostało zrobione. W podglądzie po prawej stronie zobaczysz komunikat **Nie dodałeś jeszcze żadnych treści do tej sekcji** (You haven't added any content to this section yet).

[![Centrum wydawców - Wiadomości Google - Sekcja - kanał RSS](Publishing_Center_Google_News_Sections_RSS_Feed.png)](Publishing_Center_Google_News_Sections_RSS_Feed.png)

W sekcjach musisz nacisnąć przycisk **odśwież** (refresh) i cierpliwie czekać. Zwykle odświeżenie zajmuje maksymalnie kilka minut. Gdy to zrobisz, zobaczysz podgląd swojego kanału po prawej stronie na karcie **Sprawdź i opublikuj** (Review and publish) tak jak poniżej.

[![Centrum wydawców - Wiadomości Google - Odświeżony status publikacji](Publishing_Center_Google_News_app_publishing_status_refreshed.png)](Publishing_Center_Google_News_app_publishing_status_refreshed.png)

Teraz możemy przejrzeć warunki korzystania z usługi.

[![Centrum wydawców - Wiadomości Google - Warunki korzystania z usługi](Publishing_Center_Google_News_Terms_of_Service.png)](Publishing_Center_Google_News_Terms_of_Service.png)

Tam musimy przeczytać główną część i wypełnić formularz po prawej stronie.

**Imię** (name), **kontaktowy adres e-mail** (contact email) i **tytuł** (title) – wpisałem twórca treści. W przypadku **organizacji** (organisation) jest to trochę trudne. Jeśli dodajemy naszą prywatną stronę internetową, możemy śmiało stwierdzić **Brak** (None). Wpisałem tak, kiedy ustawiłem go dla Yummy Recipes UK i publikacja został zaakceptowany bez żadnych problemów.

Kiedy to zrobisz, ostatnią częścią będzie kliknięcie niebieskiego przycisku **opublikuj** (publish) i czekanie, aż nasza publikacja zostanie wysłana do Google w celu sprawdzenia (zwykle zajmuje to do tygodnia).

[![Centrum wydawców - Wiadomości Google - Status publikacji - Gotowy](Publishing_Center_Google_News_app_publishing_status_ready.png)](Publishing_Center_Google_News_app_publishing_status_ready.png)

Gdy przejdziemy na stronę główną naszego Centrum wydawców, zobaczymy, że nasz produkt – Wiadomości Google jest **w trakcie sprawdzania** (in review).

[![Centrum wydawców - Wiadomości Google - w trakcie sprawdzania](Publishing_Center_Google_News_In_Review.png)](Publishing_Center_Google_News_In_Review.png)

Po zakończeniu przeglądu ten status zmieni się na **aktywna** (live) jak poniżej dla Yummy Recipes UK.

[![Centrum wydawców - Wiadomości Google - Aktywna](Publishing_Center_Google_News_Live.png)](Publishing_Center_Google_News_Live.png)

Jeśli ktoś zacznie Cię **śledzić** (follow) za pośrednictwem Wiadomości Google, zobaczysz to również tam.

Zacznijmy od śledzenia samego siebie, nawet na etapie, gdy nasza publikacja jest **w recenzji** (in review).

Przechodząc ponownie do zakładki **Przejrzyj i opublikuj** (Review and publish), zobaczymy sekcję umożliwiającą **testowanie publikacji** (test your publication).

[![Centrum wydawców - testowanie publikacji](Publishing_Center_Test_your_publication.png)](Publishing_Center_Test_your_publication.png)

Kliknijmy przycisk **Obserwuj publikację** (Follow publication) i zobaczmy, jak to wygląda na [news.google.com](http://news.google.com) lub przez dedykowaną aplikację na [Androida](https://play.google.com/store/apps/details?id=com.google.android.apps.magazines) i [iOS](https://apps.apple.com/app/google-news/id459182288).

Odwiedzając sekcję **Obserwowane** (Following) będziemy mogli zobaczyć nasze strony w sekcji **Źródła** (Sources).

[![Wiadomości Google - Obserwowane - Źródła](Google_News_Following_Sources.png)](Google_News_Following_Sources.png)

Stamtąd możemy kliknąć każde źródło i zobaczyć, jak nasz kanał RSS jest wyświetlany w Wiadomościach Google, a także udostępnić go innym.

[![Wiadomości Google - Źródło - Yummy Recipes UK](Google_News_Yummy_Recipes_UK_source.png)](Google_News_Yummy_Recipes_UK_source.png)

Pod przyciskiem udostępniania będziemy mogli skopiować bezpośredni link do Twojej publikacji, z którego możemy później skorzystać. Ale to nie wszystko.

## Konsola wyszukiwania (Search Console)

Ponieważ wszystko jest połączone z Google Search Console, po opublikowaniu publikacji będziesz mógł śledzić wyświetlenia i kliknięcia swoich publikacji w specjalnej sekcji **Wiadomości Google** (Google News), podobnie jak w przypadku **Wyników wyszukiwania** (Search results) i **Odkryć** (Discover).

[![Wiadomości Google w konsoli wyszukiwania Google](Google_News_in_Google_Search_Console.png)](Google_News_in_Google_Search_Console.png)

Teraz dodajmy przycisk do naszej witryny.

## Przycisk na stronie internetowej

Zanim zaczniemy konstruować nasz „przycisk”, który umożliwi innym śledzenie nas w Wiadomościach Google, zobaczmy, jak zbudowany jest adres naszej publikacji.

Kierując się do [news.google.com sekcja **Obserwowane**](https://news.google.com/my/library) i klikając jedną z naszych poniższych źródeł, możemy użyć przycisku udostępniania, aby uzyskać bezpośredni link, który musimy przekazać dalej.

[![Wiadomości Google przyciski udostępniania-obserwowania na stronie Yummy Recipes UK](Google_News_Yummy_Recipes_UK_Follow_share.png)](Google_News_Yummy_Recipes_UK_Follow_share.png)

Klikając tam ikonę **kopiuj link** (copy link), otrzymamy adres URL, taki jak:

```
https://news.google.com/publications/CAAqBwgKMIvhxwswv_zeAw?ceid=GB:en&oc=3
```

Uprościmy to nieco usuwając niepotrzebne parametry i będzie to wyglądało tak:

```
https://news.google.com/publications/CAAqBwgKMIvhxwswv_zeAw
```

Jak widać, `CAAqBwgKMIvhxwswv_zeAw` to unikalny identyfikator publikacji, a reszta to tylko statyczny adres URL `https://news.google.com/publications/`. Wspominam o tym, ponieważ w zależności od tego, jakiego frameworka używasz do tworzenia strony, możesz chcieć uczynić go bardziej odpowiednim do użytku w wielu witrynach z tym samym kodem.

Używam [Hugo](https://gohugo.io) do zbudowania mojej strony internetowej, stąd w moim układzie strony ustawię kod z parametrem (identyfikatorem publikacji), który zostanie pobrany z pliku konfiguracyjnego (`hugo.toml`).

```toml
[params.social]
  google_news = "CAAqBwgKMIvhxwswv_zeAw"
  google_news_icon = "/svg/google_news.svg"
```

W środowisku wielojęzycznym, w którym każdy język ma swój identyfikator publikacji, możesz określić to następująco:

```toml
[languages]
	[languages.pl]
		[languages.pl.Social]
		google_news = "CAAqBwgKMOmdyAswmbnfAw"
		google_news_icon = "/svg/google_news.svg"
	[languages.en]
		[languages.en.Social]
		google_news = "CAAqBwgKMPSdyAswpLnfAw"
		google_news_icon = "/svg/google_news.svg"
```

Zanim zaczniemy, musimy uzyskać ikonę Wiadomości Google w formacie SVG.

Kierujemy się do [strony Google News w Wikipedii](https://en.wikipedia.org/wiki/Google_News), skąd możemy pobrać [Google News icon.svg](https://commons.wikimedia.org/wiki/File:Google_News_icon.svg).

Zanim użyję dowolnego SVG pobranego z Internetu, lubię go zdezynfekować za pomocą [SVG Sanitizer Test](https://svg.enshrined.co.uk). Otwierając plik SVG w edytorze kodu (np. VS Studio Code) kopiuję "brudny" kod SVG i po przetworzeniu wklejam "czysty" ze strony internetowej, a następnie zapisuję plik SVG.

Oto moje podejście do implementacji ikony w poniższej sekcji (na górze i na dole, w stopce), a także na stronie przepisu po treścią [Yummy Recipes UK](https://yummyrecipes.uk).

Sekcja Obserwuj z wbudowanym plikiem SVG:

[![Przyciski obserwowania na Yummy Recipes UK](Yummy_Recipes_UK_Follow_buttons.png)](Yummy_Recipes_UK_Follow_buttons.png)

```html
<div class="follow-buttons">
  <div class="google-news">
    <a title="Follow us on Google News" href="https://news.google.com/publications/CAAqBwgKMIvhxwswv_zeAw" target="_blank" rel="noreferrer noopener">
      <svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" viewBox="0 0 6550.8 5359.7" xml:space="preserve">
        <path fill="#0C9D58" d="M5210.8 3635.7c0 91.2-75.2 165.9-167.1 165.9H1507c-91.9 0-167.1-74.7-167.1-165.9V165.9C1339.9 74.7 1415.1 0 1507 0h3536.8c91.9 0 167.1 74.7 167.1 165.9v3469.8z"></path>
        <polygon opacity=".2" fill="#004D40" points="5210.8,892 3885.3,721.4 5210.8,1077"></polygon>
        <path opacity=".2" fill="#004D40" d="M3339.3 180.9L1332 1077.2l2218.5-807.5v-2.2c-39-83.6-134-122.6-211.2-86.6z"></path>
        <path opacity=".2" fill="#FFFFFF" d="M5043.8 0H1507c-91.9 0-167.1 74.7-167.1 165.9v37.2c0-91.2 75.2-165.9 167.1-165.9h3536.8c91.9 0 167.1 74.7 167.1 165.9v-37.2C5210.8 74.7 5135.7 0 5043.8 0z"></path>
        <path fill="#EA4335" d="M2198.2 3529.1c-23.9 89.1 23.8 180 106 202l3275.8 881c82.2 22 169-32.9 192.8-122l771.7-2880c23.9-89.1-23.8-180-106-202l-3275.8-881c-82.2-22-169 32.9-192.8 122l-771.7 2880z"></path>
        <polygon opacity=".2" fill="#3E2723" points="5806.4,2638.1 5978.7,3684.8 5806.4,4328.1"></polygon>
        <polygon opacity=".2" fill="#3E2723" points="3900.8,764.1 4055.2,805.6 4151,1451.6"></polygon>
        <path opacity=".2" fill="#FFFFFF" d="M6438.6 1408.1l-3275.8-881c-82.2-22-169 32.9-192.8 122l-771.7 2880c-1.3 4.8-1.6 9.7-2.5 14.5l765.9-2858.2c23.9-89.1 110.7-144 192.8-122l3275.8 881c77.7 20.8 123.8 103.3 108.5 187.6l5.9-21.9c23.8-89.1-23.9-180-106.1-202z"></path>
        <path fill="#FFC107" d="M4778.1 3174.4c31.5 86.7-8.1 181.4-88 210.5L1233.4 4643c-80 29.1-171.2-18-202.7-104.7L10.9 1736.5c-31.5-86.7 8.1-181.4 88-210.5L3555.6 267.9c80-29.1 171.2 18 202.7 104.7l1019.8 2801.8z"></path>
        <path opacity=".2" fill="#FFFFFF" d="M24 1771.8c-31.5-86.7 8.1-181.4 88-210.5L3568.7 303.1c79.1-28.8 169 17.1 201.5 102l-11.9-32.6c-31.6-86.7-122.8-133.8-202.7-104.7L98.9 1526c-80 29.1-119.6 123.8-88 210.5l1019.8 2801.8c.3.9.9 1.7 1.3 2.7L24 1771.8z"></path>
        <path fill="#4285F4" d="M5806.4 5192.2c0 92.1-75.4 167.5-167.5 167.5h-4727c-92.1 0-167.5-75.4-167.5-167.5V1619.1c0-92.1 75.4-167.5 167.5-167.5h4727c92.1 0 167.5 75.4 167.5 167.5v3573.1z"></path>
        <path fill="#FFFFFF" d="M4903.8 2866H3489.4v-372.2h1414.4c41.1 0 74.4 33.3 74.4 74.4v223.3c0 41.1-33.3 74.5-74.4 74.5zM4903.8 4280.3H3489.4v-372.2h1414.4c41.1 0 74.4 33.3 74.4 74.4v223.3c0 41.2-33.3 74.5-74.4 74.5zM5127.1 3573.1H3489.4v-372.2h1637.7c41.1 0 74.4 33.3 74.4 74.4v223.3c0 41.2-33.3 74.5-74.4 74.5z"></path>
        <path opacity=".2" fill="#1A237E" d="M5638.9 5322.5h-4727c-92.1 0-167.5-75.4-167.5-167.5v37.2c0 92.1 75.4 167.5 167.5 167.5h4727c92.1 0 167.5-75.4 167.5-167.5V5155c0 92.1-75.4 167.5-167.5 167.5z"></path>
        <path opacity=".2" fill="#FFFFFF" d="M911.9 1488.8h4727c92.1 0 167.5 75.4 167.5 167.5v-37.2c0-92.1-75.4-167.5-167.5-167.5h-4727c-92.1 0-167.5 75.4-167.5 167.5v37.2c0-92.1 75.4-167.5 167.5-167.5z"></path>
        <path fill="#FFFFFF" d="M2223.9 3238.2v335.7h481.7c-39.8 204.5-219.6 352.8-481.7 352.8-292.4 0-529.5-247.3-529.5-539.7s237.1-539.7 529.5-539.7c131.7 0 249.6 45.3 342.7 134v.2l254.9-254.9c-154.8-144.3-356.7-232.8-597.7-232.8-493.3 0-893.3 399.9-893.3 893.3s399.9 893.3 893.3 893.3c515.9 0 855.3-362.7 855.3-873 0-58.5-5.4-114.9-14.1-169.2h-841.1z"></path>
        <g opacity=".2" fill="#1A237E">
          <path d="M2233.2 3573.9v37.2h472.7c3.5-12.2 6.5-24.6 9-37.2h-481.7z"></path>
          <path d="M2233.2 4280.3c-487.1 0-882.9-389.9-892.8-874.7-.1 6.2-.5 12.4-.5 18.6 0 493.4 399.9 893.3 893.3 893.3 515.9 0 855.3-362.7 855.3-873 0-4.1-.5-7.9-.5-12-11.1 497-347.4 847.8-854.8 847.8zM2575.9 2981.3c-93.1-88.6-211.1-134-342.7-134-292.4 0-529.5 247.3-529.5 539.7 0 6.3.7 12.4.9 18.6 9.9-284.2 242.4-521.1 528.6-521.1 131.7 0 249.6 45.3 342.7 134v.2l273.5-273.5c-6.4-6-13.5-11.3-20.1-17.1L2576 2981.5l-.1-.2z"></path>
        </g>
        <path opacity=".2" fill="#1A237E" d="M4978.2 2828.7v-37.2c0 41.1-33.3 74.4-74.4 74.4H3489.4v37.2h1414.4c41.1.1 74.4-33.2 74.4-74.4zM4903.8 4280.3H3489.4v37.2h1414.4c41.1 0 74.4-33.3 74.4-74.4v-37.2c0 41.1-33.3 74.4-74.4 74.4zM5127.1 3573.1H3489.4v37.2h1637.7c41.1 0 74.4-33.3 74.4-74.4v-37.2c0 41.1-33.3 74.4-74.4 74.4z"></path>
        <radialGradient id="gn" cx="1476.404" cy="434.236" r="6370.563" gradientUnits="userSpaceOnUse">
          <stop offset="0" stop-color="#fff" stop-opacity=".1"></stop>
          <stop offset="1" stop-color="#fff" stop-opacity="0"></stop>
        </radialGradient>
        <path fill="url(#gn)" d="M6438.6 1408.1l-1227.7-330.2v-912c0-91.2-75.2-165.9-167.1-165.9H1507c-91.9 0-167.1 74.7-167.1 165.9v908.4L98.9 1526c-80 29.1-119.6 123.8-88 210.5l733.5 2015.4v1440.3c0 92.1 75.4 167.5 167.5 167.5h4727c92.1 0 167.5-75.4 167.5-167.5v-826.9l738.3-2755.2c23.8-89.1-23.9-180-106.1-202z"></path>
      </svg>
    </a>
  </div>
</div>
```

Dla Hugo z wykorzystaniem parametrów w pliku `hugo.toml` (wcześniej `config.toml`).

```html
<div class="follow-buttons">
  <div class="google-news">
    <a title="Follow us on Google News" href="https://news.google.com/publications/{{ .Site.Params.social.google_news }}" target="_blank" rel="noreferrer noopener">
      <svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" viewBox="0 0 6550.8 5359.7" xml:space="preserve">
        <path fill="#0C9D58" d="M5210.8 3635.7c0 91.2-75.2 165.9-167.1 165.9H1507c-91.9 0-167.1-74.7-167.1-165.9V165.9C1339.9 74.7 1415.1 0 1507 0h3536.8c91.9 0 167.1 74.7 167.1 165.9v3469.8z"></path>
        <polygon opacity=".2" fill="#004D40" points="5210.8,892 3885.3,721.4 5210.8,1077"></polygon>
        <path opacity=".2" fill="#004D40" d="M3339.3 180.9L1332 1077.2l2218.5-807.5v-2.2c-39-83.6-134-122.6-211.2-86.6z"></path>
        <path opacity=".2" fill="#FFFFFF" d="M5043.8 0H1507c-91.9 0-167.1 74.7-167.1 165.9v37.2c0-91.2 75.2-165.9 167.1-165.9h3536.8c91.9 0 167.1 74.7 167.1 165.9v-37.2C5210.8 74.7 5135.7 0 5043.8 0z"></path>
        <path fill="#EA4335" d="M2198.2 3529.1c-23.9 89.1 23.8 180 106 202l3275.8 881c82.2 22 169-32.9 192.8-122l771.7-2880c23.9-89.1-23.8-180-106-202l-3275.8-881c-82.2-22-169 32.9-192.8 122l-771.7 2880z"></path>
        <polygon opacity=".2" fill="#3E2723" points="5806.4,2638.1 5978.7,3684.8 5806.4,4328.1"></polygon>
        <polygon opacity=".2" fill="#3E2723" points="3900.8,764.1 4055.2,805.6 4151,1451.6"></polygon>
        <path opacity=".2" fill="#FFFFFF" d="M6438.6 1408.1l-3275.8-881c-82.2-22-169 32.9-192.8 122l-771.7 2880c-1.3 4.8-1.6 9.7-2.5 14.5l765.9-2858.2c23.9-89.1 110.7-144 192.8-122l3275.8 881c77.7 20.8 123.8 103.3 108.5 187.6l5.9-21.9c23.8-89.1-23.9-180-106.1-202z"></path>
        <path fill="#FFC107" d="M4778.1 3174.4c31.5 86.7-8.1 181.4-88 210.5L1233.4 4643c-80 29.1-171.2-18-202.7-104.7L10.9 1736.5c-31.5-86.7 8.1-181.4 88-210.5L3555.6 267.9c80-29.1 171.2 18 202.7 104.7l1019.8 2801.8z"></path>
        <path opacity=".2" fill="#FFFFFF" d="M24 1771.8c-31.5-86.7 8.1-181.4 88-210.5L3568.7 303.1c79.1-28.8 169 17.1 201.5 102l-11.9-32.6c-31.6-86.7-122.8-133.8-202.7-104.7L98.9 1526c-80 29.1-119.6 123.8-88 210.5l1019.8 2801.8c.3.9.9 1.7 1.3 2.7L24 1771.8z"></path>
        <path fill="#4285F4" d="M5806.4 5192.2c0 92.1-75.4 167.5-167.5 167.5h-4727c-92.1 0-167.5-75.4-167.5-167.5V1619.1c0-92.1 75.4-167.5 167.5-167.5h4727c92.1 0 167.5 75.4 167.5 167.5v3573.1z"></path>
        <path fill="#FFFFFF" d="M4903.8 2866H3489.4v-372.2h1414.4c41.1 0 74.4 33.3 74.4 74.4v223.3c0 41.1-33.3 74.5-74.4 74.5zM4903.8 4280.3H3489.4v-372.2h1414.4c41.1 0 74.4 33.3 74.4 74.4v223.3c0 41.2-33.3 74.5-74.4 74.5zM5127.1 3573.1H3489.4v-372.2h1637.7c41.1 0 74.4 33.3 74.4 74.4v223.3c0 41.2-33.3 74.5-74.4 74.5z"></path>
        <path opacity=".2" fill="#1A237E" d="M5638.9 5322.5h-4727c-92.1 0-167.5-75.4-167.5-167.5v37.2c0 92.1 75.4 167.5 167.5 167.5h4727c92.1 0 167.5-75.4 167.5-167.5V5155c0 92.1-75.4 167.5-167.5 167.5z"></path>
        <path opacity=".2" fill="#FFFFFF" d="M911.9 1488.8h4727c92.1 0 167.5 75.4 167.5 167.5v-37.2c0-92.1-75.4-167.5-167.5-167.5h-4727c-92.1 0-167.5 75.4-167.5 167.5v37.2c0-92.1 75.4-167.5 167.5-167.5z"></path>
        <path fill="#FFFFFF" d="M2223.9 3238.2v335.7h481.7c-39.8 204.5-219.6 352.8-481.7 352.8-292.4 0-529.5-247.3-529.5-539.7s237.1-539.7 529.5-539.7c131.7 0 249.6 45.3 342.7 134v.2l254.9-254.9c-154.8-144.3-356.7-232.8-597.7-232.8-493.3 0-893.3 399.9-893.3 893.3s399.9 893.3 893.3 893.3c515.9 0 855.3-362.7 855.3-873 0-58.5-5.4-114.9-14.1-169.2h-841.1z"></path>
        <g opacity=".2" fill="#1A237E">
          <path d="M2233.2 3573.9v37.2h472.7c3.5-12.2 6.5-24.6 9-37.2h-481.7z"></path>
          <path d="M2233.2 4280.3c-487.1 0-882.9-389.9-892.8-874.7-.1 6.2-.5 12.4-.5 18.6 0 493.4 399.9 893.3 893.3 893.3 515.9 0 855.3-362.7 855.3-873 0-4.1-.5-7.9-.5-12-11.1 497-347.4 847.8-854.8 847.8zM2575.9 2981.3c-93.1-88.6-211.1-134-342.7-134-292.4 0-529.5 247.3-529.5 539.7 0 6.3.7 12.4.9 18.6 9.9-284.2 242.4-521.1 528.6-521.1 131.7 0 249.6 45.3 342.7 134v.2l273.5-273.5c-6.4-6-13.5-11.3-20.1-17.1L2576 2981.5l-.1-.2z"></path>
        </g>
        <path opacity=".2" fill="#1A237E" d="M4978.2 2828.7v-37.2c0 41.1-33.3 74.4-74.4 74.4H3489.4v37.2h1414.4c41.1.1 74.4-33.2 74.4-74.4zM4903.8 4280.3H3489.4v37.2h1414.4c41.1 0 74.4-33.3 74.4-74.4v-37.2c0 41.1-33.3 74.4-74.4 74.4zM5127.1 3573.1H3489.4v37.2h1637.7c41.1 0 74.4-33.3 74.4-74.4v-37.2c0 41.1-33.3 74.4-74.4 74.4z"></path>
        <radialGradient id="a" cx="1476.404" cy="434.236" r="6370.563" gradientUnits="userSpaceOnUse">
          <stop offset="0" stop-color="#fff" stop-opacity=".1"></stop>
          <stop offset="1" stop-color="#fff" stop-opacity="0"></stop>
        </radialGradient>
        <path fill="url(#a)" d="M6438.6 1408.1l-1227.7-330.2v-912c0-91.2-75.2-165.9-167.1-165.9H1507c-91.9 0-167.1 74.7-167.1 165.9v908.4L98.9 1526c-80 29.1-119.6 123.8-88 210.5l733.5 2015.4v1440.3c0 92.1 75.4 167.5 167.5 167.5h4727c92.1 0 167.5-75.4 167.5-167.5v-826.9l738.3-2755.2c23.8-89.1-23.9-180-106.1-202z"></path>
      </svg>
    </a>
  </div>
</div>
```

```css
:root {
    --googlenews: #5383ec;
    --googlenews-bg: #ecf7ff;
}


.follow-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: baseline;
    vertical-align: middle;
}

.follow-buttons {
    margin: 0.5rem 0 1rem 0;
}

.follow-buttons > div {
    position: relative;
    display: inline-block;
}
.follow-buttons > div:hover {
    cursor: pointer;
}

.follow-buttons > div svg {
    margin: 0 0.4rem;
    border-radius: 10px;
}

.follow-buttons > div svg {
    height: 1.5rem;
    padding: 0.6rem;
}
@media (max-width: 834px) {
    .follow-buttons > div svg {
        height: 1rem;
        padding: 0.6rem;
    }
}

.follow-buttons > div.google-news svg {
    border: 2px solid var(--googlenews);
}
.follow-buttons > div.google-news:hover svg {
    background-color: var(--googlenews-bg);
    border: 2px solid var(--googlenews);
}
```

Pod treścią (z SVG w tagu IMG):

[![Przycisk obserwowania Yummy Recipes UK w Wiadomościach Google](Yummy_Recipes_UK_Follow_in_Google_News_button.png)](Yummy_Recipes_UK_Follow_in_Google_News_button.png)

```html
<div id="google-news">
  <div class="google-news">
    <a title="Follow Yummy Recipes UK on Google News" href="https://news.google.com/publications/CAAqBwgKMIvhxwswv_zeAw" target="_blank" rel="noreferrer noopener">
      Follow Yummy Recipes UK on Google News<img src="/svg/google_news.svg" alt="Follow Yummy Recipes UK on Google News" height="24" width="29">
    </a>
  </div>
</div>
```

Dla Hugo z wykorzystaniem parametrów w pliku `hugo.toml` (wcześniej `config.toml`).

```html
<div id="google-news">
  <div class="google-news">
    <a title="Follow {{ .Site.Title }} on Google News" href="https://news.google.com/publications/{{ .Site.Params.social.google_news }}" target="_blank" rel="noreferrer noopener">
      Follow {{ .Site.Title }} on Google News<img src="{{ .Site.Params.social.google_news_icon }}" alt="Follow {{ .Site.Title }} on Google News" height="24" width="29">
    </a>
  </div>
</div>
```

```css
:root {
    --googlenews: #5383ec;
    --googlenews-bg: #ecf7ff;
}


#google-news {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: baseline;
    vertical-align: middle;
    padding-bottom: 1rem;
  }

#google-news .google-news {
    background-color: var(--googlenews-bg);
    border: 2px solid var(--googlenews);
    border-radius: 4px;
    padding: 0.5rem 0.8rem;
}
#google-news .google-news:hover {
    border: 2px solid var(--googlenews);
    cursor: pointer; 
}

#google-news .google-news a {
    color: var(--googlenews);
    text-decoration: none;
}

#google-news .google-news a:hover {
    text-decoration: underline;
}

#google-news .google-news img {
  vertical-align:middle;
  display: inline;
  height: 1.5rem;
  width: auto;
  margin: 0 0 0 0.5rem;
}

@media (max-width: 834px) {
    #google-news .google-news {
        font-size: 0.8rem;
        padding: 0.5rem 0.6rem;
    }
    #google-news .google-news img  {
        height: 1.25rem;
    }
}
```

To tylko moja metoda implementacji. Śmiało dostosuj ją do swoich potrzeb.

{{% ads-in-article %}}

## Recenzja i Odrzucenie

Mimo że na pierwszym miejscu postawiłem Yummy Recipes UK i została ona zatwierdzona bez żadnych problemów, trawa nie zawsze jest zielona.

Nawet jeśli wszystko skonfigurowałeś poprawnie i uważasz, że Twoja witryna jest bardzo wartościowa dla użytkowników, Twoja publikacja może zostać odrzucona.

Stało się to w przypadku obu moich publikacji. Moja angielska część serwisu została odrzucona raz, a polska część trzy razy, nim została ostatecznie zawtierdzona.

W pierwszej kolejności poinformowano mnie, że poprzez moje artykuły udostępniam linki przekierowujące. W drugim przypadku, poprzez linki przekierowujące, przekierowuję użytkowników na stronę bez wiadomości, następnie, że moja witryna zawiera treści promocyjne (dwa razy).

We wszystkich tych sytuacjach była to kompletna bzdura. Nie udostępniam żadnych linków partnerskich, a linki w moich postach to tylko odniesienia do innych stron. Lata temu usunąłem wszystkie reklamy z mojej witryny.

Za każdym razem otrzymywałem informację, że moje linki przekierowujące/treści promocyjne są niezgodne z polityką treści Wiadomości Google. **Ale wiesz co?** w polityce treści Wiadomości Google nie ma o tym ani słowa. Przeczytałem go w całości i wszystkie odrzucenia są moim zdaniem nieważne, więc zdecydowałem się **ponarzekać** (złożyć skargę).

W jednym z moich postów umieściłem link do [strony Johna Muellera](https://johnmu.com) (osoby z Google), dlatego stwierdzenie, że udostępniam link przekierowujący do tej konkretnej witryny, było trochę głupie.

Nawet zapytałem o to Johna na Mastodon. Chociaż John nie jest bezpośrednio zaangażowany w Wiadomości Google, ma on zawsze dobre opinie, stwierdzając, że *„niektóre automatyzacje są zdezorientowane przez odnośniki do mojej witryny”*.

Zdecydowałem się złożyć skargę w [społeczności Centrum wydawców](https://support.google.com/news/publisher-center/thread/198556076/), aby dowiedzieć się, czy mogę uzyskać wyjaśnienie zasad.

Ogólnie widzę, że Google w dużym stopniu polega na automatyzacji, a automatyzacja jest w niektórych przypadkach błędna, jak moja.

Po początkowym odrzuceniu kanału publikacji w języku angielskim i złożeniu skarg w centrum wydawców, gdzie pracownik Google przejął pałeczkę, moja publikacja została w końcu zaakceptowana i opublikowana.

Jak widzimy, automatyzacja w wielu przypadkach odbywa się za pomocą uczenia maszynowego (machine learning) i nie podlega rzeczywistej ocenie przez człowieka, dopóki nie jest wymagana. Tak się dzieje tutaj, dlatego moja publikacja została ostatecznie zatwierdzona.

Moja polska publikacja została trzykrotnie odrzucona, a po dyskusji i pomocnej interwencji pracownika Google po dwóch tygodniach wszystkie moje kanały są dostępne w Wiadomościach Google.

> Dzięki temu problemowi zauważyłem, że jeśli dodasz publikację do Wiadomości Google, która jest napisana w języku innym niż angielski, podczas recenzji jest ona tłumaczona na angielski (co widać na zrzutach ekranu z e-maili o odrzuceniu). To prawdopodobnie myli maszyny, a linki są zniekształcone i mylone z przekierowaniem/promocją.

**Bądź cierpliwy podczas procesu sprawdzania.**

Za każdym razem, gdy moja publikacja została odrzucona, wysyłam ją ponownie bez wprowadzania zmian. Kontynuowałem moją rozmowę w dyskusji wydawców. Dzięki wsparciu Google wszystkie zostały zatwierdzone.

Rada dla Ciebie. Jeśli początkowo nie zostaniesz zatwierdzony, nie poddawaj się, spróbuj ponownie i [użyj dostępnych narzędzi komunikacji](https://support.google.com/news/publisher-center/).

Powodzenia!


---
## Wednesday
- **URL:** https://dariusz.wieckiewicz.org/wednesday/
- **Date:** 2023-01-04
- **Tags:** Wednesday, Wednesday Addams, Netflix, Serial Netflix, Vivaldi, Cztery pory roku Vivaldiego, Nothing Else Matters, Apocalyptica, Sarkazm, Sezon 1, Horror komediowy

### Content

Wszyscy są zachwyceni serialem Wednesday na Netflixie i mogę potwierdzić, że jest to uzasadnione.

Ten serial jest trochę inny, trochę dziwny, ale na tyle dziwny, że się tego nie spodziewaliśmy.

<!--more-->

Powiedzmy sobie jasno, ten serial nie jest przeznaczony dla osób poniżej 12 roku życia (według oceny) i nie ze względu na treść, ale raczej na dialogi i kontekst, często wykorzystujący sarkazm, który bez wątpienia jest trudny do zrozumienia, szczególnie dla dzieci. Niektórzy dorośli będą mieli trudności ze zrozumieniem niektórych fragmentów. Zaczyna się od sceny z piranią i idzie dalej, aż do samego końca.

Moja córka (10 lat) nie złapała rzeczy, które śmieszyły mnie i moją żonę, co nie jest zaskoczeniem. Nie sądzę, żeby ktokolwiek młodszy się na to zdecydował. To nie wszystko. Jest mnóstwo wysokiej klasy dialogów, które są bardzo wyrafinowane i wyselekcjonowane dla dorosłej publiczności.

Nawet jeśli udało wam się przejść przez pierwszy sezon, nawet jeśli nie rozumiecie połowy dialogów, nadal możecie z głębokim wyczuciem pielęgnować esencję muzycznych wrażeń. Jak scena Wednesday z wiolonczelą na dachu i [Cztery pory roku Vivaldiego: Zima](https://www.youtube.com/watch?v=sbgpF7gb9ds), po której następuje sentymentalna [wersja Nothing Else Matters autorstwa Apocalyptica](https://www.youtube.com/watch?v=mjvGjUovxPU).

Serial po raz trzeci powrócił na pierwsze miejsce wśród seriali Netflixa i nie mam wątpliwości, dlaczego. Serial na to zasługuje i z całą pewnością każdy będzie szukał drugiego sezonu. Czasami potrzebujemy ponurego humoru z horrorem.

Byłem dość sceptyczny co do serialu i całej sławy, jaką zyskuje. Spodziewam się, że serial będzie inny, zarysowując powierzchnię Stranger Things i innych tego typu seriali, ale nie, serial rzeczywiście jest inny, całkiem inny.

To mniej przerażające posunięcie, a bardziej coś, co trudno mi wyjaśnić. Jest o wiele głębszy i wyjątkowy na swój sposób. Określenie „horror komediowy” też nie brzmi najlepiej, choć można powiedzieć, że jest „zabawne”.

Wednesday to ogromne osiągnięcie, ale i wymóg, aby to kontynuować. Poprzeczka jest ustawiona bardzo wysoko i nikt nie będzie oczekiwał niczego innego w nadchodzącym sezonie... jeśli w ogóle. Oczywiście, jeśli zainteresowane strony ostatecznie ustalą, kto i kiedy wyemituje.

Tak ma wyglądać przedstawienie. Nie musi od początku przyciągać Twojej uwagi, ale jeśli tak się stanie, wyssie z Ciebie całą krew i zastąpi ją ponurym Sokiem z Żuka (Beetlejuice).

Kiedy myślisz, że układasz całą historię po jednym odcinku, zwrot za zwrotem akcji, więc na końcu myślisz, że wiesz, ale tak nie jest.

Czy możesz na końcu powiedzieć „Wiedziałem to”? Nie byłem i dlatego trzyma w napięciu do ostatniego odcinka.

Czasami musimy być mądrzy, sarkastyczni i trochę martwi wewnętrznie, aby przetrwać na tym świecie – bądź jak Wednesday.

{{% ads-in-article %}}


---
## Apple TV 4K (2022) – dobra konsola do gier z niewykorzystanymi możliwościami
- **URL:** https://dariusz.wieckiewicz.org/apple-tv-4k-2022-dobra-konsola-niewykorzystane-mozliwosci/
- **Date:** 2022-12-30
- **Tags:** Apple TV 4K, Apple TV 4K (2022), kontroler, Apple Arcade, konsola do gier, App Store, Apple

### Content

Wszyscy piszą o najnowszym modelu Apple TV 4K 2022 jako o idealnym urządzeniu premium do strumieniowego przesyłania filmów. Dzięki ulepszonemu układowi głównemu i (już) szerokiej obsłudze kontrolerów wszyscy zapominają, że to także całkiem przyzwoite pudełko do gier.

Kupiłem Apple TV 4K (2021) z myślą o powrocie do grania w gry na dużym ekranie. Nie mam już czasu inwestować w konsole do gier, a do okazjonalnego grania Apple TV jako konsola do gier byłby dobrą alternatywą.

<!--more-->

Kiedy dostałem model 2021, wybrałem do tego celu model 64 GB, ponieważ wiedziałem, że gry dużo ważą i będą potrzebowały dużo miejsca.

Mam już kontroler Xbox One, który współpracuje z moim iPhonem, więc po prostu podłączyłem go do Apple TV i byłem gotowy do grania w gry obsługujące kontrolery.

Model 2021 został wyposażony w chip A12 Bionic, który nie jest najnowszy, ale na moje potrzeby powinien wystarczyć. Wkrótce zdałem sobie sprawę, że w niektórych grach (na przykład Pathless) brakuje mocy obliczeniowej, ale w większości jest ona więcej niż wystarczająca.

Kiedy Apple wypuściło najnowszy model w 2022 roku, dokonało ogromnego skoku nie tylko w zakresie procesora (A15 Bionic), który zapewnia o 50% dodatkową wydajność i o 30% większą wydajność graficzną, ale także zwiększyło dostępną pamięć masową najwyższej klasy. Z zeszłorocznej konfiguracji 32/64 GB otrzymaliśmy opcję 64 GB/128 GB.

Oczywiście wziąłem 128 GB. Nie tylko dlatego, że potrzebowałem miejsca na dysku (po kilku grach pudełko już wołało o więcej), ale także dlatego, że tylko w tym modelu dostępny jest port Ethernet — drugi obsługuje tylko łączność Wi-Fi.

Najlepsza w tym była cena. 169 funtów za najwyższej klasy Apple TV było bardzo dobrą ofertą. Wiem, że wielu z Was może twierdzić, że można za to dostać coś lepszego, ale zastanówmy się nad prostotą konfiguracji. Apple TV 2022 jest znacząco mniejszy i lżejszy od modelu z 2021 roku.

Ta mniejsza i lżejsza konstrukcja ma swoją cenę. Grając przez dłuższy czas w grach wymagających grafiki, takich jak [Gear.Club Stradale](https://apps.apple.com/gb/app/gear-club-stradale/id1544427904), możesz doświadczyć nieoczekiwanego spadku liczby klatek na sekundę na krótki okres. To małe zaskoczenie, bo iPhone'y są nieco bardziej zapakowane, a mój 13 Pro Max, który ma ten sam procesor, tak się nie zachowuje.

Dbam o moje iUrządzenia, więc gdy pojawią się nowe, nadal mogę uzyskać przyzwoity zwrot ze sprzedaży starych.

Tym razem nie było inaczej. Sprzedając na eBay'u udało mi się odzyskać 60% pieniędzy, które wydałem na nowy. To była przyzwoita aktualizacja, biorąc pod uwagę, że obecnie wszystko staje się droższe.

Dzięki większej ilości miejsca mogłem pobrać więcej gier do wypróbowania bez konieczności usuwania innych.

Jako abonent Apple One otrzymałem dostęp do Apple Arcades, gdzie mogę przenieść grę z ekranu mojego iPhone'a na duży ekran telewizora 4K i cieszyć się wydajnością i wrażeniami.

> Kiedy pisałem ten tekst [dowiedziałem się czegoś nowego](https://www.macrumors.com/how-to/apple-tv-screenshots-video-mac/) o Apple TV, co dotyczyło zrobienia zrzutu ekranu. Korzystając z MacBooka Air M1, mogłem połączyć się z Apple TV za pomocą programu QuickTime Player, aby nagrywać ekran i zrzuty ekranu. To była naprawdę przydatna funkcja do dodawania obrazów do odpowiednich artykułów na temat Apple TV.

Jest jeden problem. Cały rok 2022 był rokiem **straconych szans** dla **Apple i programistów**.

Wciąż jesteśmy w okresie, w którym producenci samochodów wypuszczają supersamochody, aby jeździć nimi po zwykłych drogach. Supersamochody muszą jeździć po torze wyścigowym, a jeśli je kupisz, wiesz, dokąd się udasz w niedzielny poranek.

W przypadku Apple i Apple TV (ale także komputerów Mac z chipami Apple) problemem jest to, że brakuje im możliwości korzystania z tego „toru wyścigowego”.

Najpopularniejsze gry są dostępne wyłącznie na urządzeniach iPhone i iPad. Bardzo rzadko są dostępne dla Apple TV. Bez Apple Arcade cała ideologia gier z tym pudełkiem byłaby… słaba.

Jestem rozczarowany twórcami, że nie pozwolili na pobieranie i granie w gry takie jak Minecraft na Apple TV, tak samo jak na komputerach Mac z Apple Silicon.

Częściowo to rozumiem, ponieważ odnieśliby większe korzyści ze sprzedaży tych samych gier na różne platformy – konsole do gier, jednak z punktu widzenia użytkownika jest to do niczego.

Przy obecnej mocy pod maską brak możliwości jej pełnego wykorzystania nie jest dobrym pomysłem marketingowym.

Wyobraźcie sobie, jaki skok miałby Apple w sprzedaży urządzeń Apple TV i komputerów Mac, gdyby ludzie wiedzieli, że mogą grać w Call of Duty na tych urządzeniach za pomocą kontrolera.

Microsoft i Sony zarobiłyby jeszcze więcej, sprzedając kontrolery, których można z nimi używać.

Jeśli mogę grać w gry takie jak Rush Rally 3, dlaczego nie mogę grać w Need For Speed, który jest dostępny na innych moich urządzeniach?

Gry są już gotowe i dobrze współpracują z kontrolerami, więc dajmy im szum na dużym ekranie.

Ta sytuacja, w której wygrywają obie strony, jest jak pies na smyczy.

Widzieliśmy to na przestrzeni ostatnich lat, kiedy imperia benzynowe trzymały psa (producentów samochodów) na smyczy, uniemożliwiając szybsze wdrażanie samochodów elektronicznych. Ostatni rok lub dwa przyczyniły się do zmiany bardziej, niż widziałem do tej pory na mojej osi czasu.

Jako że zbliżamy się do końca roku i życzeń noworocznych, życzę Apple i programistom wprowadzenia zmian w kierunku poprawy dostępności najbardziej wymagających gier na innych urządzeniach Apple.

{{% ads-in-article %}}


---
## Kamień milowy osiągnięty - 40
- **URL:** https://dariusz.wieckiewicz.org/kamien-milowy-osiagniety---40/
- **Date:** 2022-12-20
- **Tags:** Kamień milowy, Odblokowanie poziomu 40, Przetrwanie, Przyjaciele, Przyjaźń, Wiedza, Życie, Czas życia

### Content

Przeżyłem!

Powinienem być dumny, że dożyłem 40 lat. Niektórzy ludzie, niektórzy moi przyjaciele, nie będą mogli tego powiedzieć.

Nieważne, co było w przeszłości, jesteśmy tu i teraz i idziemy naprzód, mając nadzieję, że zmienimy świat na lepsze.

Dożyłem połowy swojego życia, albo przynajmniej mam taką nadzieję. Byłbym bardzo wdzięczny, gdybym za kolejne 40 lat mój umysł nadal był tutaj i mógłbym zobaczyć, jak zmienił się świat.

Do tej pory nauczyłem się wiele, a jeszcze więcej nauczę się w przyszłości.

To, co wiem już w tym wieku, chcę się z wami podzielić.

<!--more-->

## Nie marnuj czasu na fałszywych przyjaciół

Życie jest zbyt krótkie. Przyjaciele powinni cię „podnosić”, a nie dołować.

Twoi przyjaciele sprzed 10 lat niekoniecznie muszą być twoimi przyjaciółmi dzisiaj. Życie się zmienia, a wraz z nim zmienia się postrzeganie świata przez ludzi. Znajdź swoich ludzi, swoją ekipę, swoich prawdziwych przyjaciół.

Usiądź, zastanów się i rozejrzyj się wokół. Zobacz, kto jest dla ciebie, gdy go potrzebujesz, a kto jest tylko wtedy, gdy czegoś od ciebie potrzebuje.

Przyjaźń to nie relacja typu „dawaj i bierz”. Ważne jest, aby być obecnym dla drugiej osoby, gdy najbardziej tego potrzebuje.

## Dowiedz się, kto jest twoim prawdziwym przyjacielem

Pamiętaj, kto jest tu dla ciebie. Słowo przyjaciel jest bardzo potężnym słowem. Nazywanie kogoś przyjacielem nie zawsze ma to samo znaczenie dla jednej osoby i dodanie kogoś do listy znajomych niekoniecznie oznacza, że ​​jesteście przyjaciółmi. Znacie się, ale jesteście daleko od bycia przyjaciółmi.

Twoim najbliższym przyjacielem jest twoja rodzina. Moja druga połówka, moja żona, jest moją drogą przyjaciółką, moją najlepszą przyjaciółką! Ta więź jest nieco inna, znacznie głębsza.

Jeśli szukasz znaczenia słowa przyjaciel, spójrz poza swoją rodzinę.

Zobacz, do kogo możesz zadzwonić w środku nocy i kto odbierze twój telefon. Kto, gdy zadzwonisz, spędzi godziny rozmawiając z tobą, tylko po to, aby upewnić się, że wszystko jest w porządku. Może nie rozmawiacie ze sobą każdego dnia, ale kiedy zaspokajacie potrzebę powiedzenia „cześć” bez żadnego innego powodu, to jest coś więcej. To jest przyjaźń.

Przyjacielstwo to nie tylko przyjaźń z innymi ludźmi, to także uczucie, jakie towarzyszy przebywaniu z tą osobą, rozmawianiu o niej, a nawet myśleniu o niej.

## Zidentyfikuj swoich przyjaciół

Kiedy spotkasz się ze swoim przyjacielem, kiedy z nim porozmawiasz, poczujesz się lekko. Twoja dusza poczuje się uniesiona, a Twój cel jako osoby zostanie wypełniony uczuciem spełnienia.

Unikaj przyjaciół, którzy wysysają Twoją energię życiową. Nasze życie jest zbyt krótkie, aby je na nich marnować. Idź dalej i znajdź prawdziwych przyjaciół.

Ktoś może poczuć się poruszony, że nagle nie jesteś dla niego. Mam nadzieję, że jeśli spojrzy wstecz, zrozumie, że nie był dla nas, nie był naszym przyjacielem.

Twój przyjaciel będzie dla Ciebie. Nie musi być tutaj za każdym razem, ale zawsze, gdy jest, masz to wypełnienie w środku. To Cię zmienia, przynosi optymizm i radość Twojej duszy.

## Pamiętaj, kto jest twoim przyjacielem

Ja, jako przyjaciel, nie będę mówił bzdur tylko po to, żebyś usłyszał to, co chcesz usłyszeć. Jako przyjaciel mogę ci powiedzieć prosto w twarz, co mi się w tobie nie podoba. Możemy wymieniać argumenty, ale zawsze cenimy opinie drugiej osoby. Niekoniecznie musimy się z nimi zgadzać, ale je cenimy.

Ktoś powiedział to ważne zdanie.

„Prawdziwy przyjaciel powie ci, co o tobie myśli, prosto w twarz, a nie za plecami!” Pamiętajmy o tym!

## Młody umysł w starym ciele

W wieku 40 lat wiem jedno, mogę mieć 40 lat, ale mój umysł czuje się, jakbym cały czas miał 20 lat.

Nie dorosłem.

Wewnątrz jestem dzieckiem, dojrzałym, ale wciąż dzieckiem.

Nauczyłem się współistnieć w świecie dorosłych, ale w środku chciałbym zrobić coś zabawnego, być śmieszny. Tylko moje ciało przypomina mi, że nie jestem tak młody, jak się czuję, i wtedy to czuję... głęboko.

Ale czasami dobrze jest być taką osobą. Posiadanie młodej duszy w ciele osoby starszej może pomóc innym, gdy najbardziej tego potrzebują.

## Nie wiemy wszystkiego

Nie jesteśmy ekspertami we wszystkim, ale w zawodzie, który wykonujemy. Staramy się być najlepsi i nie lubimy okazywać słabości, zwłaszcza w braku wiedzy.

Rozumiem to dobrze. Po ukończeniu studiów myślałem, że wiem wszystko i nie przyznam, że coś, co uważam za dobre, może być złe. Myślałem, że to pokaże moją słabość.

Teraz nie boję się powiedzieć, że nie wiem. Znam swoją wartość i wiem, jaką mam wiedzę. Niektórzy ludzie mogą być lepsi ode mnie w czymś i zawsze będą. Młode pokolenie będzie wiedziało więcej o przyszłości, niż ja wiem teraz. Nie muszę zawsze mieć racji.

Mogę włączyć się do dyskusji na temat czegoś, w czym nie jestem ekspertem, ale do momentu, w którym moja wiedza się wyczerpie, zatrzymam się i powiem, że nie wiem.

**Powiem, albo przynajmniej spróbuję powiedzieć, że nie wiem.**

To nie jest łatwe i boli w środku, aby przyznać się do naszych słabości, ale przynajmniej nie udajemy.

Zamiast próbować rozsiewać plotki, albo co gorsza, tworzyć je naszymi małymi umysłami, przyznajmy, że nie jesteśmy ekspertami we wszystkim.

**Kłamstwo jest rozwiązaniem krótkoterminowym.**

{{% ads-in-article %}}

Jeśli czegoś nie wiesz, przyznaj się do tego, ale nie kończ na tym etapie. Staraj się uczyć i zdobywać wiedzę, aby następnym razem móc podzielić się nią z innymi.

Musimy pamiętać, że w naszym wieku będzie coraz więcej osób, które wiedzą więcej niż my. Nie jesteśmy w stanie nauczyć się wszystkiego i musimy to przyznać. Nie spodoba nam się to, ale takie jest życie.

Urodziliśmy się bez wiedzy i kiedy nadejdzie czas, (mam nadzieję) zrozumiemy, że nadal nie wiemy wszystkiego.

---

Moim jedynym życzeniem dla siebie jest osiągnięcie kolejnego kamienia milowego i bycie tym starym, zrzędliwym facetem, który sprawia, że ​​wszyscy są jednocześnie dumni i zawstydzeni.

Mam tylko nadzieję, że życie mi na to pozwoli.


---
## Dodanie możliwości wyszukiwania na Mastodonie po adresie e-mail
- **URL:** https://dariusz.wieckiewicz.org/dodanie-mozliwosci-wyszukiwania-na-mastodonie-po-adresie-email/
- **Date:** 2022-12-19
- **Tags:** Mastodon, discoverability, odkrywalność, Netlify, Hugo, WebFinger Protocol, Protokół WebFinger, Redirects, Przekierowania, WebFinger Lookup, Wyszukiwanie WebFinger

### Content

W trakcie ostatnio „ciekawych” dni, kiedy ludzie zaczęli migrować na Mastodona, natrafiłem na dość interesujący [toot](https://hachyderm.io/@shanselman/109537851479089923) jednego z jego użytkowników, w którym wspomniał o dodaniu odkrywalności Mastodona dla dowolnej domeny przy użyciu protokołu WebFinger.

Bardzo zainteresowało mnie, jak to zaimplementować po mojej stronie, ponieważ wolę, aby ludzie odnajdywali mnie poprzez mój długoletni adres e-mail, zamiast nowo utworzonej nazwy użytkownika na wybranym serwerze Mastodon.

Ponieważ moja strona jest hostowana na [Netlify](https://www.netlify.com), postanowiłem sprawdzić, czy mogę to wdrożyć. Oto jak to zrobiłem.

<!--more-->

---

Aby lepiej zrozumieć, jak Scott to osiągnął po swojej stronie, odwołałem się do jego oryginalnego wpisu[^1]. Przeczytałem też więcej informacji o [protokole WebFinger](https://en.wikipedia.org/wiki/WebFinger) na Wikipedii, a następnie przypomniałem sobie [wpis Johna Muellera](https://johnmu.com/2022-mastodon-for-your-domain/) sprzed niedawna, w którym znalazłem rozstrzygające rozwiązanie dla siebie.

[^1]: [Use your own user @ domain for Mastodon discoverability with the WebFinger protocol without hosting a server](https://www.hanselman.com/blog/use-your-own-user-domain-for-mastodon-discoverability-with-the-webfinger-protocol-without-hosting-a-server)

---

Zanim zaczniemy, muszę wyjaśnić kilka rzeczy.

Jak wspomniano na początku, chciałbym, aby osoby w sieci Mastodon mogły mnie odnaleźć za pomocą mojego adresu e-mail, a nie konkretnej nazwy użytkownika w sieci Mastodon (obecnie `@dariusz_wieckiewicz@mastodon.social`).

Nie używam mojej głównej domeny dla strony. Moja strona jest serwowana na subdomenie `dariusz` domeny `wieckiewicz.org`, która jest także używana do obsługi mojego adresu e-mail.

Mastodon używa [protokołu WebFinger](https://docs.joinmastodon.org/spec/webfinger/) do odnajdywania użytkowników.

Używając narzędzi takich jak Lookup WebFinger, znajdującego się w prawym górnym rogu strony [WebFinger](https://webfinger.net), możesz wpisać adres e-mail, aby sprawdzić, jak jest rozwiązywany.

Jak zobaczysz na początku, Lookup WebFinger sprawdzi domenę, która jest częścią Twojego adresu e-mail, w następujący sposób:

```
GET https://wieckiewicz.org/.well-known/webfinger?resource=acct%3Adariusz%40wieckiewicz.org
```

Ponieważ moja strona jest statyczna i korzysta z [Hugo](https://gohugo.io), nie mam prawdziwej funkcjonalności serwera, aby dodać dynamiczne odpowiedzi. Aby obsłużyć to dynamiczne żądanie WebFinger, postanowiłem skorzystać z tego, co John wspomniał w sekcji [Apache & co](https://johnmu.com/2022-mastodon-for-your-domain/#apache--co) — przekierowań.

## Metoda przekierowań

Mam już ustawione pewne przekierowania dla mojej głównej domeny. Jeśli wpiszesz `wieckiewicz.org` w pasku adresu przeglądarki, zostaniesz przekierowany (kod 301) na `dariusz.wieckiewicz.org`. Robię to za pomocą pliku `_redirects` umieszczonego w folderze `/static` mojej strony opartej na Hugo.

```
https://wieckiewicz.org https://dariusz.wieckiewicz.org 301!
https://wieckiewicz.org/* https://dariusz.wieckiewicz.org/:splat                      301!
```

Te dwie reguły nie tylko przekierują główną domenę, ale też wszystkie linki, w których w adresie URL brakuje subdomeny `dariusz.`.

Oryginalne żądanie wysyłane przez WebFinger wygląda następująco:

```
https://wieckiewicz.org/.well-known/webfinger?resource=acct:dariusz@wieckiewicz.org
```

Jak zauważyłeś, symbole takie jak `:` i `@` są zastępowane ich odpowiednikami Unicode ze względów zgodności.

Trzeba o tym pamiętać przy tworzeniu reguły przekierowania w pliku `_redirects`, aby nic nie zostało przypadkowo zepsute.

> Teoretycznie odniesienie do `.well-known/webfinger` powinno wystarczyć, ale niektóre źródła, w tym John, odnoszą się również do Web Host Metadata (`.well-known/host-meta`) i Node Info (`.well-known/nodeinfo`), więc uwzględnię je także.

Pomiędzy dwiema wymienionymi wcześniej regułami wstawiłem następujące:

```
https://wieckiewicz.org/.well-known/webfinger?resource=acct%3Adariusz%40wieckiewicz.org         https://mastodon.social/.well-known/webfinger?resource=acct%3Adariusz_wieckiewicz%40mastodon.social     301!

https://wieckiewicz.org/.well-known/host-meta?resource=acct%3Adariusz%40wieckiewicz.org         https://mastodon.social/.well-known/host-meta?resource=acct%3Adariusz_wieckiewicz%40mastodon.social     301!

https://wieckiewicz.org/.well-known/nodeinfo?resource=acct%3Adariusz%40wieckiewicz.org          https://mastodon.social/.well-known/nodeinfo?resource=acct%3Adariusz_wieckiewicz%40mastodon.social     301!
```

Może to wyglądać nieco skomplikowanie, ale jeśli masz na swojej domenie więcej użytkowników, którzy korzystają z różnych serwerów w fediverse, będzie łatwiej dodać ich bez ograniczania do jednej instancji (serwera).

Widać tutaj, że kiedy WebFinger zażąda odpowiedzi z `/.well-known/webfinger?resource=acct:dariusz@wieckiewicz.org` na mojej domenie, zostanie ono przekierowane na `mastodon.social` oraz moją nazwę użytkownika tam — `dariusz_wieckiewicz@mastodon.social`.

Gdy przekierowanie będzie aktywne, serwis `WebFinger Lookup` (`https://webfinger.net`) powinien zwrócić odpowiedź dla właściwego użytkownika na serwerze `mastodon.social`.

> Pamiętaj, zanim zastosujesz jakiekolwiek reguły w `_redirects` na produkcji, przetestuj je w [Netlify Playground](https://play.netlify.com)!

{{% ads-in-article %}}

## Metoda pojedynczego pliku

Użycie metody przekierowań jest dość ambitne. Jeśli szukasz szybkiego i prostego rozwiązania, [Alex Guyot na Mastodonie](https://mastodon.macstories.net/@alex/109836437717763915) zaproponował **bardzo proste** rozwiązanie polegające na sfałszowaniu odpowiedzi protokołu WebFinger serwowanej z naszej domeny.

Rozwiązanie polega na utworzeniu pliku `webfinger` wewnątrz folderu `.well-known` (z kropką na początku).

Uzyskując odpowiedź z tego samego pliku na wybranym serwerze Mastodon, wystarczy ją skopiować, wkleić i zapisać w naszym pliku zastępczym.

Korzystając z następującej części ścieżki, możemy otrzymać odpowiedź JSON z serwera Mastodon:

```
/.well-known/webfinger?resource=acct:yourusername@mastodon.host
```

Na przykład:

```
https://mastodon.social/.well-known/webfinger?resource=acct:dariusz_wieckiewicz@mastodon.social
```

To da prostą odpowiedź:

```JSON
{"subject":"acct:dariusz_wieckiewicz@mastodon.social","aliases":["https://mastodon.social/@dariusz_wieckiewicz","https://mastodon.social/users/dariusz_wieckiewicz"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://mastodon.social/@dariusz_wieckiewicz"},{"rel":"self","type":"application/activity+json","href":"https://mastodon.social/users/dariusz_wieckiewicz"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://mastodon.social/authorize_interaction?uri={uri}"}]}
```

Skopiowanie, zapisanie i serwowanie pliku w `/.well-known/webfinger` załatwi sprawę.

Brudno proste, ale działa dobrze — warto spróbować.

---

Czas sprawdzić, czy inni użytkownicy mogą nas wyszukać (znaleźć) w sieci Mastodon, używając naszego oryginalnego adresu e‑mail, bez konieczności znajomości serwera, na którym mamy konto.

> Spróbuj wyszukać mnie, wpisując mój adres strony, ale wstaw znak `@` między moim imieniem (`dariusz`) a moim nazwiskiem‑domeną (`wieckiewicz.org`).

Daje to elastyczność przechodzenia między instancjami, a osoby, które nas nie obserwują, nadal mogą nas znaleźć, korzystając z oryginalnego adresu e‑mail. Oczywiście działa to dopóki będziemy aktualizować nasz plik WebFinger.

Czemu by nie **spróbować**, **znaleźć mnie** i **powiedzieć cześć**!


---
## Dosyć tego. Żegnaj Twitter.
- **URL:** https://dariusz.wieckiewicz.org/dosyc-tego-zegnaj-twitter/
- **Date:** 2022-12-14
- **Tags:** twitter, opuszczanie twittera, twitter exit, dezaktywacja konta na twitterze, mowa nienawiści, nienawiść, zdrowie psychiczne, depresja, lęk, wypalenie

### Content

Po przeczytaniu dzisiejszego wpisu w Guardianie na temat [nagłego rozwiązania rady ds. bezpieczeństwa przez Twittera na chwilę przed spotkaniem](https://www.theguardian.com/technology/2022/dec/12/twitter-safety-council-dissolved-before-meeting), a następnie stale rosnącej liczby nienawistnych wypowiedzi na platformie, uznałem, że mam już dość.

<!--more-->

Nie mam już czasu, żeby się tym zajmować. Wszystkie te rzeczy dziejące się na Twitterze powodują tylko coraz większy niepokój, który negatywnie wpływa na moje zdrowie psychiczne.

Podobnie, lata temu, ograniczyłem swoje interakcje na Facebooku, z twitterem jest podobnie, opóźniałem to jednak myśląc, że może być tam jeszcze coś pozytywnego, byłem w błędzie. Jedyną dobrą rzeczą jest opuszczenie tego toksycznego miejsca.

Są na świecie ważniejsze rzeczy, takie jak rodzina, niż zawracanie głowy gościem z problemami (i wielkim ego), który myśli, że za pieniądze można kupić wszystko.

Ten facet, którego nazwiska nie warto wymieniać, myśli, że może zachowywać się jak chce, bo ma pieniądze i władzę.

Brak szacunku dla ludzi i ich opinii, niszczenie im życia i pozwalanie na szerzenie przemocy i mowy nienawiści to dla mnie wystarczająco dużo.

Cokolwiek powie, nie jest warte tyle, co długoterminowa prognoza pogody. Nie zapłaciłbym za to ani grosza. Powiedział, że nie zablokuje nikomu konta, a potem zablokował je znienacka. Mówił, że bandyta nie będzie mógł wrócić, a potem wrócił. Żałosne!

Uważałem Twittera jako miejsce, w którym dominuje informacja, ale teraz wstydzę się, że jestem częścią tej platformy, odkąd przejął ją i położył gówno stół.

Na platformie jest wiele ludzi, którzy nadal myślą, że ta platforma może mieć szansę. Ja też miałem taką nadzieję, ale odkąd on przejął władzę, ale teraz myślę, że jest ona martwa.

Zgadzam się z Nicolasem Magandem, który powiedział bardzo uprzejmie, że [**on jest niebezpieczny**](https://thejollyteapot.com/2022/12/14/a-few-thoughts-on-elon-musk).

W przeszłości uważałem, że osiągnięcia tego gościa można chwalić, ale po poznaniu prawdy, że żadne z nich nie jest jego, drastycznie zmieniłem zdanie na jego temat. On jest po prostu oszustem.

On jest po prostu czarną obcą, tak jak gościu of Coca-Coli był dla Apple w przeszłości. Kiedy ludzie to zrozumieli, było już za późno.

Na szczęście niektórym firmom udało się odbić, ale nie jestem pewien, czy Twitterowi też się to uda.

Niektórzy wspominają, że [Twitter straci 32 miliony użytkowników w ciągu dwóch lat po jego przejęciu](https://www.theguardian.com/technology/2022/dec/13/twitter-lose-users-elon-musk-takeover-hate-speech) i nie będę zaskoczony, jeśli tak się stanie.

Kilka miesięcy temu, kiedy odwiedziłam z córką kilka szkół średnich, aby pomóc jej podjąć właściwą decyzję na przyszłość, uderzyło mnie, że niektóre z nich mają w założeniu pomóc dziecku w założeniu własnego konta na Twitterze.

To było przed przejęciem władzy przez tego gościa, więc nie było to tak straszne, jak jest teraz. Mam tylko nadzieję, że w obecnej sytuacji szkoły rozważą wprowadzenie tego typu mediów społecznościowych do swojego programu nauczania.

Z niecierpliwością czekam na to, jak szkoły, czyli miejsca, w których należy promować szacunek, zareagują na portal, gdzie szacunek zanika, a nienawiść rośnie.

Jeśli zajdzie taka potrzeba, jako rodzic, zainicjuję otwarty list do dyrektora szkoły, aby podkreślić, dlaczego ten portal nie powinien być brany pod uwagę w miejscu takim jak szkoła, gdzie wartości powinny mieć znaczenie.

Żegnam się z Twitterem, ale to nie oznacza, że ​​nie wrócę w przyszłości, jeśli sytuacja wróci do normy lub jeśli będę zmuszony wrócić...

{{% ads-in-article %}}

Nadal można się ze mną skontaktować na wiele sposobów, ale na razie Twitter nie będzie jednym z nich.

Zakończmy ten krótki wpis tekstem z Forbesa [Nie pozwól, aby media społecznościowe zniszczyły Twoje samopoczucie](https://www.forbes.com/sites/tracybrower/2022/12/11/dont-let-social-media-destroy-your-wellbeing-5-ways-to-manage/?sh=2b88e7c66460)

> _„Media społecznościowe (...) mogą przytłoczyć Cię złymi wiadomościami, odciągnąć od kontaktów w prawdziwym życiu i doprowadzić do depresji, lęku, a nawet wypalenia.”_

Jeśli jakiekolwiek media społecznościowe, nie tylko Twitter, sprawiają, że czujesz się gorzej każdego dnia, czas odłączyć się od nich na dobre. Jak wielu młodych ludzi odbiera sobie życie z tego powodu, to jest przerażające. Odłączenie nie jest łatwe, ale czasami konieczne i może być kwestią życia lub śmierci.


---
## Google zmusi cię na przejście na płatny Google Workspace (z darmowej wersji) lub migrację
- **URL:** https://dariusz.wieckiewicz.org/google-zmusi-cie-na-przejscie-platny-google-wokspace-migracja/
- **Date:** 2022-12-12
- **Tags:** Google Apps, G Suite, G Suite legacy, Google Admin, Free Plan, Free Edition, no charges, darmowy, darmowe, Aplikacje Google, Google, Google Drive, Storage

### Content

Po całym zamieszaniu w Google, po tym, jak [chciał zmusić użytkowników do płacenia za konto Google w domenie](/ostateczny-koniec-google-g-suite-free-edition-legacy/), o czym pisałem wcześniej, przyszła nadzieja. Użytkownicy musieli zdeklarować się (potwierdzić), że używają Google Workspace do celów osobistych, a nie zarobkowych. Po tym nasza licencja została przeniesiona ponownie na plan darmowy i problem wyglądał na rozwiązany. Nic bardziej mylnego!

<!--more-->

![Google Workspace Business Starter Free Plan Free edition (no charges)](/images/2022/12/google_workspace_business_starter_free.png)

Wszystko wydawało się tak jak dawniej, jednakże nie do końca. Otóż poniekąd zostaliśmy oszukani (znowu), co mnie wcale nie dziwi.

Google zdecydowało się wyłączyć opcję dokupowania miejsca na dysku przez poszczególnych indywidualnych użytkowników należących do Google Workspace.

Na moim koncie (użytkowniku) od dawna miałem dokupione dodatkowe 100GB i usługa cały czas jest dla mnie dostępna, jednakże tylko dla mnie i tylko dopóki za nią płacę.

Ostatnio próbowałem dodać miejsce na dysku do dodatkowego użytkownika w rodzinie i niestety nie mogłem, gdyż jedyną informację, jaką otrzymałem, przechodząc na sekcję [Storage](https://drive.google.com/settings/storage) było to, że moje miejsce zarządzane jest przez administratora. Co ciekawe, tę samą informację mam wyświetloną na moim koncie, gdzie to ja jestem administratorem.

![Google Storage is managed by your admin](/images/2022/12/google_workspace_storage_managed_by_your_admin.png)

Przechodząc do panelu administracyjnego Google Workspace i sekcji [Storage](https://admin.google.com/ac/storage) nie znajdę tam żadnych przydatnych informacji, które pozwolą mi zwiększyć miejsce na dysku bez konieczności przejścia na płatny plan.

![Google Workspace storage section](/images/2022/12/google_workspace_storage_section.png)

Jako że w mojej wersji usługi nie ma możliwości dzielenia miejsca na dysku wśród użytkowników, nie mogę też dokupić miejsca w żaden sposób bez aktualizacji licencji i płacenia jak za zboże.

Totalna przesada.

Poniekąd jest to zemsta Google, które zachowało darmowy plan (po fali krytyki), ale ograniczyło inne usługi, przez co prędzej czy później zmusi nas do zmiany.

Do czasu znalezienia rozwiązania, aż się boję ruszać moją subskrypcję na koncie, gdyż po jej usunięciu nie będę mógł jej dodać ponownie.

![Subscription for 100GB in Google Drive](/images/2022/12/google_drive_100GB_subscription.png)

Myślałem już o całkowitej rezygnacji z usługi Google Workspace na rzecz prywatnego konta Google i [możliwości podpięcia domeny, tak jak opisywałem to wcześniej](/cloudflare-poczta-we-wlasnej-domenie/), o tyle moje plany nie były tak pilne, gdy mogłem zostać na Google Workspace bez płacenia.

Tym razem jednak muszę przemyśleć, jak to wszystko ogarnę.

Coraz bardziej zastanawiam się nad wskrzeszeniem mojego szkicu artykułu, w którym zacząłem opis jak przenieść się z Google Workspace do standardowego konta Google.

Szczerze, przejście na standardowe konto Google ma swoje plusy, chociażby możliwość utworzenia grupy rodzinnej i dodanie do całej grupy dodatkowego miejsca. 

Wygląda na to, że już niedługo będę próbował to zrobić, a o moich postępach napiszę.

Na razie jestem wkurzony i czuję się ponownie oszukany, szczególnie że po części już i tak płacę dla Google za dodatkowe usługi.

O ile w przeszłości, w trakcie całego zamieszania miałem możliwość uruchomienia chatu z przedstawicielem Google, obecnie zostałem tego pozbawiony, więc nie mam możliwości skonsultowania się, przez co moje opcje są ograniczone.

O przejściu na płatną usługę nie myślę, gdyż płacenie £9.20 miesięcznie za użytkownika (a mam ich w sumie 5) to lekka przesada.

Jak Google pisze, dla większości edycji jest możliwość dokupienia dodatkowego miejsca jako add-on, ale oczywiście, w ramach zemsty, ta opcja nie jest dostępna dla tych, co pozostali na darmowej wersji.

> "For most Google Workspace editions, you can buy Workspace Additional Storage add-on subscriptions."

Aby można było dodać dodatkowe miejsce, należy mieć w swojej subskrypcji opcję dzielenia miejsca pomiędzy użytkowników (tzw. pooled storage), co oczywiście nie jest dostępne w tej edycji.

Co więcej, na [stronie google](https://apps.google.com/supportwidget/articlehome?hl=en&article_url=https%3A%2F%2Fsupport.google.com%2Fa%2Fanswer%2F12005619%3Fhl%3Den&product_context=12005619&product_name=UnuFlow&trigger_context=a) można potwierdzić, że użytkownicy wersji darmowej nie będą mogli dokupić miejsca na dane.

> "As of June 2022, the G Suite legacy storage add-ons are no longer available to purchase."

Wkurzający jest jednak następujący tekst, w którym to czytamy, że przedstawiciel skontaktuje się z nami w celu przedstawienia nam opcji związanych z miejscem na dysku, co oczywiście się nie stanie.

> "If you’re a customer with this add-on, we’ll contact you when it’s time to transition your storage to a Workspace offering."

Po tym, jak pisałem wcześniej, jak [trzy różne osoby z Google przedstawiły mi trzy różne opinie](/g-suite-legacy-pozostanie-darmowy-dla-uzytku-osobistego/), nie dziwię się, że w ich dziale panuje po prostu burdel.

W styczniu 2022 próbowałem [znaleźć alternatywę dla Google Workspace (G Suite)](/w-poszukiwaniu-alternatywy-g-suite-legacy/) to jednak nic z tego nie wyszło, a więc spróbuje inne podejście.

Pora na utworzenie konta Gmail dla każdego członka rodziny, podpięcie ich w grupę rodzina i odpowiednie skonfigurowanie domeny do obsługi odbierania adresów e-mail w domenie, jak również na wysyłanie z nich.

A więc mam co robić w najbliższych miesiącach...

{{% ads-in-article %}}


---
## Zabawa z zabezpieczonymi plikami Microsoft Excel
- **URL:** https://dariusz.wieckiewicz.org/zabawa-z-zabezpieczonymi-plikami-microsoft-excel/
- **Date:** 2022-12-06
- **Tags:** Microsoft Excel, Zabezpieczone hasłem, Pliki XLSX, Pliki XLSM, Usuwanie hasła, Chroń arkusz, Chroń strukturę skoroszytu, Zaszyfrowane hasłem, Hasło do modyfikacji, Microsoft Visual Studio Code, 7-Zip, Plik ZIP, Pliki XML, Office 365, Microsoft 365

### Content

Ostatnio w pracy napotkaliśmy problem związany z koniecznością przywrócenia jednego ze starych plików Excel. Okazało się, że choć sam plik można było otworzyć bez problemu, niektóre opcje, takie jak Struktura skoroszytu lub indywidualne arkusze, były chronione hasłem.

Problem polegał na tym, że osoba, która pierwotnie stworzyła ten plik, nie pracowała już w firmie, a nikt inny nie znał użytego hasła. Ponieważ mogłem otworzyć sam plik, gdyż nie był chroniony, a wiedziałem, jak są skonstruowane pliki XLSX (i XLSM), postanowiłem użyć metody siłowej, aby usunąć te ograniczenia.

Oto jak to wyglądało…

<!--more-->

> Zanim przejdziemy dalej, nie omawiam tutaj usuwania haseł z plików, które są zaszyfrowane i wymagają hasła do otwarcia, ponieważ to nie jest takie proste.

Pliki XLSX (i XLSM) są tworzone w specyficznej strukturze, którą, mówiąc w skrócie, możemy traktować jako skompresowany plik ZIP zawierający pliki XML.

Możemy je rozpakować jak plik ZIP i przejrzeć strukturę w zwykłych plikach XML. Dzięki temu, manipulując plikami XML, możemy usunąć odpowiednie ciągi haseł, skompresować pliki z powrotem w jeden plik i otworzyć go bez zabezpieczeń.

Do tego potrzebne będzie narzędzie takie jak [7-Zip](https://www.7-zip.org).

Na potrzeby tego artykułu przygotowałem 4 pliki.

[![4 pliki testowe przygotowane do celów ćwiczeń](excel_files-4_test_files.png)](excel_files-4_test_files.png)

Klikając prawym przyciskiem myszy na pliku, będziemy używać podmenu **7-Zip** (w Windows 11 musimy kliknąć na dole, aby wyświetlić więcej opcji i odkryć 7-Zip), aby wybrać opcje **Otwórz archiwum**, **Wypakuj do...**, a po zakończonej pracy **Dodaj do archiwum...**.

Rozpoczynając od wypakowania naszego pliku XLSX, przechodzimy do utworzonego folderu i widzimy następującą strukturę.

[![Struktura plików wypakowanego pliku XLSX](excel_files-xlsx_file_structure_extracted.png)](excel_files-xlsx_file_structure_extracted.png)

Każdy folder zawiera więcej plików XML. To są pliki, które będziemy modyfikować.

Do celów modyfikacji użyję [Microsoft Visual Studio Code](https://code.visualstudio.com), a klikając prawym przyciskiem myszy na folder z wypakowaną zawartością pliku, wybiorę opcję **Otwórz za pomocą Code**.

## Usuwanie hasła — Ochrona arkusza

`\Book1-protected sheet.xlsx`

Rozpakujmy nasz plik, klikając na nim prawym przyciskiem myszy i wybierając z menu **7-Zip** opcję **Wypakuj do Book1-protected sheet**, a następnie klikając prawym przyciskiem na folder **Book1-protected sheet** i wybierając **Otwórz za pomocą Code**.

Z górnego menu VS Code wybierz **Edycja** > **Znajdź w plikach** i w polu wyszukiwania wpisz słowo **protect**.

To odnajdzie plik zawierający zabezpieczenie, takie jak (`<sheetProtection ...`).

[![Plik XML ze stringiem sheetProtection w VS Code](excel_files-vs_code_sheetProtection.png)](excel_files-vs_code_sheetProtection.png)

Usuń cały ciąg od `<sheetProtection ...` aż do jego zamykającego znacznika ` />` i zapisz plik.

Wracając do eksploratora plików, przechodzimy do folderu **Book1-protected sheet**, zaznaczamy wszystkie pliki i foldery, klikamy prawym przyciskiem myszy na zaznaczenie i wybieramy z menu 7-Zip opcję **Dodaj do archiwum...**.

[![Kompresowanie z powrotem do pliku XLSX](excel_files-7-zip_compress_xlsx.png)](excel_files-7-zip_compress_xlsx.png)

Jeśli nie jest to już zaznaczone, w oknie 7-Zip wybierz format archiwum **zip**, a na górze zmień nazwę pliku z **Book1-protected sheet.zip** na **Book1-protected sheet.xlsx** i naciśnij **OK**, aby skompresować.

Teraz możesz otworzyć nowo utworzony plik XLSX w Excelu, a Twój wcześniej chroniony arkusz będzie pozbawiony hasła.

_Dosyć proste, ale nasuwające pytanie: czy ta metoda ochrony powinna być tak łatwa do obejścia w pierwszej kolejności?_

## Usuwanie hasła — Ochrona struktury skoroszytu

`\Book1-protected workbook structure.xlsx`

Podobnie jak powyżej, rozpakujmy plik, klikając na nim prawym przyciskiem myszy i wybierając z menu **7-Zip** opcję **Wypakuj do Book1-protected workbook structure**, a następnie klikając prawym przyciskiem na folder **Book1-protected workbook structure** i wybierając **Otwórz za pomocą Code**.

Z górnego menu VS Code wybierz **Edycja** > **Znajdź w plikach** i w polu wyszukiwania wpisz ponownie słowo **protect**.

To odnajdzie plik skoroszytu zawierający ciąg `<workbookProtection ...`.

[![Plik XML ze stringiem workbookProtection w VS Code](excel_files-vs_code_workbookProtection.png)](excel_files-vs_code_workbookProtection.png)

Usuń cały ciąg od `<workbookProtection ...` aż do jego zamykającego znacznika ` />` i zapisz plik.

Przejdź do folderu **Book1-protected workbook structure**, zaznacz wszystkie pliki i foldery, kliknij prawym przyciskiem myszy na zaznaczenie i wybierz z menu 7-Zip opcję **Dodaj do archiwum...**.

Skompresuj pliki w formacie **zip**, zmieniając nazwę pliku na **Book1-protected workbook structure.xlsx**.

[![Ponownie kompresowanie do pliku XLSX](excel_files-7-zip_compress_xlsx_2.png)](excel_files-7-zip_compress_xlsx_2.png)

Teraz możesz otworzyć nowo utworzony plik XLSX w Excelu, a struktura Twojego skoroszytu nie będzie już chroniona.

{{% ads-in-article %}}

## Usuwanie hasła — Hasło do modyfikacji

Usuwanie haseł z plików, które wymagają hasła do modyfikacji zawartości (ale pozwalają na przeglądanie), można przeprowadzić w podobny sposób, wyszukując frazę **password**.

Będzie to wyglądało na przykład tak: `reservationPassword="E5F2"`

[![Plik XML ze stringiem reservationPassword w VS Code](excel_files-vs_code_reservationPassword.png)](excel_files-vs_code_reservationPassword.png)

> Wyświetlane hasło nie jest w formie zwykłego tekstu.

Usuwając jedynie tę część `reservationPassword="E5F2"` i zapisując nasz plik, a następnie kompresując go, jak wcześniej, z powrotem do pliku XLSX, możemy łatwo usunąć tego rodzaju ograniczenie.

Podobnie możemy eksperymentować z innymi ograniczeniami i ochroną w plikach Excel, szczególnie w przypadku plików, które zostały świeżo przekonwertowane z formatu XLS na nowy format XLSX.

Należy jednak pamiętać, że metoda ta **nie działa na plikach XLSX zaszyfrowanych i chronionych hasłem**.

## Pliki XLSX Zaszyfrowane Hasłem

`\Book1-encrypted with password.xlsx`

Jeśli chcesz zabezpieczyć swój plik w bardziej bezpieczny sposób, zawsze wybieraj opcję Szyfrowania z Hasłem, która wymaga hasła do otwarcia pliku. Tego typu pliku nie można po prostu rozpakować jak pliku ZIP (można próbować, ale dane będą nieczytelne).

[![Błąd w 7-Zip przy próbie wypakowania zaszyfrowanego pliku XLSX](excel_files-error_extracting_encrypted_xlsx_file.png)](excel_files-error_extracting_encrypted_xlsx_file.png)

[![Struktura pliku zaszyfrowanego XLSX](excel_files-encrypted_xlsx_file_structure.png)](excel_files-encrypted_xlsx_file_structure.png)

Do złamania haseł w tego typu plikach możesz potrzebować innego specjalistycznego oprogramowania.

---

Nawet jeśli nie możemy usunąć wszystkich ograniczeń bez specjalistycznego oprogramowania, za pomocą powyższych metod możemy przynajmniej odzyskać dostęp do części chronionych plików.

> Testowałem powyższe rozwiązania na plikach XLSX i XLSM, ale mogą one również działać z innymi typami plików.

Pozdrawiam.


---
## Microsoft wydaje przydatne narzędzie PC Manager
- **URL:** https://dariusz.wieckiewicz.org/microsoft-wydaje-przydatne-narzedzie-pc-manager/
- **Date:** 2022-10-22
- **Tags:** Microsoft PC Manager, PC Manager Public Beta, PC Manager, Feedback, CCleaner, BleachBit, OnyX, Oczyszczanie dysku, Disk Clean-up, Menadżer Zadań, Task Manager, Storage sense, wykorzystanie pamięci RAM, Health check, Manage large files, Windows Defender, Windows Update, Browser Protection

### Content

Lepiej późno niż wcale, tak to się zwie. Microsoft zaczyna uzupełniać braki w rzeszy oprogramowania, które stają się niezbędnym narzędziem w codziennej pracy.

Windows stał się o niebo stabilniejszy. Nikt już nie krzyczy o konieczności przeinstalowania systemu raz na pół roku jak nie częściej. Staliśmy się bezpieczniejsi, gdy Windows Defender dorównał przodującym antywirusom, a przeglądarka Microsoft Edge stała się wbudowaną alternatywą dla Google Chrome.

Samemu systemowi jednak co nieco brakowało.

<!--more-->

Tutaj braki uzupełniał CCleaner.

CCleaner był swego rodzaju narzędziem wręcz niezbędnym. Po tym, jak zaczęło się w tym oprogramowaniu zmieniać na gorsze, w poszukiwaniu alternatywy większość z nas przeniosła się na BleachBit.

> Zobacz: [CCleaner do odstawki](/ccleaner-oczyszcznie-dysku-bleachbit/)

Tak jak [OnyX w macOS](https://www.titanium-software.fr/en/onyx.html), tak CCleaner i [BleachBit](https://www.bleachbit.org) pomagały uporać się ze śmieciami w systemie (w zaawansowany sposób).

O ile, od lat, posiadaliśmy już wbudowane narzędzie do oczyszczania systemu — Oczyszczanie dysku (**Disk Clean-up**), oraz opcje wbudowane w ustawienia (**Settings**) systemu Windows, w sekcji **Storage**, o tyle wielu rzeczy brakowało.

Czy PC Manager zamierza to zmienić? Zobaczmy.

---

Microsoft PC Manager dostępny jest w postaci publicznej fazy Beta, mimo tego postanowiłem się mu nieco przyjrzeć i zobaczyć co oferuje.

[![PC Manager Interfejs startowy](/images/2022/10/PC_Manager_Interfejs_startowy.png)](/images/2022/10/PC_Manager_Interfejs_startowy.png)

Startowy interfejs jest minimalistyczny w porównaniu, chociażby do BleachBit, który może niektórych przestraszyć.

Podzielony jest on na dwie sekcje, Oczyszczanie (**Cleanup**) oraz Bezpieczeństwo (**Security**).

{{% gallery %}}
[![PC Manager Boosting](/images/2022/10/PC_Manager_Boosting.png)](/images/2022/10/PC_Manager_Boosting.png)
[![PC Manager Performance boosted!](/images/2022/10/PC_Manager_Performance_boosted.png)](/images/2022/10/PC_Manager_Performance_boosted.png)
{{% /gallery %}}

Na pierwszy rzut oka mamy przycisk **Boost** pozwalający nam, bez zagłębiania się w opcje programu, szybko przyśpieszyć nasz komputer.

Jak możemy zauważyć, czasami Boost nic tak naprawdę nie da, dopóki nie zamkniemy programu i uruchomimy ponownie z uprawnieniami Administratora.

> Samo zamknięcie aplikacji przyciskiem **X** nic nie da, gdyż domyślnie aplikacja działa w tle i rezyduje w Tray-u koło zegarka. Należ stamtąd, korzystając z prawego przycisku myszy, wybrać opcję Zakończ (**Exit**).

Wówczas aplikacja zyskuje dostęp do całego dysku i ma możliwość usunięcia większej ilości śmieci.

W moim przypadku, na komputerze testowym, z 0KB, przy normalnym włączeniu, miałem możliwość opróżnienia 15.1GB śmieci, po uruchomieniu z uprawnieniami Administratora (Run as Administrator).

Oprócz plików tymczasowych widzimy również aktualne **wykorzystanie pamięci RAM**.

[![PC Manager Health Check](/images/2022/10/PC_Manager_Health_check.png)](/images/2022/10/PC_Manager_Health_check.png)

Przechodząc dalej do dyspozycji mamy **Health check**.

Opcja ta przeskanuje nasz komputer pod kątem elementów, które bezpiecznie możemy usunąć, wirusów, rzeczy, które mogą powodować problemy (potential issues) oraz aplikacji, które negatywnie mogą wpływać na prac systemu.

> Oczywiście, Microsoft jest skory do podświetlenia Dysku Google, jako aplikacji, która może wpływać na wydajność systemu, mając nadzieję, że ludzie masowo przeniosą się do OneDrive.

W moim przypadku **Health check** nic poważnego nie wykrył.

[![PC Manager Store management](/images/2022/10/PC_Manager_Store_management.png)](/images/2022/10/PC_Manager_Store_management.png)

Kolejną pozycją w sekcji Oczyszczanie (**Cleanup**) jest Zarządzanie przestrzenią dyskową (**Storage management**).

[![Windows 11 Settings System Storage Storage Sense](/images/2022/10/Windows_11_Settings_System_Storage_Storage_Sense.png)](/images/2022/10/Windows_11_Settings_System_Storage_Storage_Sense.png)

Tam mamy odniesienie do narzędzi, które są dostępne standardowo w systemie. Skrót do **Storage sense** przeniesie nas do ustawień (**Settings**) i sekcji **Storage**.

[![Windows 11 Settings Apps Installed apps](/images/2022/10/Windows_11_Settings_Apps_Installed_apps.png)](/images/2022/10/Windows_11_Settings_Apps_Installed_apps.png)

Natomiast Zarządzanie aplikacjami (**Manage apps**) do sekcji zarządzania zainstalowanymi aplikacjami.

{{% gallery %}}
[![PC Manager Select cleanup items](/images/2022/10/PC_Manager_Select_cleanup_items.png)](/images/2022/10/PC_Manager_Select_cleanup_items.png)
[![PC Manager Cleanup completed](/images/2022/10/PC_Manager_Cleanup_completed.png)](/images/2022/10/PC_Manager_Cleanup_completed.png)
{{% /gallery %}}

Oprócz tego, mamy do dyspozycji narzędzie, które pozwoli nam wykonać dogłębne skanowanie systemu pod kątem śmieci, które nie zostały standardowo wykryte przy szybkim skanowaniu.

Jak zauważymy, opcje dostępne po przeskanowaniu są bardzo podobne do aplikacji Oczyszczanie Dysku (**Disk Clean-up**), więc nie zdziwię się, że w momencie, gdy aplikacja wejdzie w finalną wersję, zostanie ona zintegrowana z systemem, a Oczyszczanie dysku (**Disk Clean-up**) zostanie pożegnany.

> Tutaj ponownie uwaga. Dokonując skanowania, pamiętajmy, aby nasza aplikacja uruchomiona była z podwyższonymi uprawnieniami administratora.

[![PC Manager Manage large files](/images/2022/10/PC_Manager_Manage_large_files.png)](/images/2022/10/PC_Manager_Manage_large_files.png)

Kolejną opcją jest Zarządzanie dużymi plikami (**Manage large files**). Jeżeli czasami zastanawiasz się, które pliki zajmują ci miejsce na dysku, z tym narzędziem, możesz się tego dowiedzieć.

W opcjach możemy ustawić wielkość plików (**Size**) oraz ich typ (**Type**), po czym wynik możemy zobaczyć w Eksploratorze (**View in File Explorer**) w postaci wyników wyszukiwania.

> Tutaj może okazać się niezbędne posiadanie włączonego (domyślnie) indeksowania plików w systemie. Jeżeli go wyłączyłeś, gdyż nie posiadasz szybkiego dysku SSD, pomyśl o podrasowaniu twojego komputera.

---

[![PC Manager Process management](/images/2022/10/PC_Manager_Process_management.png)](/images/2022/10/PC_Manager_Process_management.png)

Następną opcją w sekcji Oczyszczanie (**Cleanup**) jest Zarządzanie Procesami (**Process management**).

{{% ads-in-article %}}

Dla osób na co dzień korzystających z Managera Zadań (**Task Manager**) w systemie Windows, będzie to swojego rodzaju bardzo uproszczona jego wersja. Nie wszystko będzie tam dostępne, jednakże podstawowe aplikację będą tam wyświetlone, a ich zakończenie, w przypadku problemów, będzie o niebo łatwiejsze, szczególnie dla osób mniej zaawansowanych w systemie Windows.

Ostatnią opcją w sekcji Oczyszczanie (**Cleanup**) jest sekcja wyświetlająca, jakie aplikacje startują nam przy uruchomieniu systemu oraz ich impakt na wydajność systemu (**Startup apps**).

[![PC Manager Startup apps](/images/2022/10/PC_Manager_Startup_apps.png)](/images/2022/10/PC_Manager_Startup_apps.png)

Kolejny raz można odnieść się do Menadżer Zadań (**Task Manager**) i zakładki Startowe (**Startup**), gdzie znajdziemy podobne opcje.

Tutaj, w łatwy sposób, przy pomocy intuicyjnych przełączników możemy w łatwy sposób zdecydować, co ma startować, a co nie.

[![Windows 11 Task Manager Startup apps](/images/2022/10/Windows_11_Task_Manager_Startup_apps.png)](/images/2022/10/Windows_11_Task_Manager_Startup_apps.png)

Co ciekawe, na w miarę czystym Windows 11, Menadżer Zadań pokazuje nieco więcej a niżeli PC Manager.

---

Przechodzimy do sekcji Bezpieczeństwo (**Security**).

[![PC Manager Scan our PC for threats](/images/2022/10/PC_Manager_Scan_our_PC_for_threats.png)](/images/2022/10/PC_Manager_Scan_our_PC_for_threats.png)

W pierwszej kolejności, jak zauważymy, jest to poniekąd uproszczenie Windows Defendera.

Posiadamy tutaj szybkie odniesienie do zagrożeń, na które mogliśmy zezwolić (**Allowed threats**) oraz przycisk do przeskanowania naszego systemu.

{{% gallery %}}
[![PC Manager Scanning for threats](/images/2022/10/PC_Manager_Scanning_for_threats.png)](/images/2022/10/PC_Manager_Scanning_for_threats.png)
[![PC Manager No threats found](/images/2022/10/PC_Manager_No_threats_found.png)](/images/2022/10/PC_Manager_No_threats_found.png)
{{% /gallery %}}

Całość jest bardzo podobna do skanowania z poziomu Windows Defendera. Oprócz plików skanowany jest również rejestr systemowy oraz inne elementy, takie jak sterowniki, usługi działające w tle czy rozszerzenia do przeglądarki.

[![PC Manager Windows Update No update found](/images/2022/10/PC_Manager_Windows_Update_No_update_found.png)](/images/2022/10/PC_Manager_Windows_Update_No_update_found.png)

Nieco niżej mamy dostęp do Aktualizacji systemu Windows (**Windows Update**), gdzie, podobnie jak z Ustawień systemowych (**Settings**) możemy zaktualizować nasz system.

[![PC Manager Browser protection](/images/2022/10/PC_Manager_Browser_protection.png)](/images/2022/10/PC_Manager_Browser_protection.png)

Ostatnią, jak na razie, opcją jest bezpieczeństwo przeglądarki internetowej (**Browser Protection**).

Tutaj możemy się dowiedzieć, jaka przeglądarka jest naszą domyślną w systemie.

[![PC Manager Select the browser to protect](/images/2022/10/PC_Manager_Select_the_browser_to_protect.png)](/images/2022/10/PC_Manager_Select_the_browser_to_protect.png)

Jeżeli mamy więcej niż jedną zainstalowaną w systemie, będziemy mogli to zmienić, klikając na przycisk Zmień domyślną przeglądarkę (**Change default browser**).

Dodatkowo mamy opcję do włączenia zabezpieczenia zmiany domyślnej przeglądarki w systemie przez złośliwe oprogramowanie (**Block change by malicious apps**).

I to by było na tyle.

Zapewne z czasem sama aplikacja będzie się rozrastać o nowe opcje. Nie bez powodu Microsoft utworzył osobną sub domenę ([pcmanager.microsoft.com](https://pcmanager.microsoft.com)) do tego celu, więc warto to śledzić.

[![PC Manager Strona po Chińsku](/images/2022/10/PC_Manager_Strona_po_Chinsku.png)](/images/2022/10/PC_Manager_Strona_po_Chinsku.png)

Co ciekawe, przechodzą teraz pod ten adres, otrzymujemy stronę w języku chińskim. Bez obaw, wystarczy kliknąć niebieski przycisk ([免费下载](https://aka.ms/PCManager10000)), aby ją pobrać.

---

[![PC Manager Settings](/images/2022/10/PC_Manager_Settings.png)](/images/2022/10/PC_Manager_Settings.png)

Dodatkowo sama aplikacja ma swoje opcje (**Settings**) pod ikoną koła zębatego, gdzie możemy sprawdzić aktualizacje, włączyć automatyczny start z systemem Windows oraz zdecydować, czy chcemy, aby aplikacja sama się aktualizowała (domyślnie jest to włączone).

[![PC Manager Feedback Tell us about your problem](/images/2022/10/PC_Manager_Feedback_Tell_us_about_your_problem.png)](/images/2022/10/PC_Manager_Feedback_Tell_us_about_your_problem.png)

Oprócz tego, jako że program jest w fazie Beta, jeżeli zauważymy jakieś problemy, możemy zgłosić stosowną uwagę, korzystając ze wbudowanej opcji Feedback (**Tell us about your problem**).

O ile spora część portali rozwodzi się nad tym, jako pogromca CCleaner'a (czy też BleachBit), nie uważam, żeby to się prędko stało, gdyż te aplikacje oferują znacznie więcej a niżeli w obecnej formie, PC Manager.

Pozdrawiam.

---

> Aby skorzystać z aplikacji, wymagany jest system Windows 10 w wersji 1809 lub nowszy (lub Windows 11).


---
## Migracja systemu komentarzy z Utterances do Giscus
- **URL:** https://dariusz.wieckiewicz.org/migracja-systemu-komentarzy-utterances-giscus/
- **Date:** 2022-09-19
- **Tags:** WebDev, Utterances, Giscus, GitHub, GitHub Discussions, GitHub Issues, Hugo

### Content

Odkąd przeniosłem moją stronę na statyczny generator treści oparty na [Hugo](https://gohugo.io) pozbyłem się szeregu usług, od których byłem zależny, a tak naprawdę nie były one potrzebne.

Na mojej stronie, za czasów WordPress korzystałem z Disqus jako systemu komentarzy. Ten też system przeniosłem do Hugo, ale po tym, jak powodował on więcej problemów, a niżeli to było warte (związanych z prędkością strony), postanowiłem to zmienić.

<!--more-->

W moich przygodach z przenoszeniem komentarzy skończyłem na [Utterances](https://utteranc.es). 

Utterances pozwala zbudować system komentarzy, który obsługiwany jest po stronie GitHub w postaci Issues. 

Wszystko działa bardzo dobrze i tak naprawdę nie miałem potrzeby na zmianę. Jedynie co mnie poniekąd irytowało, to fakt, że komentarze to tak naprawdę nie są problemy (Issues), które wymagają rozwiązania, a które są bardzo przydatne na GitHub do innych celów.

Z GitHub Issues zawsze mi to nie grało. Według mnie używałem tego w zły sposób i poniekąd miałem rację.

W ramach konwersacji o [systemie komentarzy Isso na forum Hugo](https://discourse.gohugo.io/t/using-isso-with-hugo/40350/) jeden użytkownik wspomniał o [giscus](https://giscus.app).

[![Get started with GitHub Discussions](/images/2022/09/Get_started_with_GitHub_Discussions.png)](/images/2022/09/Get_started_with_GitHub_Discussions.png)

Nie wiem dokładnie kiedy, ale GitHub wprowadził coś takiego jak GitHub Discussions, który bardziej pasuje do tego, do czego obecnie używam [utterances](https://utteranc.es).

Giscus jest bardzo podobny do Utterances i to nie bez powodu, gdyż w dużej mierze inspirowany jest tym oto rozwiązaniem, przez co nie ma się co dziwić, że cel i rezultat jest podobny.

Po obejrzeniu filmiku promocyjnego na stronie [GitHub Discussions](https://docs.github.com/en/discussions) stwierdziłem, że spróbuje. 

Co ciekawe, dla osób, które już używały Utterances na swojej stronie, istnieje oficjalny sposób na ich [migrację z Issues do Discussions](https://docs.github.com/en/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion). Zachęciło mnie to jeszcze bardziej do poszybowania w tym kierunku.

## Włączenie GitHub Discussions

Co ciekawe, GitHub Discussions nie jest dostępny domyślnie tak jak GitHub Issues i należy go w prosty sposób "włączyć".

[![GitHub Settings General Features Discussions](/images/2022/09/GitHub_Settings_General_Features_Discussions.png)](/images/2022/09/GitHub_Settings_General_Features_Discussions.png)

W tym celu przechodzimy do ustawień naszego repozytorium (**Settings**) i w sekcji ogólne (**General**) przesuwamy do dołu do sekcji **Features** gdzie zaznaczamy **Discussions**.

Po zaznaczeniu klikamy w zielony przycisk **Set up discussions**.

[![GitHum Discussions Start a new discussion](/images/2022/09/GitHub_Discussions_Start_a_new_discussion.png)](/images/2022/09/GitHub_Discussions_Start_a_new_discussion.png)

W tym kroku możemy utworzyć tak zwany wpis powitalny, który będzie swojego rodzaju wprowadzeniem, dla osób, które odwiedzą twoje GitHub Discussions bezpośrednio, a nie ze strony.

[![GitHub Discussions idarek/dariusz.wieckiewicz.org](/images/2022/09/GitHub_Discussions_idarek_dariusz.wieckiewicz.png)](/images/2022/09/GitHub_Discussions_idarek_dariusz.wieckiewicz.png)

I tak mamy ustawione dyskusje. Pora na implementację na naszej stronie oraz przeniesienie obecnych dyskusji z Issues do Discussions.

## Ustawienie Giscus

W pierwszej kolejności przechodzimy na stronę [Giscus.app](https://giscus.app) i sekcji konfiguracja (**Configuration**).

W pierwszej kolejności wybieramy język, w którym nasza strona będzie obsługiwać komentarze.

[![Giscus Configuration Language](/images/2022/09/Giscus_Configuration_Language.png)](/images/2022/09/Giscus_Configuration_Language.png)

> W pierwszej kolejności ustawiłem Polski jako język, mimo że posiadam również część strony w języku angielskim. W przypadkuj języka angielskiego, zobaczę jak to wprowadzić w dalszej części.

W sekcji repozytorium (**Repository**) mamy trzy punkty, które musimy spełnić, nim będziemy mogli połączyć nasze repozytorium.

Po pierwsze, nasze repozytorium musi być **publiczne**, w przeciwnym wypadku odwiedzający nie będą go widzieć i nie będą mogli dodać komentarza.

### Instalacja aplikacji Giscus

Następnie musimy **zainstalować aplikację Giscus** na naszym koncie GitHub. W tym celu przechodzimy na [odpowiednią stronę](https://github.com/apps/giscus), na której przyciskamy przycisk instaluj (**Install**).

[![Install Giscus app on GitHub](/images/2022/09/Install_Giscus_app_on_GitHub.png)](/images/2022/09/Install_Giscus_app_on_GitHub.png)

Podczas instalacji możemy wybrać, aby ta aplikacja miała dostęp do wszystkich naszych repozytoriów lub tylko wybranego. W moim przypadku wybrałem tylko jedno, na który będę go używał.

[![Install Giscus app on GitHub on selected repository](/images/2022/09/Install_Giscus_app_on_GitHub_on_selected_repository.png)](/images/2022/09/Install_Giscus_app_on_GitHub_on_selected_repository.png)

Ostatnim, trzecim krokiem jest włączenie GitHum Discussions, które zrobiliśmy na samym początku.

Pora na wprowadzenie naszego repozytorium, które w moim przypadku jest _idarek/dariusz.wieckiewicz.org_.

[![Giscus Configuration Repositoru Success](/images/2022/09/Giscus_Configuration_Repository_Success.png)](/images/2022/09/Giscus_Configuration_Repository_Success.png)

### Powiązanie Giscus z naszą stroną

W części **Page ↔️ Discussions Mapping** musimy ustawić, w jaki sposób komentarze dodane na naszej stronie będą powiązane z dyskusjami po stronie GitHub.

Jeżeli czytałeś mój poprzedni wpis ["Migracja systemu komentarzy — utterances"](/migracja-systemu-komentarzy-utterances/#generowanie-kodu-na-stronę), to wiesz, że w moim przypadku wybrałem powiązanie za pomocą linku do wpisu (pathname), dokładnie tak jak w Utterances.

[![Giscus Configuration Page Discussions Mapping](/images/2022/09/Giscus_Configuration_Page_Discussions_Mapping.png)](/images/2022/09/Giscus_Configuration_Page_Discussions_Mapping.png)

### Domyślne kategoria dla dyskusji

W przypadku Utterances każdy nasz komentarz oznaczany był odpowiednią etykietą (**label**). W przypadku Giscus możemy określić domyślną kategorię.

W moim przypadku wybrałem kategorię **General**.

[![Giscus Configuration Disscussion Category](/images/2022/09/Giscus_Configuration_Discussion_Category.png)](/images/2022/09/Giscus_Configuration_Discussion_Category.png)

### Opcje dodatkowe

W sekcji **Features** mamy jeszcze do wybrania kilka opcji.

Oprócz samych dyskusji (komentarzy) możemy dodać możliwość dodania reakcji do naszego wpisu. Dzięki temu nasi czytelnicy mogą nam dodać kciuk w górę 👍, nawet gdy niekoniecznie mają coś do dodania w postaci komentarza.

Opcja **Emit discussion metadata** mnie za bardzo nie interesuje, więc pozostawiam niezaznaczoną.

W Utterances domyślnie dodanie nowego komentarza odbywało się poprzez rozpoczęcie dyskusji pod ostatnim komentarzem. Tutaj możemy zaznaczyć **Place the comment box above the comments** jeżeli chcemy, aby można było dodać komentarz zaraz po przeczytaniu wpisu. Osobiście wolę, aby osoby, które zdecydują się dodać komentarz, najpierw przeczytały, co inni mieli do powiedzenia, gdyż czasami znajduje się tam odpowiedź na ich pytanie. W związku z tym ponownie pozostawiam tę opcję niezaznaczoną.

Ostatnia opcja (**Wczytaj komentarze leniwie**) powinna być zaznaczona, ze względu na wpływ komentarzy na wydajność strony. Nie ma potrzeby wczytywania skryptu komentarzy, nim użytkownik przejdzie do końca wpisu.

[![Giscus Configuration Features](/images/2022/09/Giscus_Configuration_Features.png)](/images/2022/09/Giscus_Configuration_Features.png)

### Motyw (wygląd)

W pozycji motyw (**Theme**) możemy określić, jak będzie wyświetlać się system komentarzy na naszej stronie.

Jako że na mojej stronie mam ustawiony motyw jasny i ciemny, który się zmienia wraz z ustawieniami użytkownika, pozostałem przy domyślnym wyborze **Preferred color scheme**.

[![Giscus Configuration Theme](/images/2022/09/Giscus_Configuration_Theme.png)](/images/2022/09/Giscus_Configuration_Theme.png)

### Kod na stronę

Na ostatnim etapie, w części **Enable giscus** otrzymamy nasz kod do wklejenia na naszej stronie.

```html
<script src="https://giscus.app/client.js"
        data-repo="idarek/dariusz.wieckiewicz.org"
        data-repo-id="{repo_ID}"
        data-category="General"
        data-category-id="{category_ID}"
        data-mapping="pathname"
        data-strict="0"
        data-reactions-enabled="1"
        data-emit-metadata="0"
        data-input-position="bottom"
        data-theme="preferred_color_scheme"
        data-lang="pl"
        data-loading="lazy"
        crossorigin="anonymous"
        async>
</script>
```

Tutaj jak zauważysz mamy opcję `data-lang="pl"` która odpowiada językowi, który wybraliśmy na początku.

W przypadku mojej angielskojęzycznej części strony zmienię to na `data-lang="en"`.

## Dodanie Giscus do naszej strony

W moim przypadku otworzyłem plik `giscus.html` w `layouts\partials` do którego wkleiłem powyższy kod.

Od siebie dodałem jeszcze słowo `defer` na początku, aby dodatkowo opóźnić ładowanie skryptu podczas ładowania strony, szczególnie gdy nie jest on jeszcze potrzebny.

```html
<script defer src="https://giscus.app/client.js"
```

W pliku `single.html` odpowiedzialnym za wyświetlanie mojego wpisu na stronie dodałem odwołanie do mojego pliku w miejscu, gdzie zdecydowałem się wyświetlić komentarze.

Aktualizując z Utterances do Giscus zmieniłem `{{ partial "utterances.html" }}` na `{{ partial "giscus.html" }}`

{{% ads-in-article %}}

### Dodanie obsługi dodatkowego języka

Mój powyższy kod domyślnie wczytuje się w języku polskim, nawet na stronie w języku angielskim. Aby to zmienić powyższe odwołanie do `partial` zmieniamy na następujące:

```html
  {{ if eq .Lang "en"}}
    {{ partial "giscus.en.html" . }}
  {{ else }}
    {{ partial "giscus.html" . }}
  {{ end }}
```

W tym przypadku skopiowałem plik `giscus.html` do `giscus.en.html` i ustawiłem `data-lang="en"`

Jeżeli strona wyświetlona jest domyślnie w języku angielskim, wówczas `giscus.en.html` zostanie załadowany (zawierający `data-lang="en"`), w każdym innym przypadku załadowany zostanie `giscus.html` (zawierający `data-lang="pl"`).

## Dostosowanie za pomocą CSS

Reakcje, komentarz oraz formularz dodania komentarza,  domyślnie wyświetla się dostosowany do pełnej szerokości okna za pomocą następującego stylu:

```css
  .giscus, .giscus-frame {
    width: 100%;
    min-height: 150px;
  }

  .giscus-frame {
    border: none;
    color-scheme: normal;
  }
```

Aby dostosować, jak będzie zachowywać się system komentarzy na naszej stronie, możemy dodać do naszego stylu odpowiednią klasę `.giscus` oraz `.giscus-frame`.

W moim przypadku do stopki artykułu dodałem `.giscus`

```css
@media (min-width: 835px) {
  .article-footer,
  .giscus {
    width: 65vw;
    margin: 0 auto;
  }
}
```

## Migracja komentarzy z GitHub Issues do GitHub Discussions (opcjonalne)

W momencie, gdy wszystko mamy w pełni działające możemy przystąpić do przeniesienia komentarzy, które zostały utworzone za pomocą Utterances (GitHub Issues) do dyskusji obsługiwanej przez Giscus.

GitHub posiada oficjalną metodę na tego typu zabiegu, w sekcji [Converting an issue to a discussion](https://docs.github.com/en/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion).

Przechodząc do sekcji **Issues** w naszym repozytorium, klikając na poszczególne wpisy (po kolei, niestety — osobiście miałem 44), z menu po prawej stronie wybieramy opcję **Convert to discussion**.

> W momencie rozpoczęcia dyskusji, przy pomocy Utterances, każdy GitHub Issues zawiera pierwszy wpis utworzony przez "utterances-bot". Ten wpis nie jest wyświetlany, jeżeli używamy Utterances. W momencie przeniesienia obecnego Issue do Discussion, Giscus (który jest inspirowany Utterances) ma to na uwadze i szanuje (pomija) ten wpis, dzięki czemu, po przeniesieniu wpisu z GitHub Issues do GitHub Discussions pojawi się on automatycznie na naszej stronie w odpowiednim miejscu.

Podczas konwersji zapytani zostaniemy, do jakiej kategorii powinniśmy zaklasyfikować nasz wpis. W moim przypadku tak jak wybrałem na początku konfiguracji, wybieram opcję **General**.

[![Convert GitHub Issues to GitHub Discussion](/images/2022/09/Convert_GitHub_Issues_to_GitHub_Discussion.png)](/images/2022/09/Convert_GitHub_Issues_to_GitHub_Discussion.png)

Całość potwierdzamy przyciskiem **I understand, convert this issue**.

## Odinstalowanie Utterances

W momencie, gdy przenieśliśmy nasze komentarze z Utterances do Giscus, możemy usunąć (odinstalować) aplikację Giscus.

Aby tego dokonać przechodzimy do [ustawień zainstalowanych aplikacji w GitHub](https://github.com/settings/installations).

Klikając odpowiednio przycisk konfiguracji (**Configure**), a następnie na dole strony wybieramy opcję odinstalowania (**Uninstall "utterances"**).

I to by było na tyle.

Takim sposobem mamy w użyciu GitHub Discussions jako system komentarzy na naszej stronie.

Pozdrawiam.


---
## Pomiar prędkości internetu bezpośrednio z routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/pomiar-predkosci-internetu-router-openwrt-iperf3/
- **Date:** 2022-07-29
- **Tags:** OpenWrt, iperf3, speed test, prędkość internetu, test prędkości, download, upload

### Content

Czy zmagałeś się kiedyś ze zmierzeniem prawdziwej prędkości twojego internetu?

Każdy router jest inny, dodatkowo sieci bezprzewodowe WiFi są w różnych standardach, na różnych częstotliwościach oraz oferujące różne prędkości w zależności od czynników zewnętrznych.

Jeżeli nasz komputer posiada kartę, która obsługuje tylko 2.4GHz w prędkości 54Mbps, to możemy mieć 100, 200 lub więcej Mbps, i tak szybciej niż 54Mbps nie polecimy.

Niektóre sieci 2.4GHz mogą oferować nawet to 300Mbps. W przypadku 5GHz i prędkości idą w górę znacząco. To nie znaczy, że zawsze jesteśmy w stanie osiągnąć zaoferowaną prędkość.

Jeżeli mamy 3 urządzenia, które aktywnie korzystają z sieci WiFi, to przepustowość sieci, czyli maksymalne prędkości, jakie jesteśmy w stanie osiągnąć, jest również dzielona na trzy.

W związku z tym, aby prawidłowo zmierzyć prędkość internetu, należałoby podłączyć się bezpośrednio, najlepiej na kablu, do routera i być jednym jedynym użytkownikiem, dla którego cała przepustowość będzie dostępna.

Jeżeli posiadasz router z oprogramowaniem OpenWrt, to pomijając wszystkich użytkowników, możesz dokonań pomiaru prędkości łącza bezpośrednio z poziomu routera.

<!--more-->

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

Test ten jest dużo bardziej wiarygodny, gdyż polega on na bezpośredniej komunikacji pomiędzy naszym urządzeniem a usługodawcą internetowym.

> Pomijając ograniczenia na łączach międzynarodowych, metoda opisana poniżej może nam przedstawić najbardziej zbliżony do rzeczywistego wynik.

Najlepszą metodą na sprawdzenie prędkości w sieci jest przy użyciu **iperf3**, które zainstalujemy na naszym routerze następującą komendą:

```bash
apk update
apk add iperf3
```

To właśnie narzędzie `iperf3` jest najczęściej używane do sprawdzenia prędkości w sieci lokalnej pomiędzy jednym komputerem a drugim.

Na jednym uruchamiamy serwer a na drugim klienta, z którego następuje pomiar.

Tę samą metodę można wykorzystać do sprawdzenia prędkości w Internecie. 

Nie będziemy jednak stawiali serwera po drugiej stronie świata. W tym celu posłużymy się ogólnie dostępnymi serwerami służącymi do tego celu ([Public iPerf3 servers](https://github.com/R0GGER/public-iperf3-servers)).

## Komenda

Oto moja komenda do sprawdzenia prędkości pobierania (Download):

```bash
iperf3 -c iperf.par2.as49434.net -4 -R -p 9223 -t 20
```

Oto moja komenda do sprawdzenia prędkości wysyłania (Upload):

```bash
iperf3 -c iperf.par2.as49434.net -4 -p 9223 -t 20
```

## Opis komendy

Domyślnie, gdy uruchamiamy **iperf3** testuje on prędkość wysyłania (upload). Dodając parametr `-R` możemy odwrócić (reverse) metodę testowania z wysyłania (upload) na pobieranie (download).

Przy pomocy komendy `-c` uruchamiamy program w trybie klienta, a adres `iperf.par2.as49434.net` to nasz serwer.

> Serwer możesz wybrać z [Public iPerf3 servers](https://github.com/R0GGER/public-iperf3-servers)

Gdy nasz internet domyślnie obsługuje tylko IPv4, wówczas precyzujemy to za pomocą parametru `-4`. W przypadku IPv6 będzie to analogicznie `-6`.

Każdy z [serwerów na liście](https://github.com/R0GGER/public-iperf3-servers) może pracować na innym porcie. Niektóre serwery oferują zakres portów. Aby sprecyzować port, używamy parametru `-p`. W powyższym przykładzie portem jest `9223`

Za pomocą parametru `-t` precyzujemy, jak długo ma zająć pomiar prędkości. Domyślnie jest to 10 sekund, ja jednak z reguły wolę to wydłużyć do 20 sekund, stąd `-t 20`.

{{% ads-in-article %}}

## Wyniki

Każdy z serwerów oferuje różną przepustowość, więc warto spróbować kilku w trakcie testów.

Czasami możemy się spotkać z odpowiedzią, że serwer jest za bardzo obciążony (Busy), lub też, że nasza próba została zablokowana (Connection refused). Wówczas należy spróbować inny serwer.

W moim przypadku, przy łączu 200Mbps prędkości pobierania (Download) otrzymałem:

[![Wynik - Pomiar prędkości pobierania przy pomocy iperf3 bezpośrednio na routerze z OpenWrt](OpenWrt_SpeedTest_iperf3_download.png)](OpenWrt_SpeedTest_iperf3_download.png)

Natomiast przy 20Mbps prędkości wysyłania (Upload):

[![Wynik - Pomiar prędkości wysyłania przy pomocy iperf3 bezpośrednio na routerze z OpenWrt](OpenWrt_SpeedTest_iperf3_upload.png)](OpenWrt_SpeedTest_iperf3_upload.png)

Całkiem nieźle.

Mówię "całkiem", gdyż jeżeli porównam te wyniki, chociażby z testem na [speed.cloudflare.com](https://speed.cloudflare.com), to mogę zauważyć wahania i różnice, w zależności z jakiej metody połączenia korzystam oraz ilu aktywnych użytkowników mam w sieci.

---
Aby ułatwić sobie sprawę testowania, warto utworzyć plik na routerze, który będziemy uruchamiać bez konieczności pamiętania całej komendy iperf3.

```bash
echo "iperf3 -c iperf.par2.as49434.net -4 -R -p 9223 -t 20" > speedtest4
chmod +x speedtest4
```

Uruchomienie:

```bash
./speedtest4
```

Pozdrawiam


---
## Optymalizacja wykorzystania procesora na routerze z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/optymalizacja-wykorzystania-procesora-na-routerze-z-openwrt/
- **Date:** 2022-07-28
- **Tags:** OpenWrt, irqbalance, multicore, Linksys WRT3200ACM, Linksys WRT32x, Linksys MR8300, Askey RT4230W REV6, RAC2V1K, Spectrum RAC2V1K, RAC2V1K OpenWrt, procesor, optymalizacja, Packet Steering, proc, interrupts

### Content

Moje przygody z OpenWrt rozpocząłem od routera ASUS RT-AC56U. Był to dość dobry, tani router z dwurdzeniowym procesorem Broadcom BCM4708A0 taktowanym 800MHz. Dodatkowo posiadał 128MB pamięci flash oraz 256MB RAM.

Wraz z jedzeniem wzrasta apetyt, jak to się mówi.

O ile nie skarżyłem się na procesor, to bardzo szybko zabrakło mi miejsca na kolejne to aplikacje. Postanowiłem więc wymienić go na Linksys WRT3200ACM, który później zmieniłem na Linksys WRT32x.

WRT3200ACM (WRT32x) to bardzo porządna maszyna, do tej pory używamy tego typu routery w pracy. O ile byłem zadowolony z jego wydajności, o tyle nie do końca spisywała się sieć WiFi.

Siła sygnału pozostawiała sporo do życzenia, a współpraca z innymi routerami lub punktami dostępu (access point) nie obyła się bez problemów. Wszystko przez zastosowany w nim chip sieci bezprzewodowej od Marvell.

Dodatkowo brak wsparcia dla kanałów DFS w WiFi w częstotliwości 5GHz dodatkowo ograniczało jego wykorzystanie. Zapomnij również o szyfrowaniu WPA3 wprowadzony domyślnie w serii OpenWrt 21.02 (WPA3 da się włączyć, ale WiFi i cały router szybko przestaje działać).

W poszukiwaniu lepszego routera natrafiłem na Linksys MR8300. Posiadał on 3 radia Qualcomm Atheros. Jedno służyło do częstotliwości 2.4GHz a dwa pozostałe do 5GHz, z czego pierwszy dla kanałów do 60 a drugi powyżej 100 (wraz z obsługą DFS).

O ile router sprawował się w porządku, wyraźnie można było odczuć, że jest on sporo wolniejszy, szczególnie przy instalacji oprogramowania.

<!--more-->

WRT3200ACM (WRT32x) posiadał dwurdzeniowy procesor 1866MHz, podczas gdy MR8300 posiadał czterordzeniowy 717MHz.

Teoretycznie wydajność, w związku z większą liczbą rdzeni powinna być podobna, jednakże nie była.

Podczas gdy mój internet zwiększył się z 100/10Mbps do 200/20Mbps dodatkowo zauważyłem, że router zaczął się dławić, szczególnie gdy miał wprowadzoną [optymalizacja łącza internetowego](/optymalizacja-lacza-internetowego-router-openwrt/) przy pomocy SQM QoS.

SQM QoS nie wyrabiał powyżej 100Mbps a po jego wyłączeniu można bez problemu było osiągnąć 200Mbps.

Nie pomogło niestety włączenie sterowania pakietami (Packet Steering) w **Network > Interfaces > Global network options**.

> Packet Steering pozwala na zarządzanie pakietami z wykorzystaniem wszystkich dostępnych procesorów w systemie, w tym przypadku rdzeni (które MR8300 ma cztery).

Zmuszony zostałem do wyłączenia SQM QoS, do czasu aż znajdę rozwiązanie na tę bolączkę. Podejrzewam, że będę to sprawdzał, wraz z wydaniem stabilnej wersji OpenWrt 22.03, gdzie wprowadzony zostanie Firewall 4.

Postanowiłem jednak zagłębić się z aspekt wykorzystania mocy obliczeniowej tkwiącej w czterech rdzeniach Linksys MR8300.

W moich poszukiwaniach natrafiłem na komendę pokazującą, jak wykorzystywany jest nasz procesor i jego rdzenie.

```bash
tail /proc/interrupts -n 100
```

Dzięki temu zobaczyłem, że pierwszy rdzeń robi nadgodziny, podczas gdy trzy pozostałe się opierdzielają.

[![Linksys MR8300 z OpenWrt przed włączniem irqbalance](OpenWrt_Linksys_MR8300_pre_irqbalance.png)](OpenWrt_Linksys_MR8300_pre_irqbalance.png)

Postanowiłem coś z tym zrobić.

Przeglądając oficjalną stronę OpenWrt natrafiłem na pakiet [**Irqbalance**](https://openwrt.org/docs/guide-user/services/irqbalance).

Zadaniem tego pakietu jest, w dosłownym tłumaczeniu "dystrybucja przerwania na wiele logicznych procesorów (rdzeni)". W skrócie rozdzielenie poleceń z głównego rdzenia na wszystkie dostępne.

> Irqbalance is a Linux daemon that distributes interrupts over multiple logical CPUs. This may result in improved overall performance and even reduced power consumption.

Pakiet ten nie jest dostępny domyślnie w systemie oraz jego zainstalowanie nie włącza go automatycznie. Jest to podyktowane faktem, że w przypadku urządzeń do dwóch rdzeni, wzrost wydajności jest minimalny lub też powoduje jego pogorszenie.

W przypadku Linksys MR8300, który posiada cztery rdzenie, warto jednak spróbować.

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

Zaktualizowałem pakiety oraz zainstalowałem **irqbalance**

```bash
apk update
apk add irqbalance
```

Jeśli chcesz, możesz także zainstalować interfejs sieciowy LuCI, dodając `luci-app-irqbalance`.

Edytując plik konfiguracyjny, włączyłem jego automatyczny start
```bash
nano /etc/config/irqbalance
```

```
 option enabled '1'
```

Po czym go uruchomiłem ręcznie
```bash
/etc/init.d/irqbalance start
```

{{% ads-in-article %}}

Już po chwili widać było, że 3 leniwe rdzenie zaczęły pracować na chleb.

```bash
tail /proc/interrupts -n 100
```

[![Linksys MR8300 z OpenWrt po włączniu irqbalance](OpenWrt_Linksys_MR8300_post_irqbalance.png)](OpenWrt_Linksys_MR8300_post_irqbalance.png)

Wykonując kilka testów, w tym zarzucenie do ściągania plik z torrentów (zobacz [jak dodać klienta torrent do routera z OpenWrt](/dodanie-klienta-torrent-do-routera-z-openwrt/)), który w początkowym stadium, zawsze powodował przymulenie routera pokazał, zobaczyłem lekką poprawę.

> Load Average	1.44, 0.83, 0.50

Nie jest to rewelacyjne, ale zawsze lepsze to niż nic.

Nadal musiałem zapomnieć o SQM QoS, ale przynajmniej widzę, że procesor routera wykorzystany jest w większym stopniu, niż przez zmianą.

Idealne byłoby posiadanie procesora z Linksys WRT3200ACM (WRT32x) oraz kart sieci bezprzewodowej z MR8300. 

Jeżeli interesujecie się zastosowaniem OpenWrt do bardziej zaawansowanych celów, wówczas warto pomyśleć o stworzeniu routera z wykorzystaniem Raspberry Pi 4 oraz osobnych punktów WiFi. 

Gdyby tylko [Askey RT4230W REV6 / RAC2V1K](https://openwrt.org/inbox/toh/askey/rt4230w_rev6) (nie SAC2V1K) można byłoby zdobyć, do pobawienia się, po tej stronie globu, to możliwe, że byśmy mieli niedrogą **potężną** alternatywę do WRT3200ACM (WRT32x) czy MR8300, który ma być oficjalnie wspierany w wersji OpenWrt 22.03.

> Skusiłem się i zakupiłem z USA za pośrednictwem eBay UK **Askey RT4230W REV6 / RAC2V1K**. Wgrałem OpenWrt bez konieczności otwierania obudowy i wszystko śmiga pięknie.

Pozdrawiam.


---
## Yep, nowy gracz na rynku wyszukiwarek internetowych
- **URL:** https://dariusz.wieckiewicz.org/yep-nowy-gracz-na-rynku-wyszukiwarek-internetowych/
- **Date:** 2022-06-06
- **Tags:** Yep, Ahrefs, Google, Bing, wyszukiwarka, DuckDuckGo, Brave, Ecosia, Google Search Console, Bing Webmaster Tools, Dmytro Gerasymenko, Ukraine, Stand With Ukraine, Peace Not War, Search Engine, SEO

### Content

Możemy mówić, co chcemy, ale na rynku wyszukiwarek internetowych króluje Google. Za nim, daleko z tyłu jest Bing, a reszta tylko może pozazdrościć.

Spora część wyszukiwarek, które postulują ochronie naszej prywatności, tak naprawdę używa silników innych usługodawców (w tym właśnie Google i Bing).

<!--more-->

Tak jak DuckDuckGo, który używa wyników wyszukiwania z Bing, został ostatnio skrytykowany[^1] o zezwalanie na śledzenie użytkowników przez trackery od Microsoftu, wrzucając je na swoją białą listę.

[^1]: [DuckDuckGo's Search Deal Stops Browser From Blocking Microsoft Trackers](https://www.searchenginejournal.com/duckduckgo-microsoft-trackers/)

Google, jak wiadomo, żyje z tego, co wyszukujemy. Dzięki informacji, którą wprowadzamy do ich wyszukiwarki, mają oni dostęp do niebywałej ilości danych, które później mogą wykorzystać do serwowania reklam. W końcu Google (Alphabet) to firma reklamowa, więc nie mylmy ich z wyszukiwarką czy pocztą Gmail. Te są usługami, które pozwalają im w szerszy sposób gromadzić dobrowolnie dane o nas samych.

Innym niszowym graczem na rynku jest wyszukiwarka Brave[^2]. Jeżeli miałeś styczność z przeglądarką Brave, to wiesz, że oferują oni niezależną wyszukiwarkę bazującą na technologi, którą kupili jakiś czas temu od innej firmy.

[^2]: [Brave Search - Wikipedia](https://en.wikipedia.org/wiki/Brave_Search)

O ile Brave obecnie jest niszową wyszukiwarką, to jej twórcy już oznajmili, że jak tylko będzie to możliwe, to będą serwowali, w jej darmowej wersji, reklamy. Na bazie czego te reklamy będą? Na bazie tego, co wyszukujemy. Podobnie jak ma to miejsce w DuckDuckGo.

Mógłbym rozpisywać się o innych niszowych rozwiązaniach takich jak chociażby [Ecosia](https://www.ecosia.org), jednakże chciałbym przywołać nowego gracza na rynku.

Tak jak silnik wyszukiwarki Google wykorzystuje w swoim rejestrze strony dodane do [Google Search Console](https://search.google.com/search-console), Bing wykorzystuje swoją wersję w postaci [Bing Webmaster Tools](https://www.bing.com/webmasters).

Te dwa darmowe narzędzia są wręcz czymś, co każda osoba posiadająca stronę internetową powinna używać, jeżeli chce zaistnieć w wyszukiwarkach "szybciej", a niżeli gdy ich boty ją wykryją (o ile w ogóle wykryją).

Oprócz powyższych dwóch narzędzi od Google i Microsoftu, właściciele stron internetowych posiadają do dyspozycji bardzo przydatne narzędzie w postaci [Ahrefs](https://ahrefs.com/).

Ahrefs używam przede wszystkim do śledzenia błędów na stronach. Oprócz tego, w darmowej wersji Ahrefs oferuje znacznie więcej a niżeli narzędzie od Google i Microsoftu razem wzięte. Ustawiając harmonogram, który skanuje moje strony co tydzień, mogę szybciej interweniować, gdy coś nie działa tak, jak trzeba. Dodatkowo otrzymuję nieco więcej informacji odnośnie mojej strony oraz stron, dzięki którym ludzie trafiają do mnie.

Ahref oferując swój darmowy plan, zbiera niebagatelną liczbę informacji odnośnie naszej strony internetowej. Dzięki temu jest w stanie zbudować indeks, który może zaoferować alternatywę dla wyszukiwarkę od Google czy też Microsoftu.

**I tak, w bardzo wczesnej (jak sami zaznaczają) fazie beta, zaprezentowali światu coś nowego. Mianowicie, powstała wyszukiwarka [Yep](https://yep.com/)**.

Firma stojąca za Ahrefs zainwestowała[^3] nie lada pieniądze w stworzenie, jak sami zaznaczają, "przyjaznej dla twórców" wyszukiwarki internetowej.

[^3]: [SEO tool Ahrefs invests $60M in building creator-friendly search engine, ‘Yep’ – TechCrunch](https://techcrunch.com/2022/06/03/yep-search-engine)

Celem wyszukiwarki, w momencie, gdy wystartuje jako "finalny" produkt ma być dzielenie się przychodami z reklam z twórcami w proporcji 90/10 (90% otrzymuje twórca, 10% zabierają oni w ramach prowizji) jak można przeczytać[^4] na ich stronie.

[^4]: [Profit share (yep.com)](https://yep.com/profit-share).

Nie jest obecnie wiadome, jak to wszystko ma działać i kto tak naprawdę będzie klasyfikowany jako twórca i będzie zarabiał "kokosy".

Jak możemy wyczytać, twórcy tacy jak Wikipedia, ze swojej ("naszej") twórczości zarobiliby niemałą sumę pieniędzy. W sumie to by miało jakiś sens, gdyż to właśnie my tworzymy Wikipedię, a jednak osoby stojące za nią muszą zmagać się z brakiem środków pieniężnych na dalszy rozwój (infrastrukturę), prosząc, co jakiś czas, ludzi (nas) o pomoc.

> "Wikipedia would probably earn a few billion dollars a year from its content."

Celem Yep ma być promowanie treści (zawartości) "wysokiej jakości".

> "Simply put, the Yep business model encourages high-value content."

To właśnie twórcy tego, co jest pożądane przez użytkowników, zyskają najwięcej, a nie ci, co pozycjonują się w internecie tylko po to, aby nabijać nie lada kasę z reklam, dostarczając bardzo mało lub też nic w zamian.

Jest to dla mnie o tyle interesujące, gdyż tworząc moją stronę i publikując moje wpisy, w pierwszej kolejności chcę podzielić się z innymi czymś, czego próżno znaleźć w internecie (i to za darmo).

Jeżeli zawartość mojej strony zostałaby doceniona w Yep i dałaby mi zarobić co nieco bez konieczności zalewania użytkowników reklamami (zauważ, że moja strona nie serwuje żadnych reklam) to jestem za. Wszelkiego rodzaju docenienie mojej twórczości jest dla mnie motywacją do dalszego jej tworzenia i dzielenia się z innymi.

W wolnej chwili przyjrzałem się wynikom wyszukiwania Yep z punktu widzenia biznesowego.

Ahrefs używam przede wszystkim do prywatnych stron internetowych. Dodatkowo monitoruje dwie większe strony firmowe. Analizując te oto strony, Yep dysponuje już bogatym zapleczem, jeżeli chodzi o ilość zebranych informacji, w tym porządnych słów kluczowych wyszukiwanych przez użytkowników w internecie. Dzięki temu już teraz mogą oni zaprezentować światu alternatywną wyszukiwarkę internetową.

W ramach zabawy wykonałem kilka wyszukań kluczowych słów, dzięki którym, firma, dla której pracuję, zyskuje znaczącą liczbę odwiedzających z Google i Bing.

Co ciekawe, oprócz tego, że mój pracodawca znalazł się na pierwszym miejscu w wynikach wyszukania (co mnie wcale nie dziwi), to ze świecą można szukać naszych konkurentów.

Osobiście wiem, że nasi konkurenci nie są tak bardzo rozwinięci w aspekcie SEO, przez co mogłem zauważyć ich brak (obecności) w czołowych wynikach wyszukania Yep. Bardzo prawdopodobne, że żadna z tych stron nie jest dodana na stronie Ahrefs przez co [AhrefsBot](https://ahrefs.com/robot) nie przykłada większego wagi do indeksowania ich zawartości.

Nie znaczy to jednak, że oni w Yep nie istnieją. Wyszukując ich bezpośrednio po nazwie firmy, znajdziemy to, co normalnie dostępne jest w Google bez najmniejszego problemu. Ich pozycjonowanie w wynikach wyszukania jest jednak pozbawione tego, co inni oferują.

Mimo tego, że wszystko koncentrują się na pozycjonowaniu w Google, gdyż to przynosi im największy "zysk" (w ilości użytkowników odwiedzających stronę), to warto rozważać inne dostępne opcje.

O ile DuckDuckGo jest swojego rodzaju alternatywą, to indeks Bing i wyniki wyszukiwania są bardzo często ubogie i łatwe do manipulacji, w tym zalewania użytkownika spamowymi stronami internetowymi, co bardzo wkurza. Nie bez powodu [próbując przejść na stałe do wyszukiwarki DuckDuckGo, pozostałem na co dzień przy Google](/zmienilem-wyszukiwarke-google-na-duckduckgo/), gdyż łatwiej i szybciej jest mi znaleźć to, czego szukam.

Yep mnie zainteresował nie tylko ze względu na Ahrefs, którego aktywnie używam, ale również ze względu na osoby, które stoją za tą firmą.

Interesująca okazała się postawa twórcy oraz CEO Ahrefs Dmytro Gerasymenko w związku z wojną Rosyjsko-Ukraińską.

Odwiedzając [Dmytro Gerasymenko (@botsbreeder) na Twitter](https://twitter.com/botsbreeder/) możemy przeczytać kilka interesujących wpisów z ripostą oraz zgrzytem pomiędzy Semrush.

O tym, jak Dmytro odpowiedział jasno na stanowisko Semrush...

> To clarify, what you refer to as "events in Ukraine" is actually “Russian aggression against Ukraine".

{{% ads-in-article %}}

...że to, co dzieje się na Ukrainie to nie "wydarzene na Ukrainie" a perfidna "agresja Rosyjska na Ukrainę" upewniło mnie, że jeżeli mam zaufać komuś (Semrush czy Ahrefs), to wybiorę tego, kto wspiera pokój (Ahrefs), a nie tego, kto pompuje kasę w wojenną machinę rosyjską (Semrush).

W całym tym bagnie wojny na Ukrainie, oprócz samych Ukraińców, cierpią również ci, którzy są Rosjanami, ale jednocześnie nie popierają tego, co "ich" kraj robi na świecie.

Nie wybieramy niestety tego, gdzie się urodziliśmy i jakie mamy obywatelstwo. To, że jesteśmy Rosjanami, nie znaczy, że wpieramy terror szerzony przez Rosyjskie władze.

Sam Dmytro zaznacza, że drużyna Ahrefs składa się również z Rosjan. On sam, jako dumny Ukrainiec rozumie, że nie wszyscy z nich popierają to, co się obecnie dzieje i to nie ich wina, że Rosyjska władza wybrała wojnę, a nie pokój.

> "We have many Russian teammates at Ahrefs ourselves. I understand that not everyone supports these actions."

W międzyczasie pamiętajmy jednak, że pokój jest ważniejszy od wojny.

[![Peace for Ukraine](/images/2022/06/peace_for_ukraine.png "#StandWithUkraine #PeaceNotWar")](/images/2022/06/peace_for_ukraine.png)

Osobiście będę ochoczo przyglądał się dalszemu rozwojowi Yep.

Co ciekawe, pomysł na wyszukiwarkę internetową (obecnie zwaną Yep) zorientowaną na anonimowości (?) oraz dzielenia się zyskami z twórcami nie jest nowy. W marcu 2019 roku pierwsze informacje, ze strony Dmytro[^5], obiegły internet, a już teraz, w 2022, możemy sami spróbować jak działa [Yep](https://yep.com).

[^5]: [Ukrainian Dmitry Gerasimenko created Ahrefs service: now it earns millions and competes with Google - AIN.Capital](https://ain.capital/2019/05/30/dmitry-gerasimenko-ahrefs-interview/)



---
## G Suite (legacy) pozostanie jednak darmowy (dla użytku osobistego)
- **URL:** https://dariusz.wieckiewicz.org/g-suite-legacy-pozostanie-darmowy-dla-uzytku-osobistego/
- **Date:** 2022-05-22
- **Tags:** Google Apps, G Suite, G Suite legacy, Google Admin, Free Plan, Free edition, no charges, darmowy, darmowe, Aplikacje Google, Google

### Content

W Google zrobił się kolejny bajzel. Po tym, jak ogłosili, że [długoletni użytkownicy G Suite Legacy nagle muszą przejść na płatny Google Workspace](/ostateczny-koniec-google-g-suite-free-edition-legacy/), spora część użytkowników nie była szczęśliwa, w tym ja.

Dla większości z nas używanie G Suite było rozwiązaniem pozwalającym używanie własnej domeny z pocztą Gmail. Ironiczne stało się to, że Google założyło, że wszyscy ci, co wykorzystywali tego typu rozwiązanie to użytkownicy biznesowi. Wręcz przeciwnie. Spora część ludzi to właśnie użytkownicy prywatni... rodziny.

Ironiczne jest to, że wszyscy ci, co mają pocztę na Gmail, nie muszą płacić, a ci w domenie nagle zaczną. W związku z tym zacząłem [poszukiwania alternatywy do G Suite Legacy](/w-poszukiwaniu-alternatywy-g-suite-legacy/).

<!--more-->

Rozważałem kilka opcji, w tym przeniesienie się na Gmail, co nie było takie łatwe, jak się może wydawać. Zgromadzone przez lata dane nie jest tak łatwo przenieść.

W swoich poszukiwaniach znalazłem metodę, [jak wykorzystać własną domenę z Gmail przy pomocy Cloudflare i opcji Email Routing](/cloudflare-poczta-we-wlasnej-domenie/). Następnie opisałem podobną metodę zwaną Email forwarding dostępną w Domenach Google, niestety [Google zdecydował się uśmiercić tą usługę](/google-usmierca-kolejna-usluge-domeny-google-domains/).

To niestety był tylko czubek góry lodowej.

Osobiście jestem administratorem na czterech kontach G Suite Legacy. Zaczynając od porządków, usunąłem niepotrzebnych użytkowników, aby w ostateczności płacić mniej. Dokonałem migracji na elastyczny plan Google Workspace, przez co pierwszą płatność mogłem doświadczyć dopiero we wrześniu z 50% zniżką na rok.

I tak 20 maja 2022 we mnie zagrzmiało, czytając artykuł na iMagazine: [Google w końcu rozwiązuje bałagan z G Suite](https://imagazine.pl/2022/05/20/google-w-koncu-rozwiazuje-balagan-z-g-suite/), a nie otrzymując tej informacji bezpośrednio od Google.

Otóż ktoś w Google poszedł po rozum do głowy i zauważył, że nie wszyscy użytkownicy użytkują ich usługę zarobkowo.

W związku z tym zdecydował się zaoferować użytkownikom G Suite Legacy plan, w którym nie będą musieli płacić (więcej w [Upgrade from G Suite legacy free edition](https://apps.google.com/supportwidget/articlehome?article_url=https%3A%2F%2Fsupport.google.com%2Fa%2Fanswer%2F60217&assistant_event=welcome&assistant_id=billing-mega-bot-302914&product_context=60217&product_name=UnuFlow&trigger_context=a)).

Podobno, dla użytkowników, którzy nie zdecydowali się jeszcze na przejście na Google Workspace, dostępna będzie opcja rezygnacji z przejścia na płatny plan. Decydując się na to, zobowiązujemy się do użytkowania usługi tylko do celów osobistych. Jak zaznacza Google, nie jest to przeznaczone dla użytkowników firmowych, gdyż niektóre opcje firmowe (bliżej nieokreślone) zostaną wyłączone, a pomoc techniczna (24/7) nie będzie dostępna. Mimo tego nadal będzie można korzystać z G Suite w wersji darmowej (do kolejnego razu, gdy Google zdecyduje inaczej).

Co w przypadku, gdy zdecydowaliśmy się nie czekać na automatyczną migrację i dokonaliśmy już przejścia na plan elastyczny?

Dokonałem tego na trzech kontach, w których jestem administratorem, w tym z jednego zrezygnowałem i przeniosłem wszystko na osobiste konto Google (o czym napiszę później, bo to jest nieco bardziej skomplikowane).

Podążając artykułem od Google ([What if I use G Suite legacy free edition for personal use?](https://apps.google.com/supportwidget/articlehome?article_url=https%3A%2F%2Fsupport.google.com%2Fa%2Fanswer%2F60217&assistant_event=welcome&assistant_id=billing-mega-bot-302914&product_context=60217&product_name=UnuFlow&trigger_context=a)), znajdziemy informacje dla osób w mojej sytuacji.

> "If you transitioned to Google Workspace after January 19, 2022 and used G Suite legacy free edition for personal use, you can contact Support."

Jako że w Google Workspace mam dostęp do prawdziwej pomocy technicznej, zacząłem [kontakt przez czat](https://apps.google.com/supportwidget/articlehome?article_url=https%3A%2F%2Fsupport.google.com%2Fa%2Fanswer%2F1047213%3Ffl%3D1&product_context=1047213&product_name=UnuFlow&trigger_context=a).

I tak rozmawiałem z trzema różnymi osobami, odnośnie do trzech różnych kont, które przeniosłem na Google Workspace, a chciałbym pozostawić je na G Suite legacy dla użytku o osobistego (G Suite legacy free edition for personal use).

---

## Kontakt z pomocą techniczną numer 1

Po rozpoczęciu chatu zadałem pytanie odnośnie do sytuacji z G Suite legacy i możliwości zostania na darmowej wersji.

> Got a question about our company recent article in relation to G Suite legacy and possibility to stay on free edition for personal use.
> 
> As your company informed, that G Suite legacy will not longer be free, I migrated my family to the only option possible.
>
> ...but today I ready that there is option to stay on free for personal use

> ...but now I don't have this option anymore

Szybko otrzymałem potwierdzenie, że jest taka możliwość.

> If you previously were on G Suite legacy free edition and are using Workspace for personal use, you may be eligible for an alternative Workspace experience at no cost. If you choose to self-identify as a non-business user, you'll continue to have access to your custom domain with Gmail and other Workspace Services; you'll retain access to additional Google services such as Google Search, Google Maps, and Youtube; and you'll retain access to your paid content such as movie purchases at Google Play and data stored on Google Workspace. In the future, Google may remove business functionality from this offering such as 24/7 support.

Jako że już przeszedłem na płatny Google Workspace, aby to odwrócić, musiałem potwierdzić, że będę używał go do użytku osobistego.

> Please confirm the following statement: I confirm that I use Google Workspace for personal use. I understand, Google may remove business functionality from this offering and transition businesses to Google Workspace.

Oczywiście potwierdziłem. 

Zmiana nie będzie widoczna na moim koncie od razu, jak zaznaczyła osoba z pomocy technicznej.

> If you accept this from June 26th you will be changed to G suite legacy again.
>
> Thank you for choosing! I've noted that you are interested in an alternative Workspace experience at no cost. You can continue to enjoy your Google Workspace edition for no cost. You will not be billed for your Google Workspace account for the foreseeable future. No further action is needed at this time.

Wszystko fajnie, ale chciałbym jednak mieć jakieś potwierdzenie, gdyż w subskrypcjach Google Workspace nadal mam informację, że będę musiał płacić.

Dostałem potwierdzenie, że zmiana nastąpi około 26 czerwca 2022.

> You have accepted and in the mid of June you will receive an email and after 26th June you can check your subscription then you can see G suite legacy edition.

Super, teraz kolejne konto.

---

## Kontakt z pomocą techniczną numer 2

Będąc zalogowany jako administrator na drugim koncie z Google Workspace, rozpocząłem czat z pomocą techniczną i ponowiłem powyższe pytania.

Wszystko wyglądało dobrze:

> Thank you for letting me know your query. I will surely help you with your requirement to go back to the free edition.

W dalszej części konwersacji:

> Thank you for providing the contact details, Dariusz. Please note that if you previously were on G Suite legacy free edition and are using Workspace for personal use, you may be eligible for an alternative Workspace experience at no cost. If you choose to self-identify as a non-business user, you'll continue to have access to your custom domain with Gmail and other Workspace Services; you'll retain access to additional Google services such as Google Search, Google Maps, and YouTube; and you'll retain access to your paid content such as movie purchases at Google Play and data stored on Google Workspace. In the future, Google may remove business functionality from this offering, such as 24/7 support.

Podobnie jak poprzednio, zostałem poproszony o potwierdzenie, że użytkować będę konto jako osoba prywatna.

> Please confirm the following statement: I confirm that I use Google Workspace for personal use. I understand, Google may remove business functionality from this offering and transition businesses to Google Workspace.

Oczywiście, kolejny raz potwierdziłem.

> Thank you! Please allow me 2 minutes to request the changes from our end for your "Google Workspace" account.
>
> Thank you for choosing, Dariusz. I’ve noted that you are interested in an alternative Workspace experience at no cost. You can continue to enjoy your Google Workspace edition for no cost. You will not be billed for your Google Workspace account for the foreseeable future. No further action is needed at this time.

Jak zauważysz, w pierwszym przykładzie otrzymałem informację, że zmiana nastąpi po 26 czerwca. W tym przypadku tej informacji nie otrzymałem, w związku z tym zadałem pytanie, kiedy zobaczę zmianę, otrzymując następującą odpowiedź:

> It will be initiated by the "Engineering Team" from the backend, and will be rolled out soon.

W porządku, poczekamy – zobaczymy. Jeżeli nic się nie zmieni po 26 czerwca, nadal będę miał czas na kontakt z pomocą techniczną w ten sam sposób, nim przyjdzie mi płacić.

{{% ads-in-article %}}

## Kontakt z pomocą techniczną numer 3

I tak postanowiłem skontaktować się odnośnie do ostatniego konta.

Ponawiając pytania, wszystko wyglądało w porządku:

> Sure! No worries, I'll do my best to help you with this!

Po czym zostałem poproszony, aby chwilkę poczekać, podczas gdy pracownik Google przejrzy moje konto (?!?).

> Can I ask just 2-3 minutes to review the account?

Po chwili otrzymałem potwierdzenie, że przeniosłem się z G Suite na Google Workspace, o czym dobrze wiem i co wspomniałem na początku.

>  I can see that you have already switched to Google Workspace Business Starter so here's the thing.

W tym przypadku nie zostałem poinformowany o moich możliwościach, jedynie oznajmiony, że zostanę dodany do "listy" aby otrzymać opcję G Suite legacy dla użytku osobistego.

> I just added you to our Master list for getting the G Suite legacy free edition for personal use.

Nieco mnie to zirytowało, gdyż dwie poprzednie osoby były nieco bardziej w sprawie całej tej sytuacji. Zadałem więc pytanie, dlaczego i otrzymałem następującą odpowiedź.

> Rest assured that you will receive an email regarding further steps that you need to do before June 27, 2022 and also you will not be charged for anything while waiting for the updates.

Niby mam czekać na maila przez 27 czerwca, w którym dostanę opcję pozostania na G Suite legacy. 

Nadal jednak coś mi tu nie grało, gdyż na poprzednich dwóch kontaktach zostałem poproszony o oświadczenie, a w tym przypadku nie.

Mimo że kontakt z daną osobą nie przebiegł tak jak w poprzednich dwóch przypadkach, zostałem poinformowany kolejny raz, że zostałem dodany do "listy" użytkowników, którzy zostaną automatycznie przeniesieni z powrotem do G Suite legacy.

> Since you already switched to Business Starter and you want to get back to G Suite legacy free edition, I added you on the list to be part of the users that will automatically transition back to G Suite legacy free edition for personal use. Please be assured that you won't be charged for your usage until the transition period.

Jako że po zakończonym kontakcie otrzymujemy transkrypcje (zapis czatu), w związku z tym mamy dowód tego, co zostało powiedziane, stwierdziłem, że nie będę drążył tego dalej, tylko uzbroję się w cierpliwość i zobaczę, co się stanie pod koniec czerwca.

Ostateczne potwierdzenie ze strony pomocy technicznej.

> You don't have to worry for any charges even if you switched to Business Starter today because it's still considered as no charge and before June 27, 2022 your account will automatically transition back to the Legacy free edition for personal use.

No dobra, I to by było na tyle... kończąc rozmowę z pomocą techniczną.

---

Czekając cierpliwie zobaczymy, jak sprawy się potoczą. Mam nadzieje, że nie będzie to taki bajzel jak w przypadku domen z końcówką art.pl, w których to użytkownicy zostali postawieni przed ścianą.

W międzyczasie będę rozważał metody na przejście z G Suite (Google Workspace) do Gmail, gdyż nie wiemy, kiedy kolejny raz ktoś w Google wpadnie na genialny pomysł zmuszenia użytkowników do płacenia.

Myślę, że ta cała sytuacja ma jakiś podtekst prawny. Jako że Google w przeszłości obiecywało, że użytkownicy G Suite legacy nie będą musieli płacić, wisi w powietrzu pozew zbiorowy, który Google może przegrać. Nim jednak zaczną zamieszanie, chcą co nieco naprawić. Prawnicy w Google mają pełne ręce roboty.

Rozważam jeszcze opcje, czy warto dla jednego konta z jednym użytkownikiem bawić się to całe G Suite. Rozpocząłem mój wpis, jak przejść do standardowego konta Google z przeniesieniem danych (w tym Zdjęć Google). Zobaczymy, jak to wszystko pójdzie.

Na osobistym koncie Google mamy możliwość [utworzenia grupy rodziny](https://families.google.com/families), w ramach której możemy dzielić, między innymi, zakupione dodatkowe miejsce na nasze dane. Jest to coś, czego nie ma w G Suite i Google Workspace. Mając już "rozwiązany problem" z podpięciem domeny do Gmail (z możliwością odbierania i wysyłania poczty z domeny), pozostaje opcja ogarnięcia reszty usług.

Jak co, mam na to czas do września, nim przyjdzie mi płacić za Google Workspace, lub jeżeli wszystko pójdzie tak, jak Google aktualnie obiecuje, będę miał nieco więcej czasu na zabawę.

---

## Aktualizacja 26/07/2022

Google obiecywał, że do 26 czerwca wszystko zostanie rozwiązane. Tak się jednak nie stało (a to niespodzianka!).

Zaraz po 26 czerwca skontaktowałem się z pomocą techniczną, gdzie zostałem poinformowany, że wszystko jest na dobrej drodze, ale mają oni obsuwę czasową i że niedługo zmiana nastąpi. Dodatkowo zostałem poinformowany, żebym się nie martwił, że nie zostanę obciążony za subskrypcję.

Ok. Jako że jeszcze mam trochę czasu, postanowiłem poczekać.

I tak 24 lipca, w niedzielę tak sobie przypomniałem, że przecież nic nie słyszałem od Google na temat mojej migracji. Postanowiłem więc w tygodniu się z nimi skontaktować. Nim to jednak zrobiłem, w poniedziałek 25 lipca na mój e-mail wylądowała poczta od pomocy technicznej, w której zostałem poinformowany następująco:

> You are receiving this email because you previously contacted Support to identify as a personal user and revert to a no-cost subscription. This message is to notify you that your subscription has successfully been migrated to the alternative Workspace experience at no-cost.
> 
> You'll see a banner in the Admin console confirming you have chosen a no-cost subscription for personal use. No action is required. 
> 
> You can continue to enjoy your Google Workspace edition for no cost. You will not be billed for your Google Workspace account for the foreseeable future.
> 
> This option is for non-commercial personal use and does not include support. In the future Google may remove business functionality from this offering and transition businesses to Google Workspace.
> 
> If you have any questions about the no-cost subscription for personal use, please review our Help Center: [https://support.google.com/a/answer/60217#nocost](https://support.google.com/a/answer/60217#nocost)

**Nareszcie!**

Zgodnie z mailem, moja subskrypcja została przeniesiona na bezpłatny plan dla użytku osobistego.

Po zalogowaniu się do panelu administracyjnego ujrzałem stosowną informację potwierdzającą.

[![Wybierasz dalsze korzystanie z bezpłatnej subskrypcji do użytku osobistego](/images/2022/07/Google_Workspace_no-cost-subscription-polish.png)](/images/2022/07/Google_Workspace_no-cost-subscription-polish.png)

[![You have chosen to continue using a no-cost subscription for personal use](/images/2022/07/Google_Workspace_no-cost-subscription-english.png)](/images/2022/07/Google_Workspace_no-cost-subscription-english.png)

W zakładce **Rozliczenia** (Billing) > **Subskrypcje** (Subscriptions) otrzymałem potwierdzenie, że jestem na **planie darmowym** (Free plan) a w sekcji **Szacowany rachunek miesięczny** (Estimated monthly bill) ujżałem informację **Wersja bezpłatna (brak opłat)** (Free edition (no charges)).

Wszystko niby fajnie, ale nie do końca.

Jeżeli czytałeś od początku, oprócz mojego konta, administratorem jestem również na dwóch innych. Co ciekawe, na tych dwóch kontach nie otrzymałem informacji o tym, że zostałem przeniesiony na plan darmowy. Trochę mnie to zmartwiło, więc od razu skontaktowałem się z pomocą techniczną.

Pomoc techniczna była nieco bardziej ogarnięta niż na początku i od razu dostałem odnośnik, na który (będą zalogowany w panelu administracyjnym usługo Google) klikając, musiałem jeszcze raz potwierdzić, że użytkować będę usługę do celów prywatnych.

[![Potwierdzenie użytkowania usług Google do użytku osobistego](/images/2022/07/Google_Workspace_for_personal_use.png)](/images/2022/07/Google_Workspace_for_personal_use.png)

Po kliknięciu (potwierdzeniu) moja subskrypcja na innym koncie została przeniesiona na darmowy plan.

Na trzecim, ostatnim koncie Google, bez kontaktu z pomocą techniczną, klikają tylko na otrzymany odnośnik, dokonałem przeniesienia bez najmniejszego problemu. Super!

Jeżeli jesteś w podobnej sytuacji, zaloguj się na swoim koncie Google, [przejdź do panelu administracyjnego (Admin console)](https://admin.google.com), a następnie skorzystaj z poniższego odnośnika, aby potwierdzić użytek niekomercyjny i przenieść się na darmowy plan.

> [https://admin.google.com/ac/billing/legacytransition](https://admin.google.com/ac/billing/legacytransition)

W końcu jeden problem, który Google sam stworzył, został na pewien czas zażegnany.

Dodam tylko tyle, że zapewne za kilka lat, kolejni geniusze w Google wpadną na pomysł, aby kolejny raz zmusić ludzi do płacenia i cała historia się powtórzy.

Pozdrawiam.


---
## Bionic Reading ...z polskiego punktu widzenia
- **URL:** https://dariusz.wieckiewicz.org/bionic-reading/
- **Date:** 2022-05-19
- **Tags:** Bionic Reading, czytanie, czytanie ze zrozumieniem, szybkie czytanie, nie lubię czytać, łatwiejsze czytanie

### Content

Osobiście czytam dużo... ale nie książek. Jeżeli chodzi o wszelkiego rodzaju poradniki, artykuły na jakiś ciekawy temat lub nowinki techniczne to nie ma problemu.

**Nie lubię czytać książek.** Nigdy za tym nie przepadałem. W swoim życiu sam z siebie może przeczytałem tylko tuzin z nich.

O ile samo czytanie nie jest problemem, gdyż wolę przeczytać artykuł, a niżeli obejrzeć filmik na YouTube na ten sam temat, to książki są nieco inną parą kaloszy.

O ile pochłanianie pierwszych stron nie stanowi problemu, bardzo szybko przychodzi zmęczenie.

Gdy czytam artykuł, który jest bardzo obszerny w tekst, staram się zaplanować na to czas, aby przeczytać go w całości przy pierwszym podejściu. W przypadku książek nie mam takiej możliwości i cierpliwości. Gdy raz, czy drugi raz, przerwę czytanie, ciężko jest mi do tego wrócić. No, chyba że jest to coś naprawdę wciągającego i przydatnego.

W życiu nie przeczytałem Pana Tadeusza. Polegam na rozciągliwym opisie natury czy też budowaniu całej atmosfery dookoła. A gdyby tak udało się oszukać nieco nasz mózg i zamiast czytania 10 tysięcy słów, przeczytalibyśmy tylko ich początki, a resztę nasz mózg by przetworzył mimowolnie?

Stąd też się wzięło [Bionic Reading](https://bionic-reading.com).

<!--more-->

Motto przewodnie jego twórczy jest:
> _"Did you know that your brain reads faster than your eye?"_

Czyli, czy wiesz, że twój mózg czyta szybciej niż twoje oczy.

Coś w tym jest.

Stąd też nauczyłem się pisać bardzo szybko na klawiaturze, gdyż moje myśli składały się dużo szybciej, niż słowa na ekranie przez co traciłem wątek. Obecnie nie przejmuję się za bardzo błędami interpunkcyjnymi czy też ortografią. Byki walę jak popadnie. Najważniejsze jest teraz przelanie myśli na "papier" (elektroniczny), a później można zająć się obróbką.

Z reguły bardziej bogaty wpis na mojej stronie komponuję w przeciągu pół godziny do godziny, po czym jego obróbka, poprawianie tekstu zajmuje mi dwa lub trzy razy dłużej.

**Wracając do Bionic Reading.**

Czytając wstępny tekst na stronie autora (Renato Casutt), można odnieść wrażenie, że rzeczywiście czytanie staje się łatwiejsze. Oczy nadążają za naszym mózgiem w przetwarzaniu tego, co widzimy i czytamy. 

Nie wiem do końca jak to zinterpretować, ale zacząłem przemyślenia odnośnie języka polskiego i aspektu, który uczyliśmy się w szkole podstawowej, czyli dzielenia wyrazów na głoski.

Dzieląc wyrazy na głoski i podkreślając (pogrubiając) pierwsze głoski, można odnieść wrażenie, że czytamy szybciej, lepiej oraz z większym zrozumieniem. Po prostu czytamy!

> Faster.
> Better.
> More focused.
> Reading.
>
> _[cel - misja Bionic Reading](https://bionic-reading.com/about/)_

[Bionic Reading jest opatentowanym rozwiązaniem](https://bionic-reading.com/patent-trademark-2/). Jeżeli chcemy jego użyć, możemy posłużyć się API lub też skorzystać z opcji wbudowanej w aplikacje, taką jak [Reeder](https://apps.apple.com/app/id1529445840) (jeden z lepszych czytników RSS dla użytkowników urządzeń od Apple).

Nim jednak się na to zdecydujemy (nie jestem do końca pewien czy i jak to będzie działało w języku polskim), spróbujmy przerobić tekst z Polskiego na Polski Bionic Reading.

W tym celu posłużymy się tekstem (wybranym artykułom), którego mało kto tak naprawdę zna, rozumie i szanuje, szczególnie wśród obecnej partii rządzącej w Polsce, czyli Konstytucja Rzeczypospolitej Polski.

---

_Art. 30._\
**Przyro**dzona **i** **niezby**walna **godno**ść **czło**wieka **st**anowi **źr**ódło **wolno**ści **i** **p**raw **czło**wieka **i** **oby**watela. **J**est **o**na **nienaru**szalna, **a** **j**ej **poszano**wanie **i** **ochro**na **j**est **obowią**zkiem **w**ładz **pub**licznych.

_Art. 31._\
**Wol**ność **czło**wieka **po**dlega **och**ronie **pra**wnej.
**K**ażdy **j**est **obowią**zany **sza**nować **wol**ności **i** **p**rawa **i**nnych. **Ni**kogo **n**ie **wo**lno **zmu**szać **do** **czy**nienia **t**ego, **cze**go **p**rawo **mu** **n**ie **nak**azuje.\
**Ograni**czenia w **zakre**sie **korzy**stania **z** **konsty**tucyjnych **wolno**ści **i** **p**raw **m**ogą **b**yć **ustana**wiane **t**ylko w **us**tawie **i** **t**ylko **wte**dy, **g**dy **są** **konie**czne w **demokra**tycznym **p**aństwie **d**la **j**ego **bezpie**czeństwa **lub** **porzą**dku **publi**cznego, **b**ądź **d**la **ochro**ny **środow**iska, **zdro**wia **i** **moralnoś**ci **publi**cznej, **a**lbo **wolno**ści **i** **p**raw **in**nych **o**sób. **Ograni**czenia te **n**ie **mo**gą **naru**szać **isto**ty **wolno**ści **i** **p**raw.

_Art. 32._\
**Wszy**scy **są** **wob**ec **p**rawa **rów**ni. **Wszy**scy **m**ają **pra**wo **do** **równe**go **trakto**wania **p**rzez **wł**adze **pub**liczne.\
**N**ikt **nie** **m**oże **b**yć **dyskrymi**nowany **w** **ży**ciu **polity**cznym, **społe**cznym **l**ub **gospoda**rczym **z** **jakiejko**lwiek **przyczy**ny.

_Art. 33._\
**Kob**ieta **i** **mężczy**zna **w** **Rzeczypos**politej **Pol**skiej **m**ają **rów**ne **p**rawa **w** **ży**ciu **rodzi**nnym, **polit**ycznym, **społe**cznym **i** **gospo**darczym.\
**Kob**ieta **i** **mężczy**zna **m**ają **w** **szczególno**ści **rów**ne **p**rawo **do** **kształce**nia, **zatru**dnienia **i** **awan**sów, **do** **jednako**wego **wynagra**dzania **z**a **pra**cę **jedna**kowej **warto**ści, **do** **zabezpie**czenia **społe**cznego **o**raz **do** **zajmo**wania **stanowi**sk, **pełnie**nia **funk**cji **o**raz **uzyski**wania **godno**ści **publi**cznych **i** **odzna**czeń.

(...)

_Art. 35._\
**Rzeczpo**spolita **Pol**ska **zape**wnia **obywate**lom **pol**skim **nale**żącym **do** **mniejszo**ści **narodo**wych **i** **etni**cznych **wolno**ść **z**achowania **i** **rozwo**ju **wła**snego **ję**zyka, **zach**owania **oby**czajów **i** **trad**ycji **o**raz **rozw**oju **wł**asnej **kult**ury.\
**Mniejsz**ości **nar**odowe **i** **etni**czne **m**ają **p**rawo **do** **two**rzenia **wła**snych **inst**ytucji **edu**kacyjnych, **kultu**ralnych **i** **inst**ytucji **służ**ących **ochr**onie **tożsa**mości **reli**gijnej **o**raz **do** **ucze**stnictwa **w** **rozstrzy**ganiu **spra**w **dot**yczących **i**ch **tożsa**mości **kult**urowej.

_Art. 36._\
**Pod**czas **po**bytu **za** **gra**nicą **obyw**atel **pol**ski **ma** **p**rawo **do** **opie**ki **ze** **stro**ny **Rzeczypo**spolitej **Polsk**iej.

_Art. 37._\
**K**to **znajdu**je **s**ię **pod** **wła**dzą **Rzeczyposp**olitej **Pols**kiej, **korzy**sta z **wolno**ści **i** **p**raw **zapew**nionych **w** **Konst**ytucji.\
**W**yjątki **od** **t**ej **zas**ady, **odno**szące **s**ię **do** **cudzozie**mców, **okre**śla **ust**awa.

---

{{% ads-in-article %}}

I jak się czyta? Łatwiej?

Nie jest to może idealny przykład, gdyż "algorytmem" bionic reading byłem ja i sam zauważyłem, że co nieco zgubiłem lub przekształciłem w myślach, czytając ciurkiem, jednakże sens zrozumiałem (czego nie można powiedzieć o niektórych, którzy powinni znać każde słowo z tego dokumentu).

Podobnie jest z przykładem pomieszanych liter w tekście. Nasz mózg jest w stanie odczytać tekst niemal bezbłędnie, pod warunkiem, że pierwsza i ostatnia litera w słowie jest na właściwym miejscu.

> _Zdognie z nanjwoymszi baniadmai perzporawdzomyni na bytyrijskch uweniretasytch nie ma zenacznia kojnoleść ltier przy zpiasie dengao sołwa. Newajżanszjie jest to, żbey prieszwa i otatsnia lteria byla na siwom mijsecu, ptzosałoe mgoą być w niaedziłe i w dszalym cąigu nie pwinono to sawrztać polbemórw ze zozumierniem tksetu. Dzijee sie tak datgelo, że nie czamyty wyszistkch lteir w sołwie, ale cłae sołwa od razu._

Nie wiem jak wy, ale jeżeli taki "prosty" zabieg jak zastosowanie Bionic Reading pomoże mi w łatwiejszym czytaniu nadmiernie długich tekstów, to dlaczego by nie!

Nie często spotykamy coś, co może zrewolucjonizować taki "prosty "zabieg jak czytanie. Połączenie togo z szybkim czytaniem ze zrozumieniem odblokowuje nam niebywałe możliwości.

Zapewne niejednokrotnie słyszeliście o osobach tak zwanych "wzrokowcach". Mogą one poprzez spojrzenie na tekst, przeczytać go i zrozumieć. Nie wszyscy mamy ten dar, jednakże Bionic Reading jest nam w stanie w tym celu pomóc.

Osobiście, używałem aplikacji Reeder 4 do przeglądania moich wątków RSS. W momencie wypuszczenia Reeder 5 nie zdecydowałem się na płatną aktualizację a wprowadzenie czegoś takiego jak "bionic reading" wówczas nie przemawiał do mnie. To pojęcie jednak się zmieniło, gdy zauważyłem wyższy potencjał tego typu technologii.

Na co dzień mamy coraz to mniej czasu na bujanie w obłokach. Jeżeli tego typu metoda sprawi, że przeglądanie setek wpisów dziennie zajmie mi połowę czasu niż dotychczas, tylko dzięki Bionic Reading to jestem za!

**Chcesz spróbować Bionic Reading? Nic prostrzego.**

Autor, Renato Casutt, udostępnił na swojej stronie [oficjalny konwerter do Bionic Reading](https://api.bionic-reading.com/convert/), który możesz wykorzystać do przerobienia dowolnej strony internetowej (podając jej linka) lub też plików w formacie TXT, RTF, RTFD, EPUB oraz DOCX do formatu Bionic Reading.


---
## Poczta we własnej domenie z Cloudflare (i Gmail)
- **URL:** https://dariusz.wieckiewicz.org/cloudflare-poczta-we-wlasnej-domenie/
- **Date:** 2022-04-30
- **Tags:** Internet, DNS, Domena, Rekordy MX, Rekordy SPF, Cloudflare, Email, Email Routing, Gmail

### Content

Jeżeli dysponujesz własną domeną, a nie posiadasz możliwości odbierania i wysyłania maili z tego adresu, gdyż wiąże się to z dodatkowymi kosztami, Cloudflare przygotował dla ciebie idealne rozwiązanie.

[Email Routing](https://developers.cloudflare.com/email-routing/) (przekierowywanie maili), to darmowa usługa warta zainteresowania.

> Aby skorzystać z tej opcji, nasza domena musi być zarządzana na serwerach DNS w Cloudflare. Jeżeli posiadamy rekordy MX (pocztowe) do innej usługi, będziemy musieli je usunąć i zastąpić.

Email Routing polega na ustawieniu adresu e-mail w domenie, z którego każda poczta otrzymana zostanie przekazana na inną skrzynkę pocztową.

Jeżeli twój firmowy adres email jest w domenie Gmail, dlaczego by nie zacząć używać poczty w własnej domenie. Zyskasz na tym większy prestiż i profesjonalizm, mimo że tak naprawdę nic się dla ciebie nie zmieni, gdyż nadal będziemy otrzymywać pocztę na skrzynce, którą używałeś do tej pory.

<!--more-->

Nim zaczniemy zabawę, najlepiej poznać [ograniczenia tej usługi](https://developers.cloudflare.com/email-routing/postmaster/#known-limitations).

## Ograniczenia usługi

- Usługa obsługuje [domenę ze znakami językowymi](https://pl.wikipedia.org/wiki/Internationalized_Domain_Name), tak zwanymi ogonkami (ąśćź, jeżeli chodzi o polski język), ale nie ubsługuje przedrostka adresu z tymi znakami;
- Jeżeli poczta wysłana na adres w domenie nie zostanie dostarczona do delegowanej skrzynki (z różnych powodów), nadawca nie jest o tym powiadamiany w postaci raportu o niedoręczeniu wiadomości;
- W wersji darmowej, adres e-mail może być tylko w domenie głównej. Używanie przekazywania maili w pod-domenie (sub-domenie) wymaga przejścia na wyższy, płatny pakiet;
- Jeżeli przywykłeś do używania kombinacji adresów e-mail w usłudze Gmail (tj. adres+etykieta@example.com) czy też wariancji adresów pocztowych (adres.poczty@example.com to ten sam co adrespoczty@example.com), w tej usłudze, każdy adres jest traktowany osobno i nie będzie działać tak jak domyślnie na poczcie od Google (to ma się zmienić w przyszłości);
- Niektórzy usługodawcy ze ścisłą polityką DMARC mogą powodować problemy z doręczeniem adresu e-mail z usługi do skrzynki docelowej;
- Usługa nie oferuje opcji komponowania nowej wiadomości lub też odpowiadania z adresu w domenie. **Ale czy na pewno? Przekonamy się w dalszej części tego wpisu, gdzie spróbujemy ustawić adres e-mail jako alias w poczcie Gmail**.

## Ustawienie usługi

Po zalogowaniu się do naszego panelu w Cloudflare i dodaniu naszej domeny (nie będę zagłębiał się tutaj w ten aspekt), z lewej strony zobaczymy opcję **Email**.

[![Cloudflare - Email Routings - Get Started](Email_Routing_Get_started.png)](Email_Routing_Get_started.png)

Klikając przycisk **Get started** rozpoczniemy ustawianie naszych adresów.

[![Cloudflare - Email Routing - Get Started](cloudflare_email_routing_get_started.png)](cloudflare_email_routing_get_started.png)

W pierwszej kolejności musimy wybrać nasz alias w domenie, a następnie sprecyzować gdzie poczta ma być przekazana.

Po kliknięciu przycisku **Create and continue** przejdziemy do etapu weryfikacji naszego adresu docelowego.

[![Cloudflare - Email Routing Verification](cloudflare_email_routing_verification.png)](cloudflare_email_routing_verification.png)

Na nasz adres pocztowy dostaniemy email od Cloudflare, w którym  będziemy musieli kliknąć przycisk **Verify email address**.

> Dokonać tego możemy z dowolnego urządzenia. Na tym etapie nie będziemy musieli się logować do Cloudflare, dzięki czemu ustawienie możesz dokonać na komputerze a potwierdzenie na tablecie lub telefonie komórkowym.

W ostatnim etapie dodać należy rekordy DNS odpowiadające za obsługę poczty (MX oraz jeden TXT).

> Jeżeli nasza domena była już ustawiona w Cloudflare (lub ją przenieśliśmy od innego usługodawcy wraz z ich wpisami), na tym etapie zostaniemy poinformowani, że posiadamy już rekordy MX i powodują one konflikt. Należy je usunąć i dodać te, które zalecił Cloudflare.

[![Cloudflare - Email DNS records](cloudflare_email_dns_records.png)](cloudflare_email_dns_records.png)

Gdy tego dokonaliśmy, wracając do sekcji **Email** z lewej strony manu otrzymamy potwierdzenie: **Routing status: Enabled**.

Oto jak wyglada to w mojej domenie.

[![Cloudflare - Email Routing Enabled](Email_Routing_enabled.png)](Email_Routing_enabled.png)

> W zakładce **Routes** możemy zobaczyć nasz ustawiony adres alias, dodać kolejne oraz sprawdzić jakie adresy email są zatwierdzone do otrzymywania poczty.
>
> Przy pierwszym aliasie potwierdzaliśmy nasz adres e-mail na tym etapie. W przypadku każdego następnego musimy je dodać w sekcji **Destination addresses** przed ustawieniem aliasu wskazującego na niego.

## Sprawdzenie konfiguracji

Na tym etapie musimy wysłać adres e-mail z innego adresu poczty, jaki ustawiliśmy w Cloudflare. Jeżeli e-mail doszedł, to wszystko działa tak, jak należy i możemy przystąpić do dalszej konfiguracji, jeżeli potrzebujemy.

## Statystyki

Oprócz samego przekierowywania poczty, usługa **Email Routing** oferuje na stronie głównej przejrzyste statystyki oraz dziennik (log) pokazujące co i kiedy zostało wysłane do nas.

{{% gallery %}}
[![Cloudflare Email Rouuting Summary](cloudflare_email_routing_summary.png)](cloudflare_email_routing_summary.png)
[![Cloudflare Email Activity Log](cloudflare_activity_log.png)](cloudflare_activity_log.png)
{{% /gallery %}}

## Spam i inna niechciana poczta

Przekazywanie maili przez Cloudflare nie ingeruje w rodzaj wiadomości, jakie otrzymujemy. Po stronie naszego adresu e-mail powinniśmy zadbać o odpowiednie filtrowanie wiadomości śmieci, gdyż Cloudflare nie wpływa na to.

Cloudflare odrzuci wiadomości, które nie przejdą domyślnej weryfikacji i są bardzo prawdopodobnie spamem. Więcej o tym możesz przeczytać w sekcji [Spam and abusive traffic](https://developers.cloudflare.com/email-routing/postmaster/#spam-and-abusive-traffic).

## Zabezpieczenie ustawień DNS

Jeżeli wszystko działa nam tak, jak powinno, ostatnim krokiem pozostaje zabezpieczenie naszych wpisów DNS związanych z pocztą, abyśmy przez przypadek ich nie zepsuli.

[![Cloudflare - Lock DNS Records](cloudflare_lock_dns_records.png)](cloudflare_lock_dns_records.png)

W tym celu przechodzimy do zakładki **Settings** w **Email Routing** i klikamy **Lock DNS records**

{{% ads-in-article %}}

## Wysyłanie i odpowiadanie z domeny (Gmail)

Mimo że oficjalnie Cloudflare nie oferuje możliwości odpowiadania, jak i komponowania nowej wiadomości z naszego adresu e-mail w domenie, to nie znaczy że się nie da. Gmail posiada do tego opcję ustawienia naszego adresu jako aliasu. Zobaczmy czy działa.

W pierwszej kolejności musimy ustawić **hasło jednorazowe do aplikacji** z poziomu Konta Google.

1. Wchodzimy na [Konto Google](https://myaccount.google.com);
2. Przechodzimy do sekcji [Bezpieczeństwo](https://myaccount.google.com/security) (Security);
3. W sekcji Logowanie się do Google (Signing in to Google) wybieramy [Hasła Aplikacji](https://myaccount.google.com/apppasswords) (App passwords). Potwierdzamy przejście do tej sekcji, wprowadzając nasze hasło do konta;
4. Z listy wyboru aplikacji (Select app) wybierz **Poczta** (Mail) a z wyboru urządzenia (Select device) wybierz Inne (Other - Custom name). Wprowadź dowolną nazwę i naciśnij przycisk Generuj (Generate);

Wracamy do Poczty Google (Gmail).

5. Przechodzimy do Ustawień poczty > Wszystkie ustawienia (See all settings);
6. Wybieramy zakładkę Konta (Accounts) i w pozycji Wysyłaj pocztę jako (Send mail as) klikamy Dodaj kolejny adres email (Add another email address);
7. W polu Adres e-mail (Email address) wprowadź ten, który ustawiłeś po stronie Cloudflare i kliknij Dalej (Next Step);

> Na tym etapie upewnijmy się, że nasz adres e-mail traktowany był jako alias (Zaznaczone pole **Treat as an alias**)

8. W polu serwera SMTP zmieniamy route1.mx.cloudflare.net an **smtp.gmail.com** i zostawiamy port 587;
9. W polu użytkownika (Username) wprowadzamy nasz adres Gmail (login@gmail.com);
10. W polu hasło (Password) wprowadzamy to, wygenerowane na początku (a nie nasze hasło do konta).

W momencie, gdy naciśniemy przycisk Dodaj konto (Add account), Google wyśle email z kodem weryfikacyjnym na nasz Alias. Jak wiadomość dojdzie, wprowadzamy otrzymany kod i potwierdzamy.

Takim sposobem, będziemy mogli napisać nową wiadomość, jak i odpowiadać z naszego aliasu. **Mimo że Cloudflare tego nie obsługuje**, to Gmail zrobi to za nas.

---

W tej samej sekcji w ustawieniach poczty, gdzie dodaliśmy nasz alias, możemy zaznaczyć domyślne zachowanie poczty (When replying to a message), wybierając opcję Odpowiadania z tego samego adresu, na który została wysłana wiadomość (Reply from the same address to which the message was sent).

Dzięki temu nie będziemy za każdym razem musieli przełączać się pomiędzy Gmail a adresem aliasem.

---

I tak z cyklu **"jak się nie da, jak się da"**, ustawiliśmy możliwość otrzymywania, odpowiadania i wysyłania poczty z naszego aliasu ustawionego z poziomu DNS i Cloudflare.

---

Tego typu rozwiązanie, jest poniekąd alternatywą na pocztę w domenie dla osób, które chcą używać Gmail ale nie chcą inwestować w Google Workspace.

Pozdrawiam.


---
## 10 rzeczy do zrobienia po instalacji/aktualizacji do Windows 11 (+1)
- **URL:** https://dariusz.wieckiewicz.org/10-rzeczy-do-zrobienia-po-instalacji-aktualizacji-windows-11/
- **Date:** 2022-04-16
- **Tags:** Windows 11, Windows 10, Aktualizacje Windows, Windows Updates, Aktualizacje opcjonalne, Microsoft, Menu Start, Sklep Microsoft, Driver Booster, Konto Microsoft, Disk cleanup, Czujnik pamięci, Storage Sense, punkt odzyskiweania, restore point

### Content

Jeśli zaktualizowałeś swój komputer z Windows 10 do Windows 11, poniższe kroki pomogą ci wyczyścić pozostałości w systemie i zbliżyć go do wydajności znanej z 10 edycji systemu Windows.

Jeśli planujesz (lub już to zrobiłeś) [zainstalować system Windows 11 z oficjalnego obrazu ISO](/obraz-iso-windows-11/), upewnij się, że używasz zawsze jego najnowszej wersji. W chwili pisania tego tekstu dostępny obraz ISO jest drugim od czasu, gdy system został zaprezentowany światu (64v1).

<!--more-->

## Przenieś menu Start z powrotem na lewą stronę
Jeśli nie lubisz swoich ikon na środku, w tym menu Start, możesz je przenieść z powrotem do lewej krawędzi, tak jak to było zawsze w poprzednich systemach Windows, klikając prawym przyciskiem myszy na dolnym pasku menu i wybierając **Ustawienia paska zadań** (Taskbar settings).

[![Windows 11 – Kliknij prawym przyciskiem myszy pasek menu, aby uzyskać ustawienia paska zadań](win11-Taskbar-settings.png)](win11-Taskbar-settings.png)

> Alternatywnie **Start** > **Ustawienia** > **Personaliozacja** > **Pasek zadań** (Taskbar)

[![Windows 11 – Ustawienia paska zadań z menu Personalizacja](win11-Taskbar-behaviour.png)](win11-Taskbar-behaviour.png)

Gdy przewiniesz okno w dół, znajdziesz sekcję **Zachowania paska zadań** (Taskbar behaviors), a tam, po rozwinięciu, będziesz miał opcję **Wyrównanie paska zadań** (Taskbar alignment) ustawioną na **Na środku** (domyślnie). Po prostu przełącz go na **W lewo**.

> Nie rozumiem całej idei centrowania ikon i menu Start. Microsoft próbuje zrobić coś takiego jak Dock w macOS, ale w tym przypadku nadal mamy zegar i ikony po prawej stronie, więc cała koncepcja nie ma sensu (jako użytkownik macOS). Rozumiem, że kiedy naciśniesz **nowe** menu **Start**, wyświetla się ono ładnie wyśrodkowane, ale ogólnie rzecz biorąc, nie jest to oczekiwane/pożądane przez użytkowników (_moim zdaniem_).

## Uruchom aktualizacje systemu Windows (Windows Update)
Jeśli zainstalowałeś system Windows 11 od zera, nie będzie dla Ciebie niespodzianką, że czekają na Ciebie aktualizacje systemu Windows.

Jeśli właśnie zaktualizowałeś system Windows 10, mogą one zostać zainstalowane w trakcie tego procesu, ale nadal będą pewne opcjonalne aktualizacje dostępne, które warto sprawdzić i zainstalować.

[![Aktualizacje systemu Windows 11](win11-waiting-windows-updates.png)](win11-waiting-windows-updates.png)

Przejdź do **Start** > **Ustawienia** i wybierz **Windows Update** z lewej strony okna. Jeśli coś czeka na pobranie, naciśnij niebieski przycisk **Pobierz teraz** (Download now), aby od razu rozpocząć pobieranie i instalowanie.

[![Windows 11 – Aktualizacje systemu Windows wstrzymane](win11-windows-updates-paused.png)](win11-windows-updates-paused.png)

> W zależności od zainstalowanej wersji systemu Windows aktualizacje mogą być wstrzymane na początku. Kliknij niebieski przycisk **Wznów aktualizacje** (Resume updates), aby rozpocząć wyszukiwanie dostępnych aktualizacji.

[![Windows 11 – Windows Update – Sprawdzanie aktualizacji](win11-checking-for-updates.png)](win11-checking-for-updates.png)

Jeśli nie widzisz żadnych czekających na Ciebie aktualizacji, zawsze możesz wymusić sprawdzenie klikając niebieski przycisk **Sprawdź aktualizacje** (Check for updates).

[![Windows 11 – aktualizacje systemu Windows – pobieranie aktualizacji](win11-more-windows-updates.png)](win11-more-windows-updates.png)

### Włącz aktualizacje dla innych produktów firmy Microsoft

[![Windows 11 – aktualizacje systemu Windows – opcje zaawansowane](win11-windows-updates-advanced-options.png)](win11-windows-updates-advanced-options.png)

W tym celu musisz przejdź do **Opcji zaawansowanych** (w sekcji Windows Updates) i zaznaczyć (włącz) opcję **Otrzymuj aktualizacje innych produktów firmy Microsoft** (Receive updates for other Microsoft products).

[![Windows 11 – Otrzymuj aktualizacje dla innych produktów Microsoft](win11-Receive-updates-for-other-Microsoft-products.png)](win11-Receive-updates-for-other-Microsoft-products.png)

Gdy to zrobisz, wróć do sekcji **Windows Update** i kliknij niebieski przycisk **Sprawdź aktualizacje**, aby sprawdzić, czy jest coś więcej.

### Zainstaluj aktualizacje opcjonalne
Będąc w **Opcjach zaawansowanych** (Advanced options), znajdź go w sekcji **Opcje dodatkowe** (Additional options) i przejdź do niego.

[![Windows 11 – aktualizacje systemu Windows – aktualizacje opcjonalne](win11-optional-updates.png)](win11-optional-updates.png)

Jeśli są dostępne, będziesz mógł je wybrać i zainstalować. Zazwyczaj są one związane ze sprzętem, gdy obecny system zawiera sterowniki w starszych wersjach, niż te dostarczane przez firmę Microsoft.

> Czasami, aby uzyskać ich najnowszą wersję, lepiej skorzystać ze strony internetowej producenta.

## Zaktualizuj sklep Microsoft (sam) i aplikacje

System Windows 11 jest dostarczany z kilkoma przeinstalowanymi aplikacjami, które nie zostaną zaktualizowane od razu po zainstalowaniu lub aktualizacji systemu. Podobnie jak sam Sklepo Microsoft, miejsce, z którego instalujesz aplikacje, może wymagać aktualizacji.

[![Windows 11 – Wyszukaj Microsoft Store w menu Start](win11-microsoft-store-from-the-list.png)](win11-microsoft-store-from-the-list.png)

Przejdź do **Start** > Kliknij **Wszystkie aplikacje** w prawym górnym rogu i znajdź **Microsoft Store** (Sklep Microsoft) na liście.

{{% gallery %}}
[![Windows 11 – Microsoft Store – biblioteka wskazująca](win11-microsoft-store-pointing-library.png)](win11-microsoft-store-pointing-library.png)
[![Windows 11 – Microsoft Store – Biblioteka](win11-microsoft-store-library.png)](win11-microsoft-store-library.png)
{{% /gallery %}}

Kliknij **Bibliotekę** (Library) znajdującą się w lewym dolnym rogu okna, a następnie kliknij niebieski przycisk **Pobierz aktualizacje** (Get updates).

[![Windows 11 – Microsoft Store – Biblioteka – Pobierz aktualizacje – Aktualizacja](win11-microsoft-store-updating.png)](win11-microsoft-store-updating.png)

Po zakończeniu wyszukiwania zaczną pobierać i aktualizować. Jeśli nie, zawsze możesz to wymusić, klikając przycisk **Aktualizuj wszystko**.

## Zaktualizuj sterowniki

Możesz to zrobić bezpośrednio se strony producenta komputera (na przykład HP i Lenovo mają narzędzia, które przeskanują Twój system, aby zobaczyć, czego brakuje i co można zaktualizować).

Jeśli producent komputera oferuje aktualizację systemu BIOS/UEFI, zrób to w pierwszej kolejności.

Alternatywnie użyj [IObit Driver Booster Free](https://www.iobit.com/en/driver-booster.php).

> Jeśli zdecydujesz się korzystać z tego oprogramowania. Zainstaluj go, uruchom, zaktualizuj to, co jest oferowane za darmo, a przy pierwszym lub następnym ponownym uruchomieniu systemu usuń go i wszystkie aplikacje, które mogą być z nim zainstalowane. Nie ma potrzeby trzymania tej aplikacji, gdy wszystko jest aktualne. Resztę pozostaw do dostarczenia za pośrednictwem aktualizacji systemu Windows.

## Przywróć przydatne ikony w menu Start

Nowe menu Start w systemie Windows 11 jest **słabe**. Brakuje domyślnie wielu przydatnych opcji, nie wspominając o tym, że po aktualizacji z systemu Windows 10 wszystkie przypięte kafelki i aplikacje nie są już tam, gdzie powinny.

Windows 10 ma przydatne ikony do niektórych folderów systemowych (po lewej stronie), których nie ma w Windows 11.

[![Windows 11 – Personalizacja menu Start – Foldery](win11-personalization-start.png)](win11-personalization-start.png)

Aby je przywrócić (lub włączyć to, czego potrzebujesz) przejdź do menu **Start** > **Personalizacja** > wybierz **Start** i przejdź do sekcji **Foldery**.

[![Windows 11 – Personalizacja menu Start – Zaznaczone foldery](win11-personalization-start-ticked.png)](win11-personalization-start-ticked.png)

Zaznacz wszystko, co uważasz za przydatne. Osobiście mam włączone **Ustawienia** (Settings), **Eksplorator plików** (File Explorer), **Pobrane** (Downloads) i **Folder osobisty** (Personal folder).

[![Windows 11 – menu Start z folderami](win11-start-with-icons.png)](win11-start-with-icons.png)

Cokolwiek włączyłeś, pojawi się jako ikona na dole w menu Start.

## Przywróć przydatne ikony na pulpicie

Jak zawsze (Windows 10 miał ten sam problem), na pulpicie domyślnie dostępnych jest tylko kilka ikon. To **Kosz** i linki do **Microsoft Edge**.

Jeśli chcesz przywrócić np. skrót do **Komputer**, przejdź do **Ustawienia** > **Personalizacja** > **Kompozycje** > i do sekcji **Ustawienia ikon pulpitu**.

[![Windows 11 – Ustawienia ikon pulpitu](win11-desktop-icons.png)](win11-desktop-icons.png)

W nowym oknie będziesz mógł włączyć (zaznaczyć) wszystko, czego potrzebujesz. Osobiście zawsze zaznaczam **Komputer** i **Pliki użytkownika**.

## Zmień rozmiar ikon pulpitu

W zależności od rozdzielczości ekranu komputera niektóre ikony mogą wyglądać na zbyt duże lub zbyt małe.

Najszybszym sposobem na zmianę tego będzie **kliknięcie prawym przyciskiem** na pulpicie. Z **nowego** menu kontekstowego wybierz **Widok**, a następnie zmień ikony z domyślnego **Średne ikony** na **Duże ikony** lub **Małe ikony**.

## Zaloguj się za pomocą konta Microsoft

Jeśli nie zrobiłeś tego wcześniej podczas instalacji, zaloguj się do swojego konta Microsoft. Doda to możliwość synchronizowania nie tylko plików z OneDrive, ale także niektórych ustawień systemu Windows 11. Ponadto istnieją inne korzyści związane z bezpiecznym przechowywaniem haseł (później używane w Microsoft Edge) lub dodatkowymi funkcjami w Windows Defender ([twoje jedyne oprogramowanie antywirusowe, którego potrzebujesz w swoim systemie](/windows-defender-program-antywirusoway-na-codzien/)).

[![Windows 11 – logowanie przy użyciu konta Microsoft](win11-login-microsoft-account.png)](win11-login-microsoft-account.png)

Aby to zrobić, przejdź do **Start** > **Ustawienia** > **Konta** (Accounts).

[![Windows 11 – Zaloguj się przy użyciu konta Microsoft – Osobiste](win11-login-microsoft-account-sign-in-personal.png)](win11-login-microsoft-account-sign-in-personal.png)

Jeśli korzystasz z osobistego **konta Microsoft**, kliknij **Twoje informacje** (Your info) i łącze **Zaloguj się przy użyciu konta Microsoft** (Sign in with a Microsoft account instead).

{{% gallery %}}
[![Windows 11 – Zaloguj się przy użyciu konta Microsoft – Praca lub szkoła](win11-login-microsoft-account-sign-in-work2.png)](win11-login-microsoft-account-sign-in-work2.png)
[![Windows 11 – Zaloguj się przy użyciu konta Microsoft – Uzyskaj dostęp do pracy lub szkoły](win11-access-work-or-school.png)](win11-access-work-or-school.png)
{{% /gallery %}}

Jeśli Twoje konto jest udostępniane w pracy lub szkole (z innymi korzyściami), **Użyj dostępu do miejsca pracy lub nauki** (Access work or school), a następnie kliknij niebieski przycisk **Połącz** (Connect).

## Oczyść dysk twardy z resztek aktualizacji

Jeśli zainstalowałeś system Windows 11 od nowa i dokonałeś aktualizacji systemu Windows lub jeśli właśnie zaktualizowałeś z systemu Windows 10, zauważysz, że twoje wolne miejsce na dysku twardym nieco się skurczyło. Uruchom Oczyszczanie dysku (jako administrator), aby zwolnić miejsce.

[![Windows 11 – Menu Start – wyszukaj Oczyszczanie dysku](win11-Search-disk-cleanup.png)](win11-Search-disk-cleanup.png)

Kliknij **Start** i w górnym polu **Wpisz tutaj, aby wyszukać** wpisz **Oczyszczanie dysku**.

Nie spiesz się i nie kliknij go z listy po lewej stronie. Wybierz opcję **Uruchom jako administrator** z głównej części okna.

[![Windows 11 – Oczyszczanie dysku dla C](win11-cleanmgr.png)](win11-cleanmgr.png)

Możesz tam zaznaczyć praktycznie wszystkie opcje. Pod listą zobaczysz, ile miejsca będziesz mógł odzyskać. Mogą to być setki megabajtów, a nawet kilka gigabajtów.

Potwierdź wszystko, klikając przycisk **OK**.

[![Windows 11 – Oczyszczanie dysku - Czy na pewno chcesz trwale usunąć te pliki](win11-cleanmgrconfirm.png)](win11-cleanmgrconfirm.png)

Następnie pojawi się ostatnie pytanie potwierdzające, na które odpowiadasz, klikając przycisk **Usuń pliki**.

[![Windows 11 – Oczyszczanie dysku – Pasek postępu](win11-cleanmgr-progress.png)](win11-cleanmgr-progress.png)

Następnie wystarczy poczekać, aż proces się zakończy i okno zniknie.

> Jeśli aktualizowałeś z Windows 10 i nie planujesz powrotu, zaznacz również opcje, które pozwolą Ci wrócić do poprzedniej wersji systemu (to zwolni nawet 20GiB jak nie więcej!).

{{% ads-in-article %}}

## Włącz Czujnik pamięci

Powyższy krok to dobre podejście do czyszczenia pozostałości z naszego dysku twardego. Windows 10 i 11 mają przydatną funkcję automatycznego usuwania niektórych z nich. Ta opcja nosi nazwę **Czujnik pamięci** (Storage Sense) i jest domyślnie wyłączona.

Aby ją włączyć, przejdź do **Ustawienia** > **System** > **Pamięć** (Storage) i zaznacz (włącz) opcję **Czujnik pamięci**.

[![Windows 11 – Czujnik pamięci – pliki tymczasowe](win11-storage-sense.png)](win11-storage-sense.png)

> Zagłębiając się w menu **Czujnik pamięci**, możemy zobaczyć, co można usunąć. Całość jest bardzo podobna do kroku wspomnianego powyżej, jeśli nie „prawie” taka sam.

Menu **Pamięć** zawiera również przydatną sekcję, taką jak **Zalecenia dotyczące oczyszczania** (Cleanup recommendations), która pomoże nam zwolnić część naszego miejsca na dysku.

---

I jeszcze jeden, dodatkowy krok...

## Usuń i ponownie utwórz punkty odzyskiwania

Jeśli wszystko w naszym systemie działa tak, jak powinno, dobrze jest posiadać punkt przywracania, do którego możemy cofnąć zmiany jeżeli coś przestanie działać. Nasz system robi te punkty automatycznie za każdym razem, gdy coś instalujemy (np. aplikacje lub sterowniki do sprzętu), **o ile jest to włączone**.

Ta opcja nie jest łatwa do znalezienia, ponieważ **Panel sterowania** został pogrzebany (ale jeszcze nie został usunięty — wciśnij **Win+R** i wpisz **control**) w jednej z poprzednich aktualizacji systemu Windows 10.

[![Windows 11 – Menu Start – Wyszukaj Utwórz punkt przywracania](win11-Search-restore.png)](win11-Search-restore.png)

Kliknijmy menu **Start** i wpiszmy słowo **restore** (przywróć).

Z wyników wybierz **Create a restore point** (Utwórz punkt przywracania).

[![Windows 11 – Właściwości systemu – Przywracanie systemu](win11-system-restore-turned-off.png)](win11-system-restore-turned-off.png)

Jeśli przywracanie systemu jest wyłączone (dla dysku systemowego - domyślnie **(C:)**), zmień to od razu, klikając przycisk **Konfiguruj** i wybierz **Włącz ochrone systemu** (Turn on system protection).

[![Windows 11 - Ochrona systemu dysku lokalnego C](win11-system-restore-configure.png)](win11-system-restore-configure.png)

W zależności od tego, jak duży jest nasz dysk twardy, użyjmy suwaka, aby ustawić go na 1 lub 2%.

Po **Zastosowaniu** zmiany, wracając do poprzedniego okna, klikamy przycisk **Utwórz** (Create), wpisujemy nazwę tego punktu (jakkolwiek chcemy) i klikamy przycisk **Utwórz**.

[![Windows 11 – Włącz ochronę systemu](win11-creating-restore-point.png)](win11-creating-restore-point.png)

Jeśli mamy już **włączonu** nasze punkty przywracania, kliknij przycisk **Konfiguruj** i wybierz **Usuń** (Delete) wszystko, co już zostało ustawione.

Wracając, **Utwórz** nowy punkt przywracania.

---

Na tym etapie jesteśmy gotowi do ustawienia i używania naszego komputera i systemu Windows 11 zgodnie z naszymi zamiarami. Mam nadzieję, że od teraz twoje doświadczenia z nowym systemem będą znacznie przyjemniejsze, chyba że zdecydujesz się zainstalować go na **nieobsługiwanym sprzęcie**. Jeśli tak zrobiłeś, spodziewaj się nieoczekiwanego ([nie obwiniaj systemu, nie w pełni](/microsoft-mial-racje-nie-aktualizuj-do-windows-11/).

Windows 10 ma zakończyć swoją żywotność 14 października 2025 roku. Jeśli Twój sprzęt nie jest obsługiwany, trzymaj się go, to nadal naprawdę dobry system. Do tego czasu jest bardziej prawdopodobne, że zaktualizujesz swój sprzęt, i od tego momentu korzystanie z systemu Windows 11 rozpocznie się przyjemniej.


---
## Aktualizacja systemu Windows przy pomocy PowerShell
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-systemu-windows-powershell/
- **Date:** 2022-02-18
- **Tags:** Windows 10, Windows 11, Aktualizacje Windows, Windown Update, PowerShell, Get-WindowsUpdate, Install-WindowsUpdate, PSWindowsUpdate

### Content

Ostatnio natknąłem się na pewien problem, gdzie świeżo zainstalowany Windows nie chciał pobrać aktualizacji.

Wyszukiwanie aktualizacji trwało w nieskończoność lub też, jeżeli się już one pojawiły, to utknęły one w kolejce pobierania (Pending Download) i nijak dało się je przekonać do pobrania. Klikanie w przycisk Pobierz (Download) nic nie dawało. Nawet sprawdzone metody resetowania usługi Windows Update nic nie dały.

W związku z tym zacząłem szukać innego rozwiązania i tak natrafiłem na metodę aktualizacji z wykorzystaniem PowerShell.

<!--more-->

## PowerShell 7.x

Nim jednak zaczniemy, warto zainstalować PowerShell w wersji 7 (minimum), gdyż Windows posiada domyślnie wersję 5.1 (!), a z tą wersją ten moduł lubi płatać figle.

[![PowerShell w Sklepie Microsoft](microsoft_store_powershell.png)](microsoft_store_powershell.png)

Możemy tego dokonać [na przeróżne sposoby](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows), ale najprostszym według mnie jest zainstalowanie go bezpośrednio [ze Sklepu Microsoft](https://www.microsoft.com/store/apps/9MZ1SNWT0N5D) (Microsoft Store). Dzięki temu nie będziemy musieli się przejmować jego ręcznymi aktualizacjami.

Uruchamiamy nasz PowerShell w trybie administratora (Run as administrator).

[![PowerShell 7 w trybie administratora](pwsh_7.png)](pwsh_7.png)

## PSWindowsUpdate

Do aktualizacji naszego systemu podłużymy się modułem przygotowanym przez [Michał Gajda](https://www.powershellgallery.com/profiles/MichalGajda) o nazwie **‌PSWindowsUpdate**.

Nie jest to jakiś mało znany pakiet. Został on do tej pory pobrany ponad 112-milionów razy (112,054,801 downloads and counting)!

[![Install-Module PSWindowsUpdate w PowerShell](pwsh_Install_Module_PSWindowsUpdate.png)](pwsh_Install_Module_PSWindowsUpdate.png)

Aby go zainstalować, wykonujemy następującą komendę:
```powershell
Install-Module PSWindowsUpdate
```

Na pytanie, czy zainstalować moduł z "niezaufanego źródła", jak i inne w trakcie instalacji odpowiadamy **Tak dla wszystkich** (Yes for All) za pomocą **A**.


[![Get-WindowsUpdate w PowerShell](pwsh_Get-WindowsUpdate.png)](pwsh_Get-WindowsUpdate.png)

Następnie pora na wyszukanie aktualizacji:
```powershell
Get-WindowsUpdate
```

> Po wydaniu komendy wydawać się może przez dłuższą chwilę, że nic się nie dzieje. Należy chwilkę poczekać, aż zobaczymy jakąś odpowiedź.

ps. Nie sugerujmy się wielkością aktualizacji, gdyż nie zawsze jest ona wyświetlana poprawnie (jak w moim przypadku 59GB, lol).

[![Install-WindowsUpdate w PowerShell](pwsh_Get-WindowsUpdate_Install-WindowsUpdate.png)](pwsh_Get-WindowsUpdate_Install-WindowsUpdate.png)

Gdy nasze aktualizacje zostaną wyszukane, wykonujemy poniższą komendę, aby je zainstalować:
```powershell
Install-WindowsUpdate
```

Potwierdzamy również za pomocą **A**, że chcemy wykonać instalację dla wszystkich dostępnych aktualizacji.

Teraz wystarczy siedzieć spokojnie i czekać aż się wszystko pobierze i zainstaluje.

{{% ads-in-article %}}

## Zarządzanie aktualizacjami

Pakiet **PSWindowsUpdate** to nie tylko powyższe komendy. Posiada on szereg różnych opcji, przy pomocy których możemy dokonać, chociażby usunięcia zainstalowanych aktualizacji lub też wstrzymania tej, której sobie nie życzymy.

Pełną listę dostępnych opcji zobaczymy za pomocą:
```powershell
Get-Command -Module PSWindowsUpdate
```

[![Install-WindowsUpdate - Reboot required](pwsh_Install-WindowsUpdate_Reboot_required.png)](pwsh_Install-WindowsUpdate_Reboot_required.png)

Przy instalacji aktualizacji za pomocą komendy `Install-WindowsUpdate` musimy zagłębić się nieco w informacje, które są wyświetlone (jeżeli są) na samym końcu. Czasami wymagane jest ponowne uruchomienie komputera, które nie zostanie wykonane za nas, tylko sami musimy to zrobić (zdecydować na końcu).

Aby ułatwić sobie cały proces wyszukania aktualizacji, zatwierdzenia, instalacji i automatycznego uruchomienia komputera, gdy jest to potrzebne, możemy posłużyć się następującą komendą:
```powershell
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
```

Jeżeli, przy pomocy `Get-WindowsUpdate` mamy do wyboru kilka z nich, a chcemy skupić się na któreś konkretnej, możemy to zrobić za pomocą następującego wpisu:
```powershell
Get-WindowsUpdate -Install -KBArticleID 'KB5010414'
```

Zmieniamy odpowiednio `KB5010414` na ten uzyskany po wykonaniu komendy `Get-WindowsUpdate`.

Mimo tego, że w większości wypadków "graficzny" Windows Update spisuje się tak, jak trzeba, dobrze mieć swojego rodzaju alternatywę.

Pozdrawiam.

---
Źródło: [How to install Windows 10 update using PowerShell](https://pureinfotech.com/install-windows-10-update-powershell/) by [Pureinfotech](https://pureinfotech.com)


---
## Microsoft miał racje. Nie aktualizuj „starego” komputer do Windows 11
- **URL:** https://dariusz.wieckiewicz.org/microsoft-mial-racje-nie-aktualizuj-do-windows-11/
- **Date:** 2022-02-15
- **Tags:** windows 11, windows 10, bez TPM, TPM 2.0, niewspierany sprzęt, stary procesor

### Content

Każdy z nas chciałby używać komputera najdłużej, jak się da, aby pieniądze w niego wrzucone zwróciły się w czasie. W związku z tym spora część osób chciałaby również używać najnowszy system od Microsoftu, jakim jest Windows 11.

Microsoft wprowadził pewną zaporę, jeżeli chodzi o to, jaki sprzęt będzie mógł swobodnie śmigać z Windows 11.

<!--more-->

Oprócz TPM 2.0 jednym z wymagań jest kompatybilny procesor, taki jak co najmniej 8 (8th) generacji intel.

W momencie, gdy Microsoft wypuścił Windows 11 dla użytkowników końcowych, w październiku 2021, od razu przystąpiłem do testowania.

Na początku na maszynie wirtualnej na moim Macu, następnie przesiadłem się na niego w pracy na komputerze, który nie grzeszy wiekiem (Lenovo e530c z 2013 roku). 

Dokonałem tego zgodnie z moim wpisem: [Aktualizujemy Windows 10 do Windows 11 bez TPM 2.0 na niewspieranym sprzęcie](/aktualizacja-do-windows-11-bez-tpm-na-niewspieranym-sprzecie/) a moje przygodny z systemem w pracy opisałem tutaj: [Windows 11 na niewspieranym sprzęcie — dzień po dniu](/windows-11-dzien-po-dniu/) i tutaj: [Windows 11 na niewspieranym sprzęcie — dzień po dniu, część 2](/windows-11-dzien-po-dniu-czesc-2/).

Komputer ten nie jest i nie będzie wspierany przez Microsoft pod kątem Windows 11. Windows 10 to system, którym powinien na nim pozostać, do czasu, gdy przestanie on być wspierany – 14 października 2025 roku.

Po intensywnych miesiącach pracy z systemem mogę potwierdzić, że Microsoft miał rację. Jeżeli według instalatora twój komputer nie jest wspierany przez system Windows 11, to powinieneś wziąć sobie to do serca i pozostać przy Windows 10.

Windows 10, po multum dużych aktualizacji stał się naprawdę dobrym, stabilnym systemem.

Windows 11 jest ociężały. Widać to szczególnie na starszych komputerach.

Mimo tego, że mój Lenovo jest nieco podrasowany o szybkie pamięci RAM oraz szybki dysk SSD, to jednak da się odczuć w codziennej pracy, że Windows 11 to dla niego katorga.

Forum Microsoftu trzeszczy w narzekaniach użytkowników, szczególnie tych, którzy na co dzień wykorzystują OneDrive oraz SharePoint do dzielenia się plikami z innymi.

> [Onedrive issues on Windows 11 - Microsoft Tech Community](https://techcommunity.microsoft.com/t5/windows-11/onedrive-issues-on-windows-11/m-p/2674325)

Osobiście w pracy wykorzystuję OneDrive i SharePoint, przez co problem męczy mnie na co dzień.

Praca z plikami w chmurze jest męczarnią. Wszystko otwiera się wolno. Podczas synchronizacji są lagi, problemy z nawigowaniem pomiędzy folderami. Problem jest na tyle poważny, że dotyka on domyślną przeglądarkę pliku w systemie Windows (File Explorer). Aby sobie w tym pomóc, zainstalowałem aplikację [Files](https://www.microsoft.com/en-us/p/files-modern-file-manager/9nghp3dx8hdx#activetab=pivot:overviewtab).

Niestety, sama ta aplikacja wymaga znaczącej mocy obliczeniowej.

W przeciągu ostatniego miesiąca byłem zmuszony do pracy z Files, gdyż File Explorer doprowadzał mnie do takiego szału, że miałem ochotę sformatować dysk i zainstalować Windows 10 od nowa.

Ostatnie aktualizacje Windows 11 (21H2, OS Build 22000.493) miały na celu wyeliminowanie szeregu niedogodności w systemie. Niestety, w moim przypadku to nic nie dało, mimo że szereg użytkowników potwierdza, że wszystko zaczyna działać tak, jak należy.

Tutaj jednak należy zaznaczyć, że są to głównie użytkownicy, którzy posiadają kompatybilny sprzęt wspierany przez system Windows 11.

Ogólnie system Windows 11 jest fajny i nie ma z nim większych problemów. Osobiście odczuwam wrażenie, że to jest nadal nieskończony produkt.

Tak jak pamiętam z Windows 10, który zaczął nadawać się do profesjonalnego zastosowania wraz z drugą czy trzecią dużą aktualizacją, tak Windows 11 musi na to jeszcze poczekać.

Zacząłem nawet pisać tekst zatytułowany **‌# Czy to już czas na aktualizację do Windows 11?**, który poniekąd zaniechałem.

Microsoft pracuje rześko, aby załatać wszelkie bolączki w cowtorkowych aktualizacjach systemu, to nadal uważam, że system został wypuszczony w pośpiechu, tylko po to, aby rozruszać rynek sprzęt i dać innym zarobić.

Nijak się to ma do tego, co użytkownicy chcą, liczy się kasa.

Wszyscy uwierzyli, że Windows 10 to ostatni system, który przyjdzie nam instalować, a półroczne, lub roczne "duże" aktualizacje będą zastępować główne wydania systemu.

Tak się jednak nie stało i Microsoft wypuścił Windows 11, odcinając rzeszę urządzeń z dalszego obiegu.

Ostatnio nawet w UK można było znaleźć niezłą wyprzedaż Microsoft Surface 4. Komputer wraz z klawiaturą można było kupić poniżej £200. Przy cenach nowego Surface porównywalnych to komputerów Apple jest do niebywała okazja. Jest tylko jeden problem. Sprzęt ten dostępny w "ofercie" bazuje na 6 (6th) generacji procesora intel przez co, mimo że to oficjalny sprzęt od Microsoftu, możecie zapomnieć o oficjalnej aktualizacji do Windows 11.

Jeżeli jednak zdecydujecie się na [aktualizację do Windows 11 na niewspieranym sprzęcie](/aktualizacja-do-windows-11-bez-tpm-na-niewspieranym-sprzecie/), sam Microsoft będzie rzucał wam kłody pod nogi.

{{% ads-in-article %}}

Po pierwsze, zapomnijcie o wsparciu telefonicznym ze strony Microsoftu, nawet jeżeli jesteście klientami biznesowymi i za to płacicie. Instalując oprogramowanie na niespieranym sprzęcie, sami prosicie się o problemy (tak uważa Microsoft). Te oto problemy ludzie z działu pomocy nie będą chętnie chcieli rozwiązać, zrzucając winę na nas samych oraz nasz sprzęt.

Po drugie, Microsoft zacznie rzucać nam, użytkownikom, którzy zdecydowali się na aktualizację, kłody pod nogi.

Jak informuje serwis [OnMSFT](https://www.onmsft.com/news/microsoft-warnings-windows-11-unsupported-pcs) Microsoft zacznie  wyświetlać w ustawieniach systemowych ostrzeżenie, że nasz sprzęt nie jest oficjalne wspierany przez Microsoft.

Tak jak wcześniej Microsoft wspominał, że Windows 11 nie będzie otrzymywał aktualizacji na sprzęcie niewspieranym (nie wyjaśniając, o które aktualizacje chodzi), tak małymi krokami, zaczynając od ostrzeżeń, będzie brnął do tego, aby ograniczyć używanie starego sprzętu i skusić się do wydania nieco pieniędzy na nowy.

Na razie Microsoft, w wersji Insider systemu Windows 11 (wkrótce w wersji konsumenckiej), z ostrzeżenia przekierowuje użytkownika do strony, na której wyjaśni fakt, że używa on system, który nie powinien być na nim instalowany ze względu na brak kompatybilności.

Z czasem na pewno Microsoft pójdzie o krok dalej i wprowadzi blokady (które zapewne uda się ominąć tak jak do tej pory), aby ograniczyć ten precedent. 

Jeżeli posiadasz komputer, który jest oficjalnie wspierany przez system Windows 11, to w momencie, gdy zostaniesz poinformowany, że twoja aktualizacja jest gotowa do instalacji, z powodzeniem możesz to zrobić.

Jednakże, jeżeli twój sprzęt nie grzeszy wiekiem, bez względu jak jest on wydajny pod Windows 10, to zalecam wstrzymanie się z ręczną aktualizacją.

Osobiście, jak tylko znajdę chwilkę wolnego czasu w pracy, wracam na Windows 10. W międzyczasie będę rozglądał się nad aktualizacją sprzętu używanego w firmie (w tym mojego komputera), aby w przyszłości przejść na Windows 11. Na razie Windows 10 ponownie zagości na moim biurku w pracy (przy czym nadal będę używał Windows 11 w moim środowisku wirtualnym).


---
## Co za bzdura, Samsung znowu robi z siebie głupka
- **URL:** https://dariusz.wieckiewicz.org/samsung-znowu-robi-z-siebie-glupka/
- **Date:** 2022-02-10
- **Tags:** Samsung, Apple, oprogramowanie, aktualizacja, Android 12, Android 16, 5 lat aktualizacji, iOS, Galaxy S22, S22, flagowiec

### Content

Samsung lubi naśmiewać się z innych. Fajnie by było, gdyby w tych naśmiewaniach sam postępował tak, jak trzeba.

I tak przeczytałem wpis na Macworld [Apple needs to start guaranteeing iOS upgrades like Samsung](https://www.macworld.com/article/613310/samsung-galaxy-s22-guaranteed-android-security-upgrades.html) i zadałem pytanie, **że co?**

<!--more-->

Nim zagłębiłem się w artykuł, zadałem sobie pytanie, co znowu Samsung wymyślił.

W przeszłości czepiał się tego, że iPhone X ma notch, po czym sam wprowadza do tabletu Galaxy Tab S8 Ultra to, co zostało wprowadzone przez Apple do najnowszych MacBooków.

Nie mówiąc już o naśmiewaniu się z tego, że iPhony nie są sprzedawane z ładowarką, tylko po to, aby zrezygnować z dołączanej ładowarki do najnowszych flagowców kilka miesięcy później.

> Oraz, próbują ukryć wcześniejsze naśmiewania się z Apple, usunął naśmiewające się posty na platformach społecznościowych. Żenada!

Więc o co chodzi tym razem? Przecież to właśnie Apple wspiera swoje urządzenia najdłużej na rynku.

Spróbuj kupić sobie telefon Samsunga (ten ze średniej półki, nie koniecznie flagowca) i po 18 miesiącach sprawdź, czy nadal otrzymujesz najnowsze aktualizacje. Czyż nie jest tak, że to właśnie Samsung najszybciej zapomina o innych urządzeniach. Zapomnij o najnowszym Androidzie. Samsung, po sprzedaniu urządzenia ma w nosie dalsze jego wspieranie. Po 24 miesiącach większość sprzętu od Samsunga to dla niego urządzenia, które powinny zostać wymienione (przez co dadzą im ponownie zarobić).

O ile nie zauważyłeś, iPhone 6S wypuszczony przez Apple we wrześniu 2015 roku (ponad 6 lat temu!) otrzymał aktualnie najnowszy system operacyjny iOS 15.2. Teksty typu, że to właśnie Apple powinno informować klientów, przez jaki okres będą wspierali swój sprzęt, nijak się ma do tego, co robi Samsung. To właśnie Samsung powinien wziąć się w garść i zrobić to, o co oskarżaja Apple w stosunku do całej gamy produktów, które sprzedają do swoich klientów.

Wracając do artykułu... Samsung, wraz z wypuszczeniem **flagowca** jakim będzie Galaxy model **S22** obiecuje, obecnie z Androidem 12, że dostanie on aktualizację do Androida 16 zaplanowanego na rok 2026.

Ale co z innymi telefonami aktualnie wypuszczanymi przez niego na rynek konsumencki. O ile nie są one **flagowcami** to zapomnij o tym, co obiecuje Samsung w stosunku do **S22**. Apple nie zapomina i nadal wspiera sprzęt, który tak naprawdę każdy przekazałby na straty.

Oczywiście, zaraz fanatycy Samsunga się odezwą, twierdząc, że Samsung daje to na piśmie, gdzie Apple nie gwarantuje niczego, i to, że Apple może zaniechać wspieranie swojego produktu, kiedy tylko będzie chciał.

Ale czy zaniecha?

Apple to nie jakaś niszowa firma. Biznes to biznes, ale od ich podejścia do obsługi klienta, nie jedna firma, w tym Samsung, mogą się dużo nauczyć!

Nawet portal Macworld zaznacza, że jest to mało realne, że urządzenia z Androidem będą wspierane przez ich producentów tak długo, jak Apple wpiera swój sprzęt.

To, że oficjalnie Apple nie daje tego na piśmie, nie znaczy, że tego nie robi.

Pamiętajmy, że technologia się zmienia. Apple w pewnym momencie, przy przejściu całej platformy na 64-bit musiał zaniechać wsparcia dla iPhone 6 kosztem iPhone 6S.

Osobiście posiadałem iPhone 6 i nim został on zaniechany w aktualizacjach, ja już byłem posiadaczem o cztery generacje nowszego telefonu (iPhone X), który został zaprezentowany w 2017 roku. iPhone 6 otrzymał ostatnią wersję iOS z serii 12 (pierwszą wersję) rok później (2018), a oficjalnie został pominięty z dalszych aktualizacji wraz z iOS 13 w 2019 roku!

Widać, Samsung po raz kolejny szuka rozgłosu, obiecując coś, czego użytkownicy Apple doświadczają od lat. Z tym, że Samsung uderza tylko w **tych użytkowników, którzy dadzą mu zarobić** i kupią telefon z serii S22. Zapomina on bardzo szybko o wszystkich tych, których nie stać na S22, a szkoda!

{{% ads-in-article %}}


---
## Podłączamy zasilacz awaryjny UPS do routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/podlaczamy-zasilacz-awaryjny-ups-do-routera-z-openwrt/
- **Date:** 2022-02-05
- **Tags:** OpenWrt, Zasilacz Awaryjny, UPS, APC Back-UPS 1400, Back-UPS XS 1400U, PowerChute, PowerChute Personal Edition, apcusbd, collectd, luci-app-statistics, RRDTool

### Content

Ostatnio postanowiłem podłączyć zasilacz awaryjny w pracy co jednego z urządzeń, które chodzi 24h na dobę. Zasilacz, którym obecnie dysponujemy to APC Back-UPS 1400 (Back-UPS XS 1400U), oprócz możliwości podłączenia do 6 urządzeń, pozwala na monitorowanie stanu urządzenia za pomocą oprogramowania PowerChute oraz złącza USB.

Problem w tym, że oprogramowanie te nie jest kompatybilne z serwerem, który używamy, w związku z tym, że dostępne jest ono w wersji do użytku osobistego (Personal Edition).

Postanowiłem więc wykorzystać jeden wolny port (inny używamy do [dodatkowego połączenia internetowego za pomocą routera 4G](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/)), aby podłączyć do niego UPS, by monitorować jego stan (urządzenie to oprócz dwóch diód nie posiada wyświetlacza). Jeżeli uda się zrobić coś więcej, to nawet i lepiej, ale wszystko zależy co da się osiągnąć z wykorzystaniem OpenWrt.

<!--more-->

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Wstępne wykrycie urządzenia

Zacznijmy od tego, aby zobaczyć, jak nasz zasilacz wykrywany jest po podłączeniu do naszego routera.

Podłączamy nasz zasilacz i z poziomu terminala wykonujemy komendę `dmesg`

W moim przypadku otrzymałem następujący wpis:

```
usb 1-1: new low-speed USB device number 3 using orion-ehci
```

Jak widzimy, moje urządzenie wykrywane jest jako powolne urządzenie USB a sterownik, który go obsługuje to `orion-ehci`.

## Właściwe wykrycie urządzenia

W pierwszej kolejności aktualizujemy pakiety w systemie oraz instalujemy pakiet `usbutils`

```bash
apk update
apk add usbutils
```

Sprawdzamy, czy nasz zasilacz jest poprawnie wykryty za pomocą `lsusb`

```bash
Bus 001 Device 003: ID 051d:0002 American Power Conversion Back-UPS XS 1400U  FW:926.T2 .I USB FW:T2
```

## Monitorowanie stanu zasilacza

Instalujemy pakiet `apcusbd` (oraz pakiety towarzyszące):

```bash
apk add apcupsd collectd-mod-apcups kmod-usb-hid
```

Po odłączeniu i podłączeniu kable USB mój zasilacz wykrywany jest (`lsusb`) w następujący sposób:

```bash
usb 1-1: USB disconnect, device number 5
usb 1-1: new low-speed USB device number 6 using orion-ehci
hid-generic 0003:051D:0002.0003: hiddev96,hidraw0: USB HID v1.10 Device [American Power Conversion Back-UPS XS 1400U  FW:926.T2 .I USB FW:T2 ] on usb-f1058000.usb-1/input0
```

W pliku konfiguracyjnym `/etc/apcupsd/apcupsd.conf` wprowadziłem następujące zmiany:

```bash
UPSNAME ups1
UPSCABLE usb
#UPSTYPE apcsmart
UPSTYPE usb
#DEVICE /dev/ttyS0
```

> Zwróć uwagę na skomentowane (#) linie takie jak DEVICE

Uruchomiamy go za pomocą:

```bash
 /etc/init.d/apcupsd start
```

Następnie wykonując komendę `apcaccess` gdzie powinniśmy otrzymać następującą odpowiedź:

```bash
APC      : 001,036,0873
DATE     : 2022-02-04 12:28:51 +0000
HOSTNAME : WRT3200ACM
VERSION  : 3.14.14 (31 May 2016) unknown
UPSNAME  : ups1
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2022-02-04 12:28:47 +0000
MODEL    : Back-UPS XS 1400U
STATUS   : ONLINE
LINEV    : 228.0 Volts
LOADPCT  : 22.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 26.5 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 160.0 Volts
HITRANS  : 280.0 Volts
ALARMDEL : No alarm
BATTV    : 27.1 Volts
LASTXFER : Automatic or explicit self test
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x05000008
SERIALNO : xxxxxxxxxxxx
BATTDATE : 2021-12-16
NOMINV   : 230 Volts
NOMBATTV : 24.0 Volts
NOMPOWER : 700 Watts
FIRMWARE : 926.T2 .I USB FW:T2
END APC  : 2022-02-04 12:28:52 +0000
```

Jak widać z pola `STATUS: ONLINE` połączenie się powiodło. 

Jeżeli natomiast widzimy `STATUS: COMMLOST`, wówczas nasz zasilacz nie został wykryty lub połączenie nie działa.

## Monitorowanie stanu z poziomu panelu administracyjnego

Instalujemy pakiet do zbierania statystyk:

```bash
apk addluci-app-statistics
```

> Komenda ta zainstaluje dodatkowo pakiet `librrd1`, `rrdtool1`, `collectd-mod-rrdtool`, `collectd-mod-iwinfo`, `collectd-mod-cpu`, `collectd-mod-memory`, `collectd-mod-interface`, `collectd-mod-load`, `collectd-mod-network`.

{{% ads-in-article %}}

Po przejściu do panelu administracyjnego naszego routera ujrzymy nową opcję `Statistic`.

Przy pierwszym uruchomieniu i przejściu do zakładki `Graphs` zostaniemy poinformowani, że część odpowiedzialna za kolekcjonowanie danych nie została skonfigurowana.

[![No RRD data found](OpenWrt_APC_UPS-No_RRD_data_found.png)](OpenWrt_APC_UPS-No_RRD_data_found.png)

Zostaniemy następnie przekierowani do części `Setup` w której to tak naprawdę interesuje nas zakładka `General plugins` gdzie musimy **zaznaczyć** `APC` (potwierdzić domyślne ustawienia - Save), po czym zapisać i zastosować zmiany (**Save & Apply**).

{{% gallery %}}
[![Collectd Settings](OpenWrt_APC_UPS-Collectd_settings.png)](OpenWrt_APC_UPS-Collectd_settings.png)
[![Collectd Settings - General Plugins](OpenWrt_APC_UPS-Collectd_settings-General-plugins.png)](OpenWrt_APC_UPS-Collectd_settings-General-plugins.png)
{{% /gallery %}}

[![APCUPS Plugin Configuration](OpenWrt_APC_UPS-APCUPS_plugin_configuration.png)](OpenWrt_APC_UPS-APCUPS_plugin_configuration.png)

Teraz, ponownie przechodząc do części `Graphs` powinniśmy zobaczyć nasz zasilacz, który z czasem będzie wypełniał nasze wykresy.

{{% gallery %}}
[![APC UPS Statistics - Part 1](OpenWrt_APC_UPS-Statistics_APC_UPS_Part_1.png)](OpenWrt_APC_UPS-Statistics_APC_UPS_Part_1.png)
[![APC UPS Statistics - Part 2](OpenWrt_APC_UPS-Statistics_APC_UPS_Part_2.png)](OpenWrt_APC_UPS-Statistics_APC_UPS_Part_2.png)
{{% /gallery %}}

Tutaj należy zaznaczyć, że zbierane statystyki zapisywane są domyślnie w pamięci urządzenia i ulegają one straceniu po ponownym jego uruchomieniu. Jeżeli chcemy to zmienić, to w sekcji `Setup`, zakładce `Output plugins` konfigurujemy `RRDTool` i zmieniamy lokalizacje w `Storage directory`.

{{% gallery %}}
[![Collectd Settings - Output Plugins](OpenWrt_APC_UPS-Collectd_settings-Output-plugins.png)](OpenWrt_APC_UPS-Collectd_settings-Output-plugins.png)
[![RRDTool Plugin Configuration](OpenWrt_APC_UPS-RRDTool_plugin_configuration.png)](OpenWrt_APC_UPS-RRDTool_plugin_configuration.png)
{{% /gallery %}}

I takim sposobem mamy podłączony zasilacz do naszego routera, a z poziomu przeglądarki internetowej możemy monitorować jego stan.

---

Teraz przydałoby się zrobić nieco więcej, chociażby wyłączyć bezpiecznie router lub inne urządzenia do niego podłączone, jeżeli stan baterii będzie bardzo niski.

W tym celu zainteresowałem się pakietem [NUT](https://networkupstools.org/) (Network UPS Tools), który teoretycznie pozwoli na monitorowanie stanu zasilacza (który mamy podłączony za pomocą kable USB do naszego routera) z poziomu urządzeń w sieci. W momencie, gdy oprogramowanie wykryje spadek zasilania oraz przy odpowiednim poziomie baterii zareaguje, wykonując określoną komendę.

Wszystko brzmi fajnie, gdyż można zainstalować to na innym komputerze (serwerze), który zabezpieczony jest przez nasz zasilacz, i mimo że zasilacz nie jest do niego podłączony bezpośrednio, zareagować odpowiednio w zależności od sytuacji bazując na danych z programu.

**Ale to zabawa na kiedy indziej.**

Jeżeli chcesz spróbować sił z NUT, odsyłam do: [Monitoring UPS status with NUT(Network UPS Tools) on OpenWrt – Linux Man (linux-man.org)](https://linux-man.org/2021/09/28/monitoring-ups-status-with-nutnetwork-ups-tools-on-openwrt/).

Pozdrawiam.


---
## Windows Defender – "jedyny" program antywirusowy, który potrzebujesz na codzień
- **URL:** https://dariusz.wieckiewicz.org/windows-defender-program-antywirusoway-na-codzien/
- **Date:** 2022-02-04
- **Tags:** windows defender, antywirus, windows 10, windows 11, microsoft, av-test

### Content

We wrześniu 2018 roku napisałem kilka słów o [Windows Defender, jako mój domyślny antywirus dla systemu Windows 10](/moj-antywirus-windows-defender/). Minęło kilka lat, odkąd używam go w pracy (tak jak reszta osób w firmie). Każdej osobie, której pomagam przy komputerze, polecam domyślne rozwiązanie od Microsoftu wbudowane w Windows 10/11.

Postanowiłem więc sprawdzić, czy oby Windows Defender to nadal rozwiązanie godne polecenia. W końcu jest ono darmowe, a za wszystkie inne trzeba płacić, więc gdzie jest haczyk?

<!--more-->

Przez ostatnie lata moje mniemanie odnośnie do firmy Microsoft zmieniły się drastycznie. Odkąd Satya Nadella przejął rolę CEO w 2014 roku oraz po tym, jak oficjalnie Bill Gates odszedł z firmy (2020), można powiedzieć, że mamy do czynienia z całkiem inną firmą.

> Nie wspominając tutaj samego systemu Windows 11, który uważam, że został wypuszczony za szybko, tylko po to, aby rozruszać rynek komputerów PC w dobie dominacji komputerów Mac z ich autorskimi chipami. Windows 11 to niestety niedopracowanym systemem. Dla biznesu, jak i również osób prywatnych, pozostanie przy Windows 10, jest wysoce zalecane (o ile ich komputer nie zaktualizuje się automatycznie), co najmniej do czasu wypuszczenia "dużej" aktualizacji w tym roku (2022).

Rozwiązania od firmy Microsoft, mimo że niektóre płatne, stają się rozsądnym wyborem na co dzień. Te, które są dostępne za darmo, powodują zamęt na rynku.

Firmy, takie jak Avast, McAfee czy Symantec (Norton) muszą się postarać, aby sprzedać swoje oprogramowanie, szczególnie że wbudowane, darmowe od Microsoftu spełniają wymagania większości użytkowników.

Tak samo, jak Google, które za wszelką cenę nie chce oddać bez walki możliwości śledzenia użytkowników, promując na potęgę Google Chrome, podczas gdy mamy dostępny Edge (bazujący na Chromium), któremu nic nie brakuje.

Microsoft może się poszczycić (a użytkownicy mogą dać portfelom odetchnąć) darmowym Windows Defender, który [po raz kolejny zaliczył najwyższy wynik w teście oprogramowania antywirusowego dokonanego przez AV-TEST](https://www.av-test.org/en/antivirus/home-windows/windows-10/december-2021/).

Co ciekawe, rozwiązania takie jak Avast, Bitdefender czy Malwarebyte nie mogą poszczycić się najwyższym wynikiem w każdej z kategorii.

Osobiście, jak i ja, tak i moi współpracownicy od lat nie doświadczyli żadnej wpadki, przy czym Windows Defender zrobił swoje i zablokował wszystko to, co mogłoby te straty spowodować.

Pamiętam te dni, kiedy to cały świat rozpoczął walkę z dominacją Microsoftu, w szczgólności, jeżeli chodzi o para-przeglądarkę internetową, jaką był Internet Explorer.

O ile wtedy cała walka była uzasadniona, tym razem Microsoft dostarczył produkt wysokiej jakości, który ciężko porzucić tylko na bazie kilku argumentów.

Microsoft nadal będzie wykorzystywał swoją dominację na rynku, promując swoje rozwiązania. Tym razem jednak użytkownicy jego oprogramowania, a nie inwestorzy, mają i będą mieli odczucie, że otrzymują coś, co jest warte swojej ceny, nawet jeżeli jest to rozwiązanie darmowe.

Microsoftowi zależy też, żeby jego rozwiązania nie pogrążały ich wysiłków w tworzeniu usług i oprogramowania. 

W przeszłości to właśnie brak jakiegokolwiek zabezpieczenia ze strony systemu operacyjnego powodowało wprowadzenie wirusów już na etapie instalacji systemu operacyjnego.

Pamiętam do dziś, jak instalowałem Windows XP i po pierwszym podłączeniu go do internetu, zainstalowaniu antywirusa informowany byłem, że system został "już" zainfekowany.

Bez względu na to, czy zamierzamy pozostać przy Windows Defender, czy też nasz pracodawca zmusi nas do używania innego rozwiązania, to nasz system jest teraz o wiele bardziej bezpieczny niż lata wstecz.

Dla użytkowników domowych to wręcz rozwiązanie, którego nie ma potrzeby zastępowania. 

Założeniem Windows Defender była podstawowa ochrona systemu, która z czasem rozrosła się do rozwiązania, które zadowoli większość użytkowników, zapewniając im święty spokój, chociażby od jednego rodzaju zagrożenia.

Szkoda tylko, że inny dominant na rynku, jakim jest Apple, nie wprowadził tego typu podstawowego rozwiązania do swojego systemu operacyjnego.

Mimo że liczba zagrożeń na system z nadgryzionym jabłkiem jest o wiele niższa, a niżeli dla Windows, to jednak rośnie ona bardzo szybko, wraz z tym, jak popularne stają się komputery Mac. 

Co ciekawe, dla wybranych klientów biznesowych Microsoft dostarcza Microsoft Defender dla komputerów Mac.

Docenianie przez Microsoft innych systemów operacyjnych i inwestowanie w rozwój ich oprogramowania na nich jest czymś, co przeszło dekadę temu wydawało by się nierealne, a jednak.

Rozwiązania Microsoftu (autorskie, czy też kupione, tak jak GitHub) zmieniają podejście do tego, co (jakie oprogramowanie) potrzebujemy zainstalować dodatkowo na naszym komputerze.

Do przeglądania internetu potrzebowaliśmy Chrome, teraz wystarczy pozostać na Edge bacującym na Chromium.

Do zabezpieczenia przed wirusami z reguły instalowaliśmy Avast, teraz Windows Defender jest wszystkim tym, co potrzebujemy.

Nawet oprogramowanie domyślnie dostępne do odtwarzania filmów po mały wypycha konieczność instalowania programów, takich jak VLC.

7Zip jest nadal czymś, co nie zostało pokonane przez wbudowane narzędzia Microsoftu, ale nie zdziwię się, że Microsoft nie pójdzie tą drogą i nie poszerzy swojego portfolio o tego typu rozwiązanie.

Pozdrawiam.

{{% ads-in-article %}}


---
## W poszukiwaniu alternatywy dla G Suite (legacy)
- **URL:** https://dariusz.wieckiewicz.org/w-poszukiwaniu-alternatywy-g-suite-legacy/
- **Date:** 2022-01-24
- **Tags:** G Suite, G Suite legacy, Google Workspace, Google Photo, Zdjęcia Google

### Content

Niedługo nadejdzie ten czas, gdy będę musiał podjąć decyzję co dalej z **G Suite legacy**, po tym, jak [Google ogłosiło, że użytkownicy darmowego pakietu będą musieli zacząć płacić](/ostateczny-koniec-google-g-suite-free-edition-legacy/).

Cały czas kołacze się pytanie, czy płacić, czy migrować gdzie indziej?

<!--more-->

Największym problemem stanowią Zdjęcia Google. Nie jest łatwo je przenieść, gdyż musimy pamiętać, że wszystkie te, które [wgraliśmy przed Czerwcem 2021 roku, nie wliczają się w wykorzystaną przestrzeń na naszym koncie](/koniec-darmowe-miejsce-zdjecia-google-photo/).

Przez lata używania Zdjęć Google nie jest tak łatwo znaleźć alternatywę.

O ile **nie** przechowujemy zdjęć w oryginalnej jakości, to opcja Google w postaci Storage Saver (Wysoka jakość), jest czymś, czego próżno szukać u konkurencji.

Przy aktywnej opcji Storage Saver nie musimy przejmować ich kompresją, gdyż Google robi to za nas. Dzięki temu oszczędzamy sporo miejsca bez "widocznej" utraty jakości.

O ile nie jesteśmy profesjonalnymi fotografami czy grafikami, to opcja ta jest idealna.

Od przeszło czterech lat płace za dodatkowe 100GB na moim koncie Google. Gdybym tak chciał przenieść zdjęcia z G Suite z powrotem do Gmail, to wszystkie te zdjęcia zajmowałyby moje miejsce, za które płacę.

Obecnie Zdjęcia Google, te, które wliczają się w przestrzeń dyskową, zajmują 15GB. A ile reszta zapytacie?

Otóż, aby to sprawdzić postanowiłem zarządzać kopii moich dany od Google za pomocą usług [Google Takeout](http://takeout.google.com).

Zaznaczyłem tylko zdjęcia, wybrałem rodzaj kompresji (ZIP) oraz wielkość fragmentów na (2GB). Teraz przyszło mi czekać na maila z Google informującego mnie, że moje archiwum jest gotowe do pobrania (na co mam tydzień). Jednocześnie mogłem zobaczyć, ile tak naprawdę moje zdjęcia zajmują.

I tutaj przyszło zaskoczenie!

[![Eksport Google Photo - 24 Styczeń 2022](/images/2022/01/export_google_photo_24-01-2022-min.png)](/images/2022/01/export_google_photo_24-01-2022-min.png)

Moje zdjęcia zajmują aż **263.66GB** gdybym chciał je pobrać. Jako że jako sugerowany podział archiwum wybrałem 2GB, otrzymałem 129 plików do pobrania (z czego jeden miał 4.09GB).

Jak widać, migracja dla mnie nie jest to końca opłacalna.

Dla osób korzystających od lat z Google Photo również nie będzie to łatwe.

Jedyną opcję, jaką znalazłem, która jest warta uwagi to Amazon Photos.

Jako płacący użytkownik usługi Amazon Prime (UK), zyskałbym nielimitowaną przestrzeń dyskową na zdjęcia oraz 5GB na filmiki. Wszystko to w pełnej jakości. Wiązałoby się to jednak z koniecznością wgrania wszystkiego. Do tego Amazon dostarcza dedykowaną aplikację, co mógłbym rozważyć, ale... 

Nie wszystko darmowe, darmowe pozostanie.

Amazon w 2017 roku zlikwidował nielimitowaną przestrzeń dyskową dla klientów w USA i Kanadzie. Wraz ze wzrostem popularności w Europie, nie zdziwię się, gdy darmowe miejsce na dysku zniknie w ciągu roku lub dwóch.

Co więcej, oprócz zdjęć w Google Photo, tak jak każdy, posiadam filmiki, które bardzo szybko zjedzą mi 5GB darmowe i przyjdzie mi szybko sięgnąć do portfela, szczególnie że iPhone nie grzeszy w jakości, a zarazem rozmiarem pliku wideo. 

Również, nie wyobrażam sobie wgrywania 263.66GB. O ile nasze łącza internetowe posiadają przyzwoitą prędkość pobierania, to co do wysyłu, otrzymujemy tylko ułamek prędkości (w przypadku Virgin Media mam 100/10Mbps).

Trochę by to zajęło, a jak bym skończył, powitany byłbym mailem, że muszę zacząć płacić.

Wygląda na to, że będę musiał rozważyć migrację na płatną wersję G Suite (Google Workspace).

Mimo że jeszcze oficjalnie nie dostałem żadnego z maili od Google odnośnie mojego G Suite (jak i innych kont, na których jestem administratorem) co i kiedy muszę zrobić, oraz ile to będzie mnie kosztowało, to znalazłem co nieco w internecie.

Dla użytkowników **G Suite legacy** zaoferowany będzie plan elastyczny. Płacić się będzie co miesiąc, bazując na liczbie aktywnych użytkowników.

{{% gallery %}}
[![Google Workspace - Plan Elastyczny - Flexible - GBP](/images/2022/01/google_workspace_flexible_plan_GBP-min.png "Plan Elastyczny w funtach (GBP)")](/images/2022/01/google_workspace_flexible_plan_GBP-min.png)
[![Google Workspace - Plan Elastyczny - Flexible - PLN](/images/2022/01/google_workspace_flexible_plan_PLN-min.png "Plan Elastyczny w złotówkach (PLN)")](/images/2022/01/google_workspace_flexible_plan_PLN-min.png)
{{% /gallery %}}

Jeżeli do 1 Maja podejmiemy decyzję o migracji na płatny odpowiednik, to do 1 Lipca (lub troche dłużej) **nie będziemy nic płacić**.

Miesiąc później, przez pierwszy rok dostaniemy **zniżkę 50%** na każdego użytkownika, którego mamy aktywnego ($3 lub odpowiednik w lokalnej walucie: **£2.30** lub **11.50zł**), a za rok wskakujemy na pełną stawkę **100%** ($6 za użytkownika, za miesiąc, odpowiednio w lokalnej walucie: **£4.60** lub **23.00zł**).

Warto zaznaczyć, że niektórzy użytkownicy mogą rozważyć opcję migracji do Microsoft 365, to i Microsoft w przeciągu następnych miesięcy zamierza podnieść cenę, która będzie podobna do tego, co żąda Google. Oczywiście, staniemy przed tym samym problemem, jeżeli chodzi o migrację oraz to, ile tak naprawdę potrzebujemy miejsca na nasze dane i, przede wszystkim, zdjęcia.

Wyobraźcie sobie teraz, ile zajmowałyby moje zdjęcia (263.66GB), gdyby nie były przechowywane w opcji Storage Saver?

Do podjęcia decyzji mam jeszcze trochę czasu. Mam nadzieje, że Google wyśle mi stosownego maila w przeciągu najbliższych tygodni.

W międzyczasie będę nadal sprawdzał, czy istnieją lepsze sposoby na "inwestycje" moich pieniędzy.

{{% ads-in-article %}}

## post scriptum

Pamiętajmy również to, że Google Photo to nie tylko miejsce gdzie, przechowujemy nasze zdjęcia, ale również miejsce, gdzie się nimi dzielimy. 

Wszystkie albumy lub zdjęcia, które udostępniliśmy w postaci odnośnika przestaną działać, gdy zrezygnujemy z usługi Google. W tym albumy, które mają więcej niż jednego autora mogą nagle zniknąć z kolekcji innych osób, o ile te osoby nie zapisały ich również u siebie. 

Migracja to nie taka prosta sprawa, gdyż wiąże się z konsekwencjami.


---
## Wszystko, co "darmowe" w końcu się kończy. Google ostatecznie zakańcza darmowy G Suite (Legacy)
- **URL:** https://dariusz.wieckiewicz.org/ostateczny-koniec-google-g-suite-free-edition-legacy/
- **Date:** 2022-01-19
- **Tags:** Google Apps, G Suite, G Suite legacy, Google Admin, Free Plan, Free edition, no charges, darmowy, darmowe, Aplikacje Google, Google

### Content

Z usług Google korzystam, od nie pamiętam jak dawna. Obecnie usługa oferowana przez Google nazywa się Google Workspace, dawniej G Suite, czy też Google Apps – Aplikacje Google, oferowała ona przez pewien okres czasu, za darmo to, co ze świeczką było nam szukać u konkurencji.

Google zaprzestał oferowania darmowych kont w 2013. Wszyscy ci, co do tego czasu mieli aktywne (założone) konto G Suite w wersji darmowej (Free), mogli użytkować go bez przeszkód (zostali przeniesieni do tak zwanej wersji G Suite Legacy). W "nowej" darmowej wersji nie było możliwość zakładania nowych kont to z czasem Google poszedł o krok dalej i zabronił zmiany domyślnej domeny bez płacenia.

Google oczywiście obiecywał, że ci, co korzystają z darmowej wersji, nadal będą z niej korzystać i to się nie zmieni. 

Jak to bywa, czas pokazuje, na ile obiecanki Google są prawdziwe.

Podobnie jak z Google Photo (Zdjęcia Google), które miało być darmowe, i tym razem Google kłamał.

<!--more-->

Hmm... Może nie do końca kłamał, ale w końcu przekalkulował, że niektóre rzeczy mu się nie opłacają. Ich usługi, ich pieniądze, więc mogą robić, co chcą, póki użytkownicy nadal z nich korzystają.

Tak jak doprowadził [Google Photo](/google-photo/) do zakończenia darmowej przestrzeni dyskowej, [którą użytkownicy już zaczynają odczuwać](/zwalniamy-miejsce-na-zdjeciach-google/), tak użytkownicy G Suite w wersji darmowej, zwanej obecnie Legacy, będą musieli sięgnąć do portfela.

O tym, ile będzie to nas kosztować, jeszcze nie wiemy. Google zamierza zachęcić użytkowników do pozostania, oferując elastyczny plan (flexible plan), ale, na ile on będzie elastyczny, czas pokaże. Płacąc $6 za użytkownika przy obecnym cenniku to nie mało, szczególnie gdy przy małej liczbie użytkowników każdy z nich otrzymuje tylko 30GB (15GB mamy domyślnie w Gmail). Jeżeli już teraz płacimy za +100GB dodatkowej przestrzeni, to cała ta zabawa do tanich nie będzie należała. Na koncie Gmail możemy przestrzeń dyskową dzielić wśród innych użytkowników w utworzonej grupie, w przypadku G Suitę takiej opcji nie widzę, chyba że przejdziemy na jeszcze droższy plan.

Najgorsze jest to, że przenieść wszystko też nie będzie łatwe.

To, co darmowe przestanie być darmowe 1 Maja. I chociaż ci, co są obecnie na G Suite Legacy nie będą płacili przez pierwsze 2 miesiące, to od 1 Lipca musza wybrać plan dla nich. W przeciwnym razie Google wybierze go za nich, o ile mają dodaną metodę płatności do konta głównego. Jeżeli nie mamy ustawionej metody płatności, to po 1 Lipca możemy stracić dostęp do wszystkiego.

Przeniesienie poczty i danych z dysku Google to może nie być taki duży problem. Tutaj rozwiązaniem konkurencyjnym będzie subskrypcja Microsoft 365. Gorzej ze zdjęciami oraz wszystkim tym, co stworzyliśmy w ramach usług pośrednich powiązanych do naszego konta.

Jeżeli w Google Photo posiadamy posegregowane zdjęcia w albumy, to nawet przejście na Gmail nie będzie takie łatwe. Zdjęcia można przenieść, [w ramach nowych limitów na zdjęcia](/koniec-darmowe-miejsce-zdjecia-google-photo/), ale albumów się nie da, chyba że mamy nadmiar wolnego czasu, by zrobić to ręcznie.

Poza tym nikt nie gwarantuje ze Gmail nie stanie się w pełni płatny w przeciągu kolejnych kilku lat!

Osobiście posiadam 4-5 użytkowników, za których przyjdzie mi płacić. 3-4 z nich jest mniej aktywnych, wiec przy obecnych cenach będzie to miesięcznie spory wydatek! 

Na chwile obecna nie wygląda to dobrze. Przyjdzie nam poczekać i zobaczyć co Google oficjalnie wyślę do użytkowników G Suitę Legacy, gdyż na razie, informacja o zmianach dociera do nas między innymi [z godnego zaufania portalu **engadget**](https://www.engadget.com/google-gsuite-legacy-free-edition-july-31st-185543682.html), oraz, co ciekawe, możemy poczytać [na stronie Google](https://support.google.com/a/answer/60217?product_name=UnuFlow&visit_id=637782242373341050-4288794636&rd=1&src=supportwidget0#faq&zippy=%2Chow-does-the-upgrade-affect-my-current-g-suite-legacy-free-edition-subscription).

Według mnie Google powinno najpierw wysłać maile do użytkowników, a nie że musimy dowiadywać się o tym od pośredników. No cóż, Google udowadnia to, że ma w nosie ludzi, szczególnie gdy im oni nie płacą. W końcu Google, o ile niektórzy z was mogą nie wiedzieć, to firma reklamowa, a nie „wyszukiwarka”. 

Nic nie jest darmowe. A jeżeli jest darmowe, to płacimy w inny sposób, na przykład naszymi danymi lub prywatnością. Jak już się nie da trzepać kasy na użytkownikach darmowych, to trzeba zmusić ich do płacenia. Tak jak jest to już w przypadku Google Photo, teraz będzie w przypadku darmowego G Suite.

Covid oraz „kijek wsadzony w mrowisko” przez Apple, który ukraca szpiegowanie jego użytkowników, przez co zyski z przetwarzania „naszych danych” spadły nie tylko Facebookowi, ale również Google pokazują, jak bardzo cała ta pandemia nasz kosztuje i będzie kosztować.

Z chęcią poznał bym już teraz, co mnie czeka, gdyż dałoby mi to więcej czasu na podjęcie decyzji, ale po co. Lepiej postawić użytkowników pod ściana i zmusić ich do płacenia. 

Czekam z „niecierpliwością” na cennik i zobaczymy jak bardzo nas (mnie) to zaboli.

Ostatnio znalazłem artykuł na Google Workspace Updates z Września 2020 zatutułowany [Migrate users and data between G Suite environments more easily](https://workspaceupdates.googleblog.com/2020/09/migrate-between-g-suite-environments.html), gdzie firma opisuje możliwość migracji użytkowników pomiędzy różnymi kontami G Suite. Mimo że jest to wszystko w fazie beta, to, zamiast płacić za kilka kont G Suite i użytkowników w nim zawartych, będzie można niektórych przenieść w jedno. Jest to kolejna opcja, która będę sprawdzał zaraz po tym, jak dostanę mój pierwszy rachunek lub chociażby informację o cenach.

Ah to życie… staje się ono coraz to bardziej... kosztowne.

O ile cała ta zabawa w G Suite była fajna, mam swój mail opaty na Gmail we własnej domenie, to szkoda, że nie pozostałem przy moim domyślny adresie Gmail i nie utworzyłem przekierowania dla mojej domeny. Uniknąłbym poniekąd trochę irytacji w kierunku Google.

> Dla tych którzy chcą poczytać co nieco więcej, przypomnę mój artykuł od tym jak próbowałem przejść z wyszukiwarki Google do DuckDuckGo ([(nie) Zmieniłem wyszukiwarkę Google na DuckDuckGo](/zmienilem-wyszukiwarke-google-na-duckduckgo/)). Mój rok 2022 zacząłem ponownie z DuckDuckGo i nauczyłem się wykorzystywać `!g` w celu przywołania Google, gdy wyniki w kaczce nie spełniają mojego oczekiwania. Co ciekawe, ostatnio kaczka jest bardziej trafna i posiada lepsze wyniki wyszukania a nieżelazne Google. Oby tak dalej!

{{% ads-in-article %}}


---
## Wiewiórka zjadła moje orzeszki, a skorupki zostawiła na moim dysku
- **URL:** https://dariusz.wieckiewicz.org/wiewiorka-zjadla-moje-orzeszki/
- **Date:** 2022-01-10
- **Tags:** cleanmgr.exe, squirrel, squirreltemp, wiewiórka, windows 10, windows 11, Atom, Command prompt, Oczyszczania Dysku

### Content

Pół żartem, pół serio. Ostatnio odkryłem, co zjada mi miejsce na dysku na komputerze w pracy.

<!--more-->

Od momentu, gdy zaktualizowałem w pracy Windows 10 to Windows 11, w ramach testów (ale również w Windows 10), zauważyłem, że z dnia na dzień ubywa mi wolnego miejsca na dysku.

Komputer ten wyposażony jest jedynie w 128GB SSD (podstawowy) to jednak zawsze miałem na nim trochę miejsca wolnego i nigdy nie ujrzałem czerwonego paska grozy.

Na początku myślałem, że to wszystko przez aktualizację do Windows 11, ale nie. Jako że ten sprzęt nie był przeznaczony na Windows 11, powróciłem do Windows 10 i napotkałem ten sam problem.

Dokonując standardowych zabiegów czyszczących, zwolniłem sporą część niepotrzebnych danych (20+ GB). Minęło kilka tygodni, a pasek grozy powrócił.

Powtarzając czyszczenie, zyskiwałem zaledwie kilkaset megabajtów, do jednego giga maksymalnie, więc co mi zjadało miejsce?

Zacząłem szukać, odinstalowywać programy, przerzucać pliki, aż zacząłem analizować folder 'AppData' w moim profilu (domyślnie ukryty), gdzie zauważyłem, że zajmuje on znacząco więcej miejsca a niżeli u moich kolegów w pracy.

Ponownie myślałem, że to wszystko związane z Windows 11, ale nie, skoro na Windows 10 również to doświadczyłem.

Gryzoniem, który zasiedlił się na moim dysku i zrobił sobie z niego spichlerz na zimę, była **Wiewiórka** ([Squirrel](https://github.com/Squirrel)).

Znalazłem jej spichlerz, pełny niepotrzebnych skorupek (`TempXX`) po orzeszkach, a które zajmowały przeszło **40GB!!!**

Co ciekawe, spichlerze na innych komputerach nie były tak wypchane. Najwidoczniej moja wiewiórka była naprawdę pracowita i zjadała moje gigabajty na potęgę.

Spichlerz ten został nazwany `SquirrelTemp` i mimo że nie jest on niezbędny na co dzień, nie jest on domyślnie wliczony w ramach [narzędzia Oczyszczania Dysku w Windows (Disk Clean-up)](/windows-10-przyspieszenie-dostosowanie/#porządki---usuwanie-pozostałości-po-aktualizacjach).

Ale od początku.

**Poznajmy moją wiewiórkę, bo franca się nie przedstawiła**.

Na GitHub owa wiewiórka opisana jest jako `Server-driven updates for native apps` (tłumaczenie: `Aktualizacje oparte na serwerze dla aplikacji natywnych`).

Otóż Squirrel jest pewnego rodzaju silnikiem, który można zintegrować z dowolną aplikacją w celu jej łatwiejszej aktualizacji.

Tak, jak Microsoft Edge, jak i Chrome aktualizują się w tle, o tyle inne aplikacje niekonieczne. Tutaj wiewiórka przychodzi na pomoc.

Ciekawy gryzoń. Tylko nie pamiętam, co go używa, dlaczego i po co.

Otóż Squirrel używana jest między innymi przeglądarka Brave, Slack, Atom, jak również Microsoft Teams.

Z tych aplikacji niektórych nie używam, ale używałem jeszcze kilka miesięcy temu, aplikację Atom. Microsoft Teams używają wszyscy w firmie, więc nie obstawiam, że to ona powoduje nadmierne zapełnienie spichlerza.

Nim zacząłem używać [Microsoft Virtual Studio Code](https://code.visualstudio.com), aktywnie używałem [Atom](https://atom.io). Doceniałem go między innymi dzięki przyjaznym aktualizacją. 

Uruchamiając aplikację aktualizowała się w tle, a przy następnym uruchomieniu aktualizowała się do najnowszej wersji.

Niestety, te aktualizacje do aplikacji nie są małe. Każda po około 210+ MB. Cztery aktualizacje i zużyliśmy 1GB na dysku twardy.

> Z tego, co wyczytałem od innych przyjaciół zwierzyny pseudolatającej, potrafi ona zmagazynować nawet 160 GB!

Z nipoprawnego założenia myślałem, że pobierane pliki zapisywane są w folderze `Temp`, tam, gdzie by się tego oczekiwało w systemie Windows, ale nie. Do tego celu (ta i inne aplikacje) używany jest folder `SquirrelTemp`. 

Niestety, o ile nie używamy innych programów czyszczących i posiłkujemy się tylko wbudowanymi w system narzędziami (które są w większości wypadków wystarczające) nie zauważymy, że w przeciągu miesięcy (lat) nazbierało się tam trochę gigabajtów, aż nasz system oznajmi, że pora zrobić wiosenne porządki. Najgorsze jest to, że system nie wie gdzie i co usunąć, więc musimy zrobić to sami.

> Usunięcie 40 GB składających się z tysięcy drobnych plików na moim (średniej klasy) dysku SSD trwało około 5 minut.

Samego gryzonia się nie pozbędziemy. 

O ile zrezygnowałem z Atom, to nadal są inne programy, które się z nim zakolegowały, a z których nie chcę rezygnować. W związku z tym postanowiłem przygotować sobie podręczną komendę, którą raz na jakiś czas w ciągu roku uruchomię, w celu pozbycia się śmieci.

Wykonujemy następującą komendę z poziomu wiersza poleceń (Command prompt):
```
rmdir /s %UserProfile%\AppData\Local\SquirrelTemp
```

{{% ads-in-article %}}

Jeżeli nie lubimy bawić się w wierszu poleceń, możemy usunąć folder `SquirrelTemp` z poziomu eksploratora plików (File Explorer) po wyświetleniu ukrytych folderów.

[![Windows 11 Pokaż ukryte elementy](windows_11_show_hidden_items.png)](windows_11_show_hidden_items.png)

Klikając prawym przyciskiem wybieramy opcję usuń, a następnie opróżniamy kosz. 

> Tak jak mówiłem wcześniej, trochę to zajęło z poziomu wiersza poleceń. Z poziomu eksploratora plików może to potrwać nieco dłużej.

Nasz folder znajduje się na dysku systemowym, w folderze użytkownika, `AppData` > `Local` > `SquirrelTemp`.

Wiewiórka cała, spichlerz nadal dostępny, i nie trzeba będzie robić jej eksmisji do nowego domu.

Pozdrawiam.


---
## Zwalniamy miejsce na Zdjęciach Google (Google Photos)
- **URL:** https://dariusz.wieckiewicz.org/zwalniamy-miejsce-na-zdjeciach-google/
- **Date:** 2022-01-05
- **Tags:** Zdjęcia Google, Google Photos, Google, Oszczędzanie miejsca na dane, Zarządzanie miejscem na dane, Zwolnij miejsce, Skompresuj obecne zdjęcia i filmy

### Content

Szybciej niż później nadszedł ten czas, gdy kolejna osoba pyta mnie, co zrobić, gdy kończy im się miejsce na Zdjęciach Google (Google Photos) i w związku z tym na poczcie Gmail.

<!--more-->

Otóż zgodnie z zapowiedziami Google, od czerwca 2021 roku wszelkie zdjęcia wgrywane do Google Photos wliczają się w przestrzeń, którą mamy do dyspozycji (domyślnie 15GB).

> Pisałem o tym tutaj: [Koniec z darmowy miejscem w Zdjęciach Google (Google Photos)](/koniec-darmowe-miejsce-zdjecia-google-photos/).

W listopadzie 2020 roku, po ogłoszeniu zmian Google szacowało, że *"80% użytkowników będzie w stanie, w ramach 15GB zmieścić nawet 3 lata zdjęć bez konieczności wykupowania większego pakietu"*. Wszystko pod warunkiem, że przychowywać je będziemy w wersji skompresowanej, obecnie zwanej **Storage saver** (po polsku **Oszczędzanie miejsca na dane**).

Oczywiście, już wtedy wiedziałem, że jest to bardzo optymistyczne założenie. Jak widać, niektórzy użytkownicy zaczęli zbliżać się do limitu po przeszło sześciu miesiącach. Mam tu na myśli użytkowników, których znam, a którzy mają pakiet podstawowy 15GB, jak i ci, którzy mają wykupione dodatkowe 100GB.

W swoim założeniu Google celowo wziął pod uwagę obecną (na daną chwilę) sytuację na rynku. Z czasem jednak nasze aparaty robią zdjęcia w coraz to wyższej rozdzielczości, przez co zajmują one coraz to więcej miejsca.

> Jeżeli dodatkowo robimy zdjęcia *Live Photos*, to oprócz zdjęcia zachowywany jest krótki filmik, i tak jedno zdjęcie i filmik to średnio 3MB!

Mimo tego, że domyślnie ustawiliśmy sobie, aby wszystkie zdjęcia wgrywane były (oraz przechowywane) w postaci skompresowanej, to czasem tak się nie dzieje.

Jeżeli niedawno ustawialiśmy nowy telefon lub instalowaliśmy aplikację Google Photos od nowa, ku naszemu zdziwieniu możemy zauważyć, że **domyślnie zdjęcia zachowywane były w pełnej rozdzielczości**, przez co nasze miejsce znikało w okamgnieniu.

Każde zdjęcie wykonane to około 4-5MB. Okres świąteczny za nami i wystarczy, że w trakcie niego napstrykaliśmy przeszło 100 zdjęć i już nie mamy prawie pół giga przestrzeni dyskowej.

> Google zrobił ten zabieg poniekąd umyślnie. Przy każdej zmianie telefonu, zalogowaniu się na Zdjęcia Google, musimy pamiętać, aby przełączyć się na **Storage saver** aby pewnego dnia nie zdziwić się, że nie mamy miejsca.

[![100GB na przestrzeń dyskową Google w promocji](100GB_Google_storage_deal_pl.png)](100GB_Google_storage_deal_pl.png)

Nim jednak zdecydujesz się sięgnąć do portfela, aby wykupić dodatkowy, wyższy pakiet, warto wykonać prosty zabieg w opcjach Google Photos, aby sprawdzić, czy oby nie możemy zwolnić nieco miejsca, kompresując to, co jest już tam wgrane.

[![200GB na przestrzeń dyskową Google w promocji](200GB_Google_storage_deal_pl.png)](200GB_Google_storage_deal_pl.png)

Osobiście mój obecny pakiet to 200GB, [udostępnione w ramach grupy rodzinnej](https://myaccount.google.com/people-and-sharing), gdzie wszyscy członkowie maką to miejsce do dyspozycji, a ja płacą tylko raz, i mimo wszystkich zabiegów, wykoszystanie mam powyżej 50%.

> Ostatnio, na jednym koncie, z zapełnionego konta Google do przeszło 15GB tą metodą zyskałem 12GB wolnego miejsca!

{{% ads-in-article %}}

## Rozmiar przesyłanych zdjęć i filmów

Z poziomu naszego komputera udajemy się na stronę [Ustawień Zdjęć Google](https://photos.google.com/settings).

Jeżeli nie mamy zaznaczonej opcji **Oszczędzanie miejsca na dane** (Storage Saver), to dokonujemy zmiany.

[![Zdjęcia Google — Ustawienia — Oszczędzanie miejsca na dane](Zdjecia_Google_Ustawienia_Oszczedzanie_miejsca_na_dane.png "Zdjęcia Google — Ustawienia — Oszczędzanie miejsca na dane")
](Zdjecia_Google_Ustawienia_Oszczedzanie_miejsca_na_dane.png)

Następnie klikamy na przycisk **Zarządzanie miejscem na dane** (Manage Storage).

[![Miejsce na dane — Spersonalizowane szacunki](Miejsce_na_dane_Spersonalizowane_szacunki.png "Miejsce na dane — Spersonalizowane szacunki")](Miejsce_na_dane_Spersonalizowane_szacunki.png)

Na kolejnej stronie otrzymamy informację, jak i gdzie używamy naszej przestrzeni dyskowej, wraz z szacunkowym czasem, na jak długo wystarczy nam miejsca.

Przewijamy stronę w dół, aż ujrzymy sekcję **Zwolnij miejsce** (Recover storage).

[![Zarządzanie miejscem na dane — Zwolnij miejsce](Zwolnij_miejsce.png "Zarządzanie miejscem na dane — Zwolnij miejsce")](Zwolnij_miejsce.png)

W opcji **Przekonwertuj zdjęcia i filmy za pomocą opcji Oszczędzanie miejsca na dane** (Convert existing photos and videos to Storage saver) musimy kliknąć tekst **Więcej informacji** (Learn more), po czym otrzymamy informacje, co ta opcja powoduję. Po zaznaczeniu ptaszka przy tekście _Rozumiem_ (_I understand_), aktywujemy przycisk **Skompresuj obecne zdjęcia i filmy** (Compress existing photos and videos).

[![Skompresuj obecne zdjęcia i filmy](Skompresuj_obecne_zdjecia_i_filmy.png "Skompresuj obecne zdjęcia i filmy")](Skompresuj_obecne_zdjecia_i_filmy.png)

Dzięki temu wszelkie zdjęcia, które wgrane zostały w **Oryginalne jakości** zostaną skompresowane, oraz wszystkie te, które mogą zostać zoptymalizowane, również zostaną przerzucone przez algorytm.

[![Zwolnij miejsce – Kompresuję](Zwolnij_miejsce___Kompresuje.png)](Zwolnij_miejsce___Kompresuje.png)

Zabieg ten może chwilę potrwać. Do momentu, gdy kompresja trwa, będziemy tam widzieli tekst **Kompresuję... może to potrwać kilka godzin**.

Możemy opuścić tę stronę i powrócić na nią w późniejszym czasie.

Zapisując, ile zajętych danych mieliśmy na początku, możemy później porównać, ile miejsca odzyskaliśmy tym zabiegiem.

Jeżeli powyższy zabieg nie sprawił, nadal mamy nie dużo wolnego miejsca, wówczas warto zastanowić się nad wyższym pakietem.

O ile usuwanie niepotrzebnych zdjęć nie jest jakimś rewelacyjnym rozwiązaniem, warto również zobaczyć, co jeszcze zjada nam cenne miejsce.

> Pamiętaj, usuwanie zdjęć wgranych do Zdjęć Google przed Czerwcem 2021 nie odzyska ci żadnej przestrzeni dyskowej, gdyż nie wliczają się one w ilość dostępnego miejsca, więc nie ma co ich usuwać. Dodatkowo, podczas usówania zdjęć, zostaniesz poinformowany ile miejsca odzyskujesz.

Warto tutaj zaznaczyć, że miejsce na koncie Google dzielone jest nie tylko na zdjęcia, ale również na pocztę Google oraz Dysk Google. Czasem warto usunąć stare, niepotrzebne maile z załącznikami, aby odzyskać cenne gigabajty.

Szczegółową informację ile mamy dostępnego miejsca oraz co nam je zużywa, znajdziemy na stronie [zarządzania miejscem Google](https://one.google.com/storage).

Pozdrawiam.


---
## Ocet dobry na... YouTube
- **URL:** https://dariusz.wieckiewicz.org/youtube-vinegar/
- **Date:** 2021-12-24
- **Tags:** Youtube, reklamy, iOS, iPadOS, macOS, Vinegar, Baking Soda, Fizzy Water Bundle, Zhenyi Tan, Anton Shcherbach, Yang Zongqun, Apple, AppStore, Safari, rozszerzenie, extension, VLC

### Content

Od kilku lat unikam YouTube jak diabeł święconej wody. 

Agresywny model reklamowy YouTube i Google sprawił, że jak tylko chciałem coś zobaczyć na ich stronie, to krew mnie zalewała.

Nie dosyć, że każdy materiał filmowy poprzedzany był reklamami, które czasami trwały dłużej a niżeli moje zaangażowanie w jego obejrzenie, to w trakcie jego oglądania jest ich jeszcze więcej. 

<!--more-->

Co najgorsze, gdy szybko potrzebuje sprawdzić, czy dany filmik jest wart uwagi, przeskakuje go co kilka sekund, a tu... reklama!

Nie dosyć, że musiałem obejrzeć reklamy na początku, to przy drugim lub trzecim przeskoku (nie oglądając więcej niż 10 sekund) znowu rozproszenie!  Lekka przesada. Idzie się wkurzyć do czerwoności, gdyż nie wiem, o czym jest film, a już nie mam ochoty na jego obejrzenie. W rezultacie zapominam nawet co miałem zobaczyć i wychodzę ze strony.

Przez to wolę poszukać czegoś na stronach, które opisują to, co prezentują w postaci materiału audio wizualnego.

Z tego też względu nie lubię też stron, które polegają tylko na materiałach filmowych lub podcastach, gdyż osobiście wolę coś przeczytać a niżeli obejrzeć.

Pod pewnym względem rozumiem, że YouTube oraz jego twórcy zarabiają nie małe pieniądze, na tym co tworzą, ale jest pewna granica absurdu. Tę granicę YouTube przekroczył do tego stopnia, że nie dało się tego strawić.

Wszechobecna nagonka i promowanie płatnego YouTube Premium wcale w tym nie pomagało. Nie jestem uzależniony od YouTube do tego stopnia abym musiał za niego płacić.

Tak jak ograniczyłem moją interakcję na Facebook na rzecz Twitter (wszystko poprzez śmieci, które tam zaczęły się pojawiać), tak też wolałem zrezygnować z YouTube. Nasze życie i sytuacja na świecie wystarczająco potrafią podnieść ciśnienie i nie zamierzam rzucać mięsem tylko dlatego, że YouTube mnie wkurwia.

Niestety, niektórzy twórcy, którymi się interesuję operują tylko w formie audio wizualnej, przez co ciężko znaleźć alternatywę. 

A gdyby tak znaleźć jakiś złoty środek na tę bolączkę? 

Niestety, wszelkie AdBlockery nie chcą "wkurzyć" Google i nie robią tego, co powinny.

Na szczęście, w "dziale środków czyszczących" znalazłem "spray", który po "spryskaniu ekranu" pozwoli na wyczyszczenie YouTube ze wszelkich śmieci. Ten spray zawiera ocet (ang. Vinegar), który jest uniwersalnym środkiem czyszczącym stosowanym od wieków.

Nie jest on może on aż tak skuteczny, jak Dentol, ale robi to, o co się go prosi.

Ten "ocet" przywędrował do nas [z krainy dinozaurów](https://andadinosaur.com) dzięki [Zhenyi Tan](https://twitter.com/zhenyitan).

A teraz na poważnie.

## Vinegar

![Vinegar Icon](vinegar_icon.png)

Zhenyi Tan stworzył aplikację, dzięki której mogłem ponownie wrócić do oglądania filmów na YouTube.

Aplikacja ta zwie się [**Vinegar**](https://andadinosaur.com/launch-vinegar) i dostępna jest na platformy z nadgryzionym jabłkiem (Apple).

Jej zadaniem jest podmienienie odtwarzacza YouTube przez minimalny, obsługiwany natywnie przez dany system operacyjny i przeglądarkę (iOS, iPadOS czy macOS) odtwarzacz serwowany z HTML przy pomocy tagu `<video>`.

![Vinegar screenshot](vinegar_andadinosaur_com.png "Source: andadinosaur.com/launch-vinegar")

> Tak naprawdę ciężko tą "aplikację" nazwać aplikacją, gdyż jest ona rozszerzeniem do systemu, ingerująca się z natywną przeglądarką, w tym przypadku Safari.

W momencie uruchomienia filmiku na YouTube zauważymy, że odtwarzacz przypomina ten, do którego przyzwyczajeni jesteśmy podczas oglądania, chociażby eventów z Apple.

Dzięki niej zyskujemy możliwość zmiany jakości filmu (tak jak jest to natywnie w aplikacji YouTube), ale również wyłączenie obrazu i pozostawienie tylko dźwięku (Audio). Dzięki czemu, możemy zablokować nasz telefon, a dźwięk nadal będzie grał w tle poprzez natywny odtwarzacz w systemie.

Dodatkowo możemy oglądać materiał w osobnym oknie, bez konieczności płacenia za tą "wygodę", przy robieniu innych rzeczy na naszym urządzeniu.

> Ostatnio "obejrzałem" (słuchałem) [MKBHD Smartphone Awards 2021!](https://www.youtube.com/watch?v=IDcyXtweHCw), podczas gdy mój telefon podłączony był w samochodzie do CarPlay.

Najważniejsze jest to, że nie mam reklam. Ani na początku, ani w trakcie! **Zero, nil, nada!**

Niektóre osoby się wkurzą, a z czasem, gdy aplikacja stanie się bardziej popularna Google będzie próbowało dokonać zmian w ich odtwarzaczu, aby ograniczyć jej działanie.

Na szczęście, nie będzie to tak łatwe, jak się wydaje. 

Od lat mamy do dyspozycji [VLC](http://www.videolan.org/vlc/), w którym możemy odtwarzać (streamować) filmiki z YouTube bez reklam.

Aplikacja Vinegar nie ingeruje w natywną aplikację YouTube. Wszelkie odnośniki, które otwieramy z przeróżnych stron internetowych, nadal będą do niej przekierowywane. Rozwiązaniem na to jest usunięcie oficjalnej aplikacji YouTube. Po spróbowaniu Vinegar zrobiłem to bez większego zawahania i (póki rozszerzenie działa) nie zamierzam do niej wracać.

Za Vinegar przyjdzie nam jednak zapłacić. **Na szczęście, nie są to nie wiadomo jak duże pieniądze**.

Aplikacja kosztuje $1.99 (lub £1.79 w UK).

Opłata jest jednorazowa i pozwala na instalację aplikacji na wszelkich urządzeniach (iOS, iPadOS, macOS) w ramach jednego konta Apple. Co więcej, jeżeli mamy utworzoną rodzinę i włączone dzielenie aplikacji (Family Sharing), to wszyscy uczestnicy mogą ją zainstalować z naszej sekcji zakupionych aplikacji (Purchased) bez konieczności ponownego płacenia!

Przy pięciu członkach rodziny i multum urządzeń, jednorazowa inwestycja w aplikację jest naprawdę udanym zakupem!

Oprócz aplikacji **Vinegar** Zhenyi Tan tworzy inne, godne polecenia aplikacje takie jak [**Baking Soda**](https://andadinosaur.com/launch-baking-soda), której zadanie jest podmiana odtwarzaczy na innych stronach w internecie, nie tylko YouTube.

Baking Soda kosztuje tyle, co Vinegar ($1.99 lub £1.79 w UK), jednakże, gdy zakupiliśmy już Vinegar, możemy "dokupić" Baking Soda za jedyne $0.99 (lub ££0.70 w UK) w tak zwanym "[bundle](https://apps.apple.com/gb/app-bundle/id1601247237)".

Obie aplikacje zakupione razem kosztować nas będą $2.99 (lub £2.49 w UK).

> ps. Vinegar działa również z materiałami z YouTube wstawionymi na innych stronach internetowych.

{{% ads-in-article %}}

## Uwaga na podróbki

Niejaki [Anton Shcherbach](https://www.facebook.com/ashcherbach) postanowił być cwany i ukradł kod z aplikacji Vinegar i wypuścił klon w AppStore o nazwie **Tube Cleaner**.

> Ze strony znalezionej na Facebook wynika, że powyższa osoba pochodzi z Białorusi a obecnie mieszka w Warszawie, jednakże ostatni publiczny wpis wprowadzony został w 2016 roku.

Zhenyi Tan opisał to na jego stronie [**Someone Stole Vinegar's Code**](https://andadinosaur.com/someone-stole-vinegar-s-code) oraz zgłosił sprawę do Apple. Jednakże, znając życie nie wiele to zmieni.

> Ciekawe, czy inne aplikacje od niejakiego Anton Shcherbach w AppStore też nie są kradzione!

Co "wydawać by się mogło", to fakt, że Tube Cleaner jest, póki co darmowy (w porównaniu do Vinegar za którego musimy zapłacić). Ale uwzględniając to, że aplikacja bazuje na skradzionym kodzie, (póki co nie łamie żadnych zasad z AppStore), to z czasem może się to zmienić.

To, że Zhenyi Tan wziął pod uwagę naszą prywatność, nie można powiedzieć o "firmie krzak" jaką jest wyżej wymieniona osoba. 

Osoby, które skuszą się na darmową aplikację, mogą z czasem odkryć, że rozszerzenie, oprócz robić to, co powinno, szpieguje nas w tle, wykradając dane odnośnie stron, które odwiedzamy, lub co gorsze nasze dane!

Osobiście odradzam.

> Co ciekawe, polityka prywatności (Privacy Policy) dla tej aplikacji w AppStore odnosi się do **VVR: Portrait Video Rotator** a nie do aktualnej aplikacji. Ktoś, kto zatwierdza aplikacje w AppStore dał dupy po całości.

> Pomiędzy 26 ad 27 grudnia 2021 aplikacja Tube Cleaner (jak i kilka innych tego autora) zniknęła z AppStore 🙌

---

## Podróbek ciąg dalszy

Po tym, jak **Tube Cleaner** zniknął z AppStore, a niejaki Anton Shcherbach starał ukryć swoją aktywność, blokując, chociażby dostęp do jego publicznego profilu na Facebooku szybko znalazł się **kolejny cwaniak**. Niejaki Yang Zongqun "wypuścił" aplikację **Tube Blocker** która jest kolejną podróbką Vinegar. Po raz kolejny warto uważać, co się używa, gdyż pod pretekstem usunięcia reklam z YouTube kto wie, co to rozszerzenie będzie robiło w tle.

Szkoda mi tylko autora Vinegar. Włożył w aplikację naprawdę sporo pracy i ciągle ją aktualizuje, dostosowując do zmieniających cię warunków. Problem w tym, że rozszerzenia do przeglądarki Safari są tworzone podobnie jak strony internetowe, których kod może każdy zobaczyć we własnej przeglądarce.

W pełni rozumiem rozgoryczenie autora, podczas gdy wypuścił kolejne to rozszerzenie o nazwie [Search Filter](https://andadinosaur.com/launch-search-filter). Apple naprawdę musi wziąć się w garść, gdyż, gdy nie ma wsparcia z ich trony dla małych deweloperów, to tracą na tym tylko użytkownicy.

---

Aplikacja Vinegar może i kosztuje $1.99 (£1.79 lub 8.99zł) to jednak warta jest swojej ceny. Warto również wspierać prawowitego autora, który aktywnie ulepsza aplikację dla nas, użytkowników.

## Odnośniki

* [**Vinegar** w AppStore](https://apps.apple.com/pl/app/vinegar-tube-cleaner/id1591303229)
* [**Baking Soda** w AppStore](https://apps.apple.com/pl/app/baking-soda-tube-cleaner/id1601151613)
* [Zestaw (bundle) Vinegar i Baking Soda w AppStore](https://apps.apple.com/pl/app-bundle/fizzy-water-bundle/id1601247237) tak zwany **Fizzy Water Bundle**.


---
## Kolejna strona oparta na Hugo (www.paraplan.com.pl)
- **URL:** https://dariusz.wieckiewicz.org/kolejna-strona-oparta-na-hugo-paraplan-com-pl/
- **Date:** 2021-12-14
- **Tags:** Lotnicza Agencja Reklamowa, Lotnicza Agencja Reklamowa PARAPLAN, Agnieszka Sulewska, Hugo, Netlify, loty balonem, publicalbum.org

### Content

Od kiedy to pamiętam, było to około 2008 roku jak nie wcześniej, zacząłem swoją współpracę z firmą PARALAN z Koszalina zajmującą się profesjonalnie świadczeniem usług lotów balonem na ogrzane powietrze.

Na początku strona była tworzona w HTML'u i edytowana w notatniku. Wraz z rozwojem firmy oraz rozrostem informacji zawartych na stronie przeszliśmy na najlepsze w tym czasie rozwiązanie, jakim był WordPress.

Strona działała na WordPress przez kilka dobrych lat do czasu, gdy rozrosła się do wielkości 15 GB i zasoby serwera współdzielonego zaczęły sprawiać problemy. Dodatkowo więcej czasu spędzaliśmy na monitorowaniu prawidłowości działania witryny a niżeli na dodawaniu nowych treści.

<!--more-->

Na początku 2021 roku stanęliśmy przed koniecznością podjęcia decyzji, w którym kierunku będziemy zmierzać z naszą stroną. Do wyboru była kolejna inwestycja przejścia na dedykowany serwer, która kosztowałaby nie mało, lub też poszukanie innego rozwiązania.

Przeniesienie takiej strony nie jest łatwe. Sam dziennik lotów balonem, galeria i multimedia zawierała w sumie przeszło 400 wpisów a każdy z nich tonę zdjęć i filmików. Wszystko to trzeba byłoby przenieść i ostatecznie posprawdzać i po poprawiać.

> _ps. Filmiki już serwowaliśmy z naszego kanału na YouTube._

Im dłużej działaliśmy na WordPress, tym ciężej było to zrobić. Jednocześnie, im dłużej używaliśmy WordPress, tym bardziej nasza strona stawała się powolna i kosztowała coraz to więcej. Trzeba było działać i to natychmiast.

Kolejny raz wybrałem Hugo jako podstawę na "nową" odsłonę strony internetowej.

---

Po skutecznym przeniesieniu [mojej własnej strony](/moja-strona-ponownie-moja/), następnie strony [www.turboklinika.com.pl](/kolejna-strona-oparta-na-hugo-turboklinika-com-pl/), [www.aqua-tech.net.pl](/kolejna-strona-oparta-na-hugo-aqua-tech-net-pl/) oraz [www.andrewsfasteners.uk](/en/andrews-fasteners-going-hugo/) rozpocząłem przymiarki do niniejszej strony.

Niniejsze przymiarki trwały około 3 miesięcy (z doskoku).

Zacząłem oczywiście od motywu strony, który został nieco uproszczony i odświeżony, po czym zacząłem myśleć jak przenieść te prawie 15 GB zdjęć, aby móc wykorzystać do tego GitHub oraz serwować stronę z Netlify.

Problemem było to, że repozytorium GitHub nie może przekraczać 1 GB. Nie byłoby szans na osiągnięcie zamierzonego celu bez kombinowania.

Wstępnie myślałem o podzieleniu strony na kilka repozytoriów na GitHub. [Dyskutując tego typu rozwiązanie na forum Hugo](https://discourse.gohugo.io/t/repository-storage-for-large-hugo-site/33302) zrozumiałem, jak tego dokonać.

Hugo oferuje opcję modułów. Gdy podzielimy naszą stronę (foldery) na osobne repozytoria, podczas budowania strony skrypt Hugo złączyłby je razem w jedną dużą stronę.

Wszystko w teorii byłoby idealnym rozwiązaniem jednakże pozostało jedno ale.

Netlify, usługodawca, którego używać będę do serwowania strony, w darmowym rozwiązaniu nie ogranicza tego typu rozwiazania, ale też, zgodnie z regulaminem, zaznacz, że może to ulec zmianie.

W momencie, gdy spędziłbym sporo czasu na przygotowanie tak dużej strony, nie chciałbym być rozczarowany, gdy przy pierwszym serwowaniu strony z Netlify otrzymał bym "przyjazny" email stwierdzający, że darmowe rozwiązanie nie jest dla mnie i powinienem znaleźć miejsce na stronę gdzie indziej.

I znowu musiałem pomyśleć, czy oby to rozwiązanie jest jedyne, które mogę użyć. 

A gdyby tak wrzucić zdjęcia, które zajmują tak naprawdę najwięcej miejsca, na inną stronę, z której byłyby one serwowane na stronie opartej o Hugo.

Dzięki temu strona zajmowałaby kilkaset mega, a gigabajty danych serwowane byłyby z innego miejsca.

---

Zacząłem myśleć.

W międzyczasie, wykorzystując sprawdzone rozwiązanie od KevQ [przeniosłem dane z Wordpress do Markdown](https://kevq.uk/how-to-convert-wordpress-to-markdown/) i zacząłem ich przeglądanie oraz korektę.

Podczas gdy wszystkie strony, oprócz dziennika lotów, galerii i multimediów, zostały przejrzane, stanąłem jeszcze raz przed pytaniem, co zrobić ze zdjęciami.

W pierwszej kolejności zacząłem od usunięcia wszystkich śmieci, które Wordpress generuje.

Jedno zdjęcia zawierało co najmniej 5 wersji w różnych rozmiarach, nie mówiąc już o dodatkowych pięciu, jeżeli używałeś również WebP. 

I tak z 14.64 GB udało mi się zejść do nieco poniżej 7 GB!

Nadal za dużo na 1 GB repozytorium na GitHub, jednakże postęp.

---

W międzyczasie natrafiłem na stronę, na której przeczytałem [jak wstawić zdjęcia przechowywane w albumie w Zdjęciach Google bezpośrednio na stronę internetową](https://www.publicalbum.org/blog/embedding-google-photos-albums).

Rozwiązanie to mogłoby być idealne. 

Zdjęcia Google (Google Photo) pozwala na zamieszczenie 15 GB danych za darmo. Co więcej, przy włączonym oszczędzaniu miejsca, nasze zdjęcia są dodatkowo "optymalizowane", przez co zajmują mniej.

> Domyślnie wszystkie zdjęcia na stronie przepuszczam przez [Optimizilla](https://imagecompressor.com) a kompresja po stronie Google działa bardzo podobnie (nieco gorzej o jakieś 5% wielkości pliku).

A więc rozpocząłem wrzucanie zdjęć z lotów do [Google Photo](/google-photo/), segregowanie ich w stosowne albumy, udostępnianie, aby były dostępne publicznie. Następnie, z wykorzystaniem strony [publicalbum.org](https://www.publicalbum.org/blog/embedding-google-photos-albums) rozpocząłem generowanie kodu, który mogłem wstawić w odpowiedni wpis (plik [Markdown](/markdown)) aby wyświetlić je w postaci "galerii".

Proces ten był bardzo czasochłonny.

Z ręką na sercu mogę powiedzieć, że zajęło mi to przeszło 3 tygodnie kilkugodzinnych prac dziennie.

Porucz wgrywania zdjęć do Google oraz generowaniu kodu musiałem przejrzeć wpisy pod kątem prawidłowych odnośników, tytułów, tagów, treści oraz obrazka wyróżniającego, który później wykorzystany będzie do prezentowania ładnej galerii miniaturek na stronie.

{{% ads-in-article %}}

---

Na żadną inną stronę nie poświęciłem tak dużo czasu, jak z tą. 

Dało mi to dużo do myślenia i obiecałem sobie, że nigdy więcej nie postawię żadnej strony opartej o WordPress, gdyż wyciągnięcie jej z powrotem kosztuje więcej (czasu), niż zrobienie jej od początku z wykorzystaniem lepszego rozwiązania.

Strona paraplanu jest tak naprawdę **ostatnią** stroną, którą nadal zarządzam, a która bazowała na zainstalowanym WordPress na serwerze. 

> Pomagam z doskoku jeszcze przy innej stronie ([antybariera.pl](https://antybariera.pl)), która pracuje na WordPress, jednakże jest ona oferowana przez WordPress.com, a nie WordPress.org, przez co nie marnuje czasu na monitorowanie serwera.

Możesz pomyśleć, że przecież WordPress nie jest taki zły. Jednakże, jeżeli popatrzysz pod kątem treści, to z wykorzystaniem plików [markdown](/markdown/) masz pełną kontrolę gdziekolwiek chcesz.

Oczywiście, jest tutaj pewnego rodzaju kompromis, gdyż nie ma możliwości zarządzania strony przez przeglądarkę internetową, ale od czego są rozwiązania takie jak [Netlify CMS](https://www.netlifycms.org). 

> Netlify CMS jest czymś, co będę z czasem próbował wprowadzić na tą, jak i inne strony, które stworzyłem z wykorzystaniem Hugo.

Oprócz tego, że pozbyłem się WordPress, nie muszę również płacić za serwer (chociażby do czasu aż strona się rozrośnie), zyskałem w oczach Google przyspieszając całą stronę internetową przywracając ją ponownie na zieloną kreskę w [Core web vitals](https://web.dev/vitals/).

---

Krótkie porównanie **WordPress** vs **Hugo** dla strony [www.paraplan.com.pl](https://www.paraplan.com.pl) po zakończonej migracji.

| Porównanie | WordPress | Hugo |
| - | - | - |
| Wtyczki | 97.6 MB | 0 MB |
| Motywy | 15.2 MB | 2 MB |
| Treść | 0 MB[^1] | 4.7 MB |
| Uploads | 14.64 GB | 261.7 MB + (4.9 GB)[^2] |
| Baza danych | 75 MB | 0 MB[^3] |
| Koszt serwera | 200zł/rok + VAT (nazwa.pl) | 0zł (zero, GitHub/Netlify/Google Photo) |

[^1]: Treść przechowywana jest w bazie danych
[^2]: Część plików (261.7 MB) przechowywana jest na stronie, zdjęcia natomiast serwowane są ze Zdjęć Google (4.9 GB).
[^3]: Hugo nie potrzebuje bazy danych. Treść przechowywana jest w plikach markdown .md


---
## Moje aplikacje na macOS z Apple Silicon (2021)
- **URL:** https://dariusz.wieckiewicz.org/moje-aplikacje-na-macos-z-apple-silicon-2021/
- **Date:** 2021-11-26
- **Tags:** Mac, Rectangle, ColorSlurp, Bartender, Bartender 4, Blackmagic Disk Speed Test, Hand Mirror, WiFi Signal, Visual Studio Code, macOS, Apple Silicon, M1

### Content

Odkąd Apple wprowadził swój własny układ scalony (bo procesorem tego nie można nazwać) na rynku zagrzmiało. Zagrzmiało do tego stopnia, że jak tylko mogłem, "sprzedałem" mojego nowego MacBooka Pro z procesorem intel (którego kupiłem w kwietniu 2020) by przy pierwszej nadarzającej się okazji zamienić go na MacBook Air z procesorem M1.

> Co nieco o tym już pisałem na mojej angielskojęzycznej wersji strony w artykule: [Leap Forward - Apple Silicon](/en/leap-forward-apple-silicon/)

Nim jednak stałem się posiadaczem komputera z procesorem M1 minęło trochę czasu od premiery. Dzięki temu coraz to więcej aplikacji zostało dostosowanych do pracy z nowym architekturą. Wszystko nabrało niebywałego tępa a konkurencja zaczęła obgryzać paznokcie.

Oprócz aplikacji, które dedykowane były dla komputerów z seri Mac, M1 otworzył możliwość instalowania aplikacji dostępnych na iOS (iPhone) oraz iPadOS (iPad). 

Deweloperzy zyskali dodatkowe narzędzia pozwalające im w łatwiejszy sposób stworzyć uniwersalną aplikację, która będzie działać zarówno na urządzeniach przenośnych jak i komputerach.

Co za tym wszystkim idzie, użytkownicy zyskali dostęp do szerszej rzeszy gier i aplikacji, sprawiając że App Store na macOS "powoli" przestaje być kulą u nogi systemu od Apple (chociaż nadal jest).

Oto lista moich wybranych aplikacji, które użytkownik komputera Mac z Apple Silicon powinien spróbować.

<!--more-->

## Rectangle

[![Rectangle – About](/images/2021/11/Rectange_About-min.png)](/images/2021/11/Rectange_About-min.png)

Od jakiegoś czasu używałem aplikacji [Right Zoom](/aplikacje-macos-top-10-2020/#right-zoom), która przywróciła mi zachowanie zielonego przycisku w lewej-górnej części okna. Zyskałem dzięki temu możliwość powiększania okien na cały ekran (a nie w tryb pełnoekranowy!) znany z systemów Windows.

Czego jednak Right Zoom brakowało to to, że autor nie aktualizował aplikacji od jakiegoś czasu (zapomnij o oficjalnym wsparciu dla M1 - aplikacja działa za pośrednictwem Rosetta 2) to nadal brakowało mi możliwości lepszego organizowania okien na pulpicie. 

Rectangle dodaje opcje znane z systemu Windows, takie jak na przykład proporcjonalne przypięcie jednego okna do lewej części ekranu a drugiego do prawej. Coś co wydaje się trywialne jest bardzo przydatne jeżeli pracujemy z więcej niż jedną aplikacją w danym czasie i musimy je mieć widoczne na jednym ekranie.

Do dyspozycji mamy również inne opcje:

[![Rectangle – Preferences](/images/2021/11/Rectangle_Preferences-min.png)](/images/2021/11/Rectangle_Preferences-min.png)

Rectangle nie zastępuje całkowicie Right Zoom, jednakże dodaje opcję przeciągnięcia okna do górnej części ekranu w celu jego maksymalizacji. Pozwoliło mi to zmienić nieco mój nawyk korzystania z zielonego przycisku na rzecz tego gestu i Right Zoom powędrował do kosza (a dokładniej do [AppCleaner](/appcleaner-dodaj-usun-programy-macos/)).

> Oczywiście, jako użytkownik Windows w pracy, nawyk klikania w zieloną kuleczkę pozostanie, i może i dobrze, bo zacząłem (po latach) dostrzegać zalety pracy na pełnym ekranie.

Aplikacja wspiera komputery z procesorem Intel oraz Apple Silicon. Pobrać ją możemy ze strony [rectangleapp.com](https://rectangleapp.com).

## ColorSlurp

[![ColorSlurp – About](/images/2021/11/ColorSlurp_About-min.png)](/images/2021/11/ColorSlurp_About-min.png)

Od czasu do czasu potrzebuję pobrać próbkę koloru, czy to ze zdjęcia, czy z części ekranu lub aplikacji. Próbkę tą chciałbym wykorzystać w innej aplikacji, z związku z tym ważne jest dla mnie aby otrzymać kolor w formie, którą można później wykorzystać, tak jak HEX (w przypadku tworzenia stron WWW).

Do pewnego czasu używałem aplikacji [Sip](/moje-aplikacje-na-mac-top-10/#sip), jednakże zmuszony byłem z niej zrezygnować wraz z wprowadzeniem nieprzyjaznego modelu płatności za aplikację.

> £7.65 za urządzenie i tylko rok darmowych aktualizacji co w rezultacie zmusza cię do płacenia co roku, jeżeli chcesz mieć zawsze działającą i aktualną wersję.

[![ColorSlurp Main Window](/images/2021/11/ColorSlurp_Main_Window-min.png)](/images/2021/11/ColorSlurp_Main_Window-min.png)

Poszukując alternatywy natknąłem się na **ColorSlurp**. Aplikacja nie jest do końca darmowe, ale w wersji bez płacenia pozwala mi na pobieranie kolorów za pomocą pipety oraz kopiowania ich w formacie HEX CSS do użytku przy tworzeniu stron internetowych. Dla mnie funkcjonalność całkowicie wystarczająca.

[ColorSlurp dostępny jest z poziomu AppStore](https://apps.apple.com/gb/app/colorslurp/id1287239339?ls=1&mt=12) na macOS a odblokowanie wersji Pro (dla tych, którzy będą tego potrzebowali) kosztuje £6.99.

ColorSlurp jest również uniwersalną aplikacją działającą natywnie na procesorach intel jak i Apple Silicon.

## Bartender 4

[![Bartender 4](/images/2021/11/Bartender_4-min.png)](/images/2021/11/Bartender_4-min.png)

O aplikacji [Bartender pisałem jeszcze gdy była w wersji 2](/moje-aplikacje-na-mac-top-10/#bartender-2) jednak warto napisać jeszcze raz. 

Aplikacja jest swojego rodzaju perełką za którą warto zapłacić, szczególnie dla użytkowników nowych maców z notchem.

Aplikacja nie tylko pozwala ukryć ikony w przyjaznym menu, dzięki czemu zapanuje porządek w prawej-górnej części naszego ekranu, ale również pozwala na zmniejszenie odstępów pomiędzy nimi, dzięki czemu zmieści się tam o wiele więcej rzeczy.

Dodatkową opcją jest możliwość automatycznego wywołania aplikacji z ukrycia, w momencie gdy jej ikona zmieni swój stan (na przykład, gdy Dropbox zacznie synchronizować pliki).

Aplikację możemy [pobrać z oficjalnej strony twórcy](https://www.macbartender.com/Bartender4/) a licencja kosztuje około £13.87 (po przeliczeniu z dolarów). Aktualizacja do nowych wersji dostępna jest ze znaczącym rabatem. 

Aplikacja działa natywnie na komputerach z procesorem intel oraz Apple Silicon i jest regularnie aktualizowana. Polecam!

## Blackmagic Disk Speed Test

[![Blackmagic Disk Speed Test – About](/images/2021/11/Blackmagic_Disk_Speed_Test_About-min.png)](/images/2021/11/Blackmagic_Disk_Speed_Test_About-min.png)

Blackmagic Disk Speed Test to aplikacja pozwalająca w łatwy sposób sprawdzić prędkość naszego dysku twardego oraz wszelkich nośników danych podłączonych do naszego komputera.

[![Blackmagic Disk Speed Test – Main Window](/images/2021/11/Blackmagic_Disk_Speed_Test_Main_Window-min.png)](/images/2021/11/Blackmagic_Disk_Speed_Test_Main_Window-min.png)

Osobiście używam go do sprawdzenia dysków SSD (poprzez przejściówkę SATA3 > USB 3.0) aby rozróżnić dobre od tych, których odrazu inicjuję zwrot. 

Przydaje się ona również do sprawdzenia pamięci przenośnych oraz kart pamięci, aby upewnić się, że otrzymujemy to, co producent deklaruje. Jest to szczególnie przydatne, gdyż z reguły producenci chwalą wysokimi prędkościami odczytu, przy czym zapis jest jednym wielkim rozczarowaniem.

W przypadku macOS ta aplikacja jest niezbędna. Jeżeli używasz również systemu Windows, wówczas poniekąd odpowiednikiem jest aplikacja [HD Tune](https://www.hdtune.com) (chociaż potrafi ona o wiele więcej niż tylko sprawdzenie prędkości nośnika danych).

[Blackmagic Disk Speed Test](https://apps.apple.com/gb/app/blackmagic-disk-speed-test/id425264550?mt=12) dostępny jest z poziomu AppStore oraz pracuje natywnie na komputerach z Apple Silicon.

{{% ads-in-article %}}

## Hand Mirror

[![Hand Mirror – About](/images/2021/11/Hand_Mirror_About-min.png)](/images/2021/11/Hand_Mirror_About-min.png)

Hand Mirror jest ciekawą aplikacją, której zadaniem jest, z wykorzystaniem naszej kamerki, symulację lusterka.

Niby nic, ale czasem warto jest sprawdzić, czy wyglądamy dobrze, a niżeli rozpoczniemy wideokonferencje. Wówczas może być nieco niezręcznie, a tak, z pozycji ikonki na górnym pasku szybko możemy wywołać podgląd na żywo.

[![Hand Mirror – Preferences](/images/2021/11/Hand_Mirror_Preferences-min.png)](/images/2021/11/Hand_Mirror_Preferences-min.png)

W ustawieniach aplikacji możemy wybrać stosowną dla nas ikonę oraz wielkość podglądu. Dodatkowo, możemy włączyć opcję lustra (Mirror video) dzięki czemu obraz nie będzie nienaturalnie odbity.

Mała rzecz a cieszy.

Aplikacja zoptymalizowana jest pod Apple Silicon a [pobierzemy ją oficjalnie z AppStore](https://apps.apple.com/us/app/hand-mirror/id1502839586?mt=12).

Odsyłam również do [oficjalnej strony aplikacji handmirror.app](https://handmirror.app).

## WiFi Signal

[![WiFi Signal – About](/images/2021/11/WiFi_Signal_About-min.png)](/images/2021/11/WiFi_Signal_About-min.png)

WiFi Signal jest prostym narzędziem do analizy naszego syganłu sieci bezprzewodowej. 

W przejrzysty sposób możemy zobaczyć, na jakim kanale sieci WiFi jesteśmy podłączeni, jaką mamy aktualnie prędkość, siłę sygnału oraz poziom zakłóceń.

[![WiFi Signal - Window](/images/2021/11/WiFi_Signal_Window-min.png)](/images/2021/11/WiFi_Signal_Window-min.png)

Dodatkowo graficzny wykres pokazuje nam jak zmienia się sygnał w czasie. Jest to o tyle przydatne, gdyż możemy położyć nasz komputer w innym miejscu w domu lub mieszkaniu w celu znalezienia miejsc, gdzie nasz sygnał wymagał by poprawy. 

WiFi Signal jest uniwersalną aplikacją, którą możemy [pobrać bezpośrednio z AppStore](https://apps.apple.com/us/app/wifi-signal-status-monitor/id525912054).

Jeżeli potrzebujemy nieco więcej informacji o naszej (i sąsiadów) sieci WiFi polecam aktualizację do [WiFi Explorer](https://apps.apple.com/us/app/wifi-explorer/id494803304?mt=12).

## Visual Studio Code

[![Visual Studio Code – Start](/images/2021/11/Visual_Studio_Code_Start-min.png)](/images/2021/11/Visual_Studio_Code_Start-min.png)

Od dłuższego czasu byłem użytkownikiem aplikacji **[Atom](https://atom.io)** służącej mi do edycji przeróżnych plików, ale przede wszystkim wspierania mnie przy projektowaniu stron internetowych oraz wszelkich rzeczy związanych z programowaniem (mimo, że na codzień nie jestem programistą).

Ostatnio jednak, przy wzmożonej pracy na baterii na MacBook Air z M1 odczułem wyraźnie zwiększone zużycie energii. Wszystko, albo tylko dlatego, że Atom nie został jeszcze zoptymalizowany do natywnej pracy z nowymi procesorami Apple. Przez to wszystko musi być on uruchomiony przez Rosetta so dodatkowo zużywa zasoby.

Czekałem coś sporo, ale nie zauważyłem żadnych kroków zmierzających do optymalizacji aplikacji, w związku z tym postanowiłem spróbować alternatywy.

Jak alternatywę wybrałem, polecaną przez rzeszę użytkowników, Virtual Studio Code of Microsoftu.

[![Visual Studio Code – Atom One Dark](/images/2021/11/Visual_Studio_Code_Atom_One_Dark-min.png)](/images/2021/11/Visual_Studio_Code_Atom_One_Dark-min.png)

Jednakże sama zmiana aplikacji aby było wygodna wymagała by ode mnie dostosowania się do nowego wyglądu itp. Tutaj na szczęście z pomocą przyszły motywy (themes), które można zastosować. Szybko znalazłem i zainstalowałem (obok oficjalnych styli z i od  GitHub) **Atom One Dark**. Dzięki temu otrzymałem prawie takie samo kolorowanie składni w plikach.

Pozostało tylko przyzwyczajenie się do skrótów klawiszowych oraz ogólnych opcji w programie, ale to jest już tak naprawdę coś, co można w łatwy sposób przetracić.

Uniwersalną aplikację, dostosowaną do Apple Silicon możemy pobrać z [code.visualstudio.com](https://code.visualstudio.com).

---

Na koniec warto przypomnieć o nieodzownym **[Amphetamine](/aplikacje-macos-top-10-2020/#amphetamine)**, który zapobiega przejściu komputera w stan uśpienia (i nie tylko), oraz **[Keka](/moje-aplikacje-na-mac-top-10/#keka)**, który jest niezbędnym narzędziem do kompresji oraz rozpakowywania plików na macOS. Obie aplikacje dostosowane są od jakiegoś już czasu do pracy z najnowszymi komputerami Apple.

Pozdrawiam.



---
## Windows 11 na niewspieranym sprzęcie — dzień po dniu, część 2
- **URL:** https://dariusz.wieckiewicz.org/windows-11-dzien-po-dniu-czesc-2/
- **Date:** 2021-10-22
- **Tags:** Windows 11, niewspierany sprzęt, file explorer, slow file explorer, OneDrive

### Content

Kontynuując mój poprzedni wpis [Windows 11 na niewspieranym sprzęcie — dzień po dniu](/windows-11-dzien-po-dniu/) przyszła pora na dalsze rozważania.

Ogólnie Windows 11 nie jest zły. Wszystko idzie w dobrym kierunku, jednakże to jeszcze nie pora na masową przesiadkę, a oto dlaczego.

<!--more-->

## Kolejny dzień z Windows 11 w pracy (piątek, 22-10-2021)

Po zmianach, które wprowadziłem zgodnie z poprzednim wpisem odnośnie do menu kontekstowego oraz wyglądu przeglądarki plików (File explorer) nadal denerwowało mnie powolne działanie systemu przy pracy z plikami w chmurze OneDrive.

Usunięcie OneDrive i jego przeinstalowanie na nowo sprawiło, że przeglądarka plików ponownie zaczęła pracować tak, jak powinna. Niestety na krótko, gdyż gdy tylko duża część plików zaczęła się synchronizować, to wszystko zaczęło spowalniać. Tak się nie da pracować.

> Na chwilę obecną używam OneDrive w wersji 21.196.0921.0007. Próbowałem też wersję Inside, ale nie widzę żadnej różnicy, gdyż główny błąd jest w samym systemie, a nie bezpośrednio w OneDrive.

Nie pozostaje nic innego jak czekać na aktualizację.

À propo aktualizacji. Mimo niewspieranego sprzętu pojawiają się one tak, jak powinny. Podejrzewam, że straszenie Microsoftu brakiem aktualizacji będzie tyczyło się, tak jak myślałem, tych dużych, wypuszczanych raz lub dwa razy w roku.

---

![Windows 11 - Friday Cumulative Update](win11_Friday_Windows_Updates.png)

I tak danego dnia urzekła mnie aktualizacja [KB5006746](https://support.microsoft.com/en-us/topic/october-21-2021-kb5006746-os-build-22000-282-preview-03190705-0960-4ba4-9ee8-af40bef057d3), która naprawiała sporo byków. Mimo że nie jest jasne czy mój problem został naprawiony, ochoczo przystąpiłem do aktualizacji.

> Aktualizacja ta wspomina o niektórych problemach z przeglądarką plików (File explorer), ale nie są one dokładnie odniesione do problemów raportowanych przez użytkowników w Internecie.
>
> Ta aktualizacja wprowadziła również jedną ważną poprawkę dla użytkowników procesorów z serii AMD Ryzen, którzy po aktualizacji z Windows 10 do 11 odczuli wyraźny spadek wydajności całego systemu.

Po zainstalowaniu aktualizacji i ponownym uruchomieniu komputera odczułem lekką poprawę, ale, tak jak to było wcześniej, tylko przez chwilę. Mankament pracy z plikami w chmurze wrócił.

> Dla zainteresowanych, wersja mojego systemu zmieniła się z 21H2 (22000.258) na 21H2 (22000.282). OneDrive 2021 (21.205.1003.0003).

---

Kolejne dni mijały i ogólnie nie mam zastrzeżeń do samego systemu.

Problem z przeglądaniem plików w chmurze wkurza jak cholera, ale na szczęście nie tylko mnie. Na oficjalnym forum Microsoftu [trwa rozgorzała dyskusja](https://techcommunity.microsoft.com/t5/windows-11/onedrive-issues-on-windows-11/m-p/2674325/). Niektórzy proponują mniej lub bardziej drastyczne rozwiązania. Wszystkie jednak są krótko terminowe.

Nie pozostaje nic innego jak czekanie na kolejny czwartek/piątek z nadzieją, że Microsoft wypuści kolejną aktualizację (Cumulative Update), który naprawi tę bolączkę i pozwoli skupić się na innych rzeczach.

## Kolejny piątek — aktualizacji brak (29-10-2021)

Wydawałoby się, że ten niemały problem będzie na szczycie listy w dziale technicznym Microsoftu. Niestety tak nie jest.

Aktualizacja w piętek 29/10 nie nadeszła. Co gorsze, Microsoft ogłosił dzień wcześniej to, że będzie udostępniał aktualizację do Windows 11 dla kolejnych kompatybilnych sprzętów (serio?!).

Jest to o tyle problematyczne, że póki buble nie zostaną załatane, aktualizacja powinna być opcjonalna. Jak widać, ludzie w Microsofcie będą mieli pełne ręce roboty, a firmy świadczące usługi informatyczne będą trzepać kasę.

Jedynym połowicznym rozwiązaniem dla przeglądarki plików jest przełączenie jej w tryb pełnoekranowy (F11) lub też wstrzymanie synchronizacji OneDrive. Jest to, tak naprawdę połowiczne rozwiązanie, więc zobaczymy, co kolejny tydzień pokaże.

{{% ads-in-article %}}

## Microsoft nie potrafi, to użytkownicy znajdą (tymczasowe) rozwiązanie (02-11-2021)

Jeden z użytkowników [Microsoft Tech Community](https://techcommunity.microsoft.com/t5/windows-11/onedrive-issues-on-windows-11/m-p/2910932/highlight/true#M1078) trafnie zaobserwował, aby pozbyć się problemu z wolną przeglądarką plików, wystarczy, zaraz po uruchomieniu komputera zamknąć program OneDrive (klikając na ikonę w pasku, następnie z ustawień wybrać opcję Zamknij OneDrive), odczekać krótszą chwilę i ponownie go uruchomić.

Wydające się błahe rozwiązanie pozwala jednak na pozbycie się głównej przypadłości przeglądarki plików (File Explorer) z jednoczesnym zachowaniem funkcjonalności OneDrive.

Spędziłem cały dzień na pracy z plikami i mogę powiedzieć, że nareszcie da się normalnie pracować! Oczywiście, do czasu **ponownego uruchomienia komputera**, gdzie powyższy zabieg trzeba powtórzyć.

Jako że nie chce mi się pamiętać, aby powyższy krok wykonać przy każdym uruchomieniu komputera (szczególnie gdy dzień powita nas nawałem roboty), postanowiłem dodać prostą automatyzację.

Otóż stworzyłem plik **.bat** (w notatniku), zawierający następującą komendę:

```
@echo off
"%USERPROFILE%\AppData\Local\Microsoft\OneDrive\OneDrive.exe" /shutdown
start "" "%USERPROFILE%\AppData\Local\Microsoft\OneDrive\OneDrive.exe"
```

Plik zapisałem jako **onedrive-temp-fix.bat** i wrzuciłem go do folderu Autostartu:
```
"%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
```

Dzięki temu, przy pierwszym logowaniu się do systemu, nasz OneDrive zostanie zamknięty oraz po chwili ponownie uruchomiony.

I tak problem znika, a nasza koncentracja wraca do pracy z problemami dnia codziennego, a niżeli użeranie się z naszym komputerem (systemem).

Jest światełko w tunelu.

Czekamy na krok Microsoftu w tym kierunku.



---
## Windows 11 na niewspieranym sprzęcie — dzień po dniu
- **URL:** https://dariusz.wieckiewicz.org/windows-11-dzien-po-dniu/
- **Date:** 2021-10-19
- **Tags:** Windows 11, niewspierany sprzęt, file explorer, slow file explorer, regedit, Menadżer zadań, Task Manager, Menu Start, menu kontekstowe, fman, Teams

### Content

Od udostępnienia oficjalnej wersji Windows 11 minęło już trochę, przyszła pora na głębsze jego poznanie.

Mimo że Windows 11 użytkuję już od jakiegoś czasu na maszynie wirtualnej na macOS, to jednak nie to samo, gdyż nie pracuję z nim na co dzień.

Aby sprawdzić, jak wszystko działa, postanowiłem zaktualizować mój "niewspierany" wg Microsoftu komputer w pracy, aby sprawdzić, czy można bezpiecznie przenieść innych na nowy system.

<!--more-->

> Pamiętaj, nim jednak zdecydujesz się na aktualizację do Windows 11 - **nie spiesz się!** Oficjalne wsparcie Microsoftu dla systemu Windows 10 zakończy się 14 października 2025 roku, a więc masz sporo czasu. Windows 10 obecnie jest jedną z lepszych wersji systemu, po niespieranym już Windows 7.

---

Cała instalacja wg mojego opisu [Aktualizujemy Windows 10 do Windows 11 bez TPM 2.0 na niewspieranym sprzęcie](/aktualizacja-do-windows-11-bez-tpm-na-niewspieranym-sprzecie/) przeszła bez najmniejszego problemu i wszystkie aplikacje działały od pierwszego włączenia.

System, mimo ostrzeżeń Microsoftu, jest w miarę stabilny (tylko dwa razy w ciągu pierwszego dnia powitał mnie jakiś nieczytelny błąd aplikacji systemowej).

Co jednak zauważyłem, to fakt, dlaczego Microsoft stawia na nowszy sprzęt.

Jeżeli planujesz zainstalować system na komputerze z talerzowym dyskiem, a nie szybkim SSD, to szczerze odradzam. Wszystko będzie działało naprawdę wolno i oczywiście winą będziesz obarczać właśnie Windows 11.

---

Na komputerze w pracy z Intel i5-3 generacji (i5-3230M, laptop) posiadałem dwa dyski SSD. Jeden, na którym był zainstalowany system, oraz drugi, który włożyłem w kieszeń zamiast napędu DVD.

Ten pierwszy dysk był ze mną od jakiegoś czasu. Według [HD Tune](https://www.hdtune.com) jego prędkość średnia oscylowała w granicach 120MB/sec, podczas gdy drugi, dodany w późniejszym czasie szczycił się średnią prędkością 250MB/sec (żadna rewelacja, ale lepiej niż dyski talerzowe). Oba dyski w technologi SATA2.

I tutaj pojawił się problem.

Posiadając wolniejszy dysk, mimo że SSD, dało się odczuć. Stąd też te wymagania Microsoftu.

Zakładając, że dyski w komputerach z co najmniej Intel 8 generacji są już w technologi NAND NVMe PCIe, ich prędkość oscyluje w granicach 500MB/sec do 2500MB/sec.

Tutaj ważna uwaga.

Nie zakładajmy, że nasz dysk SSD jest "szybki". Nim przystąpimy do instalacji, odpalmy HD Tune i sprawdźmy jego prędkość przez okres dłuższy niż 5 minut.

> Na rynku dostępne są różne dyski, które obiecują wysokie prędkości, ale tylko podczas kilkunastu sekund zapisu, po czym ich prędkość spada drastycznie. Dyski te niewyposażone są w dedykowaną pamięć wspierającą prędkość transferów. Najgorsze w tym jest to, że podczas zakupów nie jesteśmy w stanie sprawdzić który dysk jest który. Oczywiście, te, które obiecują góry, są z reguły tańsze od tych, których prawdziwa wydajność jest długoterminowa, to jednak ciężko jest wybrać dobrze. Stąd też zachęcam do przejrzenia benchmarków w internecie, nim zdecydujemy się na zakup dysku SSD. Nawet dyski oparte na technologi NAND NVMe PCIe mogą rozczarować (patrz te od firmy Silicon Power).

Jako, że miałem do dyspozycji alternatywę, ściągnąłem [CloneZilla](https://clonezilla.org), sklonowałem mój dysk i zamieniłem go miejscami. System nie powiem, żeby dostał kopa, ale od razu zaczął działać nieco płynniej.

W ciągu pierwszych dni pracowałem tak jak dotychczas na Windows 10.

Niektóre elementy w systemie zostały przeniesione lub sprytnie ukryte pod dodatkowym menu.

Tutaj jednak przyszło pewne rozczarowanie.

## Interfejs

Skoro Windows 11 bazuje na Windows 10 oraz był tworzony od dłuższego czasu, to dlaczego można w nim znaleźć tak dużo byków w interfejsie.

Ktoś, kto kładzie wysoką poprzeczkę na wygląd systemu, może powiedzieć, "co to do cholery jest".

Wystarczy kliknąć prawym przyciskiem myszy na pulpicie, aby przywołać menu kontekstowe, które wygląda "ładnie". Po czym przechodzimy do dodatkowych opcji (Show more options) i wita nas niedopracowane menu, którego podświetlenie nijak ma się do ładu w całym systemie.

{{% gallery %}}
![Windows 11 - Right click on Desktop](win11_Right_click_Desktop.png)
![Windows 11 - Right click on Desktop - Show more options](win11_Right_click_Desktop_Show_more_options.png)
{{% /gallery %}}

Co ciekawe, jak klikniesz przycisk Nowy (New), aby, dla przykładu, utworzyć folder, to menu dodatkowe jest spójne z całością, to dlaczego inne wyglądają jak z całkiem innego systemu?

![Windows 11 - Right click on Desktop - New](win11_Right_click_Desktop_New.png)

Daleko nam nie trzeba klikać. Wystarczy kliknąć prawym przyciskiem myszy na koszu, aby zobaczyć kolejną niespójność z całym wyglądem systemu.

![Windows 11 - Right click on Recycle Bin](win11_Right_click_Recycle_Bin.png)

Co ciekawe, menu wygląda całkowicie inaczej, jak klikamy prawym przyciskiem myszy na pliku lub folderze.

No cóż, może poprawią to... kiedyś.

## Niestandardowy rozmiar czcionki

Jako, że na moim komputerze z zewnętrznym ekranem posiadam system w powiększeniu 100% a tylko czcionkę 125% (Ekran w rozdzielczości Full HD 23.5") zauważyłem pewne mankamenty, gdzie tekst jest ucinany lub niewidoczny (szczególnie na blokadzie ekranu). Coś, czego w Windows 10 nie doświadczyłem (Buu...).

## Powolna przeglądarka plików (File Explorer)

Sama przeglądarka plików (File Explorer) jest widocznie ociężała.

Rozumiem wysokie wymagania dla samego systemu, ale żeby były one potrzebne tylko dlatego, żeby wyświetlić ładne ikonki w oknie? Serio?

Klikając na jakikolwiek element, plik lub folder, wita nas kręcące się kółko, tak jak by coś dodatkowego było wykonywane w tle, podczas gdy nic więcej nie jest wyświetlane.

Często też okno zamarza i należy je ubić poprzez wymuszenie zamknięcie. Przesada.

Jest to szczególnie irytujące, jeżeli chcesz wejść do folderu poprzez podwójne kliknięcie. Pierwsze kliknięcie i pojawienie się kręcącego kółka powoduje, że drugie szybkie kliknięcie jest ignorowane, w związku z tym musimy podwójne kliknięcie powtórzyć. W przypadku gdy podwójne kliknięcie zadziała od razu, mamy widoczne opóźnienie podczas przejścia pomiędzy zawartością okna. Przez ten mały bubel, poruszanie się pomiędzy folderami jest bardzo irytujące.

Nic dziwnego, że w Google nie brakuje odniesień do frazy: [windows 11 file explorer slow](https://www.google.com/search?q=windows+11+file+explorer+slow).

Podobno, tego typu błąd zaobserwowany był jeszcze przed wypuszczeniem oficjalnej wersji systemu, tym samym dziwi ignorancja Microsoftu. Wychodzi na to, że będzie tak jak z Windows 10, gdzie dopiero po drugiej lub trzeciej dużej aktualizacji wszystko było dopracowane. Ktoś najwyraźniej w dziale marketingu się spieszył i miał w nosie błędy z tym idące zrzucając winę (oczywiście) na niewspierany sprzęt (gdyż im bardziej wydajny sprzęt, tym mniej tych bubli widocznych).

> ps. podobno niniejszy błąd związany jest z faktem aktywnego OneDrive (czy to osobistego, czy firmowego) i jego zamknięcie przywraca płynną funkcjonalność. Dla tych użytkowników, którzy na co dzień używają OneDrive, nie jest to akceptowalne rozwiązanie.

Niektórzy użytkownicy znaleźli sposób na przywrócenie zachowania eksploratora plików do tego, znanego z Windows 10 dokonując zmiany w rejestrze systemowym w następujący sposób:

```
1. Przyciskamy START+R
2. Wpisujemy "regedit" i potwierdzamy Enter (Klikamy TAK aby uruchomić)
3. Przechodzimy do:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked

(byćmoże musimy utworzyć nowy klucz/folder (Key) o nazwie Blocked jeżeli nie istnieje)

4. W folderze (kluczu) Blocked tworzymy nowy ciąg (String Value)
5. Nazywamy go "{e2bf9676-5f8f-435c-97eb-11607a5bedf7}"
6. Uruchamiamy ponownie komputer
```

Lub pobierając [file_explorer_old_behaviour.reg](/pobierz/file_explorer_old_behaviour.reg.7z) i uruchamiajac go (po rozpakowaniu) w celu dodania powyższego wpisu do rejestru.

Otóż `e2bf9676-5f8f-435c-97eb-11607a5bedf7` odpowiada za nowe menu w eksploratorze.

Oto jak wygląda ono przed i po wprowadzeniu powyższej zmiany

{{% gallery %}}
[![Windows 11 - New File explorer layout](win11_File_explorer_new_layout.png)](win11_File_explorer_new_layout.png)
[![Windows 11 - Old File explorer layout](win11_File_explorer_old_layout.png)](win11_File_explorer_old_layout.png)
{{% /gallery %}}

Po ponownym uruchomieniu komputera niniejsza zmiana nieco usprawniła prace z plikami.

---

Ogólnie podobają mi się ikony w systemie. Całość wygląda bardziej przyjaźnie dla oka, można by rzec bardziej przejrzyście. Zaokrąglone okna dodają uroku.

## Przypięte elementy do menu Start

Tutaj się nieco wkurzyłem.

Wiadomo, że Windows 11 wprowadził nowe menu (które domyślnie przesunąłem w ustawieniach na jego prawidłowe miejsce — z lewej!) to jednak zachował taką funkcjonalność jak przypięte aplikacje. Niestety, te przypięte aplikacje w Windows 10 nie zostają przeniesione do Windows 11, przez co musimy sobie to ustawić od zera.

{{% ads-in-article %}}

## Menadżer zadań (Task Manager)

Jak wiadomo, menadżer zadań możemy przywołać w dwojaki sposób. Skrótem klawiszowym **Ctrl+Alt+Delete** lub też (w Windows 10) klikają  prawym przyciskiem na środku paska zadań i wybierając go z bogatego menu.

Otóż to bogate menu zostało usunięte. Zupełnie nie rozumiem dlaczego.

Na szczęście menu dostępne po kliknięciu prawym przyciskiem myszy na menu Start pozostało.

> Menadżer zadań (Task Manager) znajdziemy teraz właśnie w tym menu podobnie jak opcję Uruchom (Run) oraz kilka innych przydatnych. Kwestia przywyknięcia do ich nowego miejsca.

Microsoft lubi chować przydatne rzeczy. Tak jak to było w Windows 10, w którym to z kolejną aktualizacją ukrył skrót do panelu sterowania, pozostawiając nam jedynie możliwość jego uruchomienia korzystając z opcji Uruchom... (Start+R > control).

## Rekomendacje w menu Start

Bzdurą jest brak możliwości usunięcia sekcji rekomendacji z nowego menu start. O ile wyłączyć możemy ostatnio otwierane pliki i aplikacje oraz właśnie rekomendacje, to jednak zbędna przestrzeń pozostaje.

![Windows 11 - Start Menu - Recommended](win11_Start_menu_Recommended_showing.png)

## Menu kontekstowe (pod prawym przyciskiem myszy)

Jak wspomniałem na początku, Windows 11 jest niespójny, jeżeli chodzi o interfejs. Niektóre manu wyglądają inaczej niż inne.

Nawiązując do problemu z wolną przeglądarką plików, podczas pracy na plikach w chmurze, osoby, które korzystają z menu dostępnego pod prawym przyciskiem myszy, zauważą, że nowe menu nie dostarcza im zaawansowanych opcji, które potrzebują. Z reguły muszą sięgać do ostatniej opcji na liście w menu, aby wyświetlić dodatkowe opcje, pełne, znane z zachowania w Windows 10.

Jak zauważyłem, podczas pracy z plikami w chmurze OneDrive, przywołanie tego pierwszego menu jest bardzo powolne — wręcz irytujące.

Skoro mogłem przywrócić wygląd przeglądarki plików znany z Windows 10, to dlaczego nie pozbyć się nowego menu pod prawym przyciskiem myszy, pozostawiając tylko te znane do tej pory z poprzedniej wersji systemu?

Otóż można.

W tym celu ponownie posłużymy się zmianą w rejestrze systemowym.

```
1. Przyciskamy START+R
2. Wpisujemy "regedit" i potwierdzamy Enter (Klikamy TAK aby uruchomić)
3. Przechodzimy do:

Computer\HKEY_CURRENT_USER\Software\Classes\CLSID

4. W folderze (kluczu) CLSID tworzymy nowy ciąg folder (klucz - Key)
5. Nazywamy go "{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}"
6. Wewnątrz klucza tworzymy folder (klucz - Key) o nazwie "InprocServer32"
7. W prawej części klikamy dwa razy na ciąg "(Default)". W nowo otwartym oknie klikamy OK. Zmieni to domyślną wartość z "nieustawionej" na pustą.
8. Uruchamiamy ponownie komputer (opcjonalne)
```

Możemy też posłużyć się niniejszym [file_explorer_right_click.reg](/pobierz/file_explorer_right_click.reg.7z) (po rozpakowaniu) w celu dodania powyższej wartości do rejestru.

Po zamknięciu rejestru systemowego możemy, ale nie musimy uruchamiać ponownie komputer, a zachowanie po kliknięciu prawym przyciskiem myszy na dowolnym pliku powinno wrócić do tego, którego doświadczaliśmy w Windows 10.

> W celu zastosowania zmian w całym systemie (menu kontekstowe na pulpicie może nadal być "nowe") zalecam uruchomienie ponowne komputera.

Dzięki temu nie tylko odzyskaliśmy pełne menu, ale również praca z plikami stała się o niebo szybsza, chociaż nadal uciążliwa, szczególnie przy pracy z plikami w chmurze OneDrive/SharePoint.

> Obecnie, przy pracy na plikach w chmurze doświadczam kilkukrotnego kręcącego się kółka, niżeli mogę cokolwiek zrobić z plikiem. Bardzo wkurzające zachowanie. Na tyle wkurzające, że do czasu znalezienia rozwiązania zmuszony jestem do używania alternatywnej przeglądarki plików takiej jak na przykład [fman](https://fman.io/).
>
> Podobno, w wersji Insider (22478) problem ten jest naprawiony. Na chwilę obecną moja wersja to 21H2 (22000.258) i nie zamierzam przechodzić na kanał Insider na komputerze produkcyjnym, więc muszę uzbroić się w cierpliwość i czekać na aktualizację.

## Microsoft Teams

Microsoft, wraz z Windows 11, rozpoczął integrację Teams z systemem Windows. Nie jest to złe, o ile zrobione jest prawidłowo.

Niestety, teams domyślnie wgrane w system nie można używać w środowisku firmowym (Microsoft 365), gdyż do tego trzeba pobrać osobną aplikację.

Jest to nieco głupie, gdyż domyślna, dostępna, aplikacja jest nieużyteczna. Jaki jest wiec sens jej instalowania?

---

Czytaj dalej: [Windows 11 na niewspieranym sprzęcie - dzień po dniu, część 2](/windows-11-dzien-po-dniu-czesc-2/)



---
## Aktualizujemy Windows 10 do Windows 11 bez TPM 2.0 na niewspieranym sprzęcie
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-do-windows-11-bez-tpm-na-niewspieranym-sprzecie/
- **Date:** 2021-10-07
- **Tags:** windows, iso, Windows 11, bez TPM, TPM 2.0, niewspierany sprzęt, stary procesor, skip TPM check, Skip_TPM_Check_on_Dynamic_Update_v2.cmd, Skip_TPM_Check_on_Dynamic_Update.cmd

### Content

Microsoft 4 października 2021 udostępnił Windows 11 dla wszystkich użytkowników na świecie. Nie wszystkim było dane jego spróbowanie, w szczególności posiadaczom starszych maszyn, które nie spełniają takich wymagań jak, chociażby posiadanie chipa TPM 2.0.

Otóż można zainstalować Windows 11 od zera [z wykorzystaniem obrazu ISO](/obraz-iso-windows-11/), jednakże co w przypadku aktualizacji, gdzie nie chcemy stracić naszych ustawień, programów oraz gier?

<!--more-->

Odpalenie instalatora Windows 11 (z rozpakowanego obrazu ISO) na nic się zda, gdyż ujrzymy następujący komunikat:

[![This PC doesn't currently meet Windows 11 system requirements](this_PC_doesnt_currently_meet_Windows_11_system_requirements.png)](this_PC_doesnt_currently_meet_Windows_11_system_requirements.png)

Oczywiście, w moim przypadku, oprócz braku wsparcia dla TPM 2.0 otrzymałem komunikat, że mój procesor jest również za stary. Oprócz przycisku wstecz inną dostępną opcją jest tylko **Anuluj**.

Nim jednak zniechęcimy się do Windows 11, istnieje możliwość wyłączenia wymagania TPM przez instalator systemu Windows 11.

Inaczej, jeżeli chodzi o "za stary" procesor, ale zobaczmy czy spełnienie najbardziej irytującego wymagania (TPM) pozwoli nam przejść dalej.

> Nim jednak zdecydujemy się na kontynuacje, upewnijmy się, że nasz komputer ma zainstalowany system na szybkim dysku SSD. Nawet najnowsze komputery z Windows 10 oraz 1TB dyskiem talerzowym potrafią działać dużo wolniej, niże te sprzed prawie 8 lat ze zmienionym dyskiem na SSD (z pamięcią minimum DDR3). Oczywiście, UEFI też jest wymagane, o czym wspomniałem tutaj: [Przygotowanie do Windows 11 - UEFI](/przygotowanie-do-windows-11-uefi/).

Do niniejszej próby użyję Lenovo E530c z procesorem Intel i5 drugiej generacji.

> Nim jednak zaczniesz zabawę przeczytaj: [Microsoft miał racje. Nie aktualizuj „starego” komputer do Windows 11](/microsoft-mial-racje-nie-aktualizuj-do-windows-11/)

A więc zacznijmy...

Potrzebujemy oczywiście [obraz ISO systemu Windows 11](/obraz-iso-windows-11/).

Po jego pobraniu uruchamiamy [Rufus](https://rufus.ie/) w celu nagrania obrazu na pamięć przenośną, lub używamy programu takiego jak [7-Zip](https://www.7-zip.org) w celu rozpakowania pliku ISO.

Następnie musimy pobrać skrypt, który przekona instalator Windows 11 w celu zignorowania TPM 2.0.

Skrypt przygotowany przez użytkownika [AveYo](https://gist.github.com/AveYo) umieszczony na GitHub Gist [tutaj](https://github.com/AveYo/MediaCreationTool.bat).

Na niniejszej stronie znajdziemy więcej niż tylko to, co potrzebujemy. Na tym przykładzie skupimy się jednak tylko na pliku [Skip_TPM_Check_on_Dynamic_Update.cmd](https://github.com/AveYo/MediaCreationTool.bat/blob/main/bypass11/Skip_TPM_Check_on_Dynamic_Update.cmd).

Klikając na przycisk **Raw** w prawym górnym rogu otworzymy zawartość pliku w nowym oknie. Kopiujemy całą zawartość i sklejamy do notatnika. Całość zapisujemy na pulpit pod nazwą `Skip_TPM_Check_on_Dynamic_Update.cmd`.

I tak jesteśmy gotowi do instalacji.

W pierwszej kolejności uruchamiamy nasz plik (**raz**) `Skip_TPM_Check_on_Dynamic_Update.cmd` a następnie (gdy nowe okno zniknie) startujemy proces instalacji, klikając na plik `setup.exe` z rozpakowanego obrazu ISO systemu Windows 11.

> Napisałem, że odpalamy plik tylko raz, gdyż przy pierwszym uruchomieniu wyłączamy sprawdzanie TPM, a po ponownym przywracamy ustawienia tak jak były. Dzięki temu nic nie psujemy w naszym systemie.

[![Windows 11 Change how setup download updates](SetupHost_Windows11_Change_how_setup_download_updates.png)](SetupHost_Windows11_Change_how_setup_download_updates.png)

W pierwszej kolejności otrzymamy okno startowe, na którym **NIE** klikamy jeszcze Dalej (Next), lecz przechodzimy do opcji  zmiany, w jaki sposób system instaluje aktualizacje podczas instalacji.

[![Windows 11 Get Updated - Not at the moment](SetupHost_Windows11_get_updates_not_at_the_moment.png)](SetupHost_Windows11_get_updates_not_at_the_moment.png)

Zaznaczamy tutaj drugą opcję, aby instalator nie instalował aktualizacji podczas instalacji.

> Alternatywnie rozłączamy nasz komputer z internetem.

Klikając **Dalej** (Next), instalator sprawdzi, czy nasz system spełnia minimalne wymagania, zwracając (nadal) błąd odnośnie brakującego TPM 2.0.

[![Windows 11 The PC must support TPM 2.0](SetupHost_Windows11_The_PC_must_support_TPM_20.png)](SetupHost_Windows11_The_PC_must_support_TPM_20.png)

Jednakże, jeżeli uruchomiliśmy raz `Skip_TPM_Check_on_Dynamic_Update.cmd` przed rozpoczęciem instalacji, klikamy **Wstecz** (Back) oraz ponownie **Dalej** (Next).

{{% ads-in-article %}}

Tym razem instalator nie będzie zgłaszał problemu z TPM 2.0 i pozwoli na rozpoczęcie instalacji.

[![Windows 11 Licence Terms](SetupHost_Windows11_licence_terms.png)](SetupHost_Windows11_licence_terms.png)

Instalacja rozpocznie się od zaakceptowania licencji, po czym otrzymamy informację (tak zwaną lojalkę), że nasz komputer nadal nie spełnia minimalnych wymagań dla systemu Windows 11.

[![Windows 11 What needs your attention](SetupHost_Windows11_what_needs_your_attention.png)](SetupHost_Windows11_what_needs_your_attention.png)

Aby rozpocząć instalację, należy zaakceptować (Accept) lojalkę, która mówi między innymi, że nasz system nie będzie otrzymywał przyszłych aktualizacji. **Nie chodzi to o aktualizacje, które domyślnie udostępniane są w Windows Update co jakiś czas**, ale o duże aktualizacje systemu, tak jak to było w przypadku Windows 10, który otrzymywał duże aktualizacje dwa razy w roku.

Nic jednak straconego, gdyż przy pomocy pliku ISO, w momencie wypuszczenia "dużej" aktualizacji systemu, cały proces będziemy mogli zrobić analogicznie do tego, co robimy teraz.

[![Windows 11 Ready to install](SetupHost_Windows11_ready_to_install.png)](SetupHost_Windows11_ready_to_install.png)

Po akceptacji jesteśmy gotowi na instalację.

Cały proces instalacji przebiegnie bez najmniejszego problemu. Wystarczy, w zależności od prędkości komputera, poczekać chilę na jego zakończenie. W moim przypadku trwało to około 45 minut.

I tak zaktualizujemy nasz system Windows 10 do Windows 11 na "oficjalnie" niewspieranym sprzęcie.

[![winver Windows 11](winver_Windows_11.png)](winver_Windows_11.png)

Pozdrawiam.



---
## Jak pobrać obraz Windows 11 (ISO)
- **URL:** https://dariusz.wieckiewicz.org/obraz-iso-windows-11/
- **Date:** 2021-10-05
- **Tags:** Windows, ISO, Microsoft, obraz ISO, Windows 11, Windows 11 ISO, Windows 11 64-bit

### Content

Zgodnie z zapowiedzią, 5 października 2021 (a dokładniej pod koniec 4) Microsoft zaprezentował oficjalnie finalną wersję systemu Windows 11.

<!--more-->

Mimo tego, że aktualizacja do Windows 11 nie będzie taka łatwa, szczególnie dla posiadaczy starszego sprzętu, to nie znaczy, że się nie da.

Microsoft oficjalnie zaznaczył, że Windows 11 będzie dostępny dla wszystkich użytkowników za darmo, o ile posiadają kompatybilny sprzęt. 

Ten owo kompatybilny sprzęt, jak sprawdzono, jest nie starszy niż 2-3 lata (średnio), więc nie jest to tak jak z aktualizacją Windows 10, gdzie wystarczyło odpalić aktualizację i gotowe.

Podstawowe minimalne wymagania to:
* Procesor 1GHz dwu-rdzeniowy CPU
	* Ogólnie procesory Inter 8-mej generacji i nowsze powinny spełnić wymagania Microsoftu.
* 4GB Pamięci RAM
* 64GB wolnej przestrzeni na dysku
* Karta graficzna zgodna z DirectX 12

UEFI motherboard, TPM 2.0, DX12 graphics, 720p display
Dodatkowo, nasza płyta główna musi wspierać:
* UEFI z opcją bezpiecznego bootowania Secure Boot.
* Chip TPM 2.0

> Aby sprawdzić, czy nasz sprzęt jest gotowy na aktualizację, możemy użyć oficjalnego narzędzia [PC Health Check](https://aka.ms/GetPCHealthCheckMSIX) lub posłużyć się aplikacją [WhyNotWin11](https://github.com/rcmaehl/WhyNotWin11). Jeżeli spełniamy wszystkie wymagania w **Ustawieniach** systemu, sekcji **Aktualizacja i bezpieczeństwo** powinien nas powitać komunikat o możliwości aktualizacji za darmo.

Po licznych negatywnych komentarzach w kierunku Microsoftu firma nieco się ugięła i oznajmiła, że będzie nadal możliwość instalacji Windows 11 na starszym sprzęcie.

Aby tego dokonać, należy jednak użyć obrazu ISO oraz w większości przypadków zainstalować system od zera.

**Ale to nie wszystko.** Aby móc cieszyć się Windows 11 na starszym sprzęcie, należy "podpisać lojalkę" zwalniającą Microsoft z odpowiedzialności, że przez Windows 11 nasz komputer nie będzie działać w pełni tak, jak powinien.

> Aby sprawdzić, czy nasz sprzęt jest zgodny z wymaganiami, nim jeszcze przystąpimy do instalacji odsyłam do moich wpisów: [Przygotowanie do Windows 11 - UEFI](/przygotowanie-do-windows-11-uefi/) oraz [Jak się nie da, jak się da — Windows 11](/jak-sie-nie-da-jak-sie-da-windows-11/).

Dodatkowo Microsoft zaznaczył, że przyszłe aktualizacje systemu mogą nie być dostępne dla starszych sprzętów z Windows 11.

> Przeczytaj więcej tutaj: [Aktualizujemy Windows 10 do Windows 11 bez TPM 2.0 na niewspieranym sprzęcie](/aktualizacja-do-windows-11-bez-tpm-na-niewspieranym-sprzecie/)

---

A więc, aby zainstalować nasz Windows 11, potrzebujemy obraz systemu ISO, który następnie musimy wgrać na naszą pamięć przenośną.

W przypadku obrazu do systemu Windows 10 należało posłużyć się pewnym obejściem, aby móc obraz ISO bezpośrednio z serwerów Microsoftu, szczególnie jeżeli posiadaliśmy komputer z systemem Windows (zobacz [Jak pobrać obraz Windows 10 (ISO)](/obraz-iso-windows-10/)).

Na szczęście, w przypadku Windows 11 sytuacja jest co nieco prostsza. Wystarczy przejść na stronę dedykowaną stronę, na której będziemy mieli trzy opcje podbierania systemu:

> [www.microsoft.com/pl-pl/software-download/windows11](https://www.microsoft.com/pl-pl/software-download/windows11)

## Asystent instalacji systemu Windows 11

[![Asystent instalacji systemu Windows 11](Asystent_instalacji_systemu_Windows_11.png)](https://www.microsoft.com/pl-pl/software-download/windows11)

W pierwszej kolejności możemy użyć asystenta systemu Windows 11, który sprawdzi nasz system pod kątem kompatybilności oraz przeprowadzi cały proces za nas wraz z przeniesieniem wszystkich plików i aplikacji.

{{% ads-in-article %}}

## Tworzenie nośnika instalacyjnego systemu Windows 11

[![Tworzenie nośnika instalacyjnego systemu Windows 11](Tworzenie_nosnika_instalacyjnego_systemu_Windows_11.png)](https://www.microsoft.com/pl-pl/software-download/windows11)

Tym razem Microsoft przygotował (nie ukrył go przed nami, gdyż w dla Windows 10 również był dostępny) proste narzędzie, które pobierze dla nas system w tle oraz utworzy instalator na pamięci przenośnej.

Niestety, nie mamy tutaj za dużej kontroli nad tym, którą wersję chcemy zainstalować, w związku z tym trzecia opcja jest bardziej przydatna dla użytkowników, którzy zajmują się instalacją systemu na różnych komputerach.

## Pobieranie obrazu dysku (ISO) systemu Windows 11

W tym kroku otrzymamy plik obrazu instalatora systemu Windows 11 w postaci ISO, który później, za pomocą aplikacji takiej jak [Rufus](https://rufus.ie/) możemy bez problemu wgrać na naszą pamięć przenośną.

[![Pobieranie obrazu dysku (ISO) systemu Windows 11](Pobieranie_obrazu_dysku_ISO_systemu_Windows_11.png)](https://www.microsoft.com/pl-pl/software-download/windows11)

Nie jest zaskoczeniem, że wraz z Windows 11, Microsoft zakończył oficjalne wsparcie dla 32-bitowego systemu Windows.

[![Windows 11 Polski 64-bit ISO](Pobieranie_obrazu_dysku_ISO_systemu_Windows_11_Polski_64bit.png)](https://www.microsoft.com/pl-pl/software-download/windows11)

Rozczarowujące jest jednak to, że wersja dla komputerów z procesorem opartym na architekturze ARM nadal jest niedostępna, przez co użytkownicy wirtualnego systemu na komputerach od Apple  z procesorem M1 nadal muszą podłużyć się wersją Insider.

---

O ile w przypadku Windows 10 aktualizacja była zalecana dla wszystkich wcześniejszych wersji Windows, to tym razem nie należy się aż tak spieszyć.

Windows 10 nadal będzie wspierany i będziemy otrzymywać do niego aktualizacje. Nie będą one jednak tak intensywne oraz nie będą zawierały już tak dużo nowości, to jednak do **14 października 2025** możemy użytkować go bez obaw. 

Do tego czasu powinniśmy pomyśleć nad wymianą naszego starzejącego się sprzętu lub jego aktualizacją (rozbudową) o ile jest do tego możliwość.

Pozdrawiam.


---
## Co zrobić, gdy nasz iPhone wpadnie do wody? Nie panikować!
- **URL:** https://dariusz.wieckiewicz.org/co-zrobic-gdy-nasz-iphone-wpadnie-do-wody--nie-panikowac/
- **Date:** 2021-10-02
- **Tags:** iPhone, wodoodporność, wodoszczelność, IP68, Apple

### Content

Technologia zastosowana w iPhone rozwija się prężnie, a za tym idzie jego odporność na wodę. Szereg portalów internetowych przytacza sporo zasłyszanych **bzdur** które nijak się mają do aktualnej technologi zastosowanej w iPhone. 

W związku z tym, zamiast posiłkować się nieprawdziwymi informacjami, najlepiej odnieść się do źródła. Po pierwsze, przestać panikować. Kontakt naszego iPhone z wodą na krótki okres nie spowoduje jego momentalnego uszkodzenia!

<!--more-->

Dla tych, co nie lubią czytać (TLDR):
1. Nie panikować.
2. Nie czytać bzdur na przeróżnych portalach internetowych.
3. Nie musisz wyłączać telefonu.
4. Wyczyść i osusz telefon.
5. Jeszcze raz, nie czytaj bzdur na przeróżnych portalach internetowych.
6. Przeczytaj oficjalną stronę Apple. [^1]

---

Ostatnio przetoczył mi się kolejny artykuł z cyklu [iPhone wpadł do wody, czyli co zrobić po zalaniu telefonu?](https://www.nadgryzione.pl/iphone/smartfony/iphone-wpadl-do-wody-czyli-co-zrobic-po-zalaniu-telefonu/), który to, tak jak i inne portale, powtarza szereg **bzdur**, które są totalnie nieaktualne w obecnych czasach. Jeżeli chodzi o iPhone, to tego typu bzdury naprawdę mogą zirytować i świadczą o tym, że dany portal (ten cytowany, jak i szereg innych) nie ma zielonego pojęcia o aktualnej technologii zastosowanej w iPhone (tych najnowszych, ale również starszej generacji).

Od iPhone X (przeszedłem się z 6s) przestałem się tak naprawdę przejmować jakimkolwiek kontaktem mojego telefonu z wodą. Powołując się na oficjalne źródła Apple **a nie wymyślone historyjki typu wrzucenie telefonu do ryżu** (choć po części ma to sens, ale zamiast ryżu są lesze rozwiązania — naturalne substancje pochłaniające wodę) postaram się wyjaśnić co i jak.

> Oczywiście, jeżeli twój telefon ma uszkodzenie typu pęknięty ekran, nieszczelność obudowy, lub też był naprawiany przez nieautoryzowany serwis, który nie ma pojęcia o ponownym założeniu odpowiednich uszczelek, aby przywrócić częściową wodoodporność, to efekt kontaktu z wodą może być oczywisty.


Nim zaczniemy się zagłębiać w szczegóły, co tak naprawdę musimy zrobić, należy zrozumieć, że iPhone od modelu 7 może poszczycić się odpornością na wodę do głębokości jednego metra przez okres 30 minut. W przypadku iPhone XS głębokość (a dokładniej ciśnienie wody, które naciska na nasz telefon próbując wedrzeć się we wszystkie jego zakamarki) wzrosła do 2 metrów (iPhone 11  — 4 metry). iPhone 12 oraz nowsze mogą poszczycić się 6 metrami głębokości, oraz zgodnością z normą IEC 60529, oraz klasą wodoodporności IP68.

> [Odnośnie oznaczeń IP możecie poczytać na Wikipedii](https://en.wikipedia.org/wiki/IP_Code). 

W związku z tym, gdy na nasz telefon wylejemy szklankę wody lub przez przypadek wpadnie nam do wanny, to nie musimy panikować i natychmiast wyłączać telefonu, po czym szukać ryżu w domu. Nie po to Apple poszedł do przodu z technologią, aby stosować starodawne techniki ratowania zalanej elektroniki.

Krótki kontakt z wodą nie uszkodzi naszego telefonu, koniec kropka.

Nie bez powodu Apple pisze na [swojej stronie](https://support.apple.com/pl-pl/HT207043), że jeżeli nasz telefon zostanie zachlapany inną cieczą niż woda, to powinniśmy go **opłukać pod strumieniem bieżącej wody**.

---

Oczywiście, nasz telefon posiada miejsca, gdzie woda będzie przenikać znacznie łatwiej. Są to oczywiście głośniki (lub głośnik), mikrofon oraz port ładowania.

Oficjalne stanowisko jest, aby wytrzeć dobrze nasz telefon ściereczką do okularów a następni postarać się w sposób naturalny pozbyć wody z portu lightning poprzez delikatne uderzanie telefonu o dłoń skierowanym portem ładowania w dół.

Dodatkowo osuszenie za pomocą **chłodnego** strumieniu powietrza przyspieszy odparowanie wody.

Jeżeli do naszego mikrofonu lub głośnika dostała się woda, nie oznacza to jednoczesne ich uszkodzenie. Wystarczy położyć go mikrofonem lub głośnikiem skierowanym w dół, aby woda wypłynęła  w sposób grawitacyjny. Dźwięk basowy puszczany przez głośnik, za pomocą drgań może pomóc w wypchnięciu wody.

Jeżeli nasz telefon jest już suchy dookoła, warto otworzyć kartę sim (która również wyposażona jest w uszczelkę) w celu upewnienia się, że woda nie wniknęła do środka.

---

Nie ma potrzeby zostawiania telefonu wyłączonego, przez okres 24 godzin, najlepiej w ryżu. Są to **bzdury** powtarzane nałogowo.

Jeżeli nasz telefon jest suchy, jedyną radą jest nieużywanie akcesoriów podłączanych do portu ładowania przez okres 5 godzin (o ile woda się do niego dostała).

> Apple oficjalnie poleca używanie jedynie zatwierdzonych niepylących ściereczek, jednakże, w związku z odpornością naszego telefonu nie tylko na wodę, ale również kurz i pył, inne rzeczy (typu ręcznik papierowy) nie spowoduje większego problemu (jak to co niektórzy piszą).

iPhone od wersji 7 posiadają sprytny mechanizm wykrywania wody w złączu ładowania. Jeżeli będziemy próbować coś podłączyć, podczas gdy znajduje się w nim jeszcze odrobina wody, otrzymamy stosowny komunikat na naszym ekranie, a więc bez obaw.

{{% ads-in-article %}}

---

Oczywiście, jeżeli nasz telefon miał kontakt z wodą przez dłuższy okres, nawet najlepsze uszczelki oraz zabiegi nie pomogą w dostaniu się wody do środka, chociaż osobiście spotkanie się z iPhone po zalaniu, gdzie woda dostała się do środka to prawdziwa rzadkość, no chyba, że był on wcześniej "naprawiany"

Nie musisz wierzyć w to, co napisałem, ale tym bardziej nie wierz innym portalom. Przeczytaj oficjalne stanowisko w tej sprawie bezpośrednio na stronie Apple i przestań czytać te portale, które, za pomocą swoich śmieciowych artykułów szukają tylko szybkiego wzrostu odwiedzalności.

Pozdrawiam.

[^1]: [support.apple.com/pl-pl/HT207043](https://support.apple.com/pl-pl/HT207043)


---
## Monzo Flex
- **URL:** https://dariusz.wieckiewicz.org/monzo-flex/
- **Date:** 2021-09-17
- **Tags:** monzo, monzo flex, buy now pay later

### Content

Monzo jest bankiem, z którego korzystam na co dzień od października 2018 roku. Przez ten okres przyczynił się do wyrobienia u mnie lepszego nawyku oszczędności, zarządzania pieniędzmi i lepszej widoczności funduszy (co i gdzie wydajemy, tyle że szybciej niż inne banki).

Mimo pandemii Monzo nie zwolnił i nadal rozwija się, prężnie wprowadzając co rusz nowe funkcje. Oczywiście, nie wszystkie z nich są dostępne dla podstawowego konta, ale im więcej ich jest, tym większa szansa, że zachęcą one do przejścia na konto premium.

Tym razem Monzo wszedł na rynek pożyczek krótkoterminowych z tak zwanym Monzo Flex.

<!--more-->

I mimo to, że w Monzo można było pożyczyć pieniądze już wcześniej, to jednak to, co teraz oni wymyślili, jest nie lada wyzwaniem dla innych banków.

---

**Monzo Flex**, bo tak nazywać się będzie nowa usługa, pozwoli Monzo pożyczyć od £30 do £3000 na krótki okres **za darmo!**

> Jeżeli potrzebujemy pożyczyć na dłużej, to będzie nas to kosztować 19% w skali roku (APR).

Monzo Flex to tak zwany **buy now, pay later**, czyli kup teraz, zapłać później. 

O ile nie jestem zwolennikiem tego typu rozwiązań, szczególnie tych, którzy oferują kupienie teraz a zapłacenie po 12 miesiącach, to w przypadku tego, co oferuje Monzo Flex, warto mieć tego typu rozwiązanie pod ręką.

> Nikt nie wie, jak nasze życie może wywrócić się do góry nogami, nim przyjdzie nam płacić za nasze wydatki sprzed roku, a więc uważajmy, nim zdecydujemy się na wszelkiego rodzaju pożyczki.

**Dlaczego Monzo Flex będzie lepszym rozwiązaniem od innych dostępnych na rynku?**

Otóż niniejszą opcję możemy użyć **wszędzie tam, gdzie możliwe jest zapłacenie kartą Mastercard** (co w praktyce jest prawie wszędzie). Dotyczy to również opcji płacenia w internecie, jak i w fizycznym sklepie.

Według zapewnień Monzo, podczas dokonania płatności, z poziomu aplikacji będziemy mogli podzielić ją na trzy bezpłatne raty, podczas których pierwsza będzie ściągnięta od razu, natomiast dwie pozostałem w miesięcznych odstępach czasu.

> Na tym etapie będziemy mogli wybrać również rozłożenie płatności na więcej rat przy 19% oprocentowaniu.

O ile możliwość rozłożenia płatności w fizycznym sklepie to jest już coś, to nie jeszcze to, dlaczego zdecydowałem się napisać ten tekst.

Monzo Flex będzie oferował możliwość rozłożenia płatności na raty nawet **w 14 dni od jej wykonania**.

Zakładając, że dokonaliśmy zakupu dwa tygodnie temu o wartości £300, wybierając opcję Monzo Flex, nasz bank podzieli ją na trzy, z czego pierwsza zostanie od razu potrącona (już została, skoro dokonaliśmy zakupu i pieniądze zeszły z naszego konta) a pozostałe dwie (w tym przypadku będzie to 2x £100) **zostanie nam zwrócone na nasze konto bankowe** i rozpocznie się naliczanie okresu, kiedy przyjdzie nap spłacić pierwszą część (£100) i kiedy kolejną.

Przypomina to poniekąd opcję [Podróże w czasie z Curve](/podroze-w-czasie-z-curve/), o którym już pisałem.

> PayPal również oferuje tego typu rozwiązanie (kup teraz, zapłać w 3 ratach 0%), ale tylko podczas robienia zakupów oraz nie u wszystkich sprzedawców. Również, nie zawsze jest to 0%, szczególnie gdy chcesz spłacić wcześniej!

---

Monzo Flex nie jest jeszcze dostępne dla wszystkich i nie jest wiadome, czy będzie nam trzeba wykupić płatny plan konta bankowego, aby z niego skorzystać (przekonamy się, jak opcja ta będzie dostępna dla szerszego grona).

Na razie mała grupa użytkowników intensywnie testuje tę funkcjonalność przed wprowadzeniem jej do szerszego grona.

[![Monzo Flex Get early access](/images/2021/09/Monzo_Flex_Get_early_access-min.png)](/images/2021/09/Monzo_Flex_Get_early_access-min.png)

Jeżeli jesteś zainteresowany, możesz poprosić o dostęp i dołączyć do testujących tę usługę użytkowników przechodząc na stronę [monzo.com/flex](https://monzo.com/flex/) i klikając w przycisk **Get early access** (z poziomu telefonu komórkowego, na którym mamy zainstalowaną aplikację Monzo).

{{% gallery %}}
[![Monzo Be first in line for Flex](/images/2021/09/Monzo_Be_first_in_line_for_Flex-min.png)](/images/2021/09/Monzo_Be_first_in_line_for_Flex-min.png)
[![Monzo You're on the list for Flex](/images/2021/09/Monzo_You_re_on_the_list_for_Flex-min.png)](/images/2021/09/Monzo_You_re_on_the_list_for_Flex-min.png)
{{% /gallery %}}

{{% ads-in-article %}}

Zachęcam również do obejrzenia krótkich filmików przygotowanych, w celu wyjaśnienia jak działa cała usługa:

## Jak podzielić transakcję przy pomocy Monzo Flex
{{< youtube id="JqxhCYKNJSI" title="Jak podzielić transakcję przy pomocy Monzo Flex" >}}

## Jak zmodyfikować twój plan płatności w Monzo Flex
{{< youtube id="cJrO9zW7KrA" title="Jak zmodyfikować twój plan płatności w Monzo Flex" >}}

## Jak spłacić wcześniej z Monzo Flex
{{< youtube id="jToY_TQZDkk" title="Jak spłacić wcześniej z Monzo Flex" >}}


---
## Powrót do haseł w iCloud (żegnaj 1Password)
- **URL:** https://dariusz.wieckiewicz.org/powrot-do-hasel-w-icloud-zegnaj-1password/
- **Date:** 2021-09-16
- **Tags:** Passwords, iCloud, macOS Monterey, 1Password, OTPAuth, totp, 2FA, iOS 15

### Content

W ramach mojego comiesięcznego rozeznania w budżecie postanowiłem się przyjrzeć subskrypcjom, za które aktualnie płacę, a jest ich kilka.

Jedną z tych jest [1Password](https://1password.eu)... 

<!--more-->

**1Password** jest jednym z lepszych programów do zarządzania hasłami. Dla użytkownika ekosystemu od Apple jest wręcz niezastąpiony. Wraz z opcją rodzinną pozwala on w przyjazny sposób zarządzać hasłami wszystkich członków rodziny.

Oprócz samych haseł pozwala również na przechowywanie innych danych. Do tego celu mamy do dyspozycji 1GB przestrzeni dyskowej na każdego użytkownika w grupie rodzinnej.

O ile program jest wart polecenia, to niestety, trochę kosztuje. Przenosiny z jednego programu do innego mijają się z celem, bo tak jak widzimy na przykładzie ostatnich zmian w LastPass (czy, odchodząc od tematu — Google Photos), za wszystko, co było darmowe w końcu trzeba będzie nam zapłacić.

Ostatnio jednak Apple postanowił nieco potrząść rynkiem, wprowadzając synchronizacje haseł zapisanych na telefonach (z iOS) oraz komputerach z macOS, również na komputery pod kontrolą systemu Windows 10!

W tym celu wzbogacił aplikację iCloud (dostępną w [Sklepie Microsoft](https://www.microsoft.com/store/apps/9PKTQ5699M62)) o opcję synchronizacji haseł z przeglądarką taką jak Google Chrome oraz Microsoft Edge.

Mimo że większość moich urządzeń jest spod znaku nadgryzionego jabłka, to nadal mam w użytku komputer z Windows 10, na którym to potrzebuję (inny członek rodziny potrzebuje) mieć dostęp do haseł. W tym celu 1Password okazał się nieodzowny.

Jednakże, skoro Apple oferuje mi to, co mogłem osiągnąć przy pomocy 1Password, to dlaczego by z tego nie skorzystać.

> Ostatnio, chociażby przekonałem się, że to, co oferował mi płatny Adobe Lightroom Classic, mogłem z powodzeniem zastąpić przy pomocy Apple Photos na macOS (sic!).

## 1Password i 2FA

**1Password** oprócz samych haseł pozwala na przechowywanie kodów jednorazowych do uwierzytelnienie dwuetapowego (**2FA**) w ramach jednego programu. Dzięki temu logowanie z 1Password oraz 2FA przebiega o nieco szybciej a niżeli przepisywanie hasła z odrębnej aplikacji.

>  Oczywiście korzystam z tego na co dzień, to jednak wiem, że lepiej mieć [plan awaryjny](/plan-awaryjny/), w związku z tym wszystkie moje uwierzytelnienia posiadam ustawione również w aplikacji [Authenticator od Microsoftu](https://apps.apple.com/pl/app/microsoft-authenticator/id983156458). Na wypadek, gdybym chciał jednak zrezygnować z 1Password, to nie muszę wyłączać 2FA wszędzie tam, gdzie go używam i ustawiać na nowo w innej aplikacji (jak to robiłem w przeszłości).

Jak podkreśliłem na początku, logowanie przy pomocy 1Password oraz 2FA przebiega na tyle zwinnie, że nie chciałbym wracać do starej metody kopiowania lub przepisywania hasła z innej aplikacji (Microsoft Authenticator).

W obecnej wersji (na dzień, w którym rozpocząłem pisanie niniejszego wpisu - 20 Sierpnia 2021) iOS (14.7.1) oraz macOS (11.5.2) przechowywanie haseł w iCloud/KeyChain nie pozwala na nic innego jak dodanie strony, loginu i hasła.

Na szczęście w nadchodzących wersjach iOS 15 oraz macOS Monterey (już dostępne w trybie public beta) Apple zamierza wprowadzić to, co oferuje 1Password, czyli uwierzytelnienie dwuetapowe za pomocą kodu.

Dodatkowo odrębna sekcja Hasła (Passwords) na macOS ułatwi ich łatwe zarządzaniem, w porównaniu z tym, co do tej pory oferował KeyChain Access, który do najwygodniejszych nie należy (sic!).

To właśnie dzięki temu postanowiłem pomyśleć, czy to już czas na rezygnację z 1Password.

> Dodatkowo, w najnowszej wersji MacOS Monterey jest możliwość późniejszego eksportu haseł (jeżeli zajdzie taka potrzeba) wraz z kodami uwierzytelnienia 2FA.

---

## Kompromis

1Password to nie tylko hasła i uwierzytelnienie dwuetapowe. W ramach programu przechowuję dodatkowe notatki, kody odzyskiwania, karty płatnicze czy przypomnienia dotyczące pytań bezpieczeństwa i odpowiedzi na nie, na wypadek zapomnianego hasła do usługi. Apple ~~nie oferuje~~ tego typu rozwiązań w ramach haseł, w związku z tym muszę pójść na pewien rodzaju kompromis i zapisać swoje notatki w innym miejscu (chociażby w aplikacji Notatki od Apple, w których mogę poszczególne zabezpieczyć hasłem).

> Wraz z iOS 15.4, Apple wprowadził opcję przechowywania notatek wraz z hasłami.

Oprócz notatek nie przechowuje w 1Password żadnych plików, gdyż do tego celu używam Google Drive.

---

Inną przydatną funkcją jest możliwość dzielenia się hasłami oraz zapisywanie haseł w sejfie (Vault), do którego mają dostęp członkowie rodziny. Dzięki temu, z jednego miejsca ma się kontrolę nad hasłem, które synchronizowane jest w obrębie wszystkich użytkowników.

Niestety, hasła od Apple nie oferują możliwości dzielenia się z innymi, więc tutaj trzeba pomyśleć, czy ta poniekąd wygoda jest warta swojej ceny, czy idąc na kompromis (i oszczędność w wysokości 57 euro + VAT na rok) nadal będę w stanie dzielić się tym, co trzeba z osobami mi bliskimi.

{{% ads-in-article %}}

## Import haseł

Oprócz tego, że w najnowszej wersji macOS Monterey (na czas dalszego pisania tego tekstu miałem zainstalowaną wersję Public Beta 6), hasła zostaną wyodrębnione z Safari i trafią do dedykowanego miejsca w ustawieniach systemowych (to, co w iOS już jest). To uproszczenie pozwoli w łatwy sposób na Import, jak i Eksport (w końcu!) haseł z i do innych usług i aplikacji.

Każda aplikacja, tak jak i 1Password oferuje opcję eksportu do pliku, który później można w łatwy sposób wrzucić do chociażby haseł w iCloud.

W przypadku 1Password jednak nie wszystko jest eksportowane tak jak potrzeba lub też część rzeczy brakuje.

Apple używa następującego formatu do importu/eksportu.

```
Title, URL, Username, Password, OTPAuth
```

O ile podczas eksportu można wybrać pierwsze cztery kolumny, to w przypadku uwierzytelnienia dwuetapowego nie jest już tak łatwo, gdyż token nie eksportuje się w przypadku CSV lub TXT a tylko pliku **1pif** (który nie nadaje się do importu).

Na szczęście możemy posłużyć się aplikacją napisaną w języku GO przez [Ingmar Stein](https://github.com/IngmarStein) o nazwie [1pif-to-csv](https://github.com/IngmarStein/1pif-to-csv).

Pobierając aplikację i uruchamiając ją z odpowiednimi parametrami przekonwertujemy plik **1pif** do formatu CSV dostosowanego (prawie) do importu na macOS.

> Aby tego dokonać, musimy mieć zainstalowany GO w systemie. W przypadku macOS możemy go zainstalować z wykorzystaniem [homebrew](https://brew.sh) i komendy `brew install go`.

Po pobraniu skryptu [1pif-to-csv](https://github.com/IngmarStein/1pif-to-csv/archive/refs/heads/main.zip) i rozpakowaniu, wystarczy uruchomić konwersję następującą komendą:

```
go run main.go -input data.1pif -output password.csv
```

Gdzie plik `data.1pif` jest naszym plikiem uzyskanym podczas eksportu z aplikacji 1Password.

Dzięki temu nasze hasła będą "prawie" gotowe do importu. Uzyskamy podstawowe cztery kolumny, jak również OTPAuth służący do przeniesienia generowanych kodów z 2FA.

Napisałem prawie, gdyż wersja skryptu na dzień 16/09/2021 eksportuje OTPAuth w formie `otpauth://totp...`. W przypadku importu do haseł w macOS Monterey potrzebujemy to zmienić na `apple-otpauth://totp` i wszystko będzie działać. 

> ps. [zasugerowałem](https://github.com/IngmarStein/1pif-to-csv/issues/2) autorowi skryptu, aby wprowadzić tę opcję (zmianę `otpauth` na `apple-otpauth`).

Możemy do dokonać za pomocą opcji *Zmień (wszystko)*, jeżeli otworzymy nasz plik CSV w [Atom](https://atom.io) lub Microsoft Excel.

Po zmianie i zimportowaniu haseł będziemy mieli wszystko tak, jak mieliśmy w 1Password, wraz z wypełnieniem 2FA.

Aby cieszyć się automatycznym wypełnianiem 2FA naszym telefonie (iPhone) lub tablecie (iPad), musimy jednak poczekać do poniedziałku (20/09/2021), którego to dnia oficjalnie zostanie wypuszczony system iOS/iPadOS 15, który będzie wspierał 2FA z poziomu haseł (wyświetlał te, które w macOS Monterey już są widoczne). 

Wówczas będzie można usunąć 1Password oraz anulować subskrypcję.

Sorry 1Password, ale mam coś za darmo, to dlaczego mam płacić?

Pozdrawiam.


---
## Jak się nie da, jak się da — Windows 11
- **URL:** https://dariusz.wieckiewicz.org/jak-sie-nie-da-jak-sie-da-windows-11/
- **Date:** 2021-07-03
- **Tags:** Windows 10, Windows 11, Windows Insider, Windows 11 Insider Preview, Windows Insider Programme, Parallels Desktop, WhyNotWin11

### Content

Większość z nas na pewno słyszała o wymaganiach dla Windows 11, jeżeli chodzi o sprzęt. Spora część użytkowników rozczarowała się, sprawdzając, czy będą mogli zaktualizować swój sprzęt do najnowszego systemu od Microsoftu. Ale... jak się nie da, jak się da!

<!--more--> 

Jako prywatny użytkownik mac'a posiadam zainstalowany Parallels Desktop w celu wirtualizacji Windows 10.

Jest to bardzo wygodne rozwiązanie, szczególnie gdy potrzebuję popracować nad czymś, co działa tylko pod systemem Windows, lub też dokonać operacji na sprzęcie, którego obsługa, w trybie programistycznym, najlepiej wychodzi pod właśnie tym systemem.

O ile wymagania sprzętowe dla Windows 11 nie są do końca sprecyzowane (ulegają ciągłej korekcie) to już wiemy, że będzie możliwość instalacji systemu na sprzęcie, który Microsoft nie chciałby, aby był używany z najnowszym systemem.

Wstępnie napisałem już, co trzeba by było zrobić, aby przygotować swój komputer (mimo że może nie spełniać wszystkich wymagań) na potrzeby Windows 11 we wpisie [Przygotowanie do Windows 11 - UEFI](/przygotowanie-do-windows-11-uefi/).

Dopóki czekamy na oficjalną, końcową wersję Windows 11, aby sprawdzić, jak nowy system będzie się spisywał, musimy skorzystać z opcji Windows Insider.

Dysponując wirtualnym Windowsem w Parallels Desktop, sklonowałem moją maszynę z Windows 10 i postanowiłem spróbować zaktualizować go do wersji deweloperskiej (Dev), na której to dostępny jest Windows 11.

Kilka dni wcześniej wyczytałem informacje od twórców oprogramowania Parallels Desktop, że muszą oni "stworzyć" nową wersję (jak zawsze) swojego oprogramowania, aby móc zainstalować w przyszłości Windows 11.

Czytając teksty na ten temat, wnioskować można, że w obecnej wersji nie da się zainstalować Windows 11? Ale dlaczego?

Postanowiłem to sprawdzić.

Dołączyłem do programu Windows Insider i rozpocząłem aktualizację.

Już na wstępie otrzymałem komunikat, że mój system nie jest kompatybilny.

[![Windows Insider Programme](windows_insider_programme.png)](windows_insider_programme.png)

Przy próbie instalacji, głównym problemem była ilość pamięci RAM, którą to mam przypisaną do maszyny wirtualnej. Wstępnie miałem tylko 2GB, więc zwiększyłem to do 4GB i przystąpiłem do ponownie do aktualizacji.

[![Windows Update Windows 11 Insider Preview](windows_update_windows_11_insider_preview.png)](windows_update_windows_11_insider_preview.png)

Tym razem cały proces aktualizacji rozpoczął się bez problemu.

[![Windows 11 Startup](windows_11_startup.png)](windows_11_startup.png)

System uruchomił się ponownie i powitało mnie nowe logo Windows 11, a następnie rozpoczął się kolejny etap aktualizacji.

Po kilku ponownych uruchomieniach komputera proces aktualizacji doszedł do 100%.

[![Windows 11 Finishing Update 100%](windows_11_finishing_update_100p.png)](windows_11_finishing_update_100p.png)

Następnie ukazał mi się ekran startowy Windows 11.

[![Windows 11 First Screen](windows_11_first_screen.png)](windows_11_first_screen.png)

[![Windows 11 First Screen Login](windows_11_first_screen_login.png)](windows_11_first_screen_login.png)

A więc się da!

Skoro da się na oprogramowaniu Parallels Desktop w wersji 16.5, która oficjalnie nie wspiera Windows 11, nie zdziwię się, że znajdziemy metody na instalację systemu na komputerach oficjalnie niespełniających minimalnych wymagań.

> Oczywiście, to jak szybko (lub wolno) będzie pracował Windows 11, w porównaniu do Windows 10 zależeć będzie dużo od naszego sprzętu. Nie oczekujmy, że wszystko będzie działać płynnie na leciwym sprzęcie z mierną kartą graficzną.

W momencie, gdy Windows 11 zostanie oficjalnie wypuszczony, pośpieszę zobaczyć, jak tego dokonać, gdyż zarówno w domu, jak i w pracy, mam kilka komputerów, które wiekiem nie grzeszą, ale nadal działają bez zarzutów pod kontrolą Windows 10.

Co ciekawe, ostatnia aktualizacja do Windows 10 oznaczona była jako 21H1.

[![winver - Windows 11 - 21H2](winver_windows11_21H2.png)](winver_windows11_21H2.png)

Windows 11 natomiast oznaczona jest jako wersja 21H2, więc tak dużej różnicy teoretycznie nie ma, a wymagania pomiędzy systemami są znaczące.

Co jest najśmieszniejsze, aplikacja WhyNotWin11 pokazywała mi, że nie mam szans na Windows 11 (w tym nie posiadając UEFI) w moim wirtualnym środowisku.

[![WhyNotWin11 - Parallels Desktop](WhyNotWin11_parallels.png "WhyNotWin11 - Parallels Desktop")](WhyNotWin11_parallels.png)

Pozdrawiam.

{{% ads-in-article %}}


---
## Przygotowanie do Windows 11 - UEFI
- **URL:** https://dariusz.wieckiewicz.org/przygotowanie-do-windows-11-uefi/
- **Date:** 2021-07-01
- **Tags:** Windows 10, Windows 11, UEFI, WhyNotWin11, MBR, GPT, mbr2gpt

### Content

Mimo tego, że Windows 10 zadomowił się na naszych komputerach, Microsoft przygotował dla nas nie lada niespodziankę — Windows 11. Dodatkowo ogłosił, że aktualizacja będzie darmowa — no prawie.

<!--more-->

Nie wszystko wygląda tak zielono.

Microsoft owszem ogłosił, że aktualizacja do Windows 11 będzie za darmo, to jednak dodał do tego pewne wymagania sprzętowe, sprawiając, że sprzęty starsze niż 3 lata mogą mieć nie lada problem.

Wymagania te jednak ulegają (ciągłej) zmianie. Zaraz po ich opublikowaniu szereg producentów komputerów wylała kubeł zimniej wody na Microsoft i szybko część z nich została "nieco" zmodyfikowana.

Mimo tego nadal wszystko wskazuje, że spora część komputerów będzie niezgodna z minimalnymi wymaganiami.

Na razie nie ma się co przejmować, gdyż Windows 11 nie jest jeszcze oficjalnie dostępny. Na obecnym etapie już powstały [metody instalacji testowej wersji systemu Windows 11 na laptopie z leciwym Intel Core i5 trzeciej generacji](https://www.youtube.com/watch?v=MgBwiVFhSgs), więc jak system zostanie oficjalnie wypuszczony, zobaczymy, co musimy robić.

Jedno wymaganie niestety stanie się bolączką dla posiadaczy starszych maszyn, a mianowicie **UEFI**.

---

Spora część komputerów wypuszczonych po 2013 roku wspiera uruchomienie systemu tak zwaną metodą **UEFI** oraz starszą, tak zwaną **Legacy**.

Aby uruchomić (zainstalować) system w trybie **Legacy** nasz dysk twardy musi być sformatowany w trybie **MBR** (Master Boot Record). W tym przypadku system tworzy (oprócz partycji odzyskiwania **Recovery**) jedną partycję systemową (500MB to 1GB) oraz główną na system i tyle. 

W przypadku **UEFI** dysk musi zostać sformatowany w trybie **GPT** przez co sposób zarządzania partycjami przez system jest nieco inny.

> Tyle w wielkim skrócie. Jeżeli chcesz dowiedzieć się więcej, odsyłam tutaj: [UEFI - Unified Extensible Firmware Interface - Wikipedia PL](https://pl.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface).

Aby sprawdzić, czy nasz komputer jest zgodny z obecnymi wymaganiami do uruchomienia Windows 11, możemy posłużyć się programem [PC Health Check](https://www.microsoft.com/en-us/windows/windows-11) od Microsoftu (którego pobranie zostało tymczasowo wstrzymane), jednakże znacznie lepiej jest użyć aplikacji [WhyNotWin11](https://github.com/rcmaehl/WhyNotWin11) dostępnej do pobrania za darmo z GitHub.

[![WhyNotWin11 GitHub](WhyNotWin11_GitHub.png)](WhyNotWin11_GitHub.png)

Aplikacja w bardziej szczegółowy sposób powie nam czy nasz komputer będzie zgodny z Windows 11, a jeżeli nie, powie dodatkowo dlaczego.

> Jeżeli twój procesor obsługuje jedynie 32-bity, możesz zapomnieć o Windows 11.

O ile co niektóre elementy możemy wstępnie zignorować, to w przypadku **Boot Method**, czyli sposobu uruchamiania systemu operacyjnego. Jeżeli mamy napis **Legacy** musimy zobaczyć, czy jesteśmy w stanie to zmienić na **UEFI** nim będziemy mogli myśleć o Windows 11.

Jeżeli nasz komputer na to pozwoli, zmianę trybu uruchomienia z **Legacy** na **UEFI** możemy dokonać bez większego problemu. Dodatkowo zyskamy dodatkowe opcje w systemie Windows 10 i nowszych, chociażby szybkie uruchomienie **Fast Boot**.

Aby sprawdzić (**nie zmieniamy nic na tym etapie!**), czy nasz komputer wspiera UEFI, musimy go wyłączyć po czym włączając przejść do BIOSu.

> W zależności od producenta naszego komputera, aby wejść w BIOS, przy włączeniu komputera musimy użyć przycisku F1, F2, F10, F12 lub innego (innej kombinacji). W tym celu zachęcam do zapoznania się z informacją przekazaną od producenta sprzętu.

Jeżeli w BIOSie, z reguły w **Boot Options**, znajdziemy możliwość przełączenia z trybu **Legacy** na **UEFI** to dobrze, ale **nie przełączajmy tego jeszcze!**. Jeżeli przełączymy to bez przystosowania naszego dysku do startu w trybie UEFI (**GPT**), nasz system się nie uruchomi!

Jakiś czas temu należało by przeformatować dysk w trybie GPT, co wiązało by się z koniecznością przeinstalowania systemu Windows.

Na szczęście Microsoft wbudował narzędzie w system Windows 10 pozwalające na przekonwertowanie dysku z MBR do GPT bez konieczności przeinstalowywania czegokolwiek.

> Ta metoda wymaga jednak posiadania na dysku systemowym  maksymalnie 3 partycji. Jednakże zwróćmy uwagę, że Windows 10 tworzy partycję odzyskiwania przy pierwszej instalacji **oraz** partycję systemową (z reguły ok. 500MB) poprzedzającą naszą partycję z systemem operacyjnym (**Dysk C**), w związku z tym mamy już trzy partycje!

Uruchamiając wiersz poleceń (**cmd**) w trybie administratora i wykonując poniższą komendę, przekonwertujemy nasz dysk na potrzeby uruchomienia w trybie UEFI.

---

Jeżeli chcemy tylko sprawdzić, czy da się przekonwertować, wykonujemy komendę:

```
mbr2gpt /validate /allowFullOS
```

Jeżeli chcemy przekonwertować, wykonujemy komendę:

```
mbr2gpt /convert /allowFullOS
```

---

W moim przypadku okazało się, że jakimś cudem mój system utworzył dwie partycje odzyskiwania, przez co miałem w sumie ich 4. Skutkowało to błędem i konwersja nie nastąpiła.

Z wykorzystaniem komendy **diskpart** z poziomu wiersza poleceń wybrałem partycje 4 i ją usunąłem.

> Tak naprawdę, na tym etapie możemy usunąć wszystkie partycje oznaczone jako **Recovery** gdyż powyższa komenda (mbr2gpt), podczas konwersji i przy pierwszym uruchomieniu systemu utworzy nam ją ponownie.

{{% ads-in-article %}}

W moim przypadku moje komendy w **diskpart** wyglądały następująco:

```
diskpart
list disk
select disk 0
select partition 4
delete partition
exit
```

Twoje mogą być nieco inne. Podstawowa wiedza z tego zakresu jest wymagana.

W momencie, gdy nasza konwersja nastąpiła bez poważnych błędów (dokonałem tego na 6-ciu różnych komputerach), wyłączamy komputer. 

Przy pierwszym włączeniu przechodzimy do BIOSu i przestawiamy sposób uruchamiania systemu z **Legacy** na **UEFI**. 

I tak nasz system powinien zostać uruchomiony bez żadnego problemu a aplikacja [WhyNotWin11](https://github.com/rcmaehl/WhyNotWin11) powinna zgłosić **Boot Method** jako **UEFI**.

[![WhyNotWin11 - Lenovo E530c](WhyNotWin11_e530c.png)](WhyNotWin11_e530c.png)

---

Jak wspomniałem, wymagań na Windows 11 jest kilka. Jeżeli nasz system (Windows 10) jest 64-bitowy oraz sposób uruchamiania ustawiony jest na UEFI, jesteśmy jeden krok bliżej naszej kompatybilności.

Mimo że nie będziemy prawdopodobnie mieli możliwości spełniania wszystkich wymagań (np. DirectX 12, WDDM 2), to będziemy mieli wszystko inne gotowe. Gdy przyjdzie nam zainstalować Windows 11 z wykorzystaniem "sprytnego" obejścia, tak jak udało się już innym na etapie testowym, nie będzie nam stało nic na przeszkodzie.

Pozdrawiam.


---
## Dlaczego RSS nadal ma znaczenie w 2021 roku?
- **URL:** https://dariusz.wieckiewicz.org/dlaczego-rss-nadal-ma-znaczenie-w-2021/
- **Date:** 2021-06-26
- **Tags:** rss, atom, feedly, rss readers, czytnik rss, feed readers

### Content

Niezależnie od tego, czy dopiero zaczynasz swoją przygodę z technologią, czy jesteś doświadczonym użytkownikiem, który codziennie śledzi różne strony internetowe, aby być na bieżąco, wiesz, że nie powinieneś szukać informacji w mediach społecznościowych, lecz w kanałach RSS.

<!--more-->

Zacząłem od sformułowania „technicznego”, ale nie jest to do końca poprawne. RSS jest tak potężny, że może być szeroko wykorzystywany w wielu różnych obszarach przez osoby o różnym poziomie umiejętności. W rzeczywistości każdy, kto korzysta z Internetu, może z niego skorzystać.

Derek Kedziora wyjaśnił w swoim poście: [A Gentle Intro to RSS](https://derekkedziora.com/blog/rss-guide), czym jest RSS i jak go używać. Dodam do tego kilka słów.

---

Wyobraź sobie RSS (przez czytnik RSS) jako swoją skrzynkę odbiorczą. Zamiast otrzymywać e-maile, otrzymujesz powiadomienia ze stron internetowych, które obserwujesz, o nowych rzeczach. Te nowe rzeczy są publikowane w tak zwanych **kanałach**, gdzie najnowsze artykuły lądują na górze.

Gdy nowy artykuł jest opublikowany, kanał RSS jest aktualizowany i jeśli jesteś zapisany na otrzymywanie powiadomień z niego, pojawi się on jak nowy "e-mail" w Twojej skrzynce odbiorczej, jako nieprzeczytany artykuł z tej strony internetowej (kanału).

RSS to technologia, która jest implementowana na większości stron internetowych i nie wymaga żadnej zewnętrznej infrastruktury, aby działać. Nie ma infrastruktury do utrzymania, więc jest mniej prawdopodobne, że zostanie zniszczona przez firmę szukającą oszczędności. Zobacz Google, oni są najlepsi w niszczeniu swoich usług.

Dla mnie to naprawdę dziwne, jeśli ktoś pominie to na swojej stronie internetowej (chyba że strona nie dostarcza nowych artykułów codziennie).

Wiem, że jeśli znajdę stronę internetową, która publikuje jakieś ciekawe rzeczy i nie ma RSS (lub Atom), i nie mogę dodać jej do mojego czytnika RSS, bardziej prawdopodobne jest, że stracę do niej link i nigdy więcej jej nie odwiedzę.

Proste!

Szkoda autora strony, zwłaszcza jeśli publikuje wartościowe posty.

> Wspomniałem o „lub Atom”, ponieważ RSS i Atom to technologie, które służą podobnemu celowi i mogą być używane razem. Większość **czytników RSS** może również czytać Atom i są one nazywane **czytnikami kanałów**.

Dzięki RSS otrzymujesz powiadomienia tylko o tym, co nowego na wybranej stronie. Nie ma algorytmu, który by się tym przejmował, dyktując, co masz czytać, a czego nie (jak Facebook Feed). Wszystkie nowe treści lądują na górze.

Jeśli korzystasz z usługi takiej jak Feedly, będzie ona monitorować strony internetowe za Ciebie. Po ponownym zalogowaniu się do Feedly zobaczysz, które strony mają nowe artykuły.

> Jeśli zaczniesz od strony **Dzisiaj**, to ich algorytm zdecyduje, które wpisy wyświetlić jako pierwsze (tylko z Twojej listy wpisów - kanałów RSS).

[![Feedly](feedly.png)](feedly.png)

Możesz również utrzymywać swój kanał lokalnie. Jest wiele darmowych czytników RSS, które będą synchronizować (sprawdzać, czy w kanałach są nowe treści), gdy otworzysz aplikację.

Wolę, aby Feedly robił to za mnie, ponieważ czasami mogę nie mieć czasu przez tydzień, aby go otworzyć, a nie chcę niczego stracić (niektóre aplikacje nie synchronizują kanałów zbyt daleko wstecz).

Oczywiście po tygodniu będę mieć do przejrzenia ponad 1000 rzeczy, ale dzięki inteligentnym gestom i „oznaczaniu wszystkich jako przeczytanych” mogę opanować ten chaos.

Są dni, kiedy monitoruję pewne tematy i czytam tylko te kanały, które są w danym momencie istotne. Dlatego organizuję je w folderach.

Są dni, zwłaszcza po konferencji Apple, kiedy liczba artykułów nabiera ogromnego tempa i może osiągnąć 250 w ciągu jednego wieczoru z wybranej grupy stron internetowych. To właśnie wtedy zrozumiesz przycisk „oznacz wszystkie jako przeczytane”.

Moje kanały to głównie agregacja stron internetowych o tematyce technologicznej, ale mam też takie, które publikują nowe przepisy lub recenzje nowych filmów.

Jako osoba dwujęzyczna mam tę przewagę, że mogę czytać w dwóch językach nawet na ten sam temat. Na podstawie tego, co czytam ze źródła (angielskiego), widzę, jakie bzdury i teorie spiskowe rozpowszechniają różni autorzy piszący po polsku. Niestety, tak właśnie jest.

> Jeśli nie chcesz wyglądać głupio, zawsze czytaj lub weryfikuj czyjąś teorię u źródła.

Są tacy, którzy skupiają się na uderzaniu w temat z zerową treścią. Dzięki temu mogę szybko wyrazić swoją opinię i w razie potrzeby przestać ją śledzić.

To, co obserwuję lub przestaję obserwować, zależy wyłącznie ode mnie, dlatego nie ma żalu autorów, że nagle, po opublikowaniu jakiejś bzdury, stracili 100 tys. obserwujących.

Albo, jak niektórzy YouTuberzy, którzy zamiast skupić się na sprawdzaniu analiz treści i narzekaniu, że tylko 30% osób, które oglądają ich treści, zasubskrybowało ich kanał. Żałosne.

> Nienawidzę YouTube, ponieważ przez lata bardzo się zmienił. Nie z powodu treści i YouTuberów, ale z powodu Google, który nadużywa naszej prywatności i próbuje za wszelką cenę zarabiać na stronie. Czasami po prostu rezygnuję z oglądania czegoś, jeśli [co minutę mam reklamę](/youtube-vinegar/) (lub co 30 sekund, gdy pomijam) i wolę przeczytać temat.

Wracając do RSS.

{{% ads-in-article %}}

Rozpoczęcie korzystania z RSS jest proste. Zakładając, że utworzyłeś konto Feedly (lub wybrałeś do tego aplikację), wystarczy dodać swoją witrynę za pomocą przycisku plus (+) i wpisać adres witryny (na przykład [https://smittenkitchen.com](https://smittenkitchen.com)).

[![Feedly - Dodaj RSS](feedly_add_rss.png)](feedly_add_rss.png)

Jeśli strona internetowa ma wdrożony czytnik RSS, będziesz mógł ją śledzić.

[![Feedly - Smitten Kitchen](feedly_smittenkitchen.png)](feedly_smittenkitchen.png)

Feedly poinformuje Cię, analizując kanał RSS strony internetowej, jak często autorzy publikują nowe artykuły. Będę unikać tych, którzy publikują setki artykułów dziennie, ponieważ jest to coś, co będzie Ci trudno utrzymać, a cały cel monitorowania strony internetowej w celu uzyskania dostępu do informacji straci sens.

Zanim klikniesz przycisk **obserwuj**, możesz kliknąć stronę internetową i sprawdzić, jakie są ostatnio opublikowane artykuły, i jeszcze raz podjąć decyzję przed zobowiązaniem.

[![Feedly - Smitten Kitchen Content](feedly_smittenkitchen_content.png)](feedly_smittenkitchen_content.png)

Treści, które śledzisz, zależą wyłącznie od Ciebie.

Oczywiście Feedly będzie próbował analizować Twoje kanały i to, co czytasz. Od czasu do czasu wrzucą do Twojego kanału **sponsorowane** artykuły, ale to jedyna cena (chyba że zdecydujesz się na plan premium), którą musisz zapłacić.

Jeśli chcesz śledzić moją stronę internetową i otrzymywać powiadomienia o nowych publikacjach, wystarczy, że dodasz adres mojej strony internetowej.

> W przypadku wpisów w języku angielskim: **https://dariusz.wieckiewicz.org/en/**
>
> W przypadku wpisów w języku polskim: **https://dariusz.wieckiewicz.org**

Jeżeli jeszcze nie spróbowałeś RSS? Spróbuj.


---
## Kopia zapasowa Microsoft 365 (SharePoint i OneDrive) za darmo z użyciem Raspberry Pi i Rclone
- **URL:** https://dariusz.wieckiewicz.org/microsoft-365-sharepoint-onedrive-kopia-zapasowa-za-darmo-raspberry-pi-rclone/
- **Date:** 2021-06-05
- **Tags:** Microsoft 365, Microsoft 365 Backup, Office 365, Office 365 sharepoint backup, Office 365 onedrive backup, OneDrive, SharePoint, sharepoint backup, sharepoint rclone, Document Library, Shared Documents, backup, backup sharepoint, raspberry pi, raspberry pi onedrive, rclone, rclone sharepoint

### Content

Gdy zaczynałem pracę u mojego pracodawcy, używali oni lokalnego serwera i przechowywali pliki na miejscu, z nocnymi kopiami zapasowymi na zewnętrzne dyski mobilne. Wszystko było ograniczone prędkością łącza szerokopasmowego (internetu), co w Anglii jest dość szalone – parki biznesowe rzadko mają dostęp do niedrogich połączeń światłowodowych, podczas gdy w domu można uzyskać tani synchroniczny światłowód. Kiedy nadeszła zmiana (a raczej firma musiała w nią zainwestować), przenieśliśmy wszystko do chmury.

**Wybraliśmy Microsoft 365 jako naszego dostawcę.**

Po zakończeniu migracji i przyzwyczajeniu się ludzi do nowego sposobu dostępu do plików (który niewiele się zmienił dzięki integracji aplikacji OneDrive z systemem Windows, poza używaniem linków do plików), musiałem znaleźć metodę tworzenia kopii zapasowych wszystkich plików na wypadek awarii (lub przypadkowego usunięcia ważnych plików przez pracownika).

Chociaż Microsoft oferuje opcję przywracania plików przez krótki okres (zazwyczaj 30 dni), czasem może to być zbyt krótko – zanim zauważysz, że pliki zaginęły, może być już za późno. Lepiej mieć kopię zapasową (nawet starą wersję pliku) niż nie mieć żadnej kopii.

Nie wchodząc w kosztowne rozwiązania do tworzenia kopii zapasowych online ani nawet w inwestowanie w **Microsoft 365 Backup** (z modelem rozliczeń pay-as-you-go), postanowiłem zbudować niedrogi i stosunkowo tani system długoterminowych kopii zapasowych – **i to mi się udało**.

<!--more-->

W tym celu użyłem Raspberry Pi z systemem Raspberry Pi OS (dawniej Raspbian OS). Początkowo używałem Pi 3, ale później przeniosłem się na Pi Zero W (obecnie Pi Zero 2 W), ponieważ Pi 3 był zbyt wydajny do tego zadania. Do przechowywania danych użyłem zewnętrznie podłączonego dysku twardego (dysku twardego 2,5 cala o pojemności 1 TB w obudowie USB 3.0) podłączonego za pomocą konwertera micro USB na USB. Do zasilania użyłem ładowarki do iPada 2A @ 5V z kablem USB na micro USB.

Po szybkiej wstępnej konfiguracji i uruchomieniu kilku poleceń, system backupu był gotowy do działania. Używam go z powodzeniem od połowy 2019 roku i teraz chciałbym się nim z Wami podzielić.

> Ponieważ dostęp do **WebDAV** dla SharePoint w Microsoft 365 Business Standard został wycofany, odpowiednio zaktualizowałem poniższy przewodnik dla witryn SharePoint i ich bibliotek dokumentów. Zrewidowałem również metodę konfiguracji, aby uwzględnić zdalne konfigurowanie wszystkiego przez sieć.

---

**Będziesz potrzebować:**

* Raspberry Pi z kartą microSD o pojemności minimum 8 GB (na system operacyjny);
* Zewnętrzny dysk twardy lub pamięć USB podłączana przez USB (na pamięć zewnętrzną – pojemność zależy od Twoich potrzeb);
* Ładowarki zapewniającej wystarczającą moc (szczególnie przy użyciu zewnętrznego dysku twardego);
* Raspberry Pi OS (wcześniej znany jako Raspbian OS);
* Raspberry Pi Imager (oficjalne oprogramowanie).

---

## Raspberry OS

Aby zainstalować system Raspberry Pi OS na karcie SD, użyjemy dedykowanego oprogramowania o nazwie [Raspberry Pi Imager](https://www.raspberrypi.com/software/).

[![Raspberry Pi Imager – main window](Raspberry_Pi_Imager_1.png)](Raspberry_Pi_Imager_1.png)

> Wcześniej zalecałem pobranie [obrazu Raspberry Pi OS](https://www.raspberrypi.org/software/operating-systems/) i użycie [balenaEtcher](https://www.balena.io/etcher/) do jego wgrania na kartę SD. Jednak Raspberry Pi Imager ma teraz przewagę nad balenaEtcher, ponieważ pozwala wstępnie ustawić niektóre parametry, takie jak hasło, nazwa hosta i połączenie Wi-Fi. Oznacza to, że możesz wszystko zrobić zdalnie, bez konieczności podłączania ekranu, klawiatury i myszy do początkowej konfiguracji.

Przy pierwszym uruchomieniu należy wybrać swoje urządzenie Raspberry Pi (moje to _Pi Zero 2 W_) i wybrać system operacyjny.

> Oto wskazówka — **nie** wybieraj 64-bitowego systemu operacyjnego. Nie wszystkie oprogramowanie jest jeszcze dostępne dla 64-bitów, zwłaszcza na lekkich urządzeniach, takich jak _Pi Zero 2 W_. Do uwierzytelniania Microsoftu użyjemy środowiska graficznego i lekkiej przeglądarki Midori, która jest dostępna tylko w wersji 32-bitowej. Chrome byłby przesadą i koszmarem wydajnościowym na takim urządzeniu.

W sekcji *System operacyjny* wybierz **Raspberry Pi OS (32-bit)**. Alternatywnie, jeśli chcesz możliwie najlżejszą instalację (_zalecane_), przewiń w dół i wybierz **Raspberry Pi OS (inne)**, a następnie **Raspberry Pi OS Lite (32-bit)**.

> Poniższe kroki będą oparte na **Raspberry Pi OS Lite (32-bit)**.

Następnie wybierz nośnik danych. Podłącz kartę SD do komputera i wybierz ją.

[![Raspberry Pi Imager – with selections](Raspberry_Pi_Imager_2_with_selections.png)](Raspberry_Pi_Imager_2_with_selections.png)

Po dokonaniu wyboru kliknij przycisk **Dalej**. Na tym etapie zostaniesz zapytany, czy chcesz zastosować niestandardowe ustawienia. Zdecydowanie zalecam to zrobić i odpowiednio wszystko ustawić.

[![Raspberry Pi Imager – Would you like to apply OS customisation settings?](Raspberry_Pi_Imager_3_customisation_settings.png)](Raspberry_Pi_Imager_3_customisation_settings.png)

> W zakładce **Ogólne** sugeruję ustawienie **nazwy hosta**, **nazwy użytkownika i hasła** oraz **skonfigurowanie sieci bezprzewodowej LAN**. Przewiń dalej, aby ustawić **ustawienia regionalne**.

> W zakładce **Usługi** upewnij się, że **włączono SSH**, a następnie kliknij przycisk **ZAPISZ**.

Jak wspomniano wcześniej, będziemy potrzebować środowiska graficznego na naszym Raspberry Pi i przeglądarki Midori do konfiguracji, ale nie potrzebujemy, aby działały domyślnie. Wszystkie niezbędne kroki omówimy później.

{{% ads-in-article %}}

## Początkowa konfiguracja

Zgodnie z wcześniej zdefiniowanymi ustawieniami połączenia Wi-Fi, po uruchomieniu naszego urządzenia musimy się do niego podłączyć przez SSH.

```bash
ssh pi@192.168.1.188 -p 22
```

> Twój adres IP zostanie przypisany przez router, chyba że ustawiłeś statyczny adres IP na podstawie adresu MAC urządzenia.

Gdy już się połączymy, zaktualizujmy naszą listę pakietów oprogramowania.

```bash
sudo apt update
```

### FTP (opcjonalnie)

Możemy potrzebować dostępu do naszego urządzenia przez protokół FTP, aby łatwo przesyłać lub pobierać pliki. Poniższe polecenie zainstaluje serwer FTP na Twoim Raspberry Pi.

```bash
sudo apt install vsftpd
```

Po zainstalowaniu wystarczy zmienić jedno ustawienie w usłudze **vsftpd**, aby włączyć dostęp do zapisu przez ten protokół.

Edytujmy plik `vsftpd.conf`.

```bash
sudo nano /etc/vsftpd.conf
```

Odkomentuj (usuń znak `#` z) wiersza `write_enable=YES`.

Następnie wyjdź i zapisz plik, a następnie uruchom ponownie usługę FTP.

```bash
 /etc/init.d/vsftpd restart
```

### Środowisko graficzne

Zainstalujmy środowisko graficzne, ponieważ na późniejszym etapie będziemy musieli uruchomić przeglądarkę internetową, aby uwierzytelnić się w usługach Microsoftu.

```bash
sudo apt install raspberrypi-ui-mods
```

### Lekka przeglądarka

Zaraz po tym zainstalujmy Midori, lekką przeglądarkę internetową.

```bash
sudo apt install midori
```

### Pulpit zdalny

Aby móc połączyć się z naszym pulpitem zdalnym za pomocą RealVNC, musimy najpierw zainstalować serwer.

```bash
sudo apt install realvnc-vnc-server
```

Gdy to zostanie zrobione, będziemy musieli również zainstalować [RealVNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) na naszym komputerze.

Aby uruchomić wirtualny pulpit i połączyć się z nim za pomocą przeglądarki, musimy wykonać następujące polecenie:

```bash
vncserver-virtual
```

> Domyślnie nasz pulpit będzie działał jako `:1`.

Gdy już będzie działał, będziemy mogli połączyć się z nim przez RealVNC Viewer, łącząc się z `192.168.1.188:1`.

Aby wyłączyć pulpit zdalny, możemy użyć poniższego polecenia.

```bash
vncserver-virtual -kill :1
```

---

Jeśli wolisz połączenie zdalne przez protokół RDP, możesz to zrobić, instalując `xrdp`.

```bash
sudo apt install xrdp
```

Następnie możesz po prostu użyć wbudowanej aplikacji Pulpit zdalny w systemie Windows lub pobrać [aplikację Windows](https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466?mt=12), jeśli używasz systemu macOS.


### Rclone

Do celów tworzenia kopii zapasowych użyjemy pakietu o nazwie [rclone](https://rclone.org/docs/).

Aby go zainstalować, użyj następującego polecenia:

```bash
sudo apt install rclone
```

### Screen

Aby kopia zapasowa mogła działać po odłączeniu się od terminala, warto uruchomić ją wewnątrz `screen`. Musimy dodać tę funkcjonalność, instalując pakiet.

```bash
sudo apt install screen
```

Teraz jesteśmy gotowi do konfiguracji naszej pamięci masowej.

{{% ads-in-article %}}

## Pamięć masowa

Zacznijmy od sformatowania naszego dysku na `exfat` przed podłączeniem go do Raspberry Pi.

Jeśli chcesz to zrobić na Raspberry Pi, polecam użycie **GParted** — łatwego, graficznego narzędzia do partycjonowania.

Zainstalujmy je, jak pokazano poniżej, a następnie uruchommy wirtualny pulpit zdalny i sformatujmy dysk za pomocą interfejsu graficznego.

```bash
sudo apt install gparted
```

GParted nie jest w stanie natywnie tworzyć partycji `exfat`, więc będziemy musieli zainstalować dodatkowe narzędzia.

```bash
sudo apt install exfat-utils exfat-fuse
```

Na wirtualnym pulpicie przejdź do **Menu Pi > Narzędzia systemowe > GParted**.

W **GParted** wybierz swój dysk twardy z rozwijanego menu w prawym górnym rogu. Zazwyczaj będzie to `/dev/sda`.

Jeśli na dysku twardym nie ma partycji, utworzymy ją.

Jeśli istnieją jakieś partycje, usuń je i zacznij od nowa.

Utwórz partycję sformatowaną jako `exfat`, ponieważ umożliwi to szybkie podłączenie jej do komputera z systemem Windows lub macOS i efektywną pracę na zapisanych plikach.

[![GParted - New partition](GParted_new.png)](GParted_new.png)

[![GParted - partition unformatted](GParted_unformatted.png)](GParted_unformatted.png)

W GParted utwórz partycję **niesformatowaną** (spowoduje to utworzenie `/dev/sda1`), a następnie sformatuj ją na `exfat` z poziomu terminala.

```bash
sudo mkfs.exfat /dev/sda1
```

### Montowanie dysku twardego

Ponieważ używam wersji **Lite** Raspberry Pi OS, środowisko graficzne nie jest uruchamiane przy starcie, więc dyski nie są automatycznie montowane i dostępne po podłączeniu. Aby zamontować dysk, użyjemy poniższego polecenia, które ustawi domyślne uprawnienia zapisu dla użytkownika **pi**. Jest to ważne, ponieważ oznacza, że nie będziemy musieli cały czas uruchamiać kolejnych poleceń z **sudo**.

Przed montowaniem stwórzmy punkt montowania. Ja stworzyłem swój w `/media/pi/O365`, więc muszę utworzyć odpowiednie puste foldery w tym celu.

```bash
sudo mkdir /media/pi
sudo mkdir /media/pi/O365
```

Następnie, po prostu zamontuj dysk za pomocą poniższego polecenia.

```bash
sudo mount -t exfat -o uid=1000,gid=1000 /dev/sda1 /media/pi/O365/
```

Potwierdź, że jest widoczny, używając polecenia `df`.

### Narzędzie do usypiania dysku twardego (opcjonalnie)

W zależności od typu dysku twardego, którego używamy do tworzenia kopii zapasowej, warto rozważyć zapobieganie jego usypianiu w trakcie tworzenia kopii zapasowej.

Zainstalujmy pakiet `hd-idle`.

```bash
sudo apt install hd-idle
```

Gdy nasza pamięć masowa jest podłączona i zamontowana, możemy wykonać poniższe polecenie, aby ustawić czas usypiania na zero.

```bash
hd-idle -i 0 -a sda
```

Teraz Twój dysk jest gotowy do użycia.

{{% ads-in-article %}}

## Konfiguracja Rclone

Nadszedł czas, aby skonfigurować naszą kopię zapasową za pomocą Rclone.

Na tym etapie będziemy używać terminala (zdalnego lub przez wirtualny pulpit) oraz przeglądarki internetowej (Midori) na pulpicie zdalnym.

> Jeśli jeszcze tego nie zrobiłeś, uruchom wirtualny pulpit za pomocą `vncserver-virtual` i połącz się z nim za pomocą RealVNC Viewer.

```bash
rclone config
```

Z menu utwórz nowe **zdalne** połączenie, naciskając `n`.

Nazwijmy je _o365onedrive_ (dla osobistego OneDrive), a później utwórzmy kolejne o nazwie _o365sharepoint_ (dla biblioteki dokumentów SharePoint).

W następnym kroku musimy zdecydować, której usługi użyć.

Dla Microsoftu wybierz **Microsoft OneDrive**. Jest to opcja do tworzenia kopii zapasowych zarówno folderu OneDrive użytkownika, jak i biblioteki dokumentów SharePoint. Ta konfiguracja będzie wymagać tokenu uwierzytelniającego (nie hasła), dlatego będziemy musieli to zrobić za pośrednictwem Midori.

### OneDrive Osobisty

Wybierz **Typ pamięci masowej do konfiguracji** z listy, podając numer lub wpisując **onedrive**.

Nie musimy nic wpisywać dla `client_id` i `client_secret` (wystarczy nacisnąć Enter, aby zaakceptować domyślne).

Dla **Wybierz region chmury narodowej dla OneDrive**, pozostawiam domyślny (globalny) wybór.

Gdy zostaniesz zapytany **Edytować zaawansowaną konfigurację?**, odpowiedz **n** na Nie lub po prostu naciśnij Enter.

Gdy zostaniesz zapytany **Użyć auto konfiguracji?**, odpowiedz Tak lub po prostu naciśnij Enter.

Na tym etapie zostanie nam przedstawiony lokalny adres URL, taki jak `http://127.0.0.1:53682/auth?state=6W7rX_yb67gWJfySzz_WkA`, wraz z komunikatem **Zaloguj się i autoryzuj rclone do dostępu** oraz **Oczekiwanie na kod...**.

Skopiuj ten link i otwórz go w Midori.

Tam będziesz musiał zalogować się na swoje konto Microsoft 365, postępując zgodnie z instrukcjami na ekranie.

Kiedy wszystko pójdzie dobrze, zobaczysz prostą stronę z komunikatem **Sukces! Wszystko zrobione. Proszę wrócić do rclone.** w Midori, a w terminalu otrzymasz potwierdzenie (**Otrzymano kod**), że kod został odebrany.

Na tym etapie możesz zamknąć przeglądarkę internetową i wrócić do terminala.

Z końcowych opcji musisz wybrać typ konta.

Wybierz **1** dla **OneDrive Osobisty lub Biznesowy**.

> Możesz tu również zobaczyć wymieniony SharePoint, ale o tym później.

W ostatnim kroku (**Wybierz dysk, którego chcesz użyć**) potwierdź, którego dysku użyć, wybierając **OneDrive (firmowy)**.

Ostatni krok:
```
Drive OK?

Found drive "root" of type "business"
URL: https://contoso.sharepoint.com/personal/dariusz_contoso_com/Documents
```

Po prostu potwierdzamy **t** na Tak (lub po prostu naciskamy Enter) i jeszcze raz **t** na Tak, aby potwierdzić, że wszystko jest w porządku i konfiguracja zostanie zapisana.

---

Opuśćmy teraz konfigurację `rclone` (naciśnij `q`) i sprawdźmy, czy widzimy foldery w naszej konfiguracji.

W terminalu wpisz:

```bash
rclone lsd o365personal:
```

To powinno wyświetlić listę katalogów na Twoim osobistym koncie OneDrive. Jeśli wszystko pójdzie dobrze, konfiguracja jest gotowa.

---

### Biblioteka dokumentów SharePoint

> W przeszłości dostęp do Biblioteki dokumentów SharePoint odbywał się za pomocą protokołu `webdav`, ale ta metoda nie jest już używana. Microsoft odszedł od dostępu opartego na WebDAV na rzecz synchronizacji OneDrive i nowoczesnej integracji z SharePoint.

```bash
rclone config
```

Utwórz nową konfigurację – `n`.

Nazwijmy ją _o365sharepoint_ (dla biblioteki dokumentów SharePoint).

Dla **Typu pamięci masowej do konfiguracji** wybierz opcję z listy lub wpisz `onedrive`.

Pozostaw `client_id` i `client_secret` puste.

Wybierz opcję swojego `regionu` (domyślna globalna).

Odpowiedz Nie na **zaawansowaną konfigurację** i Tak na **automatyczną konfigurację**.

Przejdź pod nowy link `http://127.0.0.1...` w przeglądarce Midori i zaloguj się na swoje konto, aż otrzymasz komunikat **Sukces! Wszystko gotowe. Wróć do rclone.**

Z opcji **Typ połączenia** wybierz tę związaną z **nazwą witryny SharePoint lub adresem URL**, np. `mysite` lub `https://contoso.sharepoint.com/sites/mysite` (URL).

W następnym kroku wklej link do swojej witryny SharePoint (nie do folderu Udostępnionego katalogu ani żadnego innego, ale bezpośrednio do utworzonej witryny SharePoint, gdzie znajdują się foldery), na przykład `https://contoso.sharepoint.com/sites/mysite`.

W kolejnym kroku będziesz musiał **Wybierz dysk, którego chcesz użyć**.

Zazwyczaj będzie to jedna z pierwszych opcji związanych z **Dokumentami (biblioteką dokumentów)**. Jeśli masz więcej niż jedną bibliotekę dokumentów, będziesz musiał utworzyć oddzielną konfigurację dla każdego folderu biblioteki dokumentów.

Ostatni krok:
```
Drive OK?

Found drive "root" of type "documentLibrary"
URL: https://contoso.sharepoint.com/sites/mysite/Shared%20Documents
```

Po prostu potwierdzamy **t** na Tak (lub po prostu naciskamy Enter) i jeszcze raz **t** na Tak, aby potwierdzić, że wszystko jest w porządku i konfiguracja zostanie zapisana.

---

Opuśćmy teraz konfigurację `rclone` (naciśnij `q`) i sprawdźmy, czy możemy wyświetlić foldery w naszej konfiguracji SharePoint.

W terminalu wpisz:


```bash
rclone lsd o365sharepoint:
```

To powinno wyświetlić listę katalogów w Twojej Bibliotece Dokumentów SharePoint. Jeśli wszystko pójdzie dobrze, konfiguracja jest gotowa.

---

Nie będziemy już potrzebować wirtualnego pulpitu, więc możemy go zamknąć, wykonując polecenie `vncserver-virtual -kill :1`.

## Kroki przed wykonaniem kopii zapasowej

Teraz nadszedł czas, aby wykonać polecenia, które rozpoczną proces tworzenia kopii zapasowej.

Nie musimy tego robić na pulpicie Raspberry Pi OS; możemy uruchomić je przez SSH.

Przejdźmy na nasz zamontowany dysk twardy pod `/media/pi/O365` i utwórzmy tam dwa foldery, po jednym dla każdej konfiguracji w `rclone`.

```bash
mkdir OneDrive
mkdir SharePoint
```

Teraz jesteśmy gotowi.

{{% ads-in-article %}}

## Kopia zapasowa

Uruchom polecenie `screen` i wykonaj w nim poniższe komendy, dzięki czemu będziesz mógł zamknąć terminal i rozłączyć się bez przerywania procesu tworzenia kopii zapasowej. Aby wrócić do sesji, zaloguj się przez SSH i przywołaj sesję za pomocą `screen -R`. Jeśli masz uruchomionych więcej niż jedną sesję (więcej na ten temat na końcu), zostanie Ci przedstawiona lista sesji i będziesz musiał przywołać konkretną, używając jej numeru, na przykład `screen -R 693`.

### Kopia zapasowa – OneDrive

Oto moje polecenie do utworzenia kopii zapasowej mojego osobistego OneDrive'a `o365personal` na dysku zapasowym.

```bash
rclone copy --progress --update o365personal: /media/pi/O365/OneDrive --log-file=/media/pi/O365/OneDrive.log --log-level ERROR
```

To polecenie rozpocznie kopiowanie naszych plików z OneDrive na nasz dysk twardy.

Jak widać, polecenie nie tylko pokaże `--progress`, ale także zarejestruje w `--log-file` wszelkie błędy napotkane podczas dostępu do plików. Opcja `--update` służy do aktualizowania zmienionych plików, a nie do pobierania i nadpisywania ich, nawet jeśli są dokładnie takie same. Jest to bardzo przydatne, jeśli wykonujemy progresywną kopię zapasową do tego samego folderu co poprzednio.

Po udanym wykonaniu polecenia zawsze warto sprawdzić logi.

### Kopia zapasowa – SharePoint

Następujące polecenie skopiuje nasz folder „Wspólne dokumenty” na naszej witrynie SharePoint.

```bash
rclone copy --progress --update o365sharepoint: /media/pi/O365/SharePoint --log-file=/media/pi/O365/Documents.log --log-level ERROR
```

---

W ten sposób mamy świetny system tworzenia kopii zapasowych naszych plików w chmurze Microsoft 365 (OneDrive i SharePoint).

Wyłączając koszt konfiguracji — Raspberry Pi i zewnętrzne dyski twarde (oraz prąd) — nie ma żadnych opłat abonamentowych, a my zachowujemy pełną kontrolę nad naszymi plikami.

Tworzenie kopii zapasowej nie jest szybkie i może zająć kilka godzin w przypadku witryn SharePoint o rozmiarze powyżej 100 GB.

Używam tego systemu od lat i użyłem go co najmniej dwa razy w tym czasie, aby przywrócić kilka kluczowych plików.

## Rozwiązywanie problemów z siecią Raspberry Pi

Na moim Raspberry Pi doświadczyłem problemu z Wi-Fi, który od czasu do czasu nagle zrywał połączenie z routerem, zwłaszcza gdy zadania na urządzeniu zostały zakończone i nie było aktywności sieciowej. Zawieszał się również przy intensywnym wykorzystaniu sieci Wi-Fi. Naprawiłem to na dwa sposoby.

### Zarządzanie energią WLAN

Tuż przed uruchomieniem kopii zapasowej, wykonuję poniższe polecenia, aby wyłączyć wszelkie funkcje oszczędzania energii związane z bezprzewodową siecią LAN na moim urządzeniu.

```bash
sudo iwconfig wlan0 power off
sudo iw wlan0 set power_save off
```

### Sztuczna aktywność sieciowa

Równolegle z `screen` uruchamiającym moje polecenie kopii zapasowej, uruchamiam dodatkowy `screen`, gdzie po prostu wykonuję polecenie:

```
ping 1.1.1.1
```

Ta prosta rzecz pomogła utrzymać aktywność sieciową i zapobiegła zawieszaniu się Raspberry Pi podczas procedury tworzenia kopii zapasowej, która czasami może trwać wiele godzin.

---

I to wszystko.

Pozdrawiam


---
## Kolejna strona oparta na Hugo (www.aqua-tech.net.pl)
- **URL:** https://dariusz.wieckiewicz.org/kolejna-strona-oparta-na-hugo-aqua-tech-net-pl/
- **Date:** 2021-05-08
- **Tags:** AQUA TECH, Instalacje Sanitarne, Hugo, Netlify, ImprovMX

### Content

Przeszło trzy lata (2018) temu zrobiłem stronę dla firmy AQUA TECH. Podobnie jak strona [Turbo Kliniki](/kolejna-strona-oparta-na-hugo-turboklinika-com-pl/), nie był to jakiś nadzwyczajnie duży projekt. 

<!--more-->

Kolejny raz wybrałem WordPress jako bazę, wiedząc, że jest to jak wkładanie silnika z porsche do fiata 125p. Na tamten okres było to jednak słuszne rozwiązanie i pozwoliło na ograniczenie kosztów związanych ze stroną internetową oferowaną przez innego dostawcę.

Strona bazowała na zmodyfikowany motywie [Appointment](https://wordpress.org/themes/appointment/) i spisywała się w marę dobrze, do czasu, jak kolejne aktualizacje WordPress oraz ich wtyczek zaczęły go psuć.

Niechętny byłem nad naprawą tego, co jest zepsute, gdyż straciłbym na tym więcej czasu niż stworzenie odpowiednika strony w Hugo.

I tak zacząłem pracę, a jednocześnie dla mnie, naukę.

Elementy zastosowane na stronie AQUA TECH były nieco inne a niżeli na [Turbo Klinice](https://www.turboklinika.com.pl), jak i na mojej stronie, więc musiałem nieco pomyśleć.

Mimo że sekcje strony są podobne, przez co wykorzystałem podobny kod, to podczas tworzenia musiałem użyć nieco innego podejścia.

---

Nie lada wyzwaniem stała się karuzela ze zdjęciami na pierwszej stronie.

Nie problem jest znaleźć gotowe rozwiązanie bazujące na JavaScript. Problem z tym jest jednak, że powoduje to nadmierne wykorzystanie zasobów, co negatywnie wpływa na wydajność strony mierzonej w Google PageSpeed Insight.

Po przeczytaniu wpisu [Best practices for carousels](https://web.dev/carousel-best-practices/) wiedziałem, jak zdjęcia muszą być ładowane. To, co nie zostało tam poruszone, to fakt, że pierwsze zdjęcie musi się ładować od razu, natomiast każde kolejne powinno posiadać atrybut `loading="lazy"`. W przeciwieństwie otrzymamy wysoki wynik LCP i cała strona będzie się ładowała, dopóki wszystkie zdjęcia nie zostaną załadowane.

Nie udało mi się uniknąć JavaScriptu, ale wykorzystałem go jedynie do funkcji zmiany zdjęcia a niżeli samego ładowania obrazów jak, w co niektórych zastosowaniach.

> Jako, że znalezienie dobrego rozwiązania na karuzele jest nieco problematyczne, postanowiłem udostępnić użyty kod na [GitHub](https://github.com/idarek/image-slider-carousel) (podobnie, jak to zrobiłem w przypadku [paska informującego o ciasteczkach](https://github.com/idarek/cookies-bar), który źle zastosowany może negatywnie wpływać na CLS).

---

Kolejnym wyzwaniem stały się galerie ze zdjęciami. 

Otóż gdy strona, tak jak Turbo Klinika, zawiera nieco mniej zdjęć, wstawienie ich pojedynczo w [Markdown](/markdown/) nie jest tak problematyczne. W przypadku gdy mamy wstawić ich setkę. Wówczas nie jest tak fajnie.

Przypomniałem sobie o zastosowaniu, które znalazłem, gdy próbowałem rozwiązać mój problem z [galeriami w Hugo](/galerie-w-hugo/), a mianowicie galerie bazujące na zdjęciach w folderach.

Polega to na tym, że zdjęcia, które mają wyświetlić się w postaci galerii, wrzucamy do osobnego folderu, który później przywołujemy "shortcode'm".

> Nie do końca wiem, jakie jest sensowne tłumaczenie "shortcode" na język polski, bo "którki kod" brzmi dziwnie.

Pomocny okazał się wpis [Building an image gallery for Hugo](https://www.control-alt-del.org/posts/building-an-image-gallery-for-hugo/), który musiałem odpowiednio zmodyfikować, aby dodać między innymi format zdjęć WebP.

---

Na stronie z ofertą firmy zastosowane zostały tak zwane "collapsable", czyli elementy, po kliknięciu na które pokazują zawartość danej sekcji.

Problem z WordPress był taki, że czasem to działało, ale jeszcze częściej nie. Tym razem, przy użyciu rozwiązania z [W3School](https://www.w3schools.com/howto/howto_js_collapsible.asp), minimalnym zastosowaniu HTML, CSS i JavaScriptu udało mi się osiągnąć zamierzony efekt. 

Oczywiście, całość używa "shortcode" w Hugo i jest ładnie zintegrowane z tekstem przechowywanym w Markdown.

---

Oprócz przeniesienia strony musiałem jeszcze rozwiązać jeden problem niezwiązany bezpośrednio ze stroną, a mianowicie adres email.

W obecnym ustawieniu, maile wysyłane na `kontakt@` przekazywane są na odpowiednie adresy firmowe. 

> Firma ta nie używa poczty we własnej domenie, gdyż nie ma to aż takie potrzeby. Skupiają się oni na świadczeniu wysokich jakości usług a niżeli zbędnej wymiany korespondencji elektronicznej.

W związku z tym przypomniałem sobie o [Mailgun](https://www.mailgun.com), który używałem w przeszłości przy innym projekcie.

Mailgun jest swego rodzaju pośrednikiem w przesyłaniu poczty elektronicznej. Jest on skierowany głównie do programistów, jednakże nie stoi nic na przeszkodzie w wykorzystaniu tego do innych celów, szczególnie że do 1000 maili (w miesiącu) wysłanych na adres przez nich obsługiwany nie zapłacimy nic. Dla tego typu projektu jest to jak znalazł.

Jednakże, oprócz Mailgun w internecie dostępne są również inne usługi:
- [ForwardEmail](https://forwardemail.net/)
- [ImprovMX](http://improvmx.com/)

Chciałem spróbować ForwardEmail, który oferuje  w darmowym planie **nielimitowaną liczbę domen**, **nielimitowaną liczbę adresów**, **adresy jednorazowe** (disposable emails), **zaawansowaną ochronę** oraz **obsługę załączników do 50MB**. Niestety, podczas dodawania domeny otrzymałem komunikat, że domena z końcówką PL jest uważana przez nich za złośliwą i wymaga to, aby jeden użytkownik (administrator) posiadał płatną subskrypcję.

> Gratuluje wszystkim tym idiotom w Polsce, którzy przysłużyli się do takiego stanu rzeczy.

{{% ads-in-article %}}

W związku z tym postanowiłem spróbować **ImprovMX**.

**ImprovMX** w darmowym planie (oznaczonym jako "za darmo, na zawsze") oferuje możliwość dodania jednej domeny, maksymalnie 25 adresów (aliasów) na domenę oraz załączniki do 10MB. 

Nie ma możliwość wysyłania maili z domeny, co w moim przypadku nie jest problemem (chyba że ma się pocztę na Gmail w której można użyć opcji `Wysyłaj jako` — [szczegóły tutaj](https://improvmx.com/guides/send-emails-using-gmail/)).

Doręczenie adresów email odbywa się z "normalną" prędkością w porównaniu z "szybką" na płatnym planie. Słowo "normalną" lub "szybką" nic nie mówi więcej, więc będzie mi spróbować to w praktyce. Z tego, co widzę, wiadomość trafia do odbiorcy z około kilkunastosekundowym opóźnieniem, w skrajnych przypadkach kilku minutowym.

Wszystko można śledzić w logach dostępnych w panelu administracyjnym.

---

Z przenosin tej strony nauczyłem się kolejnych rzeczy. Jedną z nich jest to, że nie da się wykorzystać gotowego rozwiązania, lekko go dostosowując, szczególnie gdy strony, mimo że proste, stanowczo różnią się od siebie zawartością.

Im więcej rozwiązań za sobą, tym większe pole do popisu mamy tworząc kolejne strony, spędzając mniej czasu na poszukiwaniach (research).

W między czasie efekt końcowy możemy podziwiać na [aqua-tech.net.pl](https://www.aqua-tech.net.pl).

**Pozdrawiam.**



---
## Monitoring i ograniczenie transferu w sieci lokalnej na routerze z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/monitoring-ograniczenie-transferu-w-sieci-openwrt/
- **Date:** 2021-05-01
- **Tags:** OpenWrt, luci-app-vnstat, luci-app-nlbwmon, luci-wrtbwmon, luci-app-nft-qos, luci-app-qosmate, monitoring, ograniczenie transferu

### Content

Wraz ze wzrostem liczby użytkowników, przychodzi pora na wprowadzenie ograniczeń prędkości w sieci.

O ile na moim routerze domowym nie mam takiej potrzeby, to w zastosowaniu firmowym warto wiedzieć kto i jak bardzo obciąża łącze i w ramach potrzeby wprowadzić niezbędne ograniczenia.

W pierwszej kolejności należy się dowiedzieć kto, a następnie jak bardzo.

<!--more-->

A więc zacznijmy od narzędzi do monitoringu naszego łącza.

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Monitoring

W zależności, jak dużo informacji potrzebujemy, z poziomu routera możemy zainstalować dwa pakiety: `luci-app-vnstat2` lub `luci-app-nlbwmon`.

### luci-app-vnstat2

```bash
apk update
apk add luci-app-vnstat2
```

Po zainstalowaniu pakietu ujrzymy dodatkową opcję w menu **Status** > **VnStat Traffic Monitor**

Aplikacja domyślnie skonfigurowana będzie na monitorowanie ruchu w naszej sieci lokalnej (`br-lan`) oraz podstawowym łączu internetowym (`eth1.2`). Jeżeli nie, przechodzimy do zakładki **konfiguracja** (Configuration) i w **monitorowanych interfejsach** (Monitor interfaces) wybieramy to, co chcemy monitorować.

[![OpenWrt VnStat Configuration](openwrt_vnstat_configuration.png)](openwrt_vnstat_configuration.png)

W sekcji głównej **VnStat Graphs** mamy do dyspozycji kilka metod prezentacji zgromadzonych danych.

**Summary display** otrzymujemy informację w postaci danych oraz wykresów, ile to pobraliśmy danych dzisiaj, wczoraj, w tym miesiącu oraz w miesiącu poprzedzającym.

[![OpenWrt VnStat Summary Display](openwrt_vnstat_summary_display.png)](openwrt_vnstat_summary_display.png)

**Top 10 display** przestawi nam 10 najintensywniejszych dni w naszej sieci. Oczywiście, musimy pozwolić naszemu routerowi na ich zebranie, więc od razu wszystkiego nie zobaczymy.

[![OpenWrt VnStat Top 10 Display](openwrt_vnstat_top_10_display.png)](openwrt_vnstat_top_10_display.png)

**Hourly traffic** przedstawi nam obciążenie w ciągu ostatnich 24 godzin. Analogicznie **Daily traffic** w przełożeniu na dni oraz **Monthly traffic** miesiące.

Nie otrzymamy natomiast żadnych informacji odnośnie kto obciążył nam łącze. Pakiet ten służyć będzie nam głównie do przeanalizowania, jak bardzo wykorzystujemy nasze łącze.

### luci-app-nlbwmon

```bash
apk update
apk add luci-app-nlbwmon
```

Ten pakiet daje nam wgląd w jeszcze więcej informacji.

Do dyspozycji mamy dedykowane menu **Bandwidth Monitor** (lub **Services** > **Bandwidth Monitor**) z rozbudowanymi opcjami konfiguracji (**Configuration**) oraz możliwości zapisania danych zebranych na przełomie czasu (**Backup**), jak również ich przywróceniu. Szczególnie przydatne w przypadku [aktualizacji oprogramowania](/aktualizacja-oprogramowania-openwrt/) na routerze.

W zakładce **Display** otrzymamy podgląd, jak poszczególni użytkownicy w naszej sieci obciążali nasze łącze (**Traffic Distribution**).

[![OpenWrt nlbwmon Traffic Distribution](openwrt_nlbwmon_traffic_distribution.png)](openwrt_nlbwmon_traffic_distribution.png)

W tym z podziałem na protokoły poszczególnych aplikacji (**Application Protocols**)

[![OpenWrt nlbwmon Aplication Protocols](openwrt_nlbwmon_application_protocols.png)](openwrt_nlbwmon_application_protocols.png)

Jeżeli komunikacja w naszej sieci odbywa się zarówno po IPv4, jak i IPv6, zakładka **IPv6** przedstawi nam, jak kształtuje się podział ruchu w zależności od sposobu komunikacji.

Co więcej, w zakładce **Export** mamy możliwość zapisania zebranych danych w kilku formatach, pozwalające na ich późniejszą analizę w zewnętrznych programach.

---

Nie ma nic przeciwko zainstalowaniu obu pakietów i w przeciągu kolejnych dni podjąć decyzję, który okaże się lepszy. Spora część użytkowników zauważa, że `nlbwmon` pomija niektóry ruch, przez co jego statystyki okazują się niższe od `vnstat`.

Oczywiście, należy zauważyć, że w `vnstat` możemy ustawić, które interfejsy mają być przez niego monitorowane (domyślnie nasze główne łącze internetowe oraz sieć lokalna). W przypadku `nlbwmon` domyślnie monitorowany jest interfejs odpowiadający za sieć lokalną (w to jednak również wlicza się transfer z klientów WireGuard, jeżeli mamy go zainstalowanego [wg mojego opisu](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/)).

Ogólnie wszystko fajnie, ale brakuje mi tutaj jeszcze czegoś.

Otóż chciałbym wiedzieć, jakie jest aktualne wykorzystanie łącza internetowego. W danej chwili, z jaką prędkością dany użytkownik coś pobiera. Jest to szczególnie ważne na następnym kroku, gdzie będziemy chcieli ograniczyć co niektórych.

OpenWrt teoretycznie posiada wbudowany system monitoringu (**Status** > **Realtime Graphs**).

Oprócz graficznych wykresów mamy dostępną zakładkę **Realtime Rate**, która **powinna** pokazywać na żywo aktualne wykorzystanie łącza przez poszczególne adresy IP.

---

W momencie, gdy mamy zebrane informacje odnośnie do tego, komu musimy nałożyć ograniczenia, pora na ich wprowadzenie.

{{% ads-in-article %}}

## Zarządzanie pasmem i priorytetyzacja

> Począwszy od OpenWrt 25.12, pakiet `luci-app-nft-qos` został oficjalnie porzucony. Do nowoczesnego ograniczania prędkości i priorytetyzacji opartej na `nftables` używamy teraz pakietu `luci-app-qosmate`.

```bash
apk update
apk add luci-app-qosmate
```

Po instalacji opcja **QoSmate** pojawi się w menu **Sieć**.

### Priorytetyzacja ruchu (VoIP)
W ustawieniach **Prioritization** (Priorytetyzacja) możemy zapewnić, że krytyczny ruch sieciowy będzie miał pierwszeństwo przed masowym pobieraniem danych. Jest to niezbędne w środowiskach z wieloma telefonami VoIP; zapobiega to sytuacji, w której przesyłanie dużego pliku powoduje jitter lub opóźnienia w rozmowie głosowej.

Po włączeniu silnika priorytetyzacji można zdefiniować reguły w oparciu o porty lub protokoły. Na przykład można sprawić, by protokół SIP/VoIP (port 5060) był traktowany jako wysoki priorytet, podczas gdy standardowy ruch HTTP (80) lub HTTPS (443) będzie obsługiwany z niższym priorytetem.

### Ograniczanie prędkości (kontrola poszczególnych użytkowników)
W zakładce **Rate Limiter** (Ogranicznik prędkości) możemy narzucić określone limity przepustowości poszczególnym użytkownikom. Aby rozpocząć, należy najpierw zaznaczyć pole **Enable** (Włącz).

Limity można definiować na podstawie adresów IP lub adresów MAC. W celu uzyskania najlepszych rezultatów zdecydowanie zaleca się przypisanie stałych adresów IP do urządzeń poprzez **Sieć** > **DHCP i DNS** > **Statyczne dzierżawy**. Gwarantuje to, że reguły będą zawsze stosowane do właściwego sprzętu.

> **Uwaga dotycząca jednostek:** Należy zwrócić szczególną uwagę na jednostki używane w konfiguracji. **Megabit/s (Mbps)** to nie to samo co **Megabajt/s (MB/s)**. Łącze 100 Mbps przekłada się na około 12,5 MB/s. Jeśli nie masz pewności co do wpisywanych wartości, możesz skorzystać z konwertera online.

### Zarządzanie statyczne vs. dynamiczne
QoSmate pozwala ustawić domyślną prędkość (**Default Rate**) dla każdego urządzenia, które nie zostało jawnie wymienione w regułach. Na przykład przy połączeniu 100/100 Mbps można ustawić domyślną wartość dla niezidentyfikowanych gości na 5/5 Mbps, podczas gdy zidentyfikowane stacje robocze otrzymają wyższe limity.

Jedną z mocnych stron nowoczesnego podejścia QoSmate jest dążenie do bardziej sprawiedliwego kolejkowania ("fair queuing"). Podczas gdy `nft-qos` często opierał się na sztywnym, statycznym "policingu" (który marnuje przepustowość, gdy sieć jest bezczynna), QoSmate ma na celu utrzymanie niskich opóźnień dla wszystkich.

### Wyzwanie "dynamiki"
Nadal szukam idealnego rozwiązania "pośredniego" — możliwości utrzymania niskich limitów w okresach wysokiego zapotrzebowania, ale pozwalającego pojedynczemu użytkownikowi na wykorzystanie pełnej dostępnej prędkości, gdy reszta sieci milczy. Ograniczenie użytkownika do 5 Mbps, gdy jest on jedyną osobą w budynku korzystającą z internetu, może być odczuwalne jako zbyt restrykcyjne. W miarę jak będę zgłębiać zaawansowane możliwości QoSmate i jego integrację z SQM (Smart Queue Management), zaktualizuję ten poradnik, jeśli znajdę bardziej elastyczną konfigurację typu "burst".

> Jeśli oprócz monitorowania transferu zależy Ci na monitorowaniu innych parametrów z routerów, niezastąpiony dla Ciebie będzie pakiet `luci-app-statistics`. Pakiet ten, wraz z listą modułów `apk search collectd-mod`, znacznie rozszerzy możliwości naszego urządzenia.

Pozdrawiam.


---
## Kolejna strona oparta na Hugo (www.turboklinika.com.pl)
- **URL:** https://dariusz.wieckiewicz.org/kolejna-strona-oparta-na-hugo-turboklinika-com-pl/
- **Date:** 2021-04-30
- **Tags:** Turbo Klinika, Turbosprężarki, Hugo, Netlify

### Content

Minęło kilka lat, odkąd stworzyłem nowy wygląd strony dla znajomych zajmujących się turbosprężarkami.

Wówczas wybrałem Wordpress.

Nie był to nie wiadomo to jak duży projekt. Na stronie, oprócz informacji biznesowych nie dzieje się za dużo. Wordpress był dla niej aż nadto.

<!--more-->

Więcej czasu zajmowało utrzymanie strony przy życiu poprzez ciągłe aktualizacje Wordpress'a czy też zmiany, powodujące problemy z motywem strony itp. Nie mówiąc o tym, że codziennie ktoś próbował się na nią włamać.

W ramach mojej dalszej nauki tworzenia stron opartych o Hugo (na mojej nie mam na razie co robić) postanowiłem odciążyć serwer, na którym leży ta (i inna) strona i przerobić ja na statyczną stronę.

Chwilkę mi to zajęło, nie powiem że nie. Natrafiłem na kilka problemów natury technicznej (HTML oraz CSS), ale w końcu wszystko ogarniałem. Sporo się przy tym nauczyłem.

Skupiłem się przede wszystkim na prędkości, implementacji WebP oraz lepszym wyglądzie na urządzeniach mobilnych. W tym celu wprowadziłem nowe menu pełnoekranowe. 

Pojedynczy przycisk akcji zmieniłem na dwa, podczas gdy jeden służy bezpośredniemu kontaktowi, drugi prowadzi do strony kontaktowej.

Zdjęcia i galerie na stronie stały się nie lada wyzwaniem. 

Dodatkowo założyłem sobie, że nie będę już wykorzystywał elementu `float` podczas tworzenia stron, chyba że będzie to naprawdę konieczne. I tak `float` zastąpiłem przez `display: flex` (flexbox). Zmotywował mnie do tego jeden post w internecie, który pokazał mi, jak efektywny potrafi być Flexbox. Dodatkowo pomocny okazał się [A Complete Guide to Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/).

Wraz z implementacją WebP zobaczyłem, jakie ograniczenia istnieją, jeżeli chodzi o zdjęcie ładowane w tle (`background-image`) przez CSS. Na szczęście moduł [modernizr](https://modernizr.com/download?webp-setclasses) (tylko z WebP) bez zaśmiecania strony pozwolił na uporanie się i z tym problemem. Tutaj okazał się pomocny artykuł: [Using WebP Images](https://css-tricks.com/using-webp-images/#using-webp-images-in-css).

Oczywiście, całość jest serwowana z [Netlify](https://www.netlify.com) z pominięciem Cloudflare. 

Jak przyjdzie na to czas, pomyśle nad dodaniem [Netlify CMS](https://www.netlifycms.org), aby można było wprowadzać zmiany przez osoby, które niekoniecznie muszą się znać na Hugo.

Pożyjemy, zobaczymy.

Efekt strony Turbo Kliniki opartej na Hugo można podziwiać pod adresem: [www.turboklinika.com.pl](https://www.turboklinika.com.pl)

{{% ads-in-article %}}


---
## Markdown
- **URL:** https://dariusz.wieckiewicz.org/markdown/
- **Date:** 2021-04-27
- **Tags:** Markdown, iA Writer, Typora, Mark Text

### Content

Dzisiaj chciałbym napisać co nieco o Markdown. Nim jednak zacznę, trochę wprowadzenia.

<!--more-->

Otóż, gdy moja strona bazowała na WordPress, używałem w nim wbudowanego klasycznego edytora, który z czasem został zastąpiony przez Gutenberg. Całość bazowało na ideologii z edytorów tekstu takich jak Word. Mieliśmy do dyspozycji przyciski do pogrubienia tekstu, wyśrodkowania, zmiany koloru itp.. Wszystko pięknie.

O ile wizualnie wszystko wyglądało ok, oprócz programu docelowego, każdy inny program wyświetlał tekst nieco inaczej.

W momencie przejścia na Hugo zmieniłem mój sposób pisania.

Ograniczyłem wszelkie elementy, które powodowałyby rozproszenie podczas zbierania myśli. Dlatego też wybrałem [iA Writer](https://ia.net/writer) do tworzenia moich tekstów (jeżeli szukasz alternatywy, spróbuj [Typora](https://www.typora.io).

iA Writer (czy też Typora) witają cię z czystą "kartką" papieru, na którą wylewasz swój tekst.

Oprócz mrugającego kursora nie ujrzysz tam przycisków do formatowania tekstu. Całe pisanie odbywa się za pomocą "Markdown". W pewnym sensie możesz powiedzieć, że piszesz za pomocą kodu. Na szczęście ten "kod" jest bardzo prosty w przyswojeniu i ogranicza się do kilkunastu elementów, z których tak naprawdę będziesz używał tylko kilku podstawowych.

Markdown jest potężnym narzędziem, które również zostaje dostrzeżone przez twórców WordPress/Gutenberg, który obsługuje blok, gdzie możemy pisać lub też wkleić tekst napisany w ten właśnie sposób.

> W internecie znajdziesz sporo odmian Markdown, jednakże każde z nich opiera się na tych samych zasada, w związku z tym, gdy znasz podstawy jego używania, jesteś gotowy wybrać program go używający, który najbardziej ci odpowiada.

Różnica pomiędzy iA Writer a Typora jest w tym, że w iA Writer domyślnie piszesz w Markdown. Aby wyświetlić twój tekst, w taki sposób, jaki będzie wyświetlany, chociażby na stronie internetowej, musisz kliknąć przycisk podglądu.

![iA Writer - Przycisk podglądu](/images/2021/04/iA_Writer_window-min.png)

Typora używa Markdown i automatycznie przekształca go w aktywny podgląd.

Zaczynając pisać tytuł wpisu od `#` po przejściu do następnej linijki, mamy aktywny podgląd jak to wszystko mniej więcej będzie wyglądać.

Niektórzy wolą jedno, inni drugie.

Podczas pisania nie przeszkadza mi podejście żadnego z programów. W trakcie tworzenia Typora może być bardziej użyteczna, jednakże niż mój tekst skończę i wstawię na stronę, wolę przejrzeć wszystko w iA Writer (lub też w Typora nacisnąć `Ctrl+/` aby przełączyć się w tryb kodu).

Przewagą iA Writer jest fakt dostępności aplikacji na platformy mobilne, dzięki czemu zaczynając pisać na komputerze, możemy kontynuować na komórce lub tablecie.

## Dlaczego pisać z wykorzystaniem Markdown?

Otóż, otwórz sobie tekst napisany w Wordzie sprzed kilku lat, oraz tekst, który napiszesz teraz.

Oba te dokumenty — ich zawartość wygląda inaczej. Nagłówki są innej czcionki, sama czcionka może być inna, odstępy nie takie. I tak dale, i tak dalej.

Cały sens pisania w jednym formacie jest to, że tekst napisany kilka lat temu po wyświetleniu będzie wyglądał spójnie do tekstu, który napiszesz dzisiaj.

## Od czego zacząć?

Aby zacząć, należy poznać, jak Markdown jest skonstruowany.

W tym celu możesz posłużyć się [ściągawką](https://www.markdownguide.org/cheat-sheet/), lub przeczytaj dalej.

A więc zacznijmy.

### Nagłówki

Tak jak Word posiada Nagłówki (Headings), które wyświetlają tekst w różnych wyróżniających czcionkach, tak samo jest w przypadku Markdown.

Zaczynamy od napisania tytułu wpisu poprzedzonego symbolem hash `#` (Nagłówek pierwszego poziomu — główny, H1)

```markdown
# Tytuł naszego wpisy
```

Każde kolejne nagłówki w naszym tekście wprowadzamy jako `##`, nagłówek drugiego poziomu — H2, `###`, nagłówek trzeciego poziomu — H3, i tak dalej.

```markdown
## Pod tytuł — drugi poziom
### Trzeci poziom
```

I tak aż do poziomu szóstego — H6.

### Pogrubienie tekstu

Aby pogrubić tekst, wystarczy poprzedzić go, oraz zakończyć podwójną gwiazdką `**`.

```markdown
Tekst **pogrubiony**
```

aby uzyskać: Tekst **pogrubiony**

### Pochylenie tekstu (kursywa)

Aby pochylić tekst, wystarczy poprzedzić go, oraz zakończyć pojedynczą gwiazdką `*`.

```markdown
Tekst *pochylony*
```

aby uzyskać: Tekst *pochylony*

### Cytat

Aby wyróżnić tekst w postaci cytatu, wystarczy poprzedzić go znakiem `>`.

```markdown
> Tekst cytowany
```

aby uzyskać:

> Tekst cytowany

### Lista

Aby wprowadzić listę, wyliczankę czy też wypunktowanie (jak zwał tak zwał) wystarczy zdecydować się, czy chcemy listę numerowaną (wówczas zaczynamy od numerów), czy wypunktowaną (wówczas poprzedzamy tekst znakiem myślnika `-`).

#### Lista numerowana

```markdown
1. Tekst pierwszy
2. Tekst drugi
2. Tekst trzeci
```

aby uzyskać:

1. Tekst pierwszy
2. Tekst drugi
3. Tekst trzeci

#### Lista wypunktowana

```markdown
- Tekst pierwszy
- Tekst drugi
- Tekst trzeci
```

aby uzyskać:

- Tekst pierwszy
- Tekst drugi
- Tekst trzeci

### Kod

Markdown pozwala na wstawienie bloku zawierającego tekst, który ma być zaprezentowany **tak jak jest**, czyli bez żadnych zmian. Jest to bardzo ważny blok szczególnie dla programistów, którzy chcą się podzielić kodem, tak, który będzie działać po skopiowaniu i wklejeniu. Tego typu blok został zastosowany w powyższych przykładach, gdy zaprezentowałem, jak zastosować i jaki efekt uzyskamy.

Blok kodu wstawia się za pomocą symbolu `.

#### Kod w tekście

Jeżeli chcemy wstawić kod `w tekscie` tak jak tutaj, używamy na początku i na końcu pojedynczego symbolu.

#### Kod w postaci bloku

W przypadku, gdy chcemy utworzyć blok, który może zawierać kilka linijek, wówczas używamy na początku i na końcu trzy takie znaki (```).

```
blok kodu
```

### Linia pozioma (separator)

Aby szybko wstawić linię, która oddzieli jeden tekst od drugiego, wystarczy wstawić trzy myślniki `---`

Efekt:

---

### Odnośnik

W trakcie pisania tekstu często zdąży się, że chcemy dodać odniesienie do innej części na naszej stronie lub do czegoś zlokalizowanego w internecie. Wówczas używamy odnośnika w następującej formie `[tekst odnośnika](https://www.example.com)`

aby uzyskać:

[tekst odnośnika](http://www.example.com)

### Obrazy

Aby wstawić obraz do naszego tekstu, wystarczy użyć podobnego bloku jak powyżej, tyle że poprzedzić go wykrzyknikiem `![tekst alternatywny](obraz.jpg)`

Tekst alternatywny zostaje wyświetlony, jeżeli jest problem z załadowaniem naszego pliku `obraz.jpg`.

### Obraz z Odnośnikiem

Wszelkie powyższe bloki możemy miksować ze sobą.

Jeżeli wstawimy obraz do naszego tekstu, przydałoby się dodać możliwość kliknięcia w niego, aby wyświetlić go w pełnej okazałości. W tym celu miksujemy powyższe w sposób następujący.

`[![tekst alternatywny](obraz.jpg)](obraz.jpg)`

Wewnętrzny `obraz.jpg` odpowiada za to, co wyświetli nam się na ekranie. Zewnętrzny, za to, co wyświetli nam się po kliknięciu.

I tyle, jeżeli chodzi o podstawowe elementy w Markdown.

Jak zauważysz, nie jest ich dużo i podczas pisania stają się one bardzo intuicyjne w użytku.

## Elementy zaawansowane w Markdown

Tutaj sytuacja zaczyna się nieco komplikować.

W zależności od tego, gdzie będziemy używać Markdown do dyspozycji mamy elementy, które w jednego odmianie Markdown będą działać, natomiast w innej nie. Dlatego ważne jest wybranie między innymi edytora, w którym będziemy pisać, aby wspierał to, co będziemy używać, oraz skryptu do publikacji. W moim przypadku przedstawione elementy poniżej są używane w ramach Hugo do wyświetlenia ich na stronie internetowej.

### Tabele

Wykorzystując poniższy Markdown otrzymamy tabelę.

```markdown
| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | Text |
```

w następującej formie:

| Syntax    | Description |
| --------- | ----------- |
| Header    | Title       |
| Paragraph | Text        |

### Przypisy

Przypisy są bardzo przydatne dla autorów tekstu, którzy dodają odniesienia do źródeł. Dzięki przypisom w tekście, na końcu strony buduje nam się tabela, którą później uzupełniamy tym, co potrzebujemy.

```markdown
Tekst w twoim zdaniu. [^1]

[^1]: Przypis do tego tekstu
```

Jeżeli aktywnie używasz Wikipedii, zapewne zauważyłeś, jak przypisy działają, dając ci odniesienie do artykułów źródłowych, na bazie których dany wniosek został wysnuty.

### Przekreślenie

Czasami się zdarza tak, że napiszemy tekst, który później poprawimy, ale chcielibyśmy pokazać gdzie nastąpiła zmiana. Do tego celu używamy dwóch symboli `~` przed i na końcu.

```markdown
Bardzo lubię lody ~~czekoladowe~~ waniliowe.
```

Co będzie wyglądać tak:

Bardzo lubię lody ~~czekoladowe~~ waniliowe.

---

I to by wystarczyło na owocną pracę z tekstem.

Oczywiście, apetyt rośnie w miarę jedzenia. W związku z tym możemy zacząć wykorzystywać inne dostępne elementy Markdown, ale tak naprawdę, to co przedstawione powyżej stanowić będzie 95% tego, czego będziesz używać podczas pisania.

{{% ads-in-article %}}

## Na koniec o Typora

O ile iA Writer ma nieco więcej 'oh' w swoim wyglądzie, o tyle Typora przypodobała mi się integracją z systemem operacyjnym Windows 10.

Jeżeli w naszym systemie zainstalowane mamy dwa lub więcej języki wraz z dodatkiem do sprawdzania pisowni, program ten może to wykorzystać wewnątrz swojego okna aplikacji. Bez konieczności własnego wsparcia dla sprawdzania pisowni, mamy do dyspozycji potężne narzędzie dostarczone wraz z naszym systemem operacyjnym.

> Pod koniec października 2021 roku Typora zmieniła model, na którym operowała. Do tej pory była darmowa (chociażby na macOS), to jednak teraz otrzymujemy okres próbny, po którym należy zapłacić $14.99 (na 3 urządzenia). Przy takim rozwiązaniu jednak wolę [iA Writer](https://ia.net/writer). Jako darmową alternatywę polecam **[Mark Text](https://github.com/marktext/marktext)**.

Oczywiście, żadne narzędzie nie jest idealne i swoje teksty, przed publikacją po polsku, przerzucam przez [ortograf.pl](https://www.ortograf.pl/). W przypadku języka angielskiego pomagam sobie przy pomocy [Grammarly](https://www.grammarly.com/) oraz [Outwrite](https://www.outwrite.com/).

**Pozdrawiam.**



---
## WhatsApp i szyfrowane komunikatory
- **URL:** https://dariusz.wieckiewicz.org/whatsapp-szyfrowane-komunikatory/
- **Date:** 2021-04-23
- **Tags:** WhatsApp, Signal, Szyfrowanie, Facebook, komunikatory

### Content

Używając aplikacji szyfrującej twoją komunikację, często napotkasz się z ludźmi twierdzącymi „że najprawdopodobniej masz coś do ukrycia”.

Co ciekawe, wydanie się w dyskusję z taką osobą z góry skazane jest na niepowodzenie, jeżeli użyjemy nieodpowiednich słów i argumentów.

<!--more-->

Może się to wydawać błahe, ale nie chciałbym oglądać tego typu dyskusji lub nawet w niej uczestniczyć bez wstępnego przygotowania, gdyż każde moje słowo pogłębiałoby mnie w całej tej sytuacji.

Możemy się uważać za osobę, która nie ma nic do ukrycia, co jest totalną bzdurą. Tak czy siak, powinniśmy zadbać o to, aby nasza komunikacja, którą chcemy, aby pozostała prywatna, odbywała się w sposób, do którego nie możemy mieć zastrzeżenia.

Jeżeli chodzi o WhatsApp, to zastrzeżenia do samej aplikacji nie ma. Jest natomiast do jej obecnego właściciela — Facebooka.

Pamiętam kilka lat wstecz, jak komunikowałem się za pomocą Facebook Messenger. W momencie, gdy WhatsApp został udostępniony (jeszcze przez położeniem na niego łapy przez Facebooka), ciężko było kogokolwiek zachęcić do przesiadki.

Facebook Messenger nie cierpię bardziej, a niżeli fakt, że Facebook sprawdzać będzie, z kim się komunikuję. WhatsApp spopularyzował szyfrowaną komunikację na masową skalę. Telegram i Signal nie mogą się z tym liczyć, chociaż dzielnie próbują.

Tak jak Google wykorzystuje informację, z kim się komunikujesz za pomocą poczty Gmail, tak i Facebook chce co nieco wiedzieć. Wiedza, tak jak była, tak i będzie kluczem do wszystkiego.

Dużo osób zapomina, że Telegram i Signal oraz szyfrowanie rozmów użyte w WhatsApp mają z sobą wiele wspólnego. Tak naprawdę, to co zostało zastosowane w WhatsApp, po zmianach, zostało wprowadzone w Signal.

To, czy chcemy używać WhatsApp, zależy od tego, jakie informacje wymieniamy z jego użytkownikami.

Podobnie jak Telegram, WhatsApp przechowuje kopię zapasową naszych czatów, zdjęć i filmików na serwerach w chmurze. Jak by inaczej miało się odbywać przywracanie wszystkie przy zmianie telefonu.

Signal ma do tego nieco inne podejście. Wszystko jest przechowywane na naszym urządzeniu. Gdy stracimy urządzenie, stracimy również dostęp do tego, co wymienialiśmy w ramach aplikacji (przynajmniej z naszej strony).

Signal i jego dane można przenieść z jednego urządzenia na drugie, tylko gdy oba mamy do dyspozycji.

Są tego plusy, jak i minusy, jednakże, jeżeli nasz telefon jest domyślnie zaszyfrowany, jego zniszczenie w sytuacji kryzysowej ogranicza możliwość osób trzecich na dostęp od naszych danych.

Nie zapominajmy, że wszystko, co jest wypuszczone za darmo, prędzej czy później będzie wymagało dodatkowych nakładów finansowych. Dopóki są pieniądze, jest dobrze, jednakże, gdy w studni widać dno, wówczas zaczyna się szukanie oszczędności lub zarabianie na tym, co się ma — na informacji.

Facebook zarabia między innymi na reklamach, które bazują na informacjach, które zbiera on o swoich użytkownikach.

Nie ma się co dziwić, że będąc właścicielem WhatsApp, Facebook chce wykorzystać część biznesową do generowania pieniędzy. Zapewne chciałby wykorzystać również komunikacje prywatnych użytkowników, ale tutaj ogranicza go prawo międzynarodowe.

I ile nie musimy się zbytnio przejmować naszymi prywatnymi wiadomościami, to nie myślmy sobie, że dane (kopie zapasowe) przechowywane w chmurze są wiecznie bezpieczne.

Jeżeli do drzwi Facebooka zapukają panowie z magicznym papierkiem, szybko się okaże, jak dużo informacji są oni w stanie przekazać do odpowiednich organów państwowych, czy tego chcesz, czy nie.

Nie ma się więc co dziwić, że w krajach komunistycznych i pseudodemokratycznych aplikacje takie jak Signal stają się zakazane.

Co ciekawe, Signal nie jest zakazany w Rosji, gdzie przebywa Edward Snowden. Dziwne, że Rosji nie zależy na pozyskaniu informacji, które on wymienia z osobami na całym świecie.

Nie zdziwię się, jak Polska kretyńska władza nie wpadnie na taki pomysł.

Używasz WhatsApp? Nie przejmuj się, ja też.

Mimo że z moimi najbliższymi kontaktami przeniosłem się do Signal, to nadal część znajomych komunikuje się przez WhatsApp a inna część nadal (!) tylko przez Facebook Messenger.

Jeżeli będziesz chciał spróbować czegoś nowego, to z chęcią przedstawię ci alternatywę w postaci Signal, ale nie zamierzam za wszelką cenę zachęcać do porzucenia WhatsApp.

Próbowałem tego w stosunku do użytkowników Facebook Messenger, gdy przechodziłem na WhatsApp i nie zamierzam robić tego w przypadku Signal. Strata czasu.

Sam musisz przekalkulować za i przeciw.

Jeżeli uważasz, że twoja komunikacja jest na tyle wrażliwa, wówczas warto pomyśleć o dodatkowym bezpieczeństwie.

Widać, że wizja z Raportu Mniejszości (Minority Report) co dla niektórych władz byłaby idealnym rozwiązaniem.

Wówczas karani bylibyśmy za samo pomyślenie o czymś, co może być niezgodne z prawem. Mimo że nigdy nie zdecydujemy się na ten krok, znajdą się osoby, które by chciały nas za to pokarać.

Tak samo jest z wiadomościami. Możemy coś napisać, ale nie znaczy, że to zrobimy.

Oczywiście, znajdzie się zawsze ten 1%, który wykorzysta technologię do swoich niecnych celów. Wówczas wszyscy będą krzyczeć, że dana firma (Apple i inne) nie chce udostępnić danych organom ścigania, zasłaniając się szyfrowaniem i prywatnością.

W zależności, z jak potężną firmą będzie się miało do czynienia, przymusy stworzenia furtki w oprogramowaniu mogą być bardziej lub mniej owocne.

Termin na zaakceptowanie nowych dla WhatsApp zbliża się nieuchronnie, a i tak większość użytkowników bez namysłu (lub przez przypadek) kliknie przycisk Akceptuj, nie zgłębiając się w to ani przez chwilę.

Nie musisz rezygnować z WhatsApp, aby zainstalować Signal. Zawsze warto mieć jedną dodatkową opcję na wyciągnięcie... palca.

Pozdrawiam.

{{% ads-in-article %}}


---
## Google Ads — gra nie warta świeczki
- **URL:** https://dariusz.wieckiewicz.org/google-ads-gra-nie-warta-swieczki/
- **Date:** 2021-04-06
- **Tags:** Google Ads, Google AdWords, Google Search Console, WebDev

### Content

Pewnie niewielu z was, szczególnie tych, używających aktywnie Adblock'a zauważyło, że moja strona internetowa nie wyświetla już reklam od Google.

<!--more-->

Odkąd rezygnowałem z Wordpress na rzecz Hugo, moim celem było dążenie do optymalizacji mojej strony, na każdym jednak kroku napotykałem na bariery. 

Ostatnimi czasu Google — znowu — zmienił swój algorytm i wprowadził zmiany, które od dawna były czymś, do czego dążyłem. Otóż na przełomie Lutego i Marca 2021 zaobserwowaliśmy zmiany w pozycjonowaniu stron w wyszukiwarce z głównym naciskiem na wydajność witryny pod kątem [Core Web Vitals](https://web.dev/vitals/).

Moja strona internetowa, mimo że zoptymalizowana jak najbardziej jak by się dało (prawie), znowu wskoczyła na czerwoną linię w Google Search Console, sygnalizując, że moje strony są słabo (poor) zoptymalizowane pod kątem trzech podstawowych aspektów (LCP/FID/CLS).

Impakt wskoczenia z zielonej linii na czerwoną dało się odczuć niemal z dnia na dzień. Liczba odwiedzających moją stronę spadła momentalnie o 40-50%. Co najgorsze, działania, mające na celu natychmiastową poprawę są poddawane sprawdzeniu przez Google, które trwa raptem **28 dni!** 

Tak jest. 28 dni, aby dowiedzieć się, czy strona ponownie może zostać pozycjonowana wyżej w wyszukiwarce, o ile wszystkie metryki zostały spełnione (można je na bierząco monitorować w [web.dev](https://web.dev) lub [PageSpeed Insights](http://developers.google.com/speed/pagespeed/insights/)).

Co najśmieszniejsze, moja witryna została ukarana za to, że używałem usług Google, a nie za to, że coś zrobiłem źle.

Już jakiś czas temu porzuciłem java skrypt Google Analytics (nie rezygnując z Google Analytics) na rzecz [minimalanalytics.com](https://minimalanalytics.com).

Co jeszcze używałem, to reklamy.

Google AdWords (obecnie zwany po prostu Google Ads) przez lata towarzyszyło mi w moich przygodach z moją stroną. I mimo tego, że nigdy nie generowało mi nie wiadomo to jak dużego przychodu, to zawsze pozwoliło na pokrycie, choć niewielkiej części kosztów utrzymania witryny.

W ostatnich miesiącach okazało się jednak, że to ja dawałem więcej, a niżeli otrzymywałem z powrotem. 

W momencie, gdy moje zyski ze strony spadły poniżej £1 na miesiąc a moja strona została ukarana za to, że poszczególne podstrony (z reguły popularne) serwowany są w sposób wolny — niezoptymalizowany, miarka się przebrała.

Z jednej strony Google wymaga od stron, aby były one szybkie. Z drugiej strony oferuje usługi, które ciągną one dane strony na dno. 

Po prostu strzał w stopę.

Zastanawiałem się nad tym od pewnego czasu, a dokładniej, odkąd moja strona została przeniesiona do Hugo a jej utrzymanie, nic (poza domeną) mnie nie kosztuje.

Niektóre wpisy, które generują zysk z polecenia usługi, naturalnie nie serwowały reklam, to jednak zysk, który stał się kulą u nogi mojej strony, stał się dokuczliwy.

W momencie, gdy zostałem ukarany przez Google za serwowanie reklam z ich własnej infrastruktury, powiedziałem dość.

Niestety, wyłączenie reklam to nie wszystko. Straty spowodowane przez nie w algorytmach Google ciągły się za mną przez przeszło miesiąc i dopiero ostatnimi czasy widzę zmianę, choć nadal spora droga przede mną.

I, mimo że wszystkie statystyki poszczególnych podstron wracają na zieloną strefę (na co niektórych stronach nadal walczę z LCP powyżej 2.5s), to przyjdzie mi poczekać kolejne 28 dni (!) na zobaczenie, czy algorytm Google stwierdzi, że moja strona jest warta wyższego miejsca w wyszukiwarce.

![Web.dev - Back in Green #1](/images/2021/04/back_in_green_1-min.png)
![Web.dev - Back in Green #2](/images/2021/04/back_in_green_2-min.png)

{{% ads-in-article %}}

Ku uciesze osób, które znalazły coś ciekawego na mojej stronie, mogą one się cieszyć przeglądaniem jej zawartości bez nękania uciążliwymi reklamami, które i tak są wszechobecne w internecie.

Z jednej strony cieszy mnie rosnąca liczba odwiedzających oraz osób, które w swoich komentarzach, lub bezpośrednio za pomocą e-mail, podziękują za artykuł, który opublikowałem.

Tak czy siak, znajdę sposób, aby pomagając innym dostać coś w zamian — tak jak w przypadku strony [Wise](/wise/), gdzie mogę otrzymać £75 za każde aktywne 3 osoby, podczas gdy polecający otrzyma darmowy przelew do £500 funtów.

Już teraz mam na oku sposób, na bezinwazyjny sposób na zrekompensowanie sobie czasu poświęconego w moją stronę. Jedno jest pewne, że do Google Ads (AdWords) i innych tego typu rozwiązań nie zamierzam wracać.

Pozdrawiam.


---
## Optymalizacja łącza internetowego na routerze z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/optymalizacja-lacza-internetowego-router-openwrt/
- **Date:** 2021-04-06
- **Tags:** bufferbloat, lag, sqm, sqmqos, smartqueuemanagement, OpenWrt

### Content

Ostatnio grając w Call of Duty Mobile, od czasu do czasu doświadczałem nagłego spowolnienia objawiającego się zwiększonym pingiem, co powodowało, że granie stawało się przez chwilę niemożliwe.

<!--more-->

W moim domu mam trochę podłączonych urządzeń do sieci. Dzięki usługom streamingowym nasze gospodarstwo domowe bez problemu pobiera przeszło 1TB (1000GB) danych w miesiącu przy ok. 50GB danych wysłanych. Przy łączu 100/10Mbps to naprawdę sporo.

Nagły skok obciążenia internetu objawia się niekorzystnie dla osób grających online w postaci tak zwanego laga.

Ten nagły skok, spowolnienie, wydłużenie czasu odpowiedzi (ping) związany jest z tak zwanym **Bufferbloat** — lagiem pomiędzy pakietami.

O ile, przy normalnym routerze ciężko sobie z tym poradzić (Linksys WRT32X wraz z fabrycznym oprogramowaniem wykorzystuje tzw. Killer Prioritization Engine w celu optymalizacji m.in. Bufferbloat), o tyle z OpenWrt nie ma z tym większego problemu, gdyż tego typu funkcjonalność możemy dodać.

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

W tym celu należy zainstalować pakiet SQM (Smart Queue Management):

```bash
apk update
apk add luci-app-sqm
```

lub z poziomu LuCI (**System > Software**).

Konfiguracja jest bajecznie prosta.

Przechodzimy do **Network > SQM QoS**.

[![OpenWrt — Network > SQM QoS](OpenWrt_Network_SQM_QoS.png)](OpenWrt_Network_SQM_QoS.png)

W zakładce **Basic Settings** zaznaczmy, **Enable this SQM instance** oraz wybieramy nasz interfejs, do którego podłączone jest nasze łącze internetowe.

W dalszej kolejności należy ustawić prędkość naszego łącza internetowego.

Zalecane jest ustawienie prędkości w granicach do 95% pełnej prędkości łącza, chociaż, w ramach testu sami możecie zdecydować, które ustawienie jest najlepsze. Jako że każde połączenie posiada swego rodzaju zapas (**overhead**), z reguły jesteśmy w stanie osiągnąć więcej niż oficjalnie powiedziane.

> Mój router od Virgin Media z przyznanej konfiguracji pozwala na otrzymanie nawet 117 Mbps (117000047 bps) przy pobieraniu oraz 10.50 Mbps (10500047 bps) przy wysyłaniu.

Na początku ustawiłem **100000 kbit/s download** (odpowiednik 100 Mbps) oraz **10000 kbit/s upload** (odpowiednik 10 Mbps), po czym zwiększyłem download do 110000 kbit/s (odpowiednik 110Mbps).

> Aby nie zaśmiecać dziennika (log) naszego routera niepotrzebnymi wpisami, zmieniłem **Verbosity** na raportowanie jedynie błędów (**error**).

[![OpenWrt — SQM QoS — Basic Settings](OpenWrt_SQM_QoS_Basic_Settings.png)](OpenWrt_SQM_QoS_Basic_Settings.png)

W zakładce Queue Discipline zmieniłam z domyślnego **fq_codel** na **cake** oraz wybrałem skrypt **piece_of_cake.qos**.

[![OpenWrt — SQM QoS — Queue Discipline](OpenWrt_SQM_QoS_Queue_Discipline.png)](OpenWrt_SQM_QoS_Queue_Discipline.png)

W zakładce **Link Layer Adoptation** wybrałem **Ethernet** oraz **Per Packet overhead (byte): 44**.

> W zależności, od rodzaju połączenia, **Per Packet overhead** warto poesperymentować (22, 26, 34), chociaż **44** jest ustawieniem optymalnym.

[![OpenWrt — SQM QoS — Link Layer Adaptation](OpenWrt_SQM_QoS_Link_Layer_Adaptation.png)](OpenWrt_SQM_QoS_Link_Layer_Adaptation.png)

I tyle.

Następnie **Save & Apply** i wszystko jest gotowe.

{{% ads-in-article %}}

---

Jeżeli zauważyłeś, w zakładce **Basic Settings** widnieje zielony przycisk **Add**, który pozwala dodać dodatkową konfigurację, w przypadku gdy posiadamy [dodatkowe połączenie internetowe na naszym routerze](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/).

---

Oto jak z wykorzystaniem [DSL Reports - Speed Test](http://www.dslreports.com/speedtest) moje połączenie internetowe otrzymało nieco stabilności.

[Przed (bez SQL QoS)](http://www.dslreports.com/speedtest/67941789):

![Bufferbloat pre SQM QoS](Bufferbloat_pre_SQM_QoS.png)

[Po (SQL QoS, Cake, piece_of_cake, LLA 44)](http://www.dslreports.com/speedtest/67941836):

![Bufferbloat post SQM QoS](Bufferbloat_post_SQM_QoS.png)

Widać różnicę? 😎

Pozdrawiam.


---
## Ostatnie hasło w LastPass
- **URL:** https://dariusz.wieckiewicz.org/ostatnie-haslo-lastpass/
- **Date:** 2021-03-20
- **Tags:** LastPass, Authenticator, Microsoft Edge, Passwords, Hasła

### Content

I tak minął 16 Marca 2021, w którym to dniu darmowi użytkownicy LastPass musieli zdecydować, na którym urządzeniu chcą korzystać z LastPass wraz z możliwością edycji haseł, lub też sięgnąć do portfela w celu wykupienia licencji.

I mimo tego, że "problem" z LastPass mnie tak do końca nie dotyczy, jako że jestem użytkownikiem pakietu rodzinnego 1Password, to mimo tego spora część moich znajomych została zachęcona przeze mnie do LastPass. W związku z tym nasuwa się pytanie, co dalej?

Microsoft wywołał już nie lada zamieszanie na rynku przeglądarek, wypuszczając Microsoft Edge bacującą na Chromium. Ostatnio dołączył również do rynku zarządzania hasłami, w związku z tym warto się przyjrzeć ich opcji, która zintegrowana z Microsoft Edge oferuje również auto-uzupełnienie haseł również na urządzeniach mobilnych m.in. takich jak iPhone czy Android.

<!--more-->

{{% gallery %}}
[![Authenticator iOS Passwords](/images/2021/03/Authenticator_iOS_Passwords-min.png)](/images/2021/03/Authenticator_iOS_Passwords-min.png)
[![Authenticator iOS Hasła](/images/2021/03/Authenticator_iOS_Hasla-min.png)](/images/2021/03/Authenticator_iOS_Hasla-min.png)
{{% /gallery %}}

Microsoft Edge przechowuje zapisane hasła podobnie jak Google Chrome. Microsoft dodał do swojej aplikacji  **Authenticator** opcje podejrzenia haseł (na chwilę obecną nie ma możliwość dodawania hasła z poziomu telefonu, ale jest możliwość ich edytowania). W zakładce Passwords (Hasła) znajdziemy te, które mamy zainstalowane i zsynchronizowane z naszym kontem Microsoft.

W przypadku iPhone (którego używam), możemy dodatkowo włączyć auto-uzupełnianie z poziomu Ustawień (Settings) > Hasła (Passwords). W przypadku Androida zapewne też.

{{% gallery %}}
[![iOS AutoFill Passwords](/images/2021/03/iOS_AutoFill_Passwords-min.png)](/images/2021/03/iOS_AutoFill_Passwords-min.png)
[![iOS Automatyczne wypełnienie haseł](/images/2021/03/iOS_Automatyczne_wypelnianie_hasel-min.png)](/images/2021/03/iOS_Automatyczne_wypelnianie_hasel-min.png)
{{% /gallery %}}

Microsoft dopiero zaczął zabawę w zarządzanie haseł, ale już teraz dodał opcję importowanie haseł czy to z Google Chrome, czy tych, wyeksportowanych do pliku CSV.

{{% gallery %}}
[![Authenticator iOS Import Passwords](/images/2021/03/Authenticator_iOS_Import_Passwords-min.png)](/images/2021/03/Authenticator_iOS_Import_Passwords-min.png)
[![Authenticator iOS Importuj Hasła](/images/2021/03/Authenticator_iOS_Importuj_Hasla-min.png)](/images/2021/03/Authenticator_iOS_Importuj_Hasla-min.png)
{{% /gallery %}}

To właśnie import z pliku CSV jest ważny, gdyż do tego właśnie pliku możemy wyeksportować nasze hasła, jeżeli chcemy zmienić platformę, np. z LastPass. Informacje o tym [jak wyeksportować hasła z LastPass znajdziecie tutaj](https://support.logmeininc.com/lastpass/help/export-your-passwords-and-secure-notes-lp040004).

Nie będę się rozwodził nad LastPass, gdyż dużo już zostało powiedziane w tym zakresie. LastPass nie jest sam, jeżeli chodzi o wprowadzenie restrykcji. W ostatnie dni Dropbox ze swoją opcją zarządzania haseł również przedstawił, w jaki sposób ich darmowa opcja będzie działać i kiedy będzie trzeba sięgnąć do portfela.

O ile LastPass pozwoli na dostęp do haseł tylko z jednego rodzaju urządzenia (albo komputer, albo urządzenie przenośne tj. telefon, tablet), zobaczmy, jak by to wyglądało, gdybyśmy chcieli skorzystać z opcji Microsoftu.

> Oczywiście, jeżeli korzystasz z urządzeń z nadgryzionym jabłkiem, możesz powiedzieć, że hasła możesz przechowywać za darmo w iCloud.
> O ile nie mam nic do iCloud, poważnym problemem jest to, że jak chcesz przenieść hasła z iCloud gdzie indziej, to tutaj zaczynają się schody.

Aby móc mieć dostęp do haseł przechowywanych w naszym Microsoft Edge, musimy oczywiście być zalogowanym na nasze konto w Microsoft oraz mieć włączoną opcję synchronizacji haseł.

[![Microsoft Edge Profiles Sync](/images/2021/03/Microsoft_Edge_Profiles_Sync-min.png)](/images/2021/03/Microsoft_Edge_Profiles_Sync-min.png)

Jeżeli zaczynamy od zera, w momencie, gdy pierwszy raz zalogujemy się na naszym koncie, chociażby na WikiPedia, zapytani zostaniemy, czy chcemy zachować hasło.

[![Microsoft Edge Save Password](/images/2021/03/Microsoft_Edge_Save_Password-min.png)](/images/2021/03/Microsoft_Edge_Save_Password-min.png)

Po chwili wszystko się zsynchronizuje i możemy zobaczyć hasło również w aplikacji na naszym telefonie.

{{% gallery %}}
[![Authenticator iOS Passwords preview EN](/images/2021/03/Authenticator_iOS_Passwords_previewEN-min.png)](/images/2021/03/Authenticator_iOS_Passwords_previewEN-min.png)
[![Authenticator iOS Passwords preview PL](/images/2021/03/Authenticator_iOS_Passwords_previewPL-min.png)](/images/2021/03/Authenticator_iOS_Passwords_previewPL-min.png)
{{% /gallery %}}

Mamy możliwość podejrzenia hasła, jak również jego zmianę klikając przycisk Edytuj.

{{% gallery %}}
[![Authenticator iOS Passwords preview EN wikipedia](/images/2021/03/Authenticator_iOS_Passwords_previewEN_wikipedia-min.png)](/images/2021/03/Authenticator_iOS_Passwords_previewEN_wikipedia-min.png)
[![Authenticator iOS Passwords preview PL wikipedia](/images/2021/03/Authenticator_iOS_Passwords_previewPL_wikipedia-min.png)](/images/2021/03/Authenticator_iOS_Passwords_previewPL_wikipedia-min.png)
{{% /gallery %}}

{{% ads-in-article %}}

Podobnie jak bezpośrednio z Microsoft Edge:

[![Microsoft Edge Profiles Passwords](/images/2021/03/Microsoft_Edge_Profiles_Passwords-min.png)](/images/2021/03/Microsoft_Edge_Profiles_Passwords-min.png)

W momencie, gdy Microsoft zdecyduje się na wprowadzenie możliwości generowania hasła i zapisywania go z poziomu telefonu, to już będzie coś. A gdy pojawi się rozszerzenie (o co wątpię) do innych przeglądarek tj. Safari na macOS, to pozycja 1Password, którego używam, będzie zagrożona.

Na razie Microsoft eksperymentuje i dobrze mu to idzie. W dobie zamieszania z LastPass, Authenticator, wraz z Microsoft Edge jest to swojego rodzaju rozsądną alternatywą.

Pozdrawiam.


---
## Migracja systemu komentarzy — utterances
- **URL:** https://dariusz.wieckiewicz.org/migracja-systemu-komentarzy-utterances/
- **Date:** 2021-03-16
- **Tags:** hugo, disqus, github, GitHub Issues, utterances

### Content

Odkąd zacząłem przygody z własną stroną internetową, ważne było, aby nawiązać swojego rodzaju kontakt z czytelnikiem. System komentarzy był przy tym niezastąpiony.

Zaczynając od wbudowanego systemu w Wordpress, który szybko zalewany był spamem, przeniosłem się na Disqus. Z Disqus zostałem przez cały okres, w tym przeniosłem go podczas rezygnacji z WordPress na rzecz Hugo.

<!--more-->

Podczas migracji do Hugo, głównym celem był wygląd, który zadowoli, mnie jak i czytelników, ale również – a co najważniejsze – szybkość.

Dzięki odpowiednim modyfikacją moja strona ładuj się szybko, plasując się na zielono w Google PageSpeed czy też GTMetrix.

Oczywiście, nie wszystkie elementy strony są zoptymalizowane pod kątem prędkości.

Nie chciałem rezygnować z systemu reklam bazującego na Google AdSense, więc podstrony, które wyświetlają reklamy, są nieco wolniejsze od innych. Na to niestety nie mam wpływu.

Na co mam wpływ to system komentarzy.

Disqus nie jest lekki, przez co ograniczyłem jego ładowane do czasu, aż czytelnik zechce zostawić komentarz i kliknie przycisk "Pokaż komentarze". Pozwoliło mi to zniwelować negatywny wpływ zasobożerności Disqus oraz ograniczyło po części śledzenie użytkowników, które w Disqus jest wszechobecne.

Jako że aspekt prywatności jest obecnie na porządku dziennym, postanowiłem sprawdzić, jaką alternatywę mogę wprowadzić na moją stronę, aby raz na zawsze zrezygnować z Disqus.

Nie zamierzałem korzystać z takich opcji, że po każdym komentarzu moja statyczna strona musi zostać ponownie wygenerowana, aby komentarz był wyświetlony. W związku z tym rozpocząłem poszukiwania.

Poniżej opiszę, jak (po stoczonej walce z samym sobą) przeniosłem komentarze z **Disqus** do **GitHub Issues**. Jednocześnie poniższy wpis będzie swojego rodzaju historią zmian na mojej stronie, gdzie zostawię część mojego "starego" kodu z Disqus.

## Jak Disqus działa(ł) na mojej stronie

Disqus używałem na mojej stronie w dwojaki sposób. Po pierwsze, przywoływałem `disqus count.js`, który wyświetlał w nagłówku (i później w przycisku do ładowania komentarzy) ile dany wpis ma komentarzy, w postaci cyfry.

```html
<script id="dsq-count-scr" src="https://dariuszwieckiewicz.disqus.com/count.js" async></script>
```

```html
<a href="{{ .RelPermalink }}#disqus_thread" class="article-comment-link">{{ T "Comments" }} <span class="disqus-comment-count" data-disqus-url="{{ trim .Permalink "/" }}"></span></a>
```

Następnie pod tekstem wpisu miałem przycisk, który wyświetlał liczbę komentarzy i na którego można było kliknąć, aby przywołać `disqus embed.js` w celu załadowania skryptu i wyświetlenia komentarzy zapisanych na serwerach Disqus.


```js
<script>
  var button = document.getElementById("show-comments")
  if (button != null) {

    var clickHandler = function(){
      var disqus_shortname = 'dariuszwieckiewicz';

      var disqus = document.createElement('script');
      disqus.type = 'text/javascript';
      disqus.async = true;
      disqus.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(disqus);

      button.style.display = 'none';
  };

  button.addEventListener('click', clickHandler, false);
}
</script>
```

```html
<div class="disqus-comments">
  <h4>Dołącz do dyskusji</h4>
  <button aria-label="{{ T "ShowComments" }}" id="show-comments" class="btn btn-default" type="button"><span class="disqus-comment-count" data-disqus-url="{{ trim .Permalink "/" }}">{{ T "ShowComments" }}</span></button>
  <div id="disqus_thread"></div>

    <script>
      var disqus_config = function () {
        this.page.url = '{{ trim .Permalink "/" }}';
      };
    </script>

</div>
```

Metodę na przycisk wprowadziłem z prostego względu, gdyż nie każdy wpis posiadał komentarze, a marnowanie czasu na ładowanie skryptu na każdej stronie miało negatywny wpływ na wydajność całej strony.

## Eksport komentarzy z Disqus

Jako że nie chciałem stracić obecnych komentarzy, najpierw musiałem wyeksportować je z Disqus to pliku.

W tym celu [zalogowałem się na moje konto w Disqus](https://disqus.com/profile/login/), a następnie przeszłem na [stronę administracyjną](https://admin.disqus.com/admin/) skąd wybrałem moją stronę internetową.

Przechodząc do zakładki **Moderation**, po lewej stronie mamy dostępne menu **Export**, w którym to klikając na przycisk **Export Comments** możemy zlecić wykonanie kopii zapasowej.

[![Disqus Moderation Export](/images/2021/03/Disqus_moderation_export-min.png)](/images/2021/03/Disqus_moderation_export-min.png)

Eksport nie następuje natychmiastowo, dlatego powita nas wiadomość:
> Your export has been queued. We will send an email to your registered address when it is available.

W zależności od tego, jak dużo mamy komentarzy, po chwili (dłuższej lub krótszej) otrzymamy maila, że nasz eksport jest gotowy do pobrania, wraz z odnośnikiem do pobrania pliku XML spakowanego w GZip.

I tak mam plik z komentarzami, który muszę przerobić i z importować do mojego repozytorium na GitHub. W tym celu utworzyłem repozytorium o nazwie mojej strony [idarek/dariusz.wieckiewicz.org](https://github.com/idarek/dariusz.wieckiewicz.org).

Rozpakowujemy plik i tak otrzymujemy nasz plik XML.

## Poszukiwania metody importu komentarzy do GitHub Issues

W swoich poszukiwaniach natrafiłem na dwa przeplatające się wpisy, [Removing Disqus and adding GitHub Issue Comments](https://asp.net-hacker.rocks/2018/11/19/github-comments.html)) oraz [Migrate Disqus comments to Utterances (in GitHub issues) with Python](https://pawamoy.github.io/posts/migrate-disqus-comments-to-utterances-github/).

Autorzy obu stron przedstawili różne metody na przeniesienie komentarzy. **Jürgen** wykorzystał .NET, natomiast **Pawamoy** skrypt w Python.

Chciałem skupić się na wpisie Jürgena, jednak jako użytkownika macOS (mimo że Windows mam pod ręką wirtualnie) nie chciałem używać narzędzia działającego głównie pod jednym systemem (Windows), mimo dostępnego pakietu .NET na macOS, więc poszukałem innego rozwiązania. To rozwiązanie znalazłem na stronie [pawamoy](https://pawamoy.github.io/posts/migrate-disqus-comments-to-utterances-github/), który wykorzystuje skrypt Python.

## Importowanie komentarzy — podejście pierwsze

Rozwiązanie od [Pawamoy](https://pawamoy.github.io/posts/migrate-disqus-comments-to-utterances-github/) wydałało się prostrze w użyciu (pozornie).

W pierwszej kolejności należało [wygenerować token dostępowy do GitHub](https://github.com/settings/tokens) z opcją  `public_repo`.

[![Generate Token GitHub](/images/2021/03/Generate_Token_GitHub-min.png)](/images/2021/03/Generate_Token_GitHub-min.png)

Tak wygenerowany token należałoby wkleić w konfigurację parametrów środowiskowych dla dalszego skryptu python. Dostosowałem również nazwą użytkownika, repozytorium oraz adres mojej strony.

Wyglądałoby to mniej więcej tak:

```bash
export FILEPATH="comments.xml"
export USERNAME="idarek"
export TOKEN="naszWygenerowanyToken"
export REPOSITORY="idarek/dariusz.wieckiewicz.org"
export BASE_URL="https://dariusz.wieckiewicz.org/"
```

W dalszej części należałoby skopiować główny skrypt (nieco go dostosowując — spolszczając) i uruchomić.

> Nim to jeszcze zrobiłem, doczytałem i otrzymałem potwierdzenie od autora skryptu, że aby wszystko działało, Utterances musi już działać, a na każdym wpisie, na którym był komentarz w Disqus, należy napisać komentarz testowy, aby Utterance utworzył wstępny GitHub Issue. W przeciwnym razie nie będzie to działać.

Jeżeli w przypadku niewielkiej liczby wpisów to może nie jest problem, ale wyobraźcie sobie robienie tego przy setkach wpisów i komentarzy. Pomyślałem więc, że odpuszczę.

W związku z tym, nim podążyłem tą drogą, wróciłem [do wpisu Jürgen Gutsch](https://asp.net-hacker.rocks/2018/11/19/github-comments.html), który opisał nieco inne podejście do procesu migracji.

Jürgen zamiast pythona wykorzystał skrypt w C#, w związku z tym, uruchomienie go w innym środowisku niż Windows może być bardziej skomplikowane. Na szczęście Microsoft udostępnił [.NET Framework oraz .NET Core](https://dotnet.microsoft.com/download) również dla innych systemów operacyjnych, więc była nadzieja!

## Importowanie komentarzy — podejście drugie

Utterances pozwala powiązać wpis na stronie z komentarzem (GitHub Issue) między innymi przy pomocy tytułu strony (`title`), pełnego adresu (`url`) lub adresu skróconego, bez przedrostka domeny (`pathname`).

Dla mnie `pathname` był tym, czego szukałem, wówczas tytuł GitHub Issue wyglądałby następująco `‌/przywracanie-grub-boot-loadera-po-instalacji-windowsa/`.

Przeanalizowałem wpis Jürgena i zauważyłem, że skoncentrował on się na GitHub Issue bazujące na Tytule wpisu (`title`).

Przyznając się szczerze, nie jestem programistą i od samego patrzenia na wpis Jürgena stwierdziłem, że jest to nieco za dużo na moje doświadczenie (trzeba znać swoje limity i wiedzieć, kiedy powiedzieć **pass**). W związku z tym zacząłem moje dalsze poszukiwania.

Oczywiście, jeżeli czujesz się mocny w tej dziedzinie, warto spróbować. W przeciwieństwie do pierwszego podejścia skrypt Jürgena nie potrzebuje (jeszcze) działającego Utterances na stronie. W ramach procesu importu utworzy on niezbędne GitHub Issues, które później będzie można wykorzystać z Utterances.

## Importowanie komentarzy — podejście trzecie

I tak natrafiłem na repozytorium [harttle/disqus2github](https://github.com/harttle/disqus2github) na GitHub.

Całość wyglądała bardzo prosto i przejrzyście. Sprawdzając, jak [autor z importował wpisy do swojej strony](https://github.com/harttle/harttle.github.io/issues) wszystko wyglądało tak, jak bym chciał.

Oczywiście, pamiętałem o dostosowaniu (spolszczeniu) fraz przed importem, oraz problem, na który natrafili zarówno **Jürgen** jak i **Pawamoy** skutkujący konieczności dodania opóźnienie kilkusekundowego do procedury importu, aby nie zostać zbanowanym przez system GitHub.

A więc [pobrałem repozytorium harttle/disqus2github](https://github.com/harttle/disqus2github/archive/master.zip). Po czym otworzyłem w Atom w celu dostosowania.

[![Disqus2GitHub Atom](/images/2021/03/disqus2github_atom-min.png)](/images/2021/03/disqus2github_atom-min.png)

Rozpocząłem od zmiany w `config.example.json` wprowadzając moje repozytorium oraz token, który [wygenerowaliśmy](https://github.com/settings/tokens) wcześniej.

```json
{
  "repo": "idarek/dariusz.wieckiewicz.org",
  "xmlFile": "./data.xml",
  "token": "naszWygenerowanyToken"
}
```

Następnie zmieniłem nazwę pliku z `config.example.json` na `config.json`.

Nasze wyeksportowane komentarze z Disqus (`*-all.xml.gz`) rozpakowałem i zmieniłem nazwę na `data.xml`.

W pliku `github.js` zmieniłem linijkę 8 z:
```js
body: comment.message + '\n\nBy ' + comment.author + ' ' + comment.date
```

na:
```js
body: comment.message + '\n\nPrzez ' + comment.author + ' ' + comment.date
```

Pora na instalację niezbędnych modułów oraz wykonanie importu.

```
npm install node index.js
```

Oczywiście, musimy mieć `node` zainstalowany w systemie
```
brew install node
```

> Nie wiesz, czym jest [Brew](https://brew.sh)? Jest to menadżer pakietów, który rozszerza znacząco możliwości system macOS (osobiście przypomina mi `apt` z systemu Debian/Ubuntu).

Niestety, nie wszystko poszło po myśli, a konsola wyrzuciła tonę błędów, a import nie nastąpił.

{{% gallery %}}
[![Node Errors #1](/images/2021/03/node_errors_1-min.png)](/images/2021/03/node_errors_1-min.png)
[![Node Errors #2](/images/2021/03/node_errors_2-min.png)](/images/2021/03/node_errors_2-min.png)
[![Node Errors #3](/images/2021/03/node_errors_3-min.png)](/images/2021/03/node_errors_3-min.png)
{{% /gallery %}}

Problem okazał się `node-expat` oraz `xml2json`.

Napisałem do Autora (Jun Yang) z zapytaniem, ale otrzymana odpowiedź zniechęciła mnie do dalszej zabawy z tym rozwiązaniem.

> "(...) Try upgrade it or replace with another xml parser. This repo is meant to be a scaffold instead of a versatile cli tool. Try tweak it around and if you find it useful for everyone (...)"

No nic, dalsze poszukiwania trzeba zacząć.

{{% ads-in-article %}}

## Importowanie komentarzy — podejście czwarte

I tak w moich dalszych poszukiwaniach natrafiłem na stronę François-Xavier Cat (przyznam szczerze, że przeplotła się ona wcześniej przez moje okno przeglądarki). Na swoim wpisie zatytułowanym [Moving my blog comments from Disqus to Github issues using PowerShell](https://lazywinadmin.com/2019/04/moving_blog_comments.html) opisał on metodę na wykorzystanie PowerShell do importu komentarzy.

Jako że PowerShell nie jest mi obcy, gdyż jest wszechobecny w Windows 10 oraz można go zainstalować w macOS, postanowiłem spróbować.

W tym celu użyłem Homebrew (Brew), tak jak wspomniałem wcześniej.

```
brew install powershell
```

I tak z poziomu terminala mamy dostępną komendę `pwsh` w celu uruchomienia PowerShell.

François-Xavier Cat odwalił kawał dobrej roboty, opisując dlaczego zdecydował się na rezygnacje z Disqus, przedstawiając plusy i minusy całego zamieszania.

W moim podejściu postanowiłem wykorzystać [ten sam plan](https://lazywinadmin.com/2019/04/moving_blog_comments.html#moving-from-disqus-to-github-issues), który wstępnie autor założył, pomijając eksport komentarzy, który dokonałem na samym początku.

> Nim zacząłem poniższe działania, otworzyłem mój plik exportu XML w Atom i zmieniłem wszystkie odnośniki `http://` na `https://` gdyż moja strona serwowana jest wyłącznie przez [bezpieczne połączenie z zieloną kłódką](/certyfikat-ssl-dla-twojej-strony-www/). Było tego w sumie 272 pozycje, a Atom poradził sobie w sekundę :).

Uruchomiłem `pwsh` i załadowałem komentarze następującą komendą.

```bash
# Load the file
$Disqus = Get-Content -Path ./dariuszwieckiewicz-all.xml

# Cast the file to XML format
$DisqusXML = ([xml]$Disqus).disqus

# Output result
$DisqusXML
```

Na etapie wyjściowym (output) otrzymałem:

```
xmlns          : http://disqus.com
dsq            : http://disqus.com/disqus-internals
xsi            : http://www.w3.org/2001/XMLSchema-instance
schemaLocation : http://disqus.com/api/schemas/1.0/disqus.xsd http://disqus.com/api/schemas/1.0/disqus-internals.xsd
category       : category
thread         : {thread, thread, thread, thread…}
post           : {post, post, post, post…}
```

Eksport z Disqus nie jest przyjazny użytkownikowi. Wpisy i komentarze porozrzucane są po całym pliku i powiązane przez `thread`, `posts` oraz unikalny identyfikator (ID).

W pierwszej kolejności autor skupił się na odpowiednim obrobieniu informacji, zaczynając od samych komentarzy.

```bash
# Retrieve all Comments
$AllComments = $DisqusXML.post

# Retrieve properties available for each comments
$Properties = $AllComments | Get-Member -MemberType Property

# Process each Comments
$AllComments | Foreach-Object -process {

  # Store the current comment
  $Comment = $_

  # Create Hashtable to store properties of the current comment
  $Post = @{}

  # Go through each properties of each comments
  foreach ($prop in $Properties.name)
  {
     if($prop -eq 'id')
     {
        # Capture Unique IDs
        $Post.DsqID = $Comment.id[0]
        $Post.ID = $Comment.id[1]
     }
     elseif($prop -eq 'author')
     {
        # Author information
        $Post.AuthorName = $Comment.author.name
        $Post.AuthorIsAnonymous = $Comment.author.isanonymous
     }
     elseif($prop -eq 'thread')
     {
        # Here is the important data about the
        #  thread the comment belong to
        $Post.ThreadId = $Comment.thread.id
     }
     elseif($prop -eq 'message')
     {
        $Post.Message = $Comment.message.'#cdata-section'
     }
     else{
        # Other properties
        $Post.$prop = ($Comment |
            Select-Object -ExpandProperty $prop ) -replace '`r`n'
     }
     # Keep the original comment data structure if we need it later
     $Post.raw = $Comment
  }
  # Return a PowerShell object for the current comment
  New-Object -TypeName PSObject -Property $Post
}
```

Aby zobaczyć, jak wszystko wygląda wykonujemy komendę `$DisqusXML.post`

Następnie, to samo dla wątków (wpisów).

```bash
# Retrieve threads
$AllThreads = $DisqusXML.thread

# Retrieve Thread properties
$Properties = $AllThreads |
    Get-Member -MemberType Property

# Process each threads
$AllThreads=$AllThreads | Foreach-Object -process {

    # Capture Current ThreadItem
    $ThreadItem = $_

    # Create Hashtable for our final object
    $ThreadObj = @{}

    # Go through each properties of each threads
    foreach ($prop in $Properties.name)
    {
        if($prop -eq 'id')
        {
            # Thread ID
            $ThreadObj.ID = $ThreadItem.id[0]
        }
        elseif($prop -eq 'author')
        {
            # Author
            $ThreadObj.AuthorName = $ThreadItem.author.name
            $ThreadObj.AuthorIsAnonymous = $ThreadItem.author.isanonymous
            $ThreadObj.AuthorUsername = $ThreadItem.author.username
        }
        elseif($prop -eq 'message')
        {
            $ThreadObj.Message = $ThreadItem.message.'#cdata-section'
        }
        elseif($prop -eq 'category')
        {
            $ThreadObj.Category = ($ThreadItem|
                Select-Object -ExpandProperty $prop).id
        }
        else{
            # Other properties
            $ThreadObj.$prop = ($ThreadItem |
                Select-Object -ExpandProperty $prop) -replace '`r`n'
        }
        $ThreadObj.raw = $ThreadItem
    }
    # Return a PowerShell object for the current ThreadItem
    New-Object -TypeName PSObject -Property $ThreadObj
}
```

Aby zobaczyć, jak wszystko wygląda wykonujemy komendę `$DisqusXML.thread`

Po tym kroku autor wspomniał o śmieciach, które nagromadziły się w jego systemie komentarzy na przełomie lat oraz podczas używania przez niego różnych platform do publikacji jego twórczości.

Osobiście pominąłem ten krok, gdyż nie miałem z tym problemu. Odkąd zacząłem korzystać z Disqus, moja strona zagnieździła się na dobre z obecnym adresem strony.

Nim autor zdecydował się na połączenie wpisów z komentarzami, postanowił wprowadzić procedurę sprawdzającą tytuł wpisu z aktualnie działającą stroną. Miało to na celu uzupełnienie ewentualnych braków w eksporcie z Disqus (również to pominąłem w moim imporcie).

Dodatkowo postanowił usunąć nieco śmieci z tytułów wpisów oraz pozostawić w odnośniku do pliku tylko `pathname`.

```bash
# Create 2 properties 'link2' and 'title2' that will contains the clean information
#  then group per link (per thread or post)
#  link2: trimed URL
#  title2: Remove prefix, weird brackets or weird characters, Encoding issues
$AllThreads = $threads|
  Select-Object -Property *,
  @{L='link2';E={
      $_.link -replace "
        https://|http://|www\.|
        lazywinadmin\.com|
        lazywinadmin\.github\.io|
        \/minimal-mistakes|
        \/powershell"}},
  @{L='title2';E={
      $_.title -replace "^LazyWinAdmin:\s" `
        -replace 'â€™',"'" `
        -replace "Ã¢â‚¬Â¦|â€¦" `
        -replace 'â€“','-' `
        -replace '\/\[','[' `
        -replace '\\\/\]',']' }}|
  Group-Object -Property link2
```

W moim przypadku wyglądałoby to następująco.

```bash
$AllThreads = $threads|
  Select-Object -Property *,
  @{L='link2';E={
      $_.link -replace "
        https://|http://|www\.|
        dariusz\.wieckiewicz\.org"}},
  @{L='title2';E={
      $_.title
        -replace " // Dariusz Więckiewicz","" `
        -replace "&#8230;","..." `
        -replace "&#8222;",'"' `
        -replace "&#8221;",'"' `
        -replace "&#8211;",'-' }}|
  Group-Object -Property link2
```

Pora na połączenie komentarzy ze wpisami.

```bash
# Append the thread information to the each comment object
# Here we just pass the realtitle and link2
$AllTogether = $Comments | ForEach-Object -Process {
    $CommentItem = $_
    $ThreadInformation = $ThreadsUpdated |
        Where-Object -FilterScript {
            $_.id -match $CommentItem.ThreadId
        }

    $CommentItem |
        Select-Object -Property *,
            @{L='ThreadTitle';E={$ThreadInformation.title2}},
            @{L='ThreadLink';E={$ThreadInformation.link2}}
} |
Group-Object -Property ThreadLink |
Where-Object -FilterScript {$_.name}
```

Jeżeli wszystko przeszło poprawnie, gotowi jesteśmy na utworzenie GitHub Issue oraz dodanie naszych komentarzy.

W tym celu niezbędne będzie doinstalowanie modułu `PowerShellForGithub` do PowerShell oraz dodanie naszych danych uwierzytelniających.

```bash
# First fetch the module from the PowerShell Gallery
Install-Module -Name powershellforgithub -scope currentuser -verbose
# Import it
Import-Module -Name powershellforgithub

# Specify our Github Token
$key = 'naszWygenerowanyToken'
$KeySec = ConvertTo-SecureString $key -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ('username_is_ignored', $KeySec)

# Set Connection and configuration
Set-GitHubAuthentication -Credential $cred
Set-GitHubConfiguration -DisableLogging -DisableTelemetry
```

Zmieniamy tylko `naszWygenerowanyToken` na Token API, który wygenerowaliśmy na początku tego wpisu.

Teraz jesteśmy gotowi na import, dokonując nieco dostosowania do naszego środowiska (OwnerName, RepositoryName, BlogUrl) oraz spolszczając co nieco.

```bash
# Define Github commands default params
$GithubSplat = @{
    OwnerName = 'idarek'
    RepositoryName = 'dariusz.wieckiewicz.org'
}
$BlogUrl = 'https://dariusz.wieckiewicz.org'

# Retrieve issues
$issues = Get-GitHubIssue @githubsplat

# Process each threads with their comments
$AllTogether |
Sort-Object name -Descending |
ForEach-Object -Process{

    # Capture current thread
    $BlogPost = $_

    # Issue Title, replace the first / and
    #  remove the html at the end of the name
    $IssueTitle = $BlogPost.name -replace '^\/' -replace '\.html'

    # lookup for existing issue
    $IssueObject = $issues|
        Where-Object -filterscript {$_.title -eq $IssueTitle}

    if(-not $IssueObject)
    {
        # Build Header of the post
        $IssueHeader = $BlogPost.group.ThreadTitle |
          select-object -first 1

        # Define blog post link
        $BlogPostLink = "$($BlogUrl)$($BlogPost.name)"

        # Define body of the issue
        $Body = @"
# $IssueHeader

[$BlogPostLink]($BlogPostLink)

<!--
Imported via PowerShell on $(Get-Date -Format o)
-->
"@
        # Create an issue
        $IssueObject = New-GitHubIssue @githubsplat `
            -Title $IssueTitle `
            -Body $body `
            -Label 'blog comments'
    }

    # Sort comment by createdAt
    $BlogPost.group|
      Where-Object {$_.isspam -like '*false*'} |
      Sort-Object createdAt |
      ForEach-Object{

        # Current comment
        $CurrenComment = $_

        # Define body of the comment
        $CommentBody = @"
**Dodano**: ``$($CurrenComment.createdAt)``
$($CurrenComment.message)

<!--
Imported via PowerShell on $(Get-Date -Format o)
Json_original_message:
$($CurrenComment|Select-Object -ExcludeProperty raw|convertTo-Json)
-->
"@
        # Create Comment
        New-GitHubComment @githubsplat `
            -Issue $IssueObject.number `
            -Body $CommentBody
    }
    # Close issue
    Update-GitHubIssue @githubsplat `
        -Issue $IssueObject.number `
        -State Closed
}
```

I co, i nic! W moim przypadku nie zadziałało. Po raz kolejny, moje doświadczenie jest niewystarczające, żeby znaleźć przyczynę.

Kolejne rozwiązanie (mimo że prawdopodobnie poprawne) do śmieci a ja wróciłem do punktu wyjścia.

## Importowanie komentarzy — podejście piąte

Jako że liczba działających sposobów poniekąd się wyczerpała, pozostała ostatnia metoda — manualna, tak jak opisał to [Nan Xiao](https://nanx.me/blog/post/migrating-from-disqus-to-utterances/) w punkcie 2 procesu migracji.

To skoro już zamierzam zrobić to ręcznie, to dlaczego by nie wrócić do **podejścia pierwszego** od [pawamoy](https://pawamoy.github.io/posts/migrate-disqus-comments-to-utterances-github/) i jego półautomatycznego importu.

**Przypominając.**

Aby podejście pierwsze zadziałało, Utterances musi już działać, w związku z tym skoczymy najpierw nieco **[do przodu](#utterances)**.

> Nie kontynuuj czytania poniżej — przejdź (kliknij) **[do przodu](#utterances)**. Na dalszy etapie wrócisz do poniższego paragrafu. W przeciwnym razie będzie ci się wszystko wydawało oderwane od rzeczywistości.

---

### Dalej

Skoro mamy już aktywny i działający system komentarzy, pora na import z Disqus.

Żeby dowiedzieć się, które wpisy posiadają komentarze, wykorzystałem do tego *Terminal* macOS.

```
more dariuszwieckiewicz-all.xml | grep "thread dsq:id" | grep ">"
```

Dzięki temu otrzymałem bogatą listę:
```xml
(...)
<thread dsq:id="6892197256">
<thread dsq:id="6892197256">
<thread dsq:id="6892178219">
<thread dsq:id="6892178219">
<thread dsq:id="7905495271">
<thread dsq:id="7905495271">
<thread dsq:id="7905495271">
<thread dsq:id="6892197256">
<thread dsq:id="6892197256">
(...)
```
Tylko 181 odnośników 😱

Na szczęście sporo z nich się powtarza, świadcząc o kilku komentarzach w tym samym wpisie.

Posortowałem i usunąłem duplikaty i tak zostało mi 41 wpisów z komentarzami.

Teraz, przeszukując mój plik XML, musiałem znaleźć URL odpowiadający otrzymanemu numerowi.

Irytujące stało się to, że Disqus powiązał komentarze z adresami URL, które miałem lata temu, jeszcze przed pozbyciem się daty z URL, podczas gdy teraz wszystkie moje wpisy posiadają pojedynczy `pathname`.

Na szczęście dotyczyło ty tylko 11 wpisów sprzed 2014 roku, które mogłem zmienić ręcznie.

Dzięki temu otrzymałem 33 wpisy z komentarzami, na których musiałem napisać `test` aby zainicjować GitHub Issue i umożliwić mi późniejszy import metodą [pawamoy](https://pawamoy.github.io/posts/migrate-disqus-comments-to-utterances-github/).

> W przypadku Hugo można to było zrobić, uruchamiając go lokalnie lub zdecydować się na pracę Online. Osobiście sprawdziłem wszystko online, aby upewnić się, że nie robię nic na darmo, a wszystko działa tak jak trzeba.

Nim jednak zacząłem, doinstalowałem `python3` za pomocą `brew install python3` w moim systemie oraz zaktualizowałem `pip3`.
```
sudo -H pip3 install --upgrade pip --force-reinstall
```

Następnie zainstalowałem niezbędne pakiety dodatkowe [PyGithub](https://pypi.org/project/PyGithub/#files) oraz [xmltodict](https://pypi.org/project/xmltodict/#files) (bez konieczności ich pobierania).

```
pip3 install PyGithub
pip3 install xmltodict
```

W terminalu wykonujemy poniższe komendy w celu ustawienia środowiska startowego:
```bash
export FILEPATH="dariuszwieckiewicz-all.xml"
export USERNAME="idarek"
export TOKEN="naszWygenerowanyToken"
export REPOSITORY="idarek/dariusz.wieckiewicz.org"
export BASE_URL="https://dariusz.wieckiewicz.org/"
```

Następnie przygotowujemy plik `disqus.py` wraz z poniższym skryptem odpowiadający za import.

> Od siebie dodałem `import os` gdyż w macOS nie chciało bez tego działać.

```python
import time
import os
import xmltodict
from github import Github

FILEPATH = os.environ["FILEPATH"]
USERNAME = os.environ["USERNAME"]
TOKEN = os.environ["TOKEN"]
REPOSITORY = os.environ["REPOSITORY"]
BASE_URL = os.environ["BASE_URL"]


def disqus_to_github():
    g = Github(TOKEN)
    repo = g.get_repo(REPOSITORY)
    issues = repo.get_issues()

    with open(FILEPATH) as fd:
        data = xmltodict.parse(fd.read())

    data = data["disqus"]

    threads = [dict(t) for t in data["thread"]]
    posts = sorted((dict(p) for p in data["post"]), key=lambda d: d["createdAt"])

    # only keep threads with comments
    twc_ids = set(p["thread"]["@dsq:id"] for p in posts)
    threads = {t["@dsq:id"]: t for t in threads if t["@dsq:id"] in twc_ids}

    # associate the thread to each post
    for post in posts:
        post["thread"] = threads[post["thread"]["@dsq:id"]]

    # associate the related GitHub issue to each thread
    # warning: the issues need to exist before you run this script!
    # write a "test" comment in each one of your post with comments
    # to make Utterances create the initial issues
    for thread in threads.values():
        for issue in issues:
            if issue.title == thread["link"].replace(BASE_URL, ""):
                thread["issue"] = issue
                break

    # iterate on posts and create issues comments accordingly
    for i, post in enumerate(posts, 1):
        name = post["author"]["name"]
        user = post["author"].get("username")
        mention = " @" + user if user and not user.startswith("disqus_") else ""
        date = post["createdAt"]
        message = post["message"]
        issue = post["thread"]["issue"]
        body = f"*Oryginalna data: {date}*\n\n{message}"
        # don't add original author when it's you
        if user != USERNAME:
            body = f"*Oryginalny autor:* **{name}{mention}**  \n{body}"
        print(f"Posting {i}/{len(posts)} to issue {issue.number}    \r", end="")
        issue.create_comment(body)
        # prevent hitting rate limits!
        time.sleep(0.5)

    print()


if __name__ == "__main__":
    disqus_to_github()
```

Zakładając, że na wszystkie 33 wpisach dodałem testowy komentarz pora na uruchomienie naszego skryptu.

W macOS, z zainstalowany `python3` za pomocą `brew` wykonałem to następująco:

```bash
FILEPATH="dariuszwieckiewicz-all.xml" USERNAME="idarek" TOKEN="naszWygenerowanyToken" REPOSITORY="idarek/dariusz.wieckiewicz.org" BASE_URL="https://dariusz.wieckiewicz.org" python3 disqus.py
```

Przy pierwszym uruchomieniu natrafiłem jednak na problem, który mnie nieco zirytował.

```bash
Traceback (most recent call last):
  File "disqus.py", line 74, in <module>
    disqus_to_github()
  File "disqus.py", line 52, in disqus_to_github
    issue = post["thread"]["issue"]
KeyError: 'issue'
```

Okazało się, że moje obecne środowisko domyślnie usuwa `/` z końca adresu URL natomiast eksport z Disqus posiadał `/` w każdym linku. Raz jeszcze musiałem użyć Atom, aby hurtowo to zmienić (`/</link>` na `</link>`).

I tak po ponownym uruchomieniu wszystko zaczęło działać. Po dłuższej chwili ujrzałem:

```
Posting 181/181 to issue 11
```

Pora na sprawdzenie.

[![Disqus2GitHub Imported](/images/2021/03/disqus2github_imported-min.png)](/images/2021/03/disqus2github_imported-min.png)

**Yuppi!** Wszystko zostało z importowane.

I mimo tego, że wygląda to poniekąd dziwnie (wszystkie komentarze z importowane napisane przez mnie), to inaczej się nie dało.

Teraz wystarczy usunąć wpisy "test" z każdego z GitHub Issue i przejrzeć, czy nie importował się jakiś spam :)

> **[Przejdź do zakończenia.](#na-koniec)**

---

## Utterances

Utterance jest lekkim systemem komentarzy bazujący na GitHub Issues, a dokładniej **A lightweight comments widget built on GitHub issues**.

### Repozytorium

Nim zaczniemy wstawiać Utternaces na naszą stronę, musimy utworzyć repozytorium które wykorzystamy do przechowywania komentarzy.

Po zalogowaniu się na GitHub klikamy przycisk **New** przy repozytoriach.

[![Repositories NEW](/images/2021/03/Repositiories_NEW-min.png)](/images/2021/03/Repositiories_NEW-min.png)

Następnie wybieramy nazwę i przyznajemy publiczny dostęp (*public_repo*).

[![GitHub Create a new repository](/images/2021/03/GitHub_Create_a_new_repository-min.png)](/images/2021/03/GitHub_Create_a_new_repository-min.png)

Na moje repozytorium wybrałem *idarek/dariusz.wieckiewicz.org*.

### Dostęp aplikacji Utterances

[Przechodzimy na stronę aplikacji](https://github.com/apps/utterances) (GitHub App) Utterances, aby skonfigurować dostęp do naszego repozytorium.

[![GitHub App Utterances Config](/images/2021/03/GitHub_App_Utternaces_Config-min.png)](/images/2021/03/GitHub_App_Utternaces_Config-min.png)

Potwierdzamy przyznanie prawa do odczytu metadanych oraz odczytu i zapisu GitHub Issues.

Następnie wybieramy i dodajemy, do którego repozytorium aplikacja będzie miała dostęp.

[![Utterances Configuration](/images/2021/03/Utterances_configuration-min.png)](/images/2021/03/Utterances_configuration-min.png)

### Generowanie kodu na stronę

Wracając na stronę główną [utteranc.es](https://utteranc.es) przechodzimy do sekcji pola **repo:** gdzie wpisujemy nasze repozytorium, a następnie do **Blog Posts <> Issue Mapping**.

Tutaj wybieramy, w jaki sposób GitHub Issues będą tworzone.

Jeżeli czytasz od początku, osobiście zależało mi, aby tytuł GitHub Issue był odpowiednikiem `pathname`. Jest to pierwsza, domyślna opcja przy konfiguracji ze strony Utterances.

[![Utterances Blog Post Issue Mapping](/images/2021/03/Utternaces_Blog_Post_Issue_Mapping-min.png)](/images/2021/03/Utternaces_Blog_Post_Issue_Mapping-min.png)

Następnie wybieramy, jaką etykietę każdy z naszych GitHub Issues będzie miał przypisaną.

Dzięki temu możemy pogrupować GitHub Issues utworzone przez naszą stronę oraz bezpośrednio z GitHub. Jest to szczególnie przydatne, jeżeli dane repozytorium używamy do więcej niż do celów komentarzy.

[![Utterances Issue Label](/images/2021/03/Utternaces_Issue_Label-min.png)](/images/2021/03/Utternaces_Issue_Label-min.png)

Następnie wybieramy motyw.
W moim przypadku, jako że mam wprowadzony tryb jasny i ciemny strony, który zmienia się automatycznie (oraz za pomocą ikony na górze strony) wybrałem *Preferred Color Scheme*.

[![Utterances Theme](/images/2021/03/Utterances_Theme-min.png)](/images/2021/03/Utterances_Theme-min.png)

I tak doszliśmy do kodu, który umożliwi nam dodanie systemu komentarzy bazującego na Utterances na naszej stronie.

[![Utterances Enable](/images/2021/03/Utterances_Enable-min.png)](/images/2021/03/Utterances_Enable-min.png)

W moim przypadku kod końcowy wyglądał następująco:

```html
<script defer src="https://utteranc.es/client.js"
        repo="idarek/dariusz.wieckiewicz.org"
        issue-term="pathname"
        label="comment"
        theme="preferred-color-scheme"
        crossorigin="anonymous"
        async>
</script>
```

Od siebie dodałem słowo `defer` w celu opóźnienia ładowania skryptu do momentu, gdy jest on potrzebny.

Oprócz samego jego dodania pozostaje nam odpowiednie dostosowanie za pomocą CSS oraz _.utterances_ i _.utterances-frame_.

> Jeżeli kontynuujesz czytanie z **piątego podejścia**, [klikamy tutaj i wracamy do czytania](#dalej).

---

## Na koniec

Cel osiągnięty!

Mimo tego, że próbowałem przeróżnych metod, w związku z moimi ograniczeniami programistycznym (nie jestem programistą) udało mi się dojść do końca.

Przyznam szczerze, że w pewnym momencie chciałem dać za wygraną i darować sobie import, a nawet usunięcie całego powyższego wpisu, na który poświęciłem sporo czasu.

Czasami przerwa pomaga w przemyśleniu, dzięki czemu mogę napisać teraz... sukces!

Nowy system komentarzy możecie podziwiać poniżej.

Pozdrawiam.



---
## Aktualizacja oprogramowania na macOS
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-oprogramowania-na-macos-macupdater/
- **Date:** 2021-01-02
- **Tags:** macOS, App Store, MacUpdater 2, aktualizacje, MacUpdater

### Content

W przeciwieństwie do urządzeń z iOS gdzie wszystkie aplikacje instalujemy (i aktualizujemy) z **App Store**, jeżeli chodzi o macOS, sytuacja jest nieco bardziej skomplikowana.

<!--more-->

Mimo że App Store na macOS również istnieje, to nadal spora część twórców oprogramowania wypuszcza swoje programy z jego pominięciem. 

App Store narzuca pewne wymagania (jakościowe oraz prywatności), ale również ograniczenia. Nie mówiąc o kosztach, ograniczenia w App Store sprawiają, że niektóre aplikacje, które wprowadzając porządane prze użytkowników modyfikacje w systemie, nie są mile widziane przez Apple.

Dodatkowo cały proces weryfikacji, nawet przy prostej aktualizacji sprawia, że nie jest on przychylny deweloperom. W związku z tym spora część z nich, pomijając App Store, wprowadziła w swoje oprogramowanie opcję sprawdzania dostępnych aktualizacji. 

Dzięki temu, w znacznie szybszy sposób mogą zaoferować aktualizację dla użytkownika końcowego.

Jednakże nie wszystkie programy posiadają to udogodnienie, a nawet jeżeli, niektóre nie powiadamiają nas, że aktualizacja jest dostępna. Z jednej strony, skoro wszystko działa, po co miałbyś aktualizować (jak to spora liczba ludzi w branży IT mówi), z drugiej jednak osobiście wychodzę z przekonania, że zawsze warto używać najnowszej wersji dostępnego oprogramowania.

Jeżeli coś przestanie działać lub będzie w konflikcie z innymi częściami systemu, nie jest to takie oczywiste, że dany program (niezaktualizowany) może być przyczyną całego zamieszania.

A więc jak aktualizować oprogramowanie w macOS?

Po pierwsze – App Store.\
Po drugie – wbudowany system aktualizacji (o ile istnieje)\
Po trzecie – pobranie najnowszej wersji ze strony twórcy oprogramowani.

Spora liczba kroków czyż nie? A gdyby to wszystko, co nieco uprościć i zaoszczędzić troche czasu? Otóż tutaj przychodzi nam z pomocą pewna aplikacja.

## MacUpdater

MacUpdater to aplikacja mająca na celu przeskanowanie naszego oprogramowania na naszym komputerze oraz porównanie z dostępną najnowszą wersją w bazie oprogramowania. W momencie, gdy jest dostępna aktualizacja, daje nam możliwość prostej aktualizacji z wykorzystaniem jednego przycisku (prawie).

[![MacUpdater 2 - Okno aplikacji](macupdater_okno_aplikacji.png)](macupdater_okno_aplikacji.png)

Program ten używam od dość dawna i, mimo że jest on płatny (**czytaj dalej!**), w swojej wersji **bez konieczności płacenia** oferował to, co było dla mnie wystarczające. 

Dzięki niemu dowiedziałem się, które aplikacje na komputerze mam nieaktualne, a nawet o tym, których rozwój został zaprzestany przez ich autora (Discontinued).

[![MacUpdater 2 - Discontinued App](macupdater_discontinued_app.png)](macupdater_discontinued_app.png)

W darmowej wersji programu do dyspozycji mamy możliwość dokonania 10 aktualizacji przy pomocy prostej metody kliknięcia przycisk **Update App**.

[![MacUpdater 2 - Open App Homepage](macupdater_open_app_homepage.png)](macupdater_open_app_homepage.png)

Przez lata nie wykorzystałem nawet tych 10 darmowych aktualizacji, gdyż w głównej mierze, gdy któryś program pokazał się na liście jako nieaktualny, z menu wybierałem opcję przejścia na stronę twórcy oprogramowania (**Open App Homepage**) skąd pobierałem najnowszy plik instalacyjny. Następnie skanowałem ponownie daną aplikację w programie (**Re-scan this App**), aby sprawdzić, czy została poprawnie zaktualizowana i znikła z listy nieaktualnego oprogramowania.

Od grudnia 2020 trwał aktywnie rozwój najnowszej wersji programu (**MacUpdater 2.0**). W tym okresie nie było możliwości zakupu licencji do wersji poprzedniej (1.5.9), a wersję 2.0 (a dokładnie 1.9.9) mogliśmy używać za darmo (bez żadnych limitacji) w postaci publicznej wersji Beta.

Jak nigdy nie wykorzystałem moich 10 darmowych aktualizacji, o tyle tym razem (skoro wszystko w wersji Beta jest za darmo) postanowiłem sprawdzić, jak ta aplikacja pomoże mi zaoszczędzić nieco czasu, który tracę na ręczne pobieranie i aktualizowane.

Nie oszukujmy się, aktualizacja oprogramowania w macOS nie jest bolesna. To nie Windows. W większości przypadków pobieramy plik **.dmg** ze strony autora oprogramowania, uruchamiamy i przeciągamy nasz program do naszego folderu Aplikacje i gotowe!

![MacUpdater 2 - Przeciągnij do folderu Aplikacje](macupdater2_przeciagnij_do_folderu_aplikacje.png)

> Dzięki temu, jak rozpowszechniane i "instalowane" są aplikacji w macOS, tak jak łatwo je wrzucić do naszego folderu Aplikacje, tak łatwo, z wykorzystaniem [AppCleaner](/appcleaner-dodaj-usun-programy-macos/), można je usunąć z systemu wraz ze wszystkimi jego pozostałościami.

Programy takie jak TeamViewer (które wymagają nieco ingerencji w systemie) mają nieco bardziej zaawansowany instalator (z reguły aplikacje tego typu rozpowszechniane są za pomocą plików **.pkg**). W przypadku aktualizacji z poziomu MacUpdater również będziemy musieli przez te kroki przejść (o tym jesteśmy stosownie informowani).

> W przypadku usuwania aplikacji zainstalowanych z wykorzystaniem plików **.pkg** możemy posłużyć się narzędziem tego samego autora co MacUpdater, a mianowicie [UninstallPKG](https://www.corecode.io/uninstallpkg/), o ile twórca oryginalnego oprogramowania nie przygotował dla nas pakietu deinstalującego.

1 stycznia 2021 roku autor, zgodnie z obietnicą wypuścił finalną wersję oprogramowania MacUpdater 2.0.

O ile poprzednia wersja kosztowała $9.99, tym razem niestety musimy liczyć się z podwyżką do $14.99 dla zwykłego użytkownika (Licencja Standard). Dodatkowo autor wprowadził podział dodatkowe licencje Pro oraz dla Biznesu ([porównaj co oferują poszczególne licencje](https://corecode.io/macupdater/comparison.html)).

[![MacUpdater 2 - Porównanie licencji](macupdater2_comparsion.png)](macupdater2_comparsion.png)

Dla zwykłego użytkownika licencja Standard wystarczy w zupełności.

Tym razem autor podkreślił również możliwość użytkowania aplikacji **bez konieczności zakupu licencji**.

![MacUpdater 2 - Edycje](macupdater2_editions.png)

**Edycja darmowa** (Free Edition) oferuje jedynie skanowanie aplikacji pod kątem aktualizacji. Oczywiście, w wersji próbnej nadal mamy dostępne 10 darmowych aktualizacji, po których należy zakupić licencję lub pozostać przy wersji darmowej.

Jeżeli zdecydujemy się na zakup licencji, w niektórych przypadkach możemy oczekiwać na zniżkę.

Jak [opisuje](https://www.corecode.io/macupdater/faq.html#DISCOUNT) sam autor programu, niektóre osoby mogą oczekiwać na zniżki na zakup licencji:
- studenci otrzymują 40% zniżki, oraz
- osoby mieszkające poza listą 40 najbogatszych krajów świata mogą również oczekiwać 40% zniżki.

W tym celu należy skontaktować się z autorem za pomocą podanego (w powyższym linku) adresu email, aby otrzymać kod zniżkowy.

> W zależności o listy, którą wybierzemy, Polska znajduje się odpowiednio na 47, 54 lub nawet 56 miejscu, a więc zniżka murowana.

{{% ads-in-article %}}

Dodatkowo dostępna jest zniżka w wysokości 60%, która nie jest do końca wytłumaczona, ale obstawiam, że chodzi tutaj o zakup większej liczby licencji, choć osobiście wolałbym zniżkę na zakup przy zakupie więcej niż jednego programu ([UninstallPKG](https://www.corecode.io/uninstallpkg/index.html)).

Program możemy [pobrać za darmo](https://www.corecode.io/macupdater/index.html#download) z oficjalnej strony producenta.

Przy pierwszym włączeniu aplikacji przywita nas ekranem pozwalającym skonfigurować podstawowy sposób pracy aplikacji oraz przeprowadzi nas przez krótki samouczek przedstawiający aplikację i jej opcje.

![MacUpdater 2 - Ekran powitalny](macupdater2_welcome_screen.png)

Osobiście, na ekranie wyboru preferowanego trybu pracy wybrałem tryb alternatywny (**Alternative**), gdyż nie potrzebuje, aby aplikacja startowała automatycznie i sprawdzała aktualizacje na bierząco, a tylko wtedy, kiedy się na to zdecyduję.

[![MacUpdater 2 - tryb preferowany](macupdater2_preferred_mode.png)](macupdater2_preferred_mode.png)

---

Nim zacząłem korzystać w pełni z MacUpdater, korzystałem wcześniej z oprogramowania [MacUpdate Desktop](https://www.macupdate.com/desktop/), które kosztuje $20. Jednakże, patrząc, że ostatnia wersja 6.4.1 została wypuszczona 19 grudnia 2018, sporo przed zmianami wprowadzonymi w macOS Big Sur, skusiłbym się nawet do zapłacenia za MacUpdater 2.0. 

Powodem, dla którego porzuciłem MacUpdate Desktop, na rzecz MacUpdater była ich baza danych dotycząca aplikacji. Często byłem w stanie znaleźć aktualizację szybciej, niż ich program mnie o tym poinformował. Dlatego też MacUpdater 2 jest lepszą opcją. Nie ma co się dziwić, że cena musiała pójść w górę, gdyż o aktualność informacji trzeba dbać na bieżąco. 

Wybór pozostawiam wam.

Aplikacja jest naprawdę godna polecenia.


---
## Ograniczenie jasności i głośności na iPad, iPhone
- **URL:** https://dariusz.wieckiewicz.org/ograniczenie-jasnosci-glosnosci-ipad-iphone/
- **Date:** 2021-01-01
- **Tags:** iPad, iPhone, skróty, automatyzacja, limit głośności, jasność ekranu, screen time, czas przed ekranem

### Content

Jeżeli posiadasz dzieci, tak jak ja, bardzo szybko sobie zdajesz sprawę, przekazując w ich ręce urządzenia elektroniczne, że potrzebują one kontroli.

Kupienie sprzętu podłączonego do internetu i przekazanie go dziecku bez wprowadzenia podstawowych ograniczeń to największa głupota rodziców, jaka zdarza się na co dzień.

Na szczęście Apple, na swoich urządzeniach zadbał o to, wprowadzając tzw. **Screen Time** (Czas przed ekranem).

W zależności od wieku dziecka możesz wprowadzić ograniczenia tj. możliwość instalowania aplikacji tylko przez nas zatwierdzonych, czy też limitowanie czasu, jaki nasze pociechy mogą spędzić na urządzeniu lub w danej aplikacji. Jeżeli chcą więcej, muszą się zwrócić do nas o dodatkowy czas.

Ograniczenia dają możliwość filtrowania treści, jaką nasze dzieci mogą przeglądać w internecie, aż po głębsze zakątki samego urządzenia, gdzie możemy ograniczyć poszczególne funkcje, jak możliwość dokonywania zakupów w aplikacji (które, w przypadku ustawionej grypy rodzinnej spadałyby właściciela grupy oraz jego podpiętą kartę bankową).

Mimo sporej liczby opcji, w systemie brakuje tam kilku podstawowych, takich jak ograniczenie jasności ekranu oraz głośności urządzenia.

<!--more-->

## Ograniczenie głośności

O ile system na iPad lub iPhone posiada wbudowaną opcję ograniczenia głośności w przypadku odtwarzanej muzyki, lub filmów, w głównej mierze kierowany jest on dla osób używających słuchawek, a nijak ogranicza głośność w całym urządzeniu czy poszczególnych aplikacjach.

W moich poszukiwaniach natrafiłem na sporą część aplikacji, które jak szybko zostały wypuszczone, tak szybko umarły wraz z kolejnymi aktualizacjami systemu na naszych urządzeniach.

Apple wprowadził sporo restrykcji, przez co większość z aplikacji nie ma pozwolenia na mieszanie w ustawieniach naszego systemu.

Na szczęście, nadal jest jedna aplikacja, którą używałem przez ostatnie kilka lat w celu ograniczenia głośności na urządzeniu mojego syna.

### Limit Głośności (Volume Limit Control)

Aplikacja autorstwa _Marcin Oławski_, mimo że płatna (£4.99 aby odblokować wersję Pro), warta była swojej ceny i można ją pobrać i sprawdzić za darmo z [App Store](https://apps.apple.com/app/volume-limit-control/id1418771366).

[![Aplikacja Limit Głośności](/images/2021/01/volume-limit-control-pl-min.png)](/images/2021/01/volume-limit-control-pl-min.png)

Aplikacja ogranicza się do ustawienia pożądanego maksymalnego limitu głośności na urządzeniu, dzięki czemu, gdy nasze dziecko zmieni poziom na wartość powyżej limitu, zostanie ona automatycznie przywrócona do maksymalnego dowolnego poziomu.

Aplikacja ma jednak pewną wadę. Musi ona działać cały czas w tle naszego urządzenia, aby mogła aktywnie działać i monitorować głośność.

W momencie, gdy wymusimy zamknięcie (**Force close**) naszej aplikacji, limit przestaje być egzekwowany. Pozostaje ponowne włączenie aplikacji oraz ustawienie i włączenie limitu.

Nie ma możliwości automatycznego włączenia limitu wraz ze startem aplikacji, więc nie da się szybko wprowadzić limitu bez pokazania tego naszemu dziecku.

I mimo tego, gdy mój syn był mały, przez kilka lat nie było z tym problemu, gdyż nie odkrył on opcji zamykania aplikacji, a po prostu z nich wychodził.

Wraz z czasem przyszła potrzeba na znalezienie czegoś innego.

### Automatyzacja głośności

Krótko i na temat. Użytkownik urządzenia od Apple ma pełną kontrolę nad głośnością za pomocą fizycznych przycisków tak jak i z poziomu **Control Centre** (Centrum sterowania).

O ile **Control Centre** możemy ograniczyć, aby dostępne było tylko z ekranu głównego (wyłączając Dostęp z aplikacji – **Access Within Apps**), to nadal spora część aplikacji (patrz Netflix) posiada własny suwak głośności, który może być nadużywany przez nasze dzieci, nie mówiąc już o przyciskach, z którymi nic nie możemy zrobić.

W związku z tym postanowiłem znaleźć inną metodę na wprowadzenie ograniczeń i tutaj z pomocą przyszły mi **Shortcuts** (Skróty) wbudowane w system oraz opcja **Automation** (Automatyzacja).

O ile nie ma możliwości wprowadzenia automatyzacji, która działałby cały czas w systemie i reagowała na zmianę głośności (wykonywała akcję), w momencie, gdy ta zostanie zmieniona powyżej pewnego poziomu, to jednak można osiągnąć coś pośredniego.

> Nie ma nic radośniejszego o poranku, gdy sobie jeszcze śpisz, twoje dziecko już wstało, wzięło swojego iPada, położyło się przy tobie z głośnością 100% i odpaliło Netflixa. Początkowy dźwięk "Ta daa..." nie jednego wyrzuciłby z łóżka.

A więc widzisz, gdzie leży problem.

Osobiście zidentyfikowałem, które aplikacje nasze dziecko nadużywa, jeżeli chodzi o głośność i postanowiłem wprowadzić tutaj pewne limity.

Dla poniższego przykładu posłużę się dalej Netflixem.

[![Nowa Automatyzacja - Aplikacja - Netflix](/images/2021/01/nowa-automatyzacja-aplikacja-netflix-min.png)](/images/2021/01/nowa-automatyzacja-aplikacja-netflix-min.png)

Z poziomu automatyzacji (**Automation**) mamy możliwość dodania własnego zadania **Create Personal Automation** (Utwórz automatyzację osobistą), które reagować będzie na wybraną aplikację **App**.

Z pozycji **App** wybieramy (**Choose**) Netflix.

Następnie zaznaczamy, kiedy nasze zadanie ma reagować. W moim przypadku wybrałem podczas startu (wejścia w – Jest otwarta) oraz zamknięcia (wyjścia z – Jest zamknięta) aplikacji (**Is Opened** oraz **Is Closed**).

Przechodząc dalej mamy możliwość dodania akcji – Czynności.

[![Czynności - Ustaw Głośność - Automatyzacja](/images/2021/01/czynnosci-ustaw-glosnosc-automatyzacja-min.png)](/images/2021/01/czynnosci-ustaw-glosnosc-automatyzacja-min.png)

Klikając przycisk **Add Action** (Dodaj czynność) wybieramy (lub wyszukujemy) **Set Volume** (Ustaw głośność), a następnie wprowadzamy naszą wartość (za pomocą suwaka). W moim przypadku wybrałem 25%.

![Nie pytaj przed uruchomieniem](/images/2021/01/nie-pytaj-przed-uruchomieniem-min.png)

Przechodząc dalej, odznaczamy, aby **Skróty** (Shortcuts) pytały się za każdym razem, kiedy automatyzacja ma być uruchomiona, gdyż chcemy, żeby była ona automatyczna.

Po zatwierdzeniu końcowym **Done** (OK) nasza automatyzacja powinna działać.

Teraz, uruchamiając Netflix, zauważymy, że nasza głośność zostanie ustawiona na 25% oraz, gdy tę aplikację opuścimy (pamietajmy, że podczas aplikacji, nasze dziecko nadal może używać fizycznych przycisków głośności, zakładając, że dostęp do **Control Centre** wyłączyliśmy z poziomu aplikacji), zostanie ustawiona ponownie na 25%.

**Tutaj jednak pojawia się jednak problem.**

Za każdym razem, gdy dana automatyzacja zostanie uruchomiona, użytkownik zostaje powiadamiany o tym odpowiednim dymkiem powiadomienia (**Notification**).

Idealnie by było te powiadomienia wyłączyć, jednakże nie ma możliwości jego wyłączenia z poziomu Ustawień systemowych > Powiadomienia (**Settings > Notifications**), gdyż aplikacji **Shortcuts** (Skróty) tam po prostu nie ma.

**Ale, to nie znaczy, że się nie da!**

Wystarczy z poziomu Ustawień (**Settings**) wejść do naszego **Screen Time** (Czas przed ekranem) oraz zobaczyć naszą całą aktywność (**See All Activity**). Przesuwając do samego dołu, możemy zobaczyć ile powiadomień otrzymujemy w danym dniu, w tym też znajdziemy nasze Skróty (**Shortcuts**).

O ile, klikając na poszczególne aplikacje, możemy wejść i wyłączyć powiadomienia, to w przypadku Skrótów nie ma strzałki obok i nie da się wejść.

**Ale nic straconego.**

{{% ads-in-article %}}

[![Screen Time - Powiadomienia](/images/2021/01/screen-time-powiadomienia-min.png)](/images/2021/01/screen-time-powiadomienia-min.png)

Klikamy i zmieniamy na górze podgląd obecnego tygodnia na poprzedni (o ile mamy wystarczającą ilość danych), po czym wracamy do aktualnego (**This Week**). 

Teraz, jak zauważymy, koło Skrótów (**Shortcuts**) pojawiła się strzałka i można wejść w ustawienia powiadomień i je wyłączyć.

[![Shortcuts - Powiadomienia](/images/2021/01/shortcuts-powiadomienia-min.png)](/images/2021/01/shortcuts-powiadomienia-min.png)

I tak, odpalając teraz Netflix zauważymy suwak głośności ustawiony na 25%, ale nie ujrzymy już powiadomienia w postaci dymku.

Teraz musimy ustawić podobnie podobne zadania do innych aplikacji tj. YouTube Kids czy Disney+.

> Niestety, wyłączenie powiadomienia (**Notification**) dla Skrótów nie trwa wiecznie, o czym napiszę na końcu.

---

Jeżeli zauważymy, że nasze dziecko co jakiś czas, w danej aplikacji będzie zwiększało głośność ponad poziom, możemy podejść i przy pomocy przycisku **Home** wyjść mu z niego, aby wymusić zmianę.

Aby nie powodować starć, możemy również dodać **Set volume** w skrypcie (**Scripting**).

[![Pobierz bieżącą głośność – Automatyzacja](/images/2021/01/pobierz-biezaca-glosnosc-automatyzacja-min.png)](/images/2021/01/pobierz-biezaca-glosnosc-automatyzacja-min.png)

Dodając opcję pobierania informacji urządzenia (**Get Device Details**) możemy odczytać wartość głośności (**Current Volume**) i na bazie tej wartości dodać akcję **Jeśli** (If).

I tak będziemy mieli prosty skrypt, który odczyta poziom głośności i w momencie, gdy jest powyżej ustalonego poziomu, zmieni ją na zdefiniowaną (25% = 0.25).

Dodatkowo całość możemy wrzucić w pętlę, aby powtarzać akcję co jakiś czas, ale nie będę się za bardzo w to wgłębiał.

Znając życie, tak jak ja, większość z was spróbuje najpierw z ustawieniem głośności (**Set Volume**) przy wejściu do i wyjściu z aplikacji (tak jak opisałem na początku).

## Ograniczenie jasności ekranu

O ile głośność nie jest aż tak problematyczna, zabawy naszych dzieci z jasnością powodują, że urządzenie nie wytrzymuje całego dnia pracy na baterii, szczególnie gdy nasze pociechy stają się przyklejone do ekranu, jak nie mają co innego robić.

Jeżeli chodzi o jasność ekranu, użytkownik nie ma możliwości dokonania tego za pomocą fizycznych przycisków, a w tym celu musimy się udać do **Control Centre** (Centrum sterowania).

O ile ograniczyliśmy dostęp do **Control Centre** z poziomu aplikacji (tak jak wspomniałem wcześniej), to programy takie jak Netflix posiadają wbudowane suwaki czy też dynamiczną zmianę jasności za pomocą gestów na ekranie. Powoduje to, że raz ustawiona jasność może zostać zmieniona na maksymalną bez lada wysiłku.

Bardzo mnie to denerwowało, szczególnie że w aplikacji Netflix z lupą szukać możliwości wyłączenia niepotrzebnych opcji na ekranie.

O ile w przypadku głośności znalazłem **Volume Limit Control** o tyle w dla jasności ekranu nie znalazłem odpowiednika, w związku z tym skierowałem się odrazu do automatyzacji.

### Automatyzacja jasności

Analogicznie do opisanej powyżej metody z ustawieniem głośności podczas wejścia do oraz wyjścia z aplikacji możemy ustawić akcję  (czynność) dla jasności ekranu (**Set Brightness**).

![Ustaw jasność](/images/2021/01/ustaw-jasnosc-min.png)

Oprócz ustawienia jasności możemy wykorzystać skrypty (**Scripting**) w celu odczytania poziomu jasności (**Get Device Details > Current Brightness**), wrzucić w pętlę, monitorującą poziom oraz wykonując zmianę, w przypadku gdy odczytana wartość jest powyżej zdefiniowanej.

### Nie ograniczaj jasności w ten sposób

Przeszukując przeróżne strony w internecie, natrafisz na rzeczowe porady jak również totalnie bzdurne.

Jedną z tych bzdurnych rad, którą ludzie udzielają dla osób, szukających metody na ograniczenie jasności jest Obniż punkt bieli (**Reduce White Point**), który znajdziemy w ustawieniach dostępności (**Accessibility**), Ekran i wielkość tekstu (**Display & Test Size**).

Otóż mimo że wizualnie ta metoda zmniejsza jasność kolorów, nie znaczy to, że zmniejsza to jasność ekranu. Jasność kolorów a jasność ekranu to dwie totalnie różne rzeczy.

Mimo redukcji jasności kolorów nasz ekran nadal jest podświetlony z tą samą intensywnością i zużywa tyle samo prądu przy 50% podświetlenia z włączoną czy wyłączoną redukcją.

Nie łudź się, że zmiana jasności kolorów ma związek z podświetleniem. Nawet w przypadku OLED'ów to tak nie działa. Redukując wizualnie jasność, nadal zużywamy tyle samo prądu. W związku z tym wróć punkt wyżej i ustaw ograniczenie jasności, które jest kontrolowane suwakiem jasności do tego przeznaczonym.

---

I tak jesteśmy w stanie ograniczyć jasność ekranu oraz głośność  dla aplikacji, które powodują nadmierne zużycie baterii.

Wyłączając powiadomienia (jak opisałem powyżej), możemy wprowadzić te, jak i inne automatyzacje, aby działały w tle bez wzbudzenia nadmiernego zainteresowania ze strony użytkownika – w tym przypadku naszego dziecka – prawie.

> O ile wyłączenie powiadomienia o automatyzacji to pewne udogodnienie, stanowi ono również poważne zagrożenie związane z bezpieczeństwem użytkownika, w związku z tym, po wyłączeniu naszego urządzeniu (lub jak padnie nam bateria) powiadomienia, gdy nasza automatyzacja zostanie uruchomiona, ponownie się pojawią.
>
> Po części rozumiem, dlaczego nie da się wyłączyć powiadomień dla Skrótów (**Shortcuts**) bezpośrednio z Ustawień, jednakże nie do końca jestem pewien czy jest to zamierzone (ze względów bezpieczeństwa) czy też jest to bubel w systemie (bug). Pożyjemy, zobaczymy czy wraz z następnymi wersjami systemu ulegnie to zmianie.
>
> W związku z tym, mimo że opisałem jak wykorzystać skrypty (**Scripting**), najprostsze rozwiazanie z wykorzystaniem pojedynczej akcji przy wejściu do oraz wyjściu z aplikacji powinno zrobić swoje.

Mam nadzieję, że pomogłem.

Pozdrawiam.


---
## Co rok 2020 zmienił na lepsze?
- **URL:** https://dariusz.wieckiewicz.org/co-rok-2020-zmienil-na-lepsze/
- **Date:** 2020-12-31
- **Tags:** 2020, pandemia, III wojna światowa, życzenia noworoczne

### Content

Wszyscy wiemy, jaki paskudny rok mamy za sobą. Podczas gdy rok 2021 będzie ciągnął czarną chmurę roku poprzedniego, nie wszystko w 2020 było złe.

Pandemia pokazała nam, że niektóre rzeczy mogą się zmienić... na lepsze.

<!--more-->

## Załatwianie spraw urzędowych

Mieszkając za granicą, załatwienie czegoś w Polskim urzędzie wiązało się z koniecznością osobistej wizyty czy to w konsulacie w danym kraju, czy to w urzędzie w mieście w Polsce.

I tak wraz z pandemią nagle jest możliwość złożenia wniosku o paszport czy nawet dowód bez wychodzenia z domu. Potwierdzenie tożsamości, zdjęcia i papierologia nagle jest możliwa z poziomu komputera. To, co w innych krajach stało się normą, to w Polsce dopiero pandemia otworzyła możliwości, które otrzymujemy dzięki systemom informatycznym (pomijając wymysł w postaci profilu zaufanego).

> Nadal pamiętam, gdy przyjechałem do Wielkiej Brytanii w 2010 roku, że najpopularniejszą metodą załatwienia czegokolwiek z tamtejszym urzędem skarbowym (HMRC) była rozmowa przez telefon. W tych samych czasach większość z nas dopadała gorączka, gdy mieliśmy odwiedzić budynek Urzędu Skarbowego w Polsce.

Oczywiście, odebranie dokumentu to nadal bolączka, mimo że w innych krajach system pocztowy radzi sobie z tym dobrze, to widać, że w Polsce nadal nie ma do tego zaufania (nie ma się co dziwić, w przesyłkach międzynarodowych zaufam Poczcie Polskiej w doręczeniu do najwyżej kartki świątecznej). Mimo że wybory w 2020 odbyły się częściowo korespondencyjnie, to jeszcze przyjdzie nam poczekać na pełną zmianę w tym kierunku.

## Płatności mobilne

Mimo że Polska wiodła prym w płatnościach zbliżeniowych to dla mnie to, co wprowadzono w Polsce o nazwie Blik to jakieś nieporozumienie.

Na szczęście w innych krajach płatności Google Pay, Samsung Pay czy też Apple Pay otrzymały niezłego kopa.

Osobiście, od czasu kwarantanny na wyspach, pod koniec marca 2020, mój portfel stał się przyciskiem do papieru. Teraz wychodząc do sklepu, upewniam się, że mam telefon ze sobą, a nawet jeżeli nie, to jest jeszcze zegarek.

Liczba osób używających fizycznych pieniędzy zmniejszyła się nie do poznania. Osobiście jestem osobą, która nie ma przy sobie praktycznie żadnej gotówki (co najwyżej kilka funtów), przez co rozpopularyzowanie płatności mobilnych było dla mnie wysokim udogodnieniem.

Oczywiście, jeszcze spora część sklepów narzuca dolny limit zakupów na poziomie minimum 5 funtów (ale to ze względu na ich bank lub firmę obsługującą płatności, który trzepie z nich kasę za każdą transakcję, zamiast opłatę tylko od kwoty operacji), to w przypadku takich płatności jak Apple Pay, gdzie nie mamy górnego limitu, zakupy są o wiele wygodniejsze.

O ile płacenie telefonem, szczególnie posiadając rozpoznawanie twarzy, a nie odcisk palca, nie jest szczególnie wygodne, gdy mamy na sobie maseczkę, to dzięki możliwości naszych zegarków całość jest o wiele wygodniejsze.

## Wybory prezydenckie... w Ameryce

Po czterech latach panowania biznesmena, człowieka niewierzącego w naukę i ogólnie mówiąc błazna, nastała iskierka nadziei dla Amerykanów, a co za tym idzie wszystkich na świecie.

Nie oszukujmy się. Zmiany polityczne w Ameryce, tak jak w Chinach, Rosji, jak i w Wielkie Brytanii (a już niedługo w Niemczech) mają nie lada oddźwięk na każdym etapie życia.

Nie ma idealnego kandydata, jednakże żaden nie wyrządził tyle szkód, które odczuwać będą nasze dzieci i dzieci naszych dzieci, co Trump. Trump podzielił ludzi na lepszych (ci, co go popierają) i gorszych (wszyscy inni). Dosłownie jak w Polsce. Prezydent, rząd i ten jeden z kotem na kolanach pokazali, że ludzi dzieli się na lepszych i gorszych.

W Ameryce iskierka nadziei zabłyśnie na stałe w styczniu 2021, w Polsce przyjdzie nam jeszcze na nią poczekać.

## Disney+ i rozwój usług streamingowych

W tym roku zobaczyliśmy, jak bardzo potrzebujemy usług streamingowych, gdyż telewizja liniowa ni jak ma się do potrzeb widza, który w czasie pandemii dosłownie się nudzi.

Gracze na rynku, tacy jak Netflix, uformowali sobie grunt, ale jak pandemia uderzyła z pełną siłą, na rynek wkroczył Disney+ (niedostępny oficjalnie w Polsce).

Disney+ pozwolił odetchnąć rodzicom pomiędzy pracą zdalną a byciem nauczycielem dla własnego dziecka (lub dzieci). Chwila spokoju, gdy dzieci przykleiły się do ekranu, pozwalała ogarnąć myśli i zadbać o własne zdrowie psychiczne.

Nic dziwnego, że przed końcem tego roku Disney+ osiągnął coś, co innym usługą streamingowym zajęło prawie pięć lat.

## Lekarze...

Pandemia otworzyła furtkę do nowych technologii. Te technologie, w trybie ekspresowym musiały być wprowadzone w każdym zakątku naszego życia, w tym u lekarzy.

O ile nie jestem skory do tele-konsultacji medycznej, to dzięki temu spora część ludzi przestała zawracać cztery litery lekarzom z byle przeziębieniem czy kaszlem.

Ludzie nauczyli się, że z wykorzystaniem domowych metod leczenia (to, co w Polsce jest normą, nie w Wielkiej Brytanii), można wyeliminować konieczność wizyty u lekarza.

O ile istnieją dwie strony medalu i niektóre osoby, które potrzebują pilnej opieki medycznej, zostały pozostawione same sobie, to w przypadku osób, które mają codzienny problem z prostym odwiedzeniem lekarza rodzinnego, zyskały nowe możliwości konsultacji i pomocy.

Nie wiem jak w Polsce, ale w Wielkiej Brytanii lekarze, pielęgniarki i wszystkie osoby związany z branżą medyczną stali się swojego rodzaju bohaterami, narażającymi swoje zdrowie, by ratować innych. Część z nich niestety poległa na służbie.

Możemy mówić, co chcemy o telefonicznej wizycie z lekarzem rodzinnym, możemy mieszać ich z błotem i nazywać konowałami, ale nie zmieni to faktu, że wśród nich są osoby, które walczą na wojnie w naszym imieniu.

## Zobaczyliśmy, kto tak naprawdę jest naszym przyjacielem

Niestety, pandemia podzieliła ludzi na dwa obozy. Ci, co wierzą w naukę i ci, co ją negują, twierdząc "że nie można zaufać nauce, gdyż ona zawsze się myli" (patrz idiotę takiego jak Donald Trump). Bez względu na to, czy ufamy nauce, czy nie, w przypadku wojny z niewidzialnym wrogiem wszyscy popełniamy błędy, na których się uczymy. Na tym to wszystko polega. Na tym polega cała nauka – popełniasz błędy, aby na tych błędach się nauczyć. Czyżby wszyscy o tym zapomnieli?

Po to też są fazy rozwojowe szczepionki. W każdej fazie analizuje się wszystkie błędy – pomyłki (niepożądane skutki uboczne), aby w ostatnim stadium wykryć te najrzadziej występujące. Nawet w finalnym produkcie zdarzają się odstępstwa. Niby dlaczego nawet na paracetamolu mamy napisane niepożądane działanie i co robić w przypadku wystąpienia skutków ubocznych.

To właśnie obecne czasy pokazały, kto jest tak naprawdę naszym przyjacielem a kto wrogiem wśród nich. Bezinteresowna pomoc, pomoc drugiego człowieka, okazała się ważniejsza od tej materialnej.

I tak zobaczyliśmy, kto naszą przyjaźń ocenia w sposób wymierny i interesowny. Jeżeli nie ma ta osoba w tym własnego interesu, to po co o tej drugiej osobie pamiętać a tym bardziej pomóc, gdy tej pomocy potrzebuje.

Zweryfikowało się, nasze pojęcie o ludziach, którzy wybili się na szczyt. Od antyszczepionkowców pokroju Edyty Górniak do osób pokroju Sasina, patrzącego jak tu przejebać kolejne miliony.

> Nie bez powodu mówi się, że Polska wprowadziła własną wyimaginowaną stabilną kryptowalutę. 1 SASIN = 70 mln PLN. Nawet Bitcoin tego nie przebije.

Na szczęście wszystko się zmienia. Niestety, nadal 50% ludzkości o idioci, z którymi musimy się zmierzać każdego dnia.

Jak to ktoś kiedyś powiedział. Gdy w wiosce mieszkał idiota, cała wioska o tym wiedziała. I tak jak pojawił się Internet, wie o tym cały świat. Dowiedzieliśmy się, z jakimi idiotami mamy do czynienia na co dzień.

Jednakże to właśnie internet okazał się czymś, co pomogło nam przetrwać najgorsze czasu izolacji (oczywiście, pod warunkiem, że działał).

Nagłe polecenie pracy z domu spowodowało, że łącza telekomunikacyjne każdego usługodawcy zostały poddane niebywałej próbie. Lata ignorancji i braku inwestycji w okablowanie, tego, które idzie od puszki na ulicy do domu użytkownika, pokazały, w jakim stanie jest cała sieć. Miejmy nadzieję, że wszystko z czasem się zmieni, gdyż zmiany, które wprowadziła pandemia, nieodwracalnie kształtują nasze życie na kolejne lata.

{{% ads-in-article %}}

## Czas (pseudo) wolny

Mimo tego, że przyszło nam pracować zdalnie, uczyć zdalnie czy też przekwalifikować się w przeciągu kilku dni na nauczyciela od wszystkiego, aby zapewnić naszym dzieciom nauczanie z domu, to jednak każdy z nas zapamięta to, że wszyscy byliśmy w tym razem.

Mieliśmy zwoje wzloty i upadki. Każdy poznał dodatkowe zalety drugiej osoby, ale również i jej wady.

Tak jak pokolenie, które ma się ku schyłkowi, przypomina nam, jak to było za czasów II Wojny Światowej, tak my i nasze dzieci będą pamiętały tą III-cią wojnę – wojnę z niewidzialnym wrogiem.

Podczas gdy każdy z nas miał już wszystkiego po dziurki w nosie przyszła pora na rzeczy, które w normalnych warunkach odkładaliśmy na później.

Duża część z nas, szczególnie w okresie płatnego przestoju w pracy (w Wielkiej Brytanii – Furlough Scheme) wykorzystała ten czas, na nadgonienie z tym, co się dało.

Osobiście poświęciłem trochę czasu na własny rozwój i naukę. Skutkowało to tym, że przeniosłem własną stronę z WordPress (który ostatnio doprowadza mnie do granic wytrzymałości podczas zarządzania innymi stronami), na Hugo (statyczny generator stron internetowych), o czym możecie przeczytać [tutaj](/moja-strona-ponownie-moja/).

Dzięki migracji mojej strony do Hugo odświeżyłem i rozszerzyłem swoją wiedzę na temat HTML, CSS oraz JavaScript. Oprócz prowadzenia strony w rodzimym języku, wraz z możliwościami, jakie daje Hugo, już teraz myślę o czymś nowym. Zobaczymy, jak wszystko się potoczy.

- - -

## Na zakończenie

Jakby nie patrzeć, od kwietnia do grudnia rok ten przemknął w okamgnieniu.

Do tej pory nie mogę uwierzyć, jak czyste powietrze mieliśmy w naszym rejonie, które zamieszkałe jest przez ponad 2 miliony ludzi.

Najsmutniejsze w tym wszystkim jest to, że niektórym nie udało się zobaczyć fajerwerków witających rok 2021. Dla tych wszystkich, którym się udało, życzę szczęśliwego nowego roku; dla tych, których ten rok potraktował nieco mniej życzliwie, dużo przyjaznych dusz, ciepłych słów oraz ukojenia.

Oby 2021 rok był dla nas wszystkich tym, do czego przyzwyczailiśmy się przez ostatnie lata.

Pozdrawiam



---
## (nie) Zmieniłem wyszukiwarkę Google na DuckDuckGo
- **URL:** https://dariusz.wieckiewicz.org/zmienilem-wyszukiwarke-google-na-duckduckgo/
- **Date:** 2020-12-26
- **Tags:** Google, DuckDuckGo, prywatność, wyszukiwarka

### Content

Mimo tego, że na co dzień używam multum usług Google, używanie wyszukiwarki Google nie jest czymś, co wybrałem z własnej woli.

Używam Google, aby znaleźć, to co szukam. Wszystkie inne wyszukiwarki mają jeden problem. Nie zawsze jestem w stanie znaleźć to, co potrzebuję i to w miarę szybko.

<!--more-->

Do sposobu jak działa Google, przyzwyczailiśmy się na przełomie ostatnich n-lat. O ile możemy znaleźć to, co szukamy w miarę szybko, to pomiędzy wyszukiwaniami zalewani jesteśmy toną mniej przydatnych stron, oraz tych, które żerują na naszych danych.

Sam Google żeruje na tym, co wyszukujesz w internecie. Nie oszukujmy się, to jest ich główny cel, w końcu są oni firmą reklamową (tak, reklamową!).

Google to nie firma, która oferuje pocztę Gmail, Zdjęcia Google czy Mapy. To firma nastawiona na gromadzenie jak największej ilości danych, aby później wykorzystać je do generowania przychodu dla siebie lub swoich partnerów (którzy później oddają procent dla nich).

Tymi partnerami są, chociażby osoby, które uczestniczą w programie AdSense do wyświetlania reklam na stronach internetowych. Do tych "partnerów" zaliczam się również ja, gdyż na większości (nie wszystkich) podstron na mojej stronie internetowej wyświetlane są reklamy Google, aby pomóc wygenerować mi mały przychód, pomagający w jej utrzymaniu (choć i tak większość idzie z mojej kieszeni).

Do przesiadki na DuckDuckGo przymierzałem się od dawna, ale zawsze wracałem do Google. Wracałem z prostego względu. Gdy musiałem coś znaleźć, a wiedziałem, że jest to gdzieś w internecie, w DuckDuckGo czułem pewien niedosyt.

Mimo tego, w grudniu 2020 roku postanowiłem spróbować jeszcze raz. Aby tego dokonać, zmieniłem domyślną wyszukiwarkę w moim telefonie (iPhone) oraz komputerze z macOS (z zakładki do Google nie korzystam tak często, jak wyszukiwanie bezpośrednio z paska adresu przeglądarki). Jednak to nie wszystko. Większą część czasu spędzamy w pracy (przy pracowym komputerze z Windows 10) i aby wynik był miarodajny, postanowiłem zmienić Google na DuckDuckGo również w pracowym Edge (bazującym na Chromium). Tutaj właśnie odczuję największą różnicę, która pozwoli mi podjąć decyzję na rok 2021.

> Mimo tego eksperymentu już teraz na mojej statycznej stronie opartej o Hugo wykorzystuję pole wyszukania, które wykorzystuje do tego celu wyniki wyszukiwania z DuckDuckGo.

Nie oszukujmy się. Jak możemy przeczytać w porównaniu [Google z DuckDuckGo](https://www.makeuseof.com/tag/duckduckgo-vs-google-search-engine/), aby móc istnieć, DDG również musi generować pieniądze i generuje w ten sam sposób co Google... z reklam. Reklamy w DuckDuckGo wyświetlane są bardziej na podstawie słowa kluczowego, którego używamy w wyszukiwarce a niżeli o personalizowane dane zebrane przez Google na temat nas samych. DuckDuckGo również wyświetla odniesienia do produktów oferowanych, chociażby przez Amazon. W momencie, gdy dokonamy zakupu przez link polecający właśnie z DuckDuckGo, firma otrzymuje prowizję.

Nie będę się za bardzo rozpisywał, dlaczego właśnie DuckDuckGo, a nie Google. Wystarczy wspomnieć **prywatność** i **otwartość** jako dwa podstawowe powody do zainteresowania.

> Szkoda, tylko że Apple woli wziąć miliony od Google za to, aby Google było domyślną przeglądarką w ich ekosystemie, a niżeli podążać ich mantrą ostatnich lat, jaką jest **prywatność użytkownika**. Na szczęście wszystko można zmienić.

Wracając do mojej zmiany, zobaczmy, czy tym razem pozostanę z DuckDuckGo na dłużej, a co więcej, będę zachęcać innych do zmiany.

> Oprócz samej wyszukiwarki postanowiłem używać również (tam, gdzie to było możliwe) DuckDuckGo Privacy Essentials obok używanego przeze mnie AdBlock Plus. Dotyczy to Safari na macOS oraz w pracowym Edge opartym o Chromium.

_ps. Nie, nie zamierzam przechodzić (na razie) z Safari na iOS na ich własny program DDG (przeglądarkę), mimo że mam ją również zainstalowaną._

## Dzień 0 - Początek

Pierwszy niuans korzystania z DuckDuckGo to brak pokazywania daty artykułu/wpisu, kiedy został on opublikowany w internecie.

**Jak jest w Google:**
![data w artykule - jak jest w Google](/images/2020/12/data_w_artykule_-_jak_jest_w_Google-min.png)

---

**Jak jest w DuckDuckGo:**
![data w artykule - jak jest w DuckDuckGo](/images/2020/12/data_w_artykule_-_jak_jest_w_DuckDuckGo-min.png)

---

Czytanie, jak rozwiązać problem z jakimś sprzętem napisany w roku 2000 nijak się ma do obecnej sytuacji w 2020. 

Nie jest to do końca wina DDG, gdyż Google również nie wyświetla tego przy innych wpisach.

**Jak jest w Google:**
![bez daty w artykule - jak jest w Google](/images/2020/12/bez_daty_w_artykule_-_jak_jest_w_Google-min.png)

---

**Jak jest w DuckDuckGo:**
![bez daty w artykule - jak jest w DuckDuckGo](/images/2020/12/bez_daty_w_artykule_-_jak_jest_w_DuckDuckGo-min.png)

---

Wszystko do zależy, jak strona internetowa informuje przeglądarki o tym kiedy artykuł został opublikowany oraz kiedy został zaktualizowany.

**Jak jest w Google:**
![mój wpis - jak jest w Google](/images/2020/12/moj_wpis_-_jak_jest_w_Google-min.png)

---

**Jak jest w DuckDuckGo:**
![mój wpis - jak jest w DuckDuckGo](/images/2020/12/moj_wpis_-_jak_jest_w_DuckDuckGo-min.png)

---

**A jak jest naprawdę:**
![mój wpis - jak jest na stronie](/images/2020/12/moj_wpis_-_jak_jest_na_stronie-min.png)

---

Mimo tego, tak jak wcześniej, tak i teraz przypadł mi do gustu pasek pozwalający skoncentrować wyniki wyszukiwania wg kraju.

**Wielka Brytania**
![wyszukanie wg kraju - Wielka Brytania - DuckDuckGo](/images/2020/12/wyszukanie_wg_kraju_-_Wielka_Brytania_-_DuckDuckGo-min.png)

---

**Polska**
![wyszukanie wg kraju - Polska - DuckDuckGo](/images/2020/12/wyszukanie_wg_kraju_-_Polska_-_DuckDuckGo-min.png)

---

Już tego samego dnia zobaczyłem, jak bardzo Google ingeruje i nakierowuje nas, w co klikamy w internecie.

Co jakiś czas powtarzam niektóre frazy wyszukania w celu znalezienia nowych artykułów na pewien temat. I tak jak Google przywołuje z reguły ciągle te same strony, DuckDuckGo pokazało mi inne, wysokiej jakości artykułu na niszowych stronach, które poniekąd warto było przeczytać, a które zniknęły gdzieś w gąszczu [filtru google](https://spreadprivacy.com/google-filter-bubble-study/).

## Pierwsze dni

Mimo że początek tygodnia zaczął się bardzo pracowicie, to nie miałem za dużo czasu buszować po internecie. Mimo tego, zaraz po ustawieniu DuckDuckGo i zainstalowaniu dodatku do przeglądarki zacząłem od znalezienia rozwiązania na problem, który powitał mnie w pracy w godzinach porannych.

I jak brak daty publikacji w wynikach wyszukiwania jest nieco wkurzający, to same wyniki wyszukania były bardziej trafne niż na co dzień z Google. Przychodzi mi na myśl, że owa "data" to kwestia przyzwyczajenia — pożyjemy, zobaczymy.

Korzystając z podobnej frazy wyszukania, której używałem zaledwie tydzień temu, w Google natrafiłem na kolejną perełkę w internecie, która pozwoliła mi z lepszego kąta spojrzeć na problem i go rozwiązać.

Na razie, trafność wyszukiwań jest na nieco lepszym poziomie.

Co najśmieszniejsze z dzisiejszego dnia (14/12) było to, że podobno dzisiaj była jakaś wielka awaria Google. Hmm... nie zauważyłem 😜

![Google is Down, Oh I use DuckDuckGo](/images/2020/12/google_is_down_mem-min.png)

Traf chciał...

## Kolejne dni

Przygotowania w firmie do oficjalnego rozstania z Unią Europejską sprawiły, że nie miałem za dużo czasu na szukanie w internecie, a jak chciałem coś znaleźć, to chciałem to zrobić szybko i efektownie. Tutaj DuckDuckGo okazał się naprawdę przydatny.

Bez zbędnych wyników wyszukania, przez kolejne dni udało mi się znaleźć to, czego szukałem niemal momentalnie. Trafność wyszukania jest godna polecenia.

Oczywiście, ciężko jest znaleźć coś, co zostało opublikowane kilka minut temu. Google indeksuje wszystko, tak jak leci i intensywnie personalizuje wyszukania. To właśnie udowodniło mi, że ilość (Google) nie zawsze znaczy jakość (DuckDuckGo).

Co zauważyłem, że jak chcę znaleźć coś szybko, równie szybko piszę na klawiaturze. Oczywiście, wiąże się to z przeróżnymi błędami w pisowni. Google w większości przypadków wie, co mam na myśli i szybko poprawia wyszukania do frazy, którą myśli, że powinna być wpisana. DuckDuckGo nie jest pod tym względem taki intuicyjny. Popularne słowa wpisane nieprawidłowo zostają zasugerowane w odmiennej formie, jednakże jako że DDG nie śledzi nas na każdym kroku wyszukania, jego algorytmy nie jest w stanie rozpoznać "co autor miał na myśli".

{{% ads-in-article %}}

## Przyszłość

I tak stwierdziłem, że zmiana Google na DuckDuckGo pozostanie ze mną na trochę dłużej niż przy ostatnich próbach. Raz na jakiś czas jednak będę sięgać do Google, w przypadku, gdy coś, czego szukam, jest perełką w otchłani internetu, a żeby ją znaleźć, trzeba się nieźle nagimnastykować.

Na pytanie, czy będę zachęcał innych do zmiany wyszukiwarki ciężko mi to powiedzieć. Musiałbym dokonać eksperymentu na większej grupie ludzi i usłyszeć ich reakcje. W obecnych czasach, gdy musimy ograniczać kontakt między sobą, aby chronić siebie nawzajem, nie jest to takie łatwe. Praca z domu i kontakt przez Teams (lub jak kto woli Zoom) nijak się ma do biurowej pogawędki o wszystkim i o niczym.

Mimo tego myślę, że pomału będę próbował przekonać innych.

Zobaczymy co z tego wyjdzie :)

## Kryzys, część 3-cia

I tak przeszło trzy tygodnie spędziłem z DuckDuckGo, jednakże przez ostatni tydzień, coraz to bardziej doskwierał mnie problem ze znalezieniem tego, czego potrzebuje. Mimo że na początku wszystko wyglądało wyśmienicie, coraz częściej wyszukując to, co chcę, odsyłany byłem do podobnych nazwą stron, z reguły ze Stanów Zjednoczonych (podkreślę, że przebywam w Wielkiej Brytanii). 

O ile prywatnie wszystko wygląda ok, o tyle w biznesie różnica pomiędzy Stanami Zjednoczonymi a Wielką Brytanią jest spora. Mimo że piałem domyślnie zaznaczoną lokalizację, to coraz bardziej wyniki odstawały od lokalnego wyszukania.

W przypadku, gdy chcesz znaleźć stronę internetową lokalnego dostawcy produkty, a lądujesz na podobnie brzmiącej stronie firmy z USA, to zaczyna cię szlag trafiać. 

Tutaj Google, wraz z wynikami wyszukania powiązanymi z bazą firm  zwraca prawie nieomylnie to, co potrzebuję. 

Co najśmieszniejsze, bardzo popularne strony sklepów internetowych w Wielkiej Brytanii o bardzo dobrym pozycjonowaniu (SEO) z lupą szukać wpisując ich unikalną nazwę. To, co szukam, o ile znajdę, znajduje się na drugiej lub trzeciej stronie a jasno widać, że strony z USA wiodą tutaj prym.

Nie oszukujmy się, DuckDuckGo jest dobrą wyszukiwarką, ale jednak to nie Google.

Ostatnio przeplótł mi się artykuł opisujący stwierdzenie "Google it..." (*pol. wy-googluj to...*) zamiast stwierdzenia "Search it...:" (*pol. wyszukaj to...*).

"Google it..." czy po prostu "Wyszukaj w Google..." mimo że głównie chodzi o użycie wyszukiwarki Google do znalezienia czegoś, nie do końca tak jest.

To owo pojęcie staje się bardziej stwierdzeniem określającym wyszukanie czegoś w wyszukiwarce w internecie a niżeli stwierdzeniem, że musi to być wyszukane tylko w Google (mimo, że nazwa sama to sugeruje). 

W pełni się zgadzam z innymi przedmówcami, że "Wygoogluj..." ("Google it...") jest o niebo bardziej czytelne dla drugiej osoby niż stwierdzenie "DuckDuckGo it..." (ktoś w Polsce, przychylny jednej tylko władzy powiedziałby "wykaczkuj to...", *sic!*, ale wtedy była by to dopiero zadyma). Stwierdzenie "Bing it..." już by było bardziej zrozumiałe, ale jak to się mówi, "kto do cholery używa Bing?" (sorry Microsoft).

I tak po raz kolejny wróciłem do Google, chociaż nie odpuszczę i nadal będę dawał DuckDuckGo szanse zaistnienia.

Cała ta zmiana DuckDuckGo, szczytnie podsycana słowem "prywatność", ma się jak obecna sytuacja z WhatsApp, który niedługo ma wymusić na użytkownika dzielenie się informacjami z Facebookiem.

Zmieniając Google na DuckDuckGo, podczas gdy nadal używamy Gmail i [Google Photo](/google-photo/) (Zdjęcia Google) jest się dosłownie tak jak porzucenie WhatsApp'a zostawiając cały czas aktywne swoje konto na Facebook.

Mimo tego, dzięki całej akcji zyskują inni. Tak jak DuckDuckGo zyskuje przeciwko Google, tak i komunikator [Signal](https://www.signal.org) zyskuje w obliczu kryzysu z WhatsApp. I o ile, tak jak to się stało z Microsoft Edge opartym na Chromium, gdzie Google ma się czego bać (i jak szeroko widać "boi się"), gdyż dominacja Google Chrome jest zagrożona, to jeżeli chodzi o wyszukiwarkę DuckDuckGo, Google może tylko powiedzieć "pff...", bynajmniej na chwilę obecną.

Pozdrawiam.


---
## Amazon Smile
- **URL:** https://dariusz.wieckiewicz.org/amazon-smile/
- **Date:** 2020-12-20
- **Tags:** AmazonSmile, AmazonUK, Amazon Smile, Amazon

### Content

A gdyby tak wspierać organizację charytatywne robiąc zakupy w internecie?

O ile popularne staje się zaokrąglanie transakcji do pełnej kwoty podczas robienia zakupów, przekazując grosze na szczytny cel, to jednak jest to coś, na co musimy wyłożyć z naszego portfela.

Amazon, jako potężna firma postanowił dołożyć coś od siebie, aby zmienić świat na lepszy uruchamiając program [Amazon Smile](https://smile.amazon.co.uk/gp/chpf/about/). Podczas gdy klient kupuje wybrane (kwalifikowane) produkty, Amazon przekazuje procent od transakcji (procent swojego zysku) na wybraną przez nas instytucję.

<!--more-->

Od jakiegoś czasu uczestniczę w tym, ale do tej pory nie było on przyjazny użytkownikowi. Aby z niego skorzystać, należało dokonać zakupu ze [specjalnej dedykowanej strony](https://smile.amazon.co.uk). Nijak ma się to do wygody, podczas gdy większość z nas robi zakupy z wykorzystaniem aplikacji w naszym telefonie komórkowym.

Otóż ostatnio Amazon wprowadził program na platformy mobilne.

Dla nas, klienta — użytkownika nic się tak naprawdę nie zmienia i oprócz tego, że po złożeniu zamówienia na wybrane produkty otrzymamy potwierdzenia zatytułowane "Your AmazonSmile order..." , część pieniędzy, którą zapłaciliśmy za produkt, Amazon przekaże na wybrany cel.

Niby nic, ale patrząc, ile zakupów ostatnio robimy w internecie, kwota, którą Amazon przekaże na pomoc, może okazać się ratunkiem w tych trudnych czasach, w których żyjemy.

Jako że nic nas to nie kosztuje, już zapewne po kilku tygodniach zapomnimy, że w nim uczestniczymy, dlatego ważne jest, aby dołączyć do programu i zachęcić innych, aby zrobić to samo.

## Czym jest Amazon Smile?

Robiąc zakupy na dedykowanej stronie lub w aplikacji (po ustawieniu Smile), Amazon automatycznie przekaże 0.5% od wydanej kwoty na kwalifikowane produkty dla wybranej organizacji charytatywnej bez ponoszenia kosztu przez nas — klienta (kwalifikowane produkty oferowane są w tej samej cenie co w przypadku normalnych zakupów).

Dodatkowo każda organizacja charytatywna może stworzyć swoją listę (**wish list**) produktów, które potrzebują. Jeżeli jesteśmy chętni pomóc im w sposób materialny, możemy za pośrednictwem Amazona zakupić dla nich to, co aktualnie potrzebują.

## Jak aktywować Smile w aplikacji Amazon

Po pierwsze, aplikację musimy mieć zaktualizowaną do najnowszej wersji. I, mimo że pierwsi użytkownicy zaczęli informować o wprowadzeniu Smile na platformy mobile już w Kwietniu 2020, to osobiście zobaczyłem baner promując dopiero w Grudniu.

Następnie przechodzimy do opcji aplikacji i Ustawienia (Settings). Tam znajdziemy opcję **Amazon Smile**.

{{% gallery %}}
[![Aplikacja Amazon - Opcje](/images/2020/12/AmazonApp_iOS_Options-min.png)](/images/2020/12/AmazonApp_iOS_Options-min.png)
[![Aplikacja Amazon - Opcje - Ustawienia](/images/2020/12/AmazonApp_iOS_Options_Settings-min.png)](/images/2020/12/AmazonApp_iOS_Options_Settings-min.png)
[![Aplikacja Amazon - Opcje - Ustawienia - AmazonSmile](/images/2020/12/AmazonApp_iOS_Options_Settings_AmazonSmile-min.png)](/images/2020/12/AmazonApp_iOS_Options_Settings_AmazonSmile-min.png)
{{% /gallery %}}

Podążając zgodnie z instrukcjami na ekranie, wybierzemy organizację, którą chcemy wspierać i gotowe!

Teraz wystarczy robić zakupy w aplikacji tak jak dotychczas. Amazon automatycznie zakwalifikuje wybrane produkty do programu i przekaże w naszym imieniu procent z wydanej kwoty.

{{% ads-in-article %}}

## Co dalej?

W przypadku zakupów z poziomu komputera nadal musimy posłużyć się stroną **[smile.amazon.co.uk](https://smile.amazon.co.uk/)**.

Amazon Smile, mimo że nas nic nie kosztuje, aktywowany jest na dwa lata. Po tym okresie Amazon zapyta nas, czy dalej chcemy z niego korzystać (skoro nic nas to nie kosztuje, dlaczego nie?). 

Jeżeli zmienimy zdanie, jaką organizację chcemy wspierać, zawsze możemy dokonać zmiany w trakcie. Wszystkie kwalifikowane zakupy po zmianie wspierać będą nowo wybraną organizację.

**I tyle. Wszystko będzie odbywać się automatycznie.**

Oczywiście, program, na razie, dostępny jest tylko w Stanach Zjednoczonych oraz Wielkiej Brytanii dla wybranych, kwalifikowanych i zarejestrowanych organizacji.

Dodatkowo kwotę, którą Amazon przekaże na szczytny cel, **nie** możemy odpisać od naszego dochodu w postaci darowizny, gdyż w tym przypadku to Amazon daruje pieniądze, a nie my.

A więc powtórzę jeszcze raz, **skoro nas to nic nie kosztuje, dlaczego by nie skorzystać**. Co roku miliony ludzi wrzuca symbolicznego funta do puszek organizacji charytatywnych. Pandemia spowodowała, że tego typu datki zostały znacząco zredukowane, a Amazon Smile jest czymś, co może to zmienić.

Pozdrawiam.

_ps. Powyższy artykuł nie ma na celu rozbudzić dyskusji na temat samej firmy Amazon, warunków pracy i traktowania pracowników, więc proszę nie zaczynać._


---
## Dodanie drukarki USB do routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/dodanie-drukarki-usb-do-routera-openwrt/
- **Date:** 2020-11-21
- **Tags:** serwer druku, print server, OpenWrt, AirPrint, p910nd, avahi, HP JetDirect

### Content

Ostatnio zdecydowałem się na dodanie drukarki podłączonej za pomocą portu USB do mojego routera z oprogramowaniem OpenWrt.

Podczas gdy na co dzień korzystam z rozwiązania bezprzewodowego z wbudowanym AirPrint (dzięki czemu drukuję bezpośrednio z iPhone/iPad), udostępnienie drukarki na USB w sieci wiąże się z zakupem serwera druku (print server).

Niestety, obecnie dostępnym serwerom druku brakuje wsparcia dla, chociażby AirPrint, czyli możliwości drukowania bezprzewodowego z urządzeń Apple takich jak iPhone czy iPad.

Jeżeli już znajdę taki, który posiada AirPrint, to albo jest on bardzo drogi, albo producent zaprzestał jego dalszego rozwoju, a szkoda.

W związku z tym postanowiłem wykorzystać mój router z oprogramowaniem OpenWrt. Jako że posiada on dwa porty USB, z czego jeden, USB 2.0, który akurat mam wolny, nadaje się on idealnie do podłączenia drukarki.

Tak naprawdę zależało mi najbardziej na AirPrint, a co z tego wyszło, przeczytasz dalej.

<!--more-->

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Słowem wstępu

> Na wstępie sprzęt, który będę używał w poniższym przykładzie:
> * Router: _Linksys WRT3200ACM z oprogramowaniem OpenWrt_
> * Drukarka: _Samsung CLP-325 na USB_

Moim głównym założeniem będzie udostępnienie drukarki w sieci, z możliwością druku z komputera z macOS. Dodatkowo uwzględnię drukowanie z poziomu komputera z systemem Windows.

W typowym rozwiązaniu (Raspbian + Raspberry Pi + drukarka USB) posłużyłbym się pakietem CUPS i tyle. Niestety, w obecnej wersji oprogramowania OpenWrt pakietu CUPS nie uświadczymy, ze względu na ograniczenia ze strony routerów (pamięć i moc obliczeniowa). CUPS sam w sobie ma spore wymagania pod tym względem, w związku z tym oficjalne źródła zalecają inne podejście.

> Oczywiście, jeżeli chcesz, to możesz skompilować własny pakiet CUPS ze źródeł. Da się i nawet będzie działać. Jednakże problem pojawi się, gdy będziesz chciał zaktualizować oprogramowanie na twoim routerze. Mimo że według [mojego opisu](/aktualizacja-oprogramowania-openwrt/) będziesz w łatwy sposób mógł przywrócić ustawienia i zainstalowane pakiety, go w przypadku CUPS, będziesz musiał go skompilować na nowo, a wierz mi, nie jest to szybkie rozwiązanie.

## Instalacja serwera druku

Serwer druku **p910nd** dostępny jest w postaci gotowego pakietu do zainstalowania z poziomu przeglądarki (System > Software) lub terminala:

```bash
apk update
apk add p910nd
```

Dodatkowo warto zainstalować aplikację, dodającą możliwość zarządzania serwerem z poziomu naszego panelu administracyjnego LuCI.

```bash
apk add luci-app-p910nd
```

Ostatnim pakietem, który potrzebujemy, jest obsługa drukarek USB.

```bash
apk add kmod-usb-printer
```

## Znalezienie drukarki

Nim zaczniemy konfigurację naszego serwera druku, musimy sprawdzić, czy nasza drukarka jest wykrywana przez system.

Po podłączeniu kabla USB (przy włączonej drukarce) i wykonaniu w terminalu komendy `dmsg` powinniśmy zobaczyć coś takiego:

```
usb 1-1: new high-speed USB device number 4 using orion-ehci
usblp 1-1:1.0: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04E8 pid 0x329F
```

I za pomocą komendy `lsusb` sprawdzamy, czy nasze urządzenie jest rozpoznane prawidłowo. W przypadku mojej drukarki otrzymałem:

```
Bus 001 Device 004: ID 04e8:329f Samsung Electronics Co., Ltd CLP-325 Color Laser Printer
```

Czyli wszystko na dobrej drodze.

Sprawdzamy, czy drukarka jest prawidłowo rozpoznana:

```bash
ls /dev/usb/lp*
```

Po czym możemy przejść dalej.

## Konfiguracja serwera druku

Z poziomu przeglądarki przechodzimy do **Services** (Usługi) > **p910nd - Print server**.

[![OpenWrt - Services - p910nd](001_OpenWrt-Services-p910nd.png)](001_OpenWrt-Services-p910nd.png)

Konfiguracja jest w zasadzie bardzo prosta.

[![OpenWrt - p910nd Print Server](002_OpenWrt-p910nd-print-server.png)](002_OpenWrt-p910nd-print-server.png)

Po pierwsze zaznaczamy opcję **enabled** aby nasz serwer był włączony.

W następnym kroku musimy sprecyzować nasze urządzenie (**Device**). Domyślnie _/dev/usb/lp0_. Jeżeli mamy tylko jedną drukarkę, to w zasadzie nie musimy nic tutaj zmieniać.

W pozycji **Interface** (Interfejs) wybieramy **LAN**, czyli nasza serwer druku będzie nasłuchiwać żądań wydruku z sieci lokalnej.

Następnie **Port**, który domyślnie ustawiony jest na _9100_.

Zaznaczenie **‌Bidirectional mode** pozostawiamy bez zmian (w przypadku co niektórych drukarek atramentowych tę opcję będziemy musieli wyłączyć).

Następnie klikamy **Save & Apply** (Zapisz i Zastosuj).

**WAŻNE**
Po całych tych zabawach warto uruchomić nasz router ponownie lub z poziomu terminala uruchomić ponownie serwer **p910nd** aby uniknąć problemów.

```bash
/etc/init.d/p910nd restart
```

Osobiście tego nie zrobiłem przy pierwszym podejściu i zastanawiałem sięm, dlaczego nie działa 😂.

## Instalacja drukarki na komputerze z macOS

> Na poniższym przykładzie użyłem macOS Big Sur 11.0.1 (ale działa również w macOS Sonoma)

Przechodzimy do ustawień systemowych (**Settings**) i sekcji Drukarki i Skanery (**Printers & Scanners**).

[![macOS Big Sur - System Preferences - Printers & Scanners](003_macOS_Big_Sur-System_preferences-Printers_and_Scanners.png)](003_macOS_Big_Sur-System_preferences-Printers_and_Scanners.png)

Za pomocą przycisku + (plus) dodajemy naszą drukarkę.

[![macOS Big Sur - Printers & Scanners](004_macOS_Big_Sur-Printers_and_Scanners.png)](004_macOS_Big_Sur-Printers_and_Scanners.png)

W oknie Dodaj Drukarkę (**Add Printer**) wybieramy środkową ikonę i wprowadzamy adres IP naszego routera w polu adresu.

[![macOS Big Sur - Add Printer](005_macOS_Big_Sur-Add_printer.png)](005_macOS_Big_Sur-Add_printer.png)

W polu protokół (**Protocol**) wybieramy **HP JetDirect - Socket**.

Następnie przechodzimy do pola **Use**, w którym musimy wybrać, jaką metodą nasz komputer przetwarzał drukowane dokumenty.

Wybieramy **Select software...** i z listy wybieramy naszą drukarkę. Jeżeli wcześniej  podłączaliśmy drukarkę do naszego komputera za pomocą kabla USB i można było na niej drukować, bardzo prawdopodobne, że oprogramowanie będzie dostępne.

Oczywiście, w polu nazwy (**Name**), które przeskoczyłem, wpisujemy nazwę naszej drukarki, jaką chcemy widzieć w systemie.

Następnie należy nacisnąć przycisk **Add** (Dodaj) i spróbować coś wydrukować.

> Podczas dodawania drukarki możemy otrzymać komunikat, że system nie jest w stanie zweryfikować drukarki w naszej sieci. Nie musimy się za bardzo tym przejmować, więc klikamy przycisk Kontynuuj (**Continue**).

{{% ads-in-article %}}

## Instalacja drukarki na komputerze z Windows

> Na poniższym przykładzie używałem Windows 10 (20H2) ale działa to również w Windows 11.

Aby zainstalować drukarkę w systemie Windows, z poziomu **menu Start** przechodzimy do **Ustawień** a następnie do sekcji **Urządzenia**.

[![Windows 10 - Ustawienia - Urządzenia](006_Windows10_Ustawienia-Urzadzenia.png)](006_Windows10_Ustawienia-Urzadzenia.png)

Z lewej strony okna wybieramy **Drukarki i skanery** po czym klikamy na przycisk **Dodaj drukarkę lub skaner**.

[![Windows 10 - Drukarki i Skanery](007_Windows10_Drukarki_i_Skanery.png)](007_Windows10_Drukarki_i_Skanery.png)

Oczywiście, na tym etapie nasza drukarka nie zostanie wyszukana automatycznie, w związku z tym musimy kliknąć opcję **Drukarki, której szukam, nie ma na liście**.

[![Windows 10 - Drukarki, której szukam, nie ma na liście](008_Windows10_Drukarki_ktorej_szukam_nie_ma_na_liscie.png)](008_Windows10_Drukarki_ktorej_szukam_nie_ma_na_liscie.png)

W następnym oknie wybieramy **Dodaj drukarkę, używając adresu TCP/IP lub nazwy hosta** i klikamy **Dalej**.

[![Windows 10 - Dodawanie drukarki](009_Windows10_Dodawanie_drukarki.png)](009_Windows10_Dodawanie_drukarki.png)

W polu adresu wpisujemy IP naszego routera.

Odznaczamy pole **Sprawdź drukarkę i automatycznie wybierz sterowniki do użycia**, gdyż nasz router nie informuje jaka drukarka jest aktualnie podłączona. Wybieramy przycisk **Dalej**.

[![Windows 10 - Dodawanie drukarki - Wpisz nazwę hosta lub adres IP](010_Windows10_Dodawanie_drukarki-Wpisz_nazwe_hosta_lub_adres_IP.png)](010_Windows10_Dodawanie_drukarki-Wpisz_nazwe_hosta_lub_adres_IP.png)

Po chwili system rozpocznie wykrywanie portu TCP/IP.

[![Windows 10 - Wykrywanie portu TCP/IP](011_Windows10_wykrywanie_porty_tcp_ip.png)](011_Windows10_wykrywanie_porty_tcp_ip.png)

Gdy to zostanie zakończone, na następnym etapie pozostawiamy domyślnie wybrane ustawienia (Generic Network Card) i klikamy **Dalej**.

[![Windows 10 - Wymagane dodatkowe informacje na temat portu](012_Windows10_Wymagane_dodatkowe_informacje_na_temat_portu.png)](012_Windows10_Wymagane_dodatkowe_informacje_na_temat_portu.png)

Teraz przyjdzie nam wybrać sterowniki naszego urządzenia.

Podobnie jak w poprzednim kroku, jeżeli wcześniej podłączaliśmy naszą drukarkę za pomocą kabla USB do komputera i mogliśmy drukować bez problemu, wszystko powinno być w systemie.

Po wybraniu tego, czego szukamy, klikamy **Dalej**.

W następnym kroku możemy sprecyzować nazwę naszej drukarki lub zostawić domyślnie wybraną przez system. Klikamy **Dalej**.

[![Windows 10 - Wpisz nazwę drukarki](013_Windows10_Wpisz_nazwe_drukarki.png)](013_Windows10_Wpisz_nazwe_drukarki.png)

Na pytanie, czy chcemy udostępnić drukarkę w sieci, wybieramy **Nie udostępniaj tej drukarki**, gdyż jest ona już w sieci.

[![Windows 10 - Udostępnienie drukarki](014_Windows10_Udostepnienie_drukarki.png)](014_Windows10_Udostepnienie_drukarki.png)

W ostatnim kroku będziemy mieli możliwość wydrukowania strony testowej. Jeżeli wszystko wykonaliśmy poprawnie, drukarka powinna zacząć drukować.

[![Windows 10 - Pomyślnie dodano drukarkę](015_Windows10_pomyslnie_dodano_drukarke.png)](015_Windows10_pomyslnie_dodano_drukarke.png)

## Ale co z AirPrint?

I tak jak nie chciałem iść drogą CUPS, który dodałby mi AirPrint w prosty sposób, musiałem pomyśleć co dalej.

Czytając głębiej, dowiedziałem się co nieco, że AirPrint korzysta z protokołu IPP. Serwer **p910nd** działa na zasadzie AppSocket ze wsparciem protokołu LPD/LPR.

Dodatkowo AirPrint wymaga obsługi mDNS (Bonjour/Avahi) w celu wykrycia drukarki przez urządzenia Apple.

Pakiet **avahi** dostępny jest z poziomu pakietów w OpenWrt.

Ale po kolei.

Najpierw upewniłem się, że drukarka wykrywana jest w sieci automatycznie.

## Automatyczne wykrywanie drukarki w sieci

W tym celu wykorzystujemy wpisy w usłudze **avahi**.

Jeżeli nie mamy **avahi** w systemie, zainstalujemy je w następujący sposób:

```bash
apk update
apk add avahi-nodbus-daemon
```

Zgodnie z [oryginalnym wpisem](https://oldwiki.archive.openwrt.org/doc/howto/p910nd.server) tworzymy nowy plik z poziomu terminala `nano /etc/avahi/services/printer.service` i wklejamy poniższą zawartość.

```xml
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>
  <name replace-wildcards="yes">Samsung CLP-325 on %h</name>
  <service>
    <type>_pdl-datastream._tcp</type>
    <port>9100</port>
    <txt-record>qtotal=1</txt-record>
    <txt-record>note=room 2</txt-record>
    <txt-record>ty=Samsung CLP-325</txt-record>
    <txt-record>product=(Samsung CLP-320 series)</txt-record>
    <txt-record>usb_MFG=Samsung</txt-record>
    <txt-record>usb_MDL=CLP-320 series</txt-record>
    <txt-record>Color=F</txt-record>
    <txt-record>Duplex=F</txt-record>
    <txt-record>Bind=F</txt-record>
    <txt-record>Collate=F</txt-record>
    <txt-record>Sort=F</txt-record>
    <txt-record>Staple=F</txt-record>
    <txt-record>Punch=F</txt-record>
    <txt-record>PaperMax=legal-A4</txt-record>
  </service>
</service-group>
```

Oczywiście, nazwę drukarki dostosowujemy do naszych potrzeb.

Uruchamiamy ponownie usługę:

```bash
/etc/init.d/avahi-daemon restart
```

W przypadku macOS wartość w sekcji `product=` odpowiada za nazwę sterownika w systemie, dzięki czemu nasza drukarka nie tylko będzie wykrywana automatycznie, ale również system wybierze poprawne sterowniki.

[![macOS Big Sur - Add printer - Bonjour](016_macOS_Big_Sur_Add_printer_Bonjour.png)](016_macOS_Big_Sur_Add_printer_Bonjour.png)

**Jak jednak zauważysz, drukarka jest prawidłowo wykrywana w systemie macOS, ale nie w Windows 10**.

[![Windows 10 - Wyszukiwanie drukarki](017_Windows10_wyszukanie_drukarki.png)](017_Windows10_wyszukanie_drukarki.png)

Taka to natura **avahi** oraz brak wsparcia ze strony Windows 10.

W przypadku systemu Windows 10, dodawanie drukarki musimy wykonać w sposób bardziej manualny, tak jak opisałem powyżej.

## Drukowanie z telefonu (w tym iPhone)

Niestety, przy zastosowaniu **p910nd** jako serwera druku, nici z dodania obsługi AirPrint.

Po mału zacząłem się z tym oswajać (szukając innego rozwiązania), ale postanowiłem poeksperymentować.

Otóż skoro moja drukarka działa w sieci, jest wykrywana przez system macOS automatycznie, to może jest nadzieja.

HP (obecny właściciel sekcji drukarek Samsunga), tak jak i inni producenci wypuszczają własne oprogramowanie dla urządzeń przenośnych (czy to z Androidem, czy iOS/iPadOS) umożliwiających drukowane, nawet w przypadku, gdy nie ma możliwość wykorzystania natywnie wbudowanej opcji w system tj. AirPrint.

Sięgnąłem więc po aplikację Mobile Print ([Android](https://play.google.com/store/apps/details?id=com.sec.print.mobileprint), [iOS/iPadOS](https://apps.apple.com/app/hp-samsung-mobile-print/id1301469531)).

> Mimo, że nie jestem fanem tego typu rozwiązań, tak jak większość użytkowników, o czym świadczą bardzo niskie oceny, nic więcej mi nie zostało.

Po uruchomieniu aplikacji kliknąłem napis **Select Device** aby dodać urządzenie i po chwili zobaczyłem, że moje urządzenie jest wykrywane poprawnie! Do więcej, po dodaniu go do programu nagle wyświetliła się jako dostępna z zielonym ptaszkiem.

{{% gallery %}}
[![iOS - Mobile Print](018_iOS_Mobile_Print.png)](018_iOS_Mobile_Print.png)
[![iOS - Mobile Print - Select device](019_iOS_Mobile_Print-Select_device.png)](019_iOS_Mobile_Print-Select_device.png)

[![iOS - Mobile Print - Selected device](020_iOS_Mobile_Print-Selected_device.png)](020_iOS_Mobile_Print-Selected_device.png)

[![iOS - Mobile Print with printer](021_iOS_Mobile_Print_with_printer.png)](021_iOS_Mobile_Print_with_printer.png)
{{% /gallery %}}

Szybko wydrukowałem jedno zdjęcie z mojej galerii. Coś, czego bym się nie spodziewał, wydruk się pojawił i to tak jak powinien.

A więc działa!

Mimo że połowiczny sukces (nadal nie mam wygodnego AirPrint), to mogę drukować.

## No ale co z AirPrint?

Niestety, z wykorzystaniem OpenWrt, na obecnym etapie rozwojowym  nie jest to możliwe. Koniec i kropka.

> Oczywiście jest nadzieja dzięki projektowi [OpenPrinting/ipp-usb](https://github.com/OpenPrinting/ipp-usb), ale to może w przyszłości.

Użycie **p910nd** zamiast CUPS ma swoje wady i zalety.

Zaletą, jak wspomniałem wcześniej, jest mała zasobożerność, dzięki czemu można go zainstalować i używać bez problemów nawet na mało wydajnym routerze. Serwer druku jest szybki, przygotowanie druku (spooling) następuje po stronie klienta i wysyłane jest bezpośrednio do drukarki.

Wadą jest natomiast chociażby brak obsługi AirPrint, przez co drukowanie z telefonów tj. iPhone, odbywać się może tylko dzięki dodatkowej aplikacji, tak jak wspomniałem wcześniej.

## Co więc pozostaje?

Cel niniejszego wpisu, czyli **dodanie drukarki USB do routera z OpenWrt**, umożliwiający drukowanie w sieci został osiągnięty.

Dla mnie jednak to nie wystarczy, więc całość powyżej traktuje raczej jako eksperyment i skusze się jeszcze raz na wykorzystanie **Raspberry Pi**.

Tym razem, na [The Pi Hut](https://thepihut.com) kupiłem [Raspberry Pi Zero W](https://thepihut.com/products/raspberry-pi-zero-w), które kosztowało tylko £9.30 (~46.60zł)! Do tego dokupiłem [kabel mini-HDMI](https://thepihut.com/products/official-raspberry-pi-mini-hdmi-cable) (bo akurat tego nie miałem) - £2.40 (~12zł) oraz [obudowę](https://thepihut.com/products/premium-raspberry-pi-zero-case) za £3.00 (15zł). Wykorzystując jakąś nieużywaną ładowarkę do telefonu (1.5A), rozwiązałem problem ładowania. Wykorzystałem również walającą się w szufladzie kartę microSD oraz przejściówkę microUSB na pełnowymiarowy port USB. I tak z wykorzystaniem czystego Raspbian oraz doinstalowanego pakietu CUPS mogę w prosty sposób otrzymać własny, bezprzewodowy oraz mało prądożerny serwer druku... z obsługą AirPrint.

Ah.. mogłem tak zrobić od razu, ale wolałem sprawdzić, czy nie da się wykorzystać tego, co już mam. A nóż komuś powyższe rozwiązanie się przyda.

Pozdrawiam.


---
## Koniec z darmowy miejscem w Zdjęciach Google (Google Photos)
- **URL:** https://dariusz.wieckiewicz.org/koniec-darmowe-miejsce-zdjecia-google-photos/
- **Date:** 2020-11-11
- **Tags:** Zdjęcia Google, Google Photos, Google

### Content

Stało się! Google przekalkulowało, że biznes, w który się wpakowało ze **Zdjęciami Google (Google Photos)**, o ile zmienił nieodwracalnie sposób przechowywania przez nas zdjęć, o tyle jest bardzo kosztowny dla niego samego.

Miejsce na dysku (**storage**) i jego utrzymanie kosztuje i to nie mało. Energia niezbędna do zapewnienia stałości jego usług odgrywa jeszcze większę rolę, szczególnie w erze dbania o klimat.

Ktoś w Google nie przemyślał faktu, że ludzie lubią to, co darmowe, szczególnie gdy nie widać różnicy. A mowa tu o zdjęciach i filmach przez nas przechowywanych na Google Photos w postaci skompresowanej, ale bez utraty wizualnej jakości, a zarazem bez zajmowania przez nie przestrzeni dyskowej dostępnej w ramach usługi.

I tak po przeszło 4 kwintylionach (4,000,000,000,000) zdjęć przesłanych przez użytkowników do Zdjęć Google, oraz tym, jak duże firmy zaczęły patrzeć na pieniądze w czasie pandemii, które generują ze swojej działalności, przyszła pora na Google, by zacząć myśleć jak firma nastawiona na zysk.

Po części ktoś miał wspaniały plan, zaoferować coś, co pozwoli zrewolucjonizować rynek. **Z innej strony ktoś miał jeszcze lepszy plan!**

Ktoś wiedział, że po kilku latach (ponad 5-ciu) używania Zdjęć Google, coraz to ciężej każdemu będzie przenieść się z nich do innego rozwiązania, o ile takie istnieje?

<!--more-->

## Co się zmieni?

[Google poinformował](https://blog.google/products/photos/storage-changes/), że Wysoka jakość (darmowa nielimitowana przestrzeń) ang. **High quality (free unlimited storage)** przestanie być **darmowa** od 1-wszego Czerwca 2021 roku.

Zdjęcia, które dotychczas nie wliczały się z przestrzeń dyskową dostępną dla poczty Google i dysku, nagle zaczną być wliczane.

O ile osoby, które używają Zdjęcia Google do przechowywania zdjęć w oryginalnej rozdzielczości, nie odczują żadnej zmiany, o tyle wszyscy inni tak.

**Na szczęście, nie wszystko jest takie straszne.**

Otóż zdjęcia i filmy przesłane do Zdjęć Google (Google Photos) przed 1-wszym Czerwca 2021 nadal będą dostępne i nie będą zużywały miejsca dostępnego w usłudze. Natomiast, wszystkie nowe, zdjęcia i filmy, przesłane od 1-wszego Czerwca 2021 zużywać będą naszą dostępną przestrzeń.

Zważywszy na fakt, że 15GB domyślnej przestrzeni, dzielone na pliki na Dysku Google, pocztę Gmail a teraz zdjęcia to tak naprawdę nic. Szybko przyjdzie nam do sięgnięcia do naszego portfela.

O ile osobiście płacę £15.99 rocznie (89.99zł) za 100GB w ramach usługi Google (z czego mam zajęte ok. 60%), to obstawiam, że w przeciągu pierwszych miesięcy od obowiązujących zmian (a weźmy pod uwagę, że zmiany wchodzą w okresie wakacji!) będę zmuszony do przejścia na pakiet 1TB, który kształtuje się na poziomie £7.99 za miesiąc!

Osoby, które korzystają z podstawowego pakietu 15GB, w zależności jak są aktywne, w przeciągu pierwszego miesiąca zauważą, że nagle brakuje im miejsca. **No, chyba że mają telefon od Google.**

> Użytkownicy telefonów Google Pixel 1 do 5 (i nowszych) nadal będą mieli możliwość korzystania z nielimitowanej przestrzeni dyskowej na zdjęcia przechowywane w Wysokiej Jakości (skompresowane, ale wizualnie nie do odróżnienia).

Wpis Google jest na tyle przejrzysty, to jednak pozostawia sporo pytań bez odpowiedzi.

O ile Google obstawia, że 80% użytkowników będzie w stanie, w ramach 15GB zmieścić nawet 3 lata zdjęć bez konieczności wykupowania większego pakietu, osobiście w to szczerze wątpię.

Zakładam, że w ustawieniach Zdjęć Google nadal będziemy mieli możliwość wybrania przechowywania zdjęć w oryginalnej jakości, jak i wysokiej, skompresowanej. To jednak tylko odwlecze nieznacznie nieuniknione, czyli płacenie.

Aby zrozumieć, co zajmuje nam miejsce w ramach usługi Zdjęć Google, firma odsyła do [dedykowanej strony](https://photos.google.com/storage).

## Co dalej?

Jak Google obiecuje, już w Czerwcu 2021 wypuści specjalne narzędzie pozwalające nam w przejrzysty sposób zarządzanie kopiami naszych zdjęć. W szczególności poinformuje nas o zdjęciach, które zajmują nasze miejsca, a są słabej jakości, prześwietlone, niedoświetlone, poruszone – czyli te, które normalnie byśmy usunęli, ale jako że wszystko do tej pory było darmowe, po prostu nam się nie chciało.

Metoda ta pozwoli odzyskać co nieco przestrzeni, mimo tego, jak wspomniałem wcześniej, odwlecze tylko nieznacznie nieuniknione.

> Jeżeli już teraz jesteśmy zainteresowani, ile w przyszłości "nowa" (stara) usługa będzie nas kosztować, Google odsyła do ich strony [Google One](https://one.google.com/about).
> Usługa Google One umożliwia, w ramach prywatnego konta Google, na wykupienie jednego pakietu i [podzielenie się nim w ramach Grupy rodzinnej](https://one.google.com/faq/plan-sharing). Inna sytuacja jest, jeżeli chodzi o użytkowników, który, tak jak jak, korzystają z konta Google w ramach [Google Workspace](https://workspace.google.com).

Jeżeli zdecydujemy się pobrać zdjęcia, filmy (i wszystko inne), które obecnie przechowujemy w usłudze Google, możemy tego dokonać za pomocą dedykowanej strony [Google Takeout](https://takeout.google.com/settings/takeout).

> Gdy robiłem mój pierwszy Takeout jakieś 2 lata temu, moje zdjęcia zajmowały przeszło 120GB!

Tą oto metodą możemy zapisać wszystko to, co aktualnie mamy przechowywane w Google i przenieść gdzie indziej. Czy to na zewnętrzny dysk twardy (powrót do przeszłości), czy też przenieść się do innej usługi.

## Inne usługi?

Zapytasz się, czy istnieje coś dobrego, będącego alternatywą dla Zdjęć Google? 

Otóż i tak i nie.

Nim w pośpiechu zdecydujemy się przenieść nasze drogocenne pamiątki z miejsca, w którym są bezpieczne, do tego, które może okazać się gwoździem do trumny, pomyślmy!

Wyszukując w Google informacji na temat alternatywy dla Zdjęć Google, możemy znaleźć kilka firm, jednakże nikt nie gwarantuje, że te oto firmy nie zamkną się z dnia na dzień, odcinając nas od naszych drogocennych wspomnień. 

> O tyle, co zagranie Google nie jest fajne (ale zrozumiałe), o tyle sama firma wie, że tego typu zmiana nie jest czymś co, można zastąpić z dnia na dzień, w związku z tym powiadamiają nas o tym z wyprzedzeniem więcej niż ponad 6-miesięcznym.

To samo z dyskiem zewnętrznym. O ile możemy go używać jako kopię zapasową, o tyle nie możemy liczyć, że będzie on naszą jedyną deską ratunku. W przypadku kradzieży lub uszkodzenia tracimy wszystko. Nawet przechowywanie go w bankowej skrytce depozytowej niczego nie gwarantuje.

A więc co? Zapytasz.

Otóż jednym z graczy na rynku, szczególnie w początkowym stadium rezygnacji ze Zdjęć Google stanie się Amazon z ich usługa **Zdjęć Amazon** ([Amazon Photos](https://www.amazon.com/Amazon-Photos)).

{{% ads-in-article %}}

### Amazon Photos

W ramach Amazon Photos (będący częścią płatnego Prime), otrzymujemy nielimitowaną przestrzeń na nasze zdjęcia (w oryginalnej jakości!), z tym że nasze filmiki wliczają się w limit 5GB pakietu podstawowego, który na długo nie starczy.

O ile ta usługa jest godna zaufania (Amazon nie zamknie się lub zmieni warunków usługi z dnia na dzień), o tyle niepozbawiona was. Prędzej czy później będziemy i tutaj musieli sięgnąć do portfela.

## A więc co innego?

Problem jest w tym, że liczba liczących się usług jest znikoma i o tym Google dobrze wie. 

Myślę, że przyjdzie nam doczekać i zobaczyć, co w międzyczasie się zmieni.

Oczywiście, są usługi od innych usługodawców, na których możemy przechowywać nasze zdjęcia (płacąc jednocześnie za przestrzeń dyskową), ale zastąpić coś, co do tej pory oferowało nam tak dużo za tak mało (za darmo) będzie naprawdę ciężko.

### Dropbox?

Kiedyś, przed Zdjęciami Google korzystałem z Dropbox'a do przechowywania kopii zdjęć. Ich usługa [oferuje również dedykowane opcje przechowywania zdjęć w chmurze](https://www.dropbox.com/pl/features/cloud-storage/photos).

Ceny zaczynają się od £7.99 za 2TB, jednakże nie znajdziesz tutaj opcji kompresji zdjęć i filmów, tak jak to Google oferuje w ramach Zdjęć Google, przez co szybko przyjdzie ci zapełnić twoje dostępne miejsce.

Osobiście będę śledził z uwagą, co się będzie działo na przełomie najbliższy miesięcy i napewno napisze jeszcze o czymś, co będzie warte uwagi, a być może stanie się dobrą alternatywą. 

Zobaczymy, czy okazję wykorzystają tacy gracze jak **Flickr** z ich pakietem Flickr Pro.

Na pewno użytkownicy urządzeń od Apple będą częściej zostawali ze zdjęciami w ramach usługi iCloud, a niżemy eksperymentowali ze Zdjęciami Google, szczególnie, że Apple wypuścił swoją wersję usługi [Apple One](https://www.apple.com/pl/apple-one/).

Microsoft, w ramach [pakietu 365](https://www.microsoft.com/microsoft-365) również mógłby co nieco uszczupnąć rynku Google, jak i [Adobe](https://www.adobe.com/uk/products/photoshop-lightroom/store-manage-photos.html) z ich pakietem 1TB i aplikacją Lightroom na komputer i urządzenia mobilne gratis (£9.98 miesięcznie).




---
## Kable kabelki - USB-C
- **URL:** https://dariusz.wieckiewicz.org/kable-kabelki-usb-c/
- **Date:** 2020-10-31
- **Tags:** USB-C, AmazonBasic, Anker, UGREEN, Spigen

### Content

Złącze USB-C miało być rozwiązaniem na panujące różnice pomiędzy wolnym USB 2.0 a szybkim (niebieskim) USB 3.0. Po części tak się stało (a różnica miała być właśnie we wtyczce), dopóki nie wkroczyli na rynek producenci kabli USB-C.

<!--more-->

Mimo różnicy w kształcie wtyczki celem USB-C miała być między innymi prędkość. W specyfikacji USB 3.1 Gen 2 aż do 10Gbps. Oprócz prędkości kolejną różnicą miało być zasilanie, czyli prąd płynący po kablu. Kable z wtyczką USB-C ma mieć zdolność do przesyłania nawet 100W w porównaniu z kablem z wtyczką USB-A w specyfikacji USB 3.0, który limitowany jest na poziomie 12W (w skrajnych wypadkach 18W).

Wszystko miało być tak pięknie, aż do czasu, gdy producenci kabli wkroczyli na rynek i wszystko popsuli.

Kupowanie kabla USB-C to teraz nie lada wyzwanie.  Nie da się ot, tak kupić kabla i osiągnąć jednocześnie prędkości oraz odpowiedniej wartość zasilania. Jeżeli chcemy dobry kabel, musimy zagłębić się w specyfikacje.

Otóż, chociażby Amazon sprzedaje swój markowy kabel USB-C za grosze. Tyle że o ile nadaje się on do ładowania, nie nadaje się do przesyłu danych. No chyba, że chcemy się cofnąć w czasie o 10-15 lat. Nie bez powodu oznaczony jest jako USB-C **2.0** i oferuje maksymalnie 480Mbps przy przesyłaniu danych, tyle, co typowe złącze w specyfikacji USB 2.0 z wtyczka typu USB-A.

To nie tylko Amazon. Nawet producent taki jak **Apple** do swojej ładowarki do komputerów z serii MacBook Pro załącza obustronny kabel USB-C. Ma on za zadanie dostarczenie 60 lub 87W dla urządzenia, ale nie jest przeznaczony do przesyłu danych. O ile przesył danych może działać w niektórych przypadkach, to będzie on na poziomie kabla AmazonBasic w specyfikacji 2.0.

Jak się rozejrzysz dookoła, zauważysz, że znalezienie dobrego kabla to coś więcej niż wpisanie w wyszukiwarce **kabel USB-C**. W moim przypadku nauczony na innych kablach (które zwróciłem) wiem, że muszę moją frazę wyszukiwania sprecyzować do **USB-C 3.1 Gen 2** aby mieć pewność, że otrzymam co najmniej kabel zdolny do dostarczenia do 100W energii i transferu do 10Gbps (gdy zajdzie taka potrzeba).

I tak odrzucając wszystkie niemarkowe kable, które **na papierze** tylko oferują gwiazdkę z nieba do wyboru mam tylko sprawdzoną firmę Anker i ich kabel PowerLine II, który w rozsądnej cenie (£15.99 lub taniej) jest w stanie spełnić powierzone w nim oczekiwania.

Co najśmieszniejsze, to oprócz firmy Anker nie znajdziesz innych znanych (tych, którym można zaufać), które zaoferują to, co potrzeba dla kabla USB-C.

Oczywiście, jeżeli potrzebujemy kabel, który będziemy używać tylko do ładowania, to głównie będziemy się kierować spełnieniem wymagań **Power Delivery** w wersji 3.0 (**PD 3.0**). Tutaj pole do popisu wśród producentów jest znacznie bardziej rozbudowane i oprócz Anker mamy również sprawdzony UGREEN.

> ps. UGREEN oferuje również kabel 100W 10Gbps ale osobiście go nie sprawdzałem gdyż jest droższy od tego samego kabla co od firmy Anker.

Szczerze, przy mocy, jaką mogą te kable przenosić i w zależności do jak silnej ładowarki będzie on podłączony, byłbym ostrożny w kupowanie niemarkowych i niesprawdzonych produktów w celu zaoszczędzenia kilku funtów lub złotych.

Tak jak kupowanie w „funciaku” (sklepie typu wszystko po 5zł) kabel do iPhone, który działa przy "wolnej" ładowarce do iPhone 1A, ale pali się podłączony do ładowarki od iPada dostarczającej 2.4A. Nie mówiąc już o tym, że tego typu kable mają czasem problem z przesyłem nawet 1A, przez co zauważymy, że nasz telefon ładuje się znacznie dłużej.

Co ciekawe – Spigen, marka znana z produkcji wysokiej jakości obudów do telefonów wypuściła swój kabel w specyfikacji niby USB 3.2 dostarczającej **100W** ale zamiast 20Gbps przesyłu danych otrzymujemy **tylko 5Gbps**.

I tutaj zaczyna się zament w specyfikacji.

USB 3.2 Gen 1 (kabel Spigen) to nic innego jak USB 3.0 zmienione na USB 3.1 Gen 1 z wtyczka USB-C oferujący transfer do 5Gbps. **Obłęd!**

Czemu się dziwić skoro USB 3.2 Gen 2 to nic innego jak USB 3.1 Gen 2 oferujący transfer do 10Gbps. Natomiast USB 3.2 2x2 to oryginalnie zamierzone USB 3.2 używające dwóch pasm 10Gbps, aby zaoferować transfer do 20Gbps.

**Bo przecież zakup głupiego kabla do ładowania lub też transferu danych nie musi być prosty, bo po co.**

{{% ads-in-article %}}

Miało być tak pięknie, a wyszło jak zwykle.

Osobie, która wymyśliła kabel USB-C w specyfikacji 2.0, można by było serdecznie strzelić w mordę.

Nie ma niestety producenta bez winy, bo zarówno Anker jak o Spigen w swojej ofercie posiadają kabel w specyfikacji 2.0!

Wiec, jeżeli szukasz dobrego kabla USB-C, warto w swoich poszukiwaniach dodać co najmniej **10Gbps 100W** do naszej frazy wyszukiwania.

Pozdrawiam

---
[fot. by Adam Bowie via Flickr](https://www.flickr.com/photos/adambowie/50096344393/) – lic. CC BY-NC-SA 2.0



---
## iPhone Upgrade Programme w 2020 - czy warto?
- **URL:** https://dariusz.wieckiewicz.org/iphone-upgrade-programme-w-2020-czy-warto/
- **Date:** 2020-10-26
- **Tags:** iPhone Upgrade Programme, iPhone, iPhone 12 Pro, iPhone 12 Pro Max, AppleCare

### Content

Jako osoba lubiąca nowinki techniczne lubię bawić się najnowszym sprzętem. Jeżeli chodzi o sprzęt Apple, jeżeli zmiana urządzenia na nowsze zaraz po wypuszczeniu nie jest wpisana w naszą pracę, to typowy upgrade jest z reguły kosztowny i nie zawsze opłacalny.

Posiadając iPhone 6 kilka lat temu, nie spieszyłem się ze zmianą, aż do wyjścia iPhone X, z którym byłem przez dwa lata. W momencie wypuszczenia iPhone 11 Pro skierowałem się ku zakupowi iPhone XS (tak, jednej generacji wstecz). Jako że egzemplarz (wyjątek od reguły) okazał się niezgodny z opisem, musiałem go zwrócić, a żeby nie zostać bez telefonu, zdecydowałem się na iPhone 11 Pro 256GB.

Jako że Apple oferuje raty 0%, całość wyniosła mnie £49.99 miesięcznie przy pierwszej wpłacie £20 i ostatniej, kształtującej się na poziomie £29.23. Nie jest to jakiś nie wiadomo jaki **deal**, ale bynajmniej nie przepłacam, tak jak to bywa u operatorów w UK (szczególnie dla klientów indywidualnych).

Od dawna przyglądałem się programowi Apple zwanym iPhone Upgrade Programme[^1]. Za stałą opłatę miesięczną masz nowy telefon, który możesz wymienić na nowszy już po roku (bez konieczności płacenia pozostałych "rat"). W całość wlicza się Apple Care, co dodatkowo zachęca do zastanowienia się, czy warto?

<!--more-->

---

W tym roku Apple zaprezentował serię telefonów iPhone 12. O ile nie jestem zainteresowany czystą 12-tką lub też mini, odrazu zobaczyłem, jak ceny kształtują się na 12 Pro i Pro Max. 

Mimo tego, że mój 11 Pro spisuje się wyśmienicie i nie myślę jego zmianie do czasu następnego iPhone w 2021, to zdecydowałem się zrobić mały rekonesans, tym bardziej że, w tym roku iPhone-y nieco "potaniały" w stosunku do cen z 2019.

---

iPhone 12 Pro (256GB - moje rekomendowane minimum i maksimum jednocześnie) to wydatek rzędu £45.79 miesięcznie (taniej o £4.20 niż 11 Pro w zeszłym roku).

Za cenę, którą płacę za 11 Pro (£49.99) mógłbym pochwapić się o model 12 Pro Max (256GB) za £49.95 (i tutaj £0.05 taniej).

> Jeżeli chcemy AppleCare+ przyjdzie nam dołożyć £8.29 miesięcznie.

I tutaj mały haczyk. Otóż powyższe ceny kalkulowane są na okres 2 lat (24 miesiące). Porównując je bezpośrednio z iPhone Upgrade Programme, możemy się złapać za głowę.

![iPhone Upgrade Programme Porównanie](iPhone-Upgrade-Programme-compare-min.png)

Cena tego samego iPhone 12 Pro to £61.45 a Pro Max £66.45.

Program ten jednak rozkłada płatność na 20 miesięcy, po czym nowy telefon możemy otrzymać już po 11 miesiącach spłaty.

| Telefon | Pierwsza wpłata | 20x | W sumie | 24m |
| :-: | :-: | :-: | :-: | :-: |
| 12 Pro 256GB | £69 | £61.45 | £1298.00 | (£54.08) |
| 12 Pro Max 256GB | £69 | £66.45 | £1398.00 | (£58.25) |

Dla porównania kupując normalnie

| Telefon | Pierwsza wpłata | 23x | Ostatnia | W sumie |
| :-: | :-: | :-: | :-: | :-: |
| 12 Pro 256GB | £20 | £45.79 | £25.83 | £1099 |
| 12 Pro Max 256GB | £20 | £49.95 | £30.15 | £1199 |

**Tyle że bez AppleCare+**

Z AppleCare+ kształtuje się następująco:

| Telefon | Koszt całkowity | AppleCare+ | W sumie | 24m |
| :-: | :-: | :-: | :-: | :-: |
| 12 Pro 256GB | £1099 | £198.96 | £1297.96 | (£54.08) |
| 12 Pro Max 256GB | £1199 | £198.96 | £1397.96 | (£58.25) |

Po zaokrągleniu o 4p, czy widzisz tutaj jakąś różnicę?

> Porównując, po 12 miesiącach użytkowania iPhone 11 Pro 256GB nadal mogę go sprzedać od ręki za £526 na [musicMagpie](https://www.musicmagpie.co.uk/start-selling/) odzyskując co najmniej 43% wartości.

W iPhone Upgrade Programme możemy otrzymać nowy telefon co roku, a w cenę wliczony jest AppleCare+ i wygląda to tak:

| Telefon | Pierwsza wpłata | Po 11x | 43% | Różnica |
| :-: | :-: | :-: | :-: | :-: |
| 12 Pro 256GB | £69 | £675.95 | £472.57 | £203.38 |
| 12 Pro Max 256GB | £69 | £730.95 | £515.57 | £215.38 |

Jak widzimy, po spłaceniu 50% (*tak naprawdę przeszło 57%!*) wartości telefonu, gdybyśmy chcieli go sprzedać, aby zmienić na nowy stracilibyśmy pomiędzy £203.38 a £215.38.

Gdy jednak AppleCare+ nie jest dla nas czymś niezbędnym (osobiście posiadam telefon ubezpieczony w ramach mojego ubezpieczenia mieszkania, a skorzystałem z tego tylko raz w przeciągu ostatnich 7 lat), różnica jest nieco mniejsza.

{{% ads-in-article %}}

I tak, gdy kupujemy telefon samodzielnie:

| Telefon | Koszt całkowity | Po 12m | 43% | Różnica |
| :-: | :-: | :-: | :-: | :-: |
| 12 Pro 256GB | £1099 | £549.50 | £472.57 | £76.93 |
| 12 Pro Max 256GB | £1199 | £599.50 | £515.57 | £83.93 |

Tutaj, jak widzimy, po spłaceniu 50% wartości telefonu, gdybyśmy chcieli go sprzedać i zmienić na nowy, stracilibyśmy pomiędzy £76.93 a £83.93.

Powyższe założenie jest aktualne, gdy sprzedamy nasz telefon wg gwarantowanej ceny. Korzystając z innych metod sprzedaży, możemy wyjść na zero lub minimalnie zarobić. Dodatkowo, jako że tegoroczne telefony są "tańsze", to możemy na tym wyjść na plus.

> Jako użytkownik iPhone X, patrząc na następcę iPhone Xs, stwierdziłem, że zakupując X, stałem się pewnego rodzaju królikiem doświadczalnym, gdyż wszystkie bolączki z X zostały naprawione w Xs i 11 Pro. Czy decydując się na iPhone 12 Pro ze "starym" chipem 5G zjadającym 20% szybciej baterię nie staniemy się kolejnym królikiem doświadczalnym, aż wszystko zostanie naprawione na następnym modelu – czy to będzie iPhone 12s, czy iPhone 13? Pożyjemy-zobaczymy. Osobiście, czytając przeróżne opinie, kieruję się ku temu uświadczeniu, że tak właśnie będzie. I tak mając iPhone 11 Pro, zmiana na 12 Pro może okazać się poniekąd strzałem w stopę.

Apple reklamuje iPhone 12 Pro sloganem "It's a leap year" (czyli, że mamy rok przestępny). Dla mnie to bardziej "It's a skip year" (czyli, zapomnijmy o iPhona-ch z tego roku i zobaczmy, co 2021 przyniesie). Zresztą, ten rok jest wystarczająco do bani.

Pozdrawiam

[^1]: [iPhone Upgrade Programme](https://www.apple.com/uk/shop/iphone/iphone-upgrade-program)


---
## Porządki w Windows 10
- **URL:** https://dariusz.wieckiewicz.org/porzadki-w-windows-10/
- **Date:** 2020-10-11
- **Tags:** Windows 10, Panel Sterowania, Oczyszczanie dysku, Narzędzia administracyjne systemu Windows, Windows Defender, Menadżer Zadań, BleachBit, punkt przywracania, Windows Updates, Driver Booster, Microsoft Store, SUMo

### Content

System Windows 10 jest już z nami kilka dobrych lat i na razie tak zostanie. Z czasem jednak każdy system może zacząć prosić o zrobienie porządków. O ile za czasów poprzednich wersji systemu Windows zalecaną metodą było przeinstalowanie całego system, o tyle z Windows 10 osobiście nie widzę takiej potrzeby, chyba że mamy problem, którego naprawienie potrwałoby dłużej niż zainstalowanie i ustawienie wszystkiego od nowa.

<!--more-->

> O ile jeszcze nie natrafiłeś na inny mój artykuł, odsyłam również do:
>
> [Windows 10 - Przyśpieszenie i dostosowani](/windows-10-przyspieszenie-dostosowanie/)

---

## Usunięcie zbędnego oprogramowania

Wszelkiego rodzaju porządki należy zacząć od usunięcia oprogramowania, którego już nie używamy. Czy to tego, zainstalowanego ze Sklepu Microsoft, czy też osobno z Internetu. Możemy tego dokonać w dwojaki sposób.

### Z poziomu Ustawień (Settings) systemu Windows 10

Klikamy przycisk **Start** > **Ustawienia**

[![Ustawienia systemu Windows](/images/2020/10/Ustawienia_systemu_Windows-min.png)](/images/2020/10/Ustawienia_systemu_Windows-min.png)

W oknie **Ustawienia** wybieramy opcję **Aplikacje**

Domyślnie przejdziemy do opcji **Aplikacje i funkcje**, która zawierać będzie listę Aplikacji zainstalowanych w naszym systemie. Przeglądając ją, możemy wybrać i usunąć (przycisk Odinstaluj) program zainstalowany ręcznie, jak i te zainstalowane ze Sklepu Microsoft (Microsoft Store), o ile nie są one częścią integralną systemu Windows.

[![Aplikacje i funkcje](/images/2020/10/Aplikacje_i_funkcje-min.png)](/images/2020/10/Aplikacje_i_funkcje-min.png)

### Z poziomu Panelu Sterowania

Tak, Panel Sterowania, nawet w najnowszej wersji systemu Windows 10 nadal istnieje i ma się dobrze. Dla mnie jest to nadal podstawowe narzędzie systemowe. Mimo tego, że nie ma on bezpośredniego skrótu w menu start, to nadal można go przywołać z poziomu opcji **Uruchom** (klawiszem Win+R) wpisując słowo **control** i potwierdzając klawiszem Enter.

[![Uruchomienie control](/images/2020/10/Uruchomienie_control-min.png)](/images/2020/10/Uruchomienie_control-min.png)

Jeżeli nasz Panel Sterowania wyświetlony jest wg widoku kategorii, w widocznej sekcji **Programy** wybieramy **Odinstaluj program**.

[![Panel Sterowania Windows 10](/images/2020/10/Panel_Sterowania_Windows_10-min.png)](/images/2020/10/Panel_Sterowania_Windows_10-min.png)

Tak otrzymamy listę programów, które możemy odinstalować (z wyjątkiem tych zainstalowanych z poziomu Sklepu Microsoft).

[![Odinstaluj lub zmień program](/images/2020/10/Odinstaluj_lub_zmien_program-min.png)](/images/2020/10/Odinstaluj_lub_zmien_program-min.png)

Wybierając program, którego już nie potrzebujemy, klikamy na przycisk **Odinstaluj** i postępujemy zgodnie z krokami na ekranie.

[![Odinstaluj lub zmień program - Odinstaluj](/images/2020/10/Odinstaluj_lub_zmien_program_Odinstaluj-min.png)](/images/2020/10/Odinstaluj_lub_zmien_program_Odinstaluj-min.png)

---

## Oczyszczanie dysku za pomocą wbudowanego narzędzia

System Windows (nie tylko Windows 10) posiada bardzo użyteczne narzędzie do oczyszczania dysku z niepotrzebnych elementów systemu oraz plików tymczasowych. Nazywa się ono **Oczyszczanie dysku** i dostępne jest z menu **Start**, w folderze **Narzędzia administracyjne systemu Windows**.

Po jego włączeniu domyślnie uruchomiony zostanie on w trybie użytkownika, pozwalający jedynie na usunięcie części zbędnych plików. Jak zauważysz, w oknie znajduje się przycisk **Oczyść pliki systemowe**, który przywoła nam to samo okno, tyle że w trybie Administratora systemu. Pozwoli nam to na usunięcie dodatkowych plików, czasem, oscylujących w kilku GiB, z reguły będącymi pozostałościami po aktualizacjach systemowych.

{{% gallery %}}
[![Oczyszczanie dysku - Użytkownik](/images/2020/10/Oczyszczanie_dysku_user-min.png)](/images/2020/10/Oczyszczanie_dysku_user-min.png)
[![Oczyszczanie dysku - Administrator](/images/2020/10/Oczyszczanie_dysku_administrator-min.png)](/images/2020/10/Oczyszczanie_dysku_administrator-min.png)
{{% /gallery %}}

Z reguły możemy zaznaczyć wszystkie opcje w oknie i następnie nacisnąć przycisk **Ok** w celu rozpoczęcia czyszczenia.

W zależności, od prędkości naszego komputera oraz dysku, może to chwilkę potrwać.

[![Oczyszcznie dysku - Oczyszczanie](/images/2020/10/Oczyszczanie_dysku_oczyszcznie-min.png)](/images/2020/10/Oczyszczanie_dysku_oczyszcznie-min.png)

W przypadku, gdy podczas oczyszczania zostaniemy zapytani, czy na pewno chcemy usunąć poprzednie wersje systemu Windows (chodzi tutaj o duże aktualizacje systemu), oczywiście potwierdzamy. Zostaniemy jednocześnie ostrzeżeni, że nie będziemy mogli wrócić do poprzedniej wersji systemu Windows, jednakże, jeżeli wszystko działa dobrze, nie widzę sensu, aby do niej wracać.

---

## Pełne skanowanie systemu programem antywirusowym

Mimo że może wydawać się to trywialne, gdyż nasz program antywirusowy na bieżąco skanuje wszystkie pliki, warto raz na jakiś czas przeprowadzić pełne skanowanie systemu.

> Jakiś czas temu napisałem, dlaczego warto używać wbudowanego w system Windows Defender:
> 
> [Mój Antywirus - Windows Defender](/moj-antywirus-windows-defender/)

Windows Defender znajdziemy w postaci tarczy zlokalizowanej przy zegarku, w prawym dolnym rogu paska systemowego, lub też w menu **Start** pod pozycją **Zabezpieczenia Windows**.

[![Zabezpieczenia Windows Defender](/images/2020/10/Zabezpieczenia_Windows_Defender-min.png)](/images/2020/10/Zabezpieczenia_Windows_Defender-min.png)

Aby uruchomić pełne skanowanie, przechodzimy do **Ochrona przed wirusami i zagrożeniami**. Pod przyciskiem **Szybkie skanowanie** klikamy **Opcje skanowania**. W nowym oknie wybieramy **Pełne skanowanie** i potwierdzamy przyciskiem **Skanuj teraz**.

{{% gallery %}}
[![Zabezpieczenia Windows Defender - Ochrona](/images/2020/10/Zabezpieczenia_Windows_Defender_Ochrona-min.png)](/images/2020/10/Zabezpieczenia_Windows_Defender_Ochrona-min.png)
[![Zabezpieczenia Windows Defender - Pełne Skanowanie](/images/2020/10/Zabezpieczenia_Windows_Defender_pelne_skanowanie-min.png)](/images/2020/10/Zabezpieczenia_Windows_Defender_pelne_skanowanie-min.png)
{{% /gallery %}}

---

## Wyłączenie automatycznie startujących programów

Przeróżne programy, które instalujemy, mają tę tendencję, że lubią ładować się przy starcie systemu bez pytania najpierw o zgodę. Aby je wyłączyć, możemy dokonać tego w dwojaki sposób.

### Z poziomu Ustawień (Settings) systemu Windows 10

Przechodząc z menu **Start** do **Ustawień**, a następnie **Aplikacje**. W oknie **Aplikacje i funkcje** wybieramy z menu po lewej stronie okna opcję **Autostart**.

[![Aplikacje Autostart](/images/2020/10/Aplikacje_Autostart-min.png)](/images/2020/10/Aplikacje_Autostart-min.png)

Tutaj, za pomocą prostych przełączników możemy zdecydować, co ma automatycznie startować, a co nie.

### Z poziomu Menadżera Zadań (Task Manager)

Klikając prawym przyciskiem myszy na pasku systemowy (lub menu **Start**) wybieramy opcję **Menadżer Zadań**. Możemy go również przywołać przy pomocy skrótów klawiszowych **Ctrl+Alt+Del** lub za pomocą komendy `taskmgr` w oknie **Uruchom** (Win+R).

W menadżerze zadań, w zakładce **Uruchomienie** będziemy mieli dostęp do listy programów, które startują z systemem. Zamiast przycisku, tak jak powyżej, będziemy mieli wyświetlony Stan uruchomienia ze startem systemu. Aby zmienić stan poszczególnej aplikacji, klikamy na nią prawym przyciskiem myszy i wybieramy odpowiednio Włącz/Wyłącz.

[![Menadżer Zadań - Uruchomienie](/images/2020/10/Menandzer_zadan_Uruchomienie-min.png)](/images/2020/10/Menandzer_zadan_Uruchomienie-min.png)

---

{{% ads-in-article %}}

## Usuń pozostałości z systemu przy pomocy BleachBit

BleachBit jest niezwykle przydatnym narzędziem pozwalającym w dogłębny sposób usunąć zbędne pliki i pozostałości po programach.

O programie BleachBit pisałem w moim wpisie [CCleaner do odstawki](/ccleaner-oczyszcznie-dysku-bleachbit/) do którego odsyłam.

---

## Usuń stary i Utwórz nowy punkt przywracania

System Windows 10 (o ile miejsce na dysku pozwala) domyślnie tworzy punkty przywracania, przy każdej poważniejszej zmienia w systemie. Jeżeli coś pójdzie nie tak, zawsze możemy do niego wrócić. 

Robiąc porządki w systemie, powinniśmy pomyśleć również o usunięciu starych punktów przywracania. W momencie, jak skończyliśmy naszą zabawę "w porządki" warto wówczas utworzyć nowy punkt.

Aby tego dokonać, z poziomu **Ustawień** systemu Windows, w polu **Znajdź ustawienie** wpisujemy słowo **przywracania** i wybieramy opcję **Utwórz punkt przywracania**.

[![Ustawienia systemu Windows - Utwórz punkt przywracania](/images/2020/10/Ustawienia_systemu_windows_Utworz_punkt_przywracania-min.png)](/images/2020/10/Ustawienia_systemu_windows_Utworz_punkt_przywracania-min.png)

Otworzy nam się okno Właściwości system z zakładką **Ochrona systemu**.

[![Właściwości systemu](/images/2020/10/Wlasciwosci_systemu-min.png)](/images/2020/10/Wlasciwosci_systemu-min.png)

Aby **usunąć** punkty przywracania, wybieramy opcję **Konfiguruj...**. W nowym oknie dostępny będziemy mieli przycisk **Usuń** aby usunąć wszystkie punkty przywracania.

[![Właściwości systemu - Konfiguruj](/images/2020/10/Wlasciwosci_systemu_Konfiguruj-min.png)](/images/2020/10/Wlasciwosci_systemu_Konfiguruj-min.png)

Zamykając okno konfiguracji, w oknie głównym klikamy przycisk **Utwórz...** w celu utworzenia nowego punktu przywracania.

W następnym kroku tuż przed jego utworzeniem zostaniemy zapytani o nazwanie naszego punktu. Wprowadzamy to w zależności od uznania i potwierdzamy przyciskiem **Utwórz**.

[![Właściwości systemu - Utwórz](/images/2020/10/Wlasciwosci_systemu_Utworz-min.png)](/images/2020/10/Wlasciwosci_systemu_Utworz-min.png)

---

## Aktualizacje systemu, sterowników i oprogramowania

System Windows 10 aktualizowany jest mniej więcej raz na 6 miesięcy. Są to tak zwane duże aktualizacje wnoszące nowe funkcje lub naprawiające duże błędy w systemie. Warto zadbać, aby nasz system był w najnowszej dostępnej wersji.

### Aktualizacja systemu Windows 10

Aby zaktualizować nasz system, wystarczy z menu **Start** przejść do **Ustawień**, po czym przejść do **Aktualizacja i zabezpieczenia**. Następnie klikamy przycisk **Sprawdź aktualizację** lub jeżeli aktualizacje pobrały się w tle, możemy mieć dostępny przycisk **Zainstaluj**.

[![Aktualizacje systemu Windows Updates](/images/2020/10/Aktualizacje_systemu_Windows_Updates-min.png)](/images/2020/10/Aktualizacje_systemu_Windows_Updates-min.png)

Jeżeli nasz system jest w wersji starszej, niż najnowsza dostępna (na chwilę pisania tego wpisu jest to wersja z Maja 2020), dodatkowo będziemy mieli przycisk do zainstalowania "duże" aktualizacji. Uzbrójmy się w cierpliwość i wykonajmy to tylko wtedy, gdy jesteśmy na to gotowi, gdyż z reguły może to potrwać około godziny lub dłużej (na wolniejszych komputerach).

Oprócz aktualizacji samego systemu zalecam również zaktualizowanie sterowników do sprzętu, z którego nasz komputer jest zbudowany, lub też tego, który do niego podłączyliśmy.

### Aktualizacja sterowników

W celu aktualizacji sterowników polecam program [IOBIT Driver Booster](https://www.iobit.com/en/recommend/ascfree.php?name=driver_booster_free).

**Tutaj mała uwaga.** Program ten polecam tylko do jednorazowego użytku. Instalujemy program, aktualizujemy sterowniki, uruchamiamy komputer ponownie i **odinstalowujemy program**.

Podczas instalacji kuszeni będziemy przeróżnymi ofertami, na które klikamy po prostu **nie dziękuję**. Instalacja kończy się zapytaniem, czy przeskanować nasz system teraz. Oczywiście potwierdzamy.

Po uruchomieniu programu przeskanuje on nasz system i zasugeruje (jeżeli jest potrzeba) aktualizację sterowników. 

[![DriverBooster](/images/2020/10/DriverBooster-min.png)](/images/2020/10/DriverBooster-min.png)

Klikamy czerwony przycisk **Aktualizuj teraz** i czekamy. Gdy wszystko zainstaluje się poprawnie, uruchamiamy komputer ponownie i tyle.

### Aktualizacja oprogramowania

Oprócz samego systemu Windows i sterowników warto również zadbać o aktualizację oprogramowania, które mamy w systemie. 

O ile przeglądarki internetowe z reguły aktualizują się same, o tyle wszelkie inne programy niekoniecznie.

W celu łatwego przeanalizowania, który program w systemie mamy w nieaktualnej (potencjalnie dziurawej) wersji możemy podłużyć się   dodatkowym oprogramowaniem, ale niż to zrobimy, warto zacząć od aplikacji dostępnych w Sklepie Microsoft (Microsoft Store).

#### Ze Sklepu Microsoft (Microsoft Store)

Uruchamiamy nasz Sklep Microsoft z menu **Start** lub ikony domyślnie dostępnej w menu systemowym.

Jeżeli mamy dostępne aktualizacje, zobaczymy to w postaci strzałki w dół oraz wskaźnika numerycznego w prawej górnej części okna.

[![Sklep Microsoft Store](/images/2020/10/Sklep_Microsoft_Store-min.jpg)](/images/2020/10/Sklep_Microsoft_Store-min.jpg)

Klikając na trzy kropki w prawym górnym rogu, możemy wybrać opcję **Pliki do pobrania i aktualizacje** i za pomocą przycisku **Pobierz aktualizację** wymusimy ponowne sprawdzenie aktualności naszego oprogramowania i rozpoczęcie aktualizacji, jeżeli jest taka potrzeba.

[![Sklep Microsoft Store - Pliki do pobrania i aktualizacje](/images/2020/10/Sklep_Microsoft_Store_Pliki_do_pobrania_i_aktualizacje-min.png)](/images/2020/10/Sklep_Microsoft_Store_Pliki_do_pobrania_i_aktualizacje-min.png)

Czasami zdarzy się tak, że sam Sklep Microsoft wymaga aktualizacji, więc jak zauważycie, okno sklepu zostanie zamknięte i uruchomione ponownie, a powyższy krok będziemy musieli powtórzyć.

#### Pozostałe Aplikacje

W celu wyszukania aktualizacji do naszego oprogramowania, które nie jest aktualizowane przez Windows Update oraz Sklep Microsoft należy użyć dodatkowego oprogramowania.

W tym celu możemy posłużyć się programem zwanym **SUMo** (Software Update Manager). Dostępny jest on w wersji bezpłatnej (Lite) oraz płatnej (Pro).

Skupiając się na wersji darmowej, instalujemy i odpalamy program. Przy pierwszym uruchomieniu aplikacja spyta się nas, aby przeskanować nasz komputer pod kątem aplikacji. Następnie tę aplikacje będą sprawdzone z bazą danych pod kątem dostępnych aktualizacji (w tym celu wciskamy przycisk **Sprawdź**).

[![SUMo](/images/2020/10/SUMo-min.png)](/images/2020/10/SUMo-min.png)

Wersja bezpłatna pozwoli nam wyszukać oprogramowanie, które wymagać będzie aktualizacji, jednakże nie pozwoli nam go zaktualizować przy pomocy pojedynczego kliknięcia, bez płacenia za licencję Pro. Mimo tego, wiedząc, który program mamy nieaktualny, zawsze możemy przejść na oficjalną stronę w celu jego pobrania.

Podobnie jak **SUMo** w wersji Lite, używam programu **MacUpdater** na moim komputerze z systemem macOS. Bez konieczności płacenia za licencję wiem, który program muszę zaktualizować, a Google pozwoli mu już znaleźć skąd mam pobrać odpowiedni plik.

---

I to by było na tyle.
Jeżeli chciałbyś coś dodać lub masz jakiś problem, napisz w komentarzu.

**Pozdrawiam**.


---
## Apple w trosce o zdrowie
- **URL:** https://dariusz.wieckiewicz.org/apple-w-trosce-o-zdrowie/
- **Date:** 2020-09-17
- **Tags:** apple, apple watch, zdrowie, aktywność fizyczna, życie

### Content

Po konferencji „Times Flies” 15 września Apple umocniło mnie w przekonaniu, że ich produkt to nie tylko maszynka do zarabiania pieniędzy, ale również coś, co może przyczynić się do uratowania naszego życia.

<!--more-->

Swoją przygodę z Apple Watch zacząłem od serii 4 (przechodząc z Mi Band 3), głównie (dzięki mojej żonie) za sprawą EKG (ECG).

Dla niektórych może się to wydawać błahe, a co niektórzy anty- powiedzą, że jestem kolejnym fanboyem Apple, to nic nie zmieni faktu, że to, co oferuje Apple już teraz przekracza pewną granice.

W momencie, gdy zegarek pozwala ci śledzić twój puls, rytm serca, a teraz również natlenienie naszego organizmu, nie mamy już do czynienia z zabawką czy gadżetem. Apple Watch stał się narzędziem, który udowodnił na całym świecie, że może przyczynić się to tego, że udamy się do lekarza z blachą dla nas rzeczą, która tak naprawdę może okazać się czymś, co zdecyduje o naszej przyszłości.

Pomijając zaawansowane technologie, już same pierścienie (ringi) w Apple Watch zachęcają nas (lub nie) do bardziej aktywnego trybu życia (stąd też Apple Watch SE będzie rozsądną opcją dla osób z mniej zasobnym portfelem). W momencie, gdy kwarantanna uderzyła, osobiście zauważyłem, jak ważna jest aktywność fizyczna i tak od 4 miesięcy codziennie zamykam wszystkie moje 3 ringi (spalonych kalorii, godzin stania oraz aktywności fizycznej).

Mimo że na co dzień jestem aktywnym karateką, to poza treningami ujawnia się moja dusza leniwca. Poniekąd postawiłem sobie za zadanie (poza treningami karate, które dodaje manualnie, a które gwarantują przekręcenie ringów kilkukrotnie), że każdego dnia, 500 kalorii, minimum raz na godzinę podniosę swój tyłek i się poruszam (w miarę siedzący tryb pracy w tym nie pomaga) oraz 30 minut ćwiczeń będzie zrobione jako mus.

Jako zagorzały fan przeróżnych technologii, nie jest mi obcy Android. Spędziłem z nim kilka dobrych lat, to mimo tego (mimo że na początku nie byłem przekonany) system od Apple pokazały mi, jak coś ma być zrobione dobrze na dłuższy okres czasu. A jeżeli ich produkt dodatkowo dostarcza mi funkcje, którą nie można przełożyć na pieniądze (życie!), to ciężko mnie będzie od nich oderwać.

Bez względu na to, czy używamy sprzętów Apple, czy nie, powinniśmy, przy wyborze naszego kolejnego „gadżetu” kierować się czymś innym niż tylko specyfikacja, ale również tym jak nasze życie stanie się dzięki niemu lepsze. W przypadku takiego małego (a jednocześnie bardzo potężnego) urządzenia od Apple jakim jest zegarek Apple Watch, nie ma co się dziwić, że staje się on jednym z najpotężniejszych graczy na rynku.

Jestem ciekawy, jak to się wszystko dalej rozwinie, jak usługa Fitness+ zagości na dobre. Po obejrzeniu konferencji zastanawiam się, jak CEO firmy Peloton musi sobie obgryzać paznokcie wiedząc, że zmiany nadchodzą, a konkurencja w tej dziedzinie stanie się ciekawsza (tym bardziej że ma ona dużą siłę przebicia).

Ktoś może powiedzieć, że to, co oferuje Apple Watch dostępne jest na smart watch-ach innych producentów. Nie ma się co tu spierać, to prawda. Przewagą Apple Watch jest jednak jego upowszechnienie oraz uznanie jego wyników (pomiarów), jako miarodajne. Wyniki są na tyle jednoznaczne, że nasz lekarz bez wahania, na ich podstawie zleci nam dodatkowe badania, które pozwolą wykryć, co jest nie tak. A wszystko to dzięki małemu urządzeniu, które nosimy w okolicach nadgarstka.

Nic dziwnego, że wszem wobec panuje już przekonanie, że Apple nie musi być pierwszy w czymś, najważniejsze, że zrobi (i robi) to lepiej.

Już nikt się nie przejmuje przeciekami na tydzień przed konferencją. Już wszyscy wiedzą, jak będzie wyglądać iPhone 12, jednakże nikt do końca nie wie, co oprócz wyglądu będzie oferować. I w tym aspekcie Apple potrafi zachwycić i sprawić, że z konferencji na konferencję będzie jeszcze ciekawiej.

Mimo tego, że obecnie nikt sobie nie wyobraża, co jeszcze można upchnąć w tak małe urządzenie jak Apple Watch, to już wiemy, że w najbliższych latach zyskamy więcej, szczególnie w kwestii zdrowotnej.

Apple planuje naprawdę długo terminowo i to się firmie i jego klientom opłaca. Nie mówiąc, że niektórzy z tych klientów zawdzięczają tym produktom życie.

{{% ads-in-article %}}

Filmik promujący Apple Watch z ostatniej konferencji ujmuje to wyśmienicie.

{{< youtube MM15Qkq2BB8 >}}

ps. Nawet Apple wie, że Apple Watch już to ma...

{{< youtube TCMnrssX1NE >}}



---
## Galerie w Hugo
- **URL:** https://dariusz.wieckiewicz.org/galerie-w-hugo/
- **Date:** 2020-09-10
- **Tags:** Hugo, Markdown, Shortcode, Galeria, flexbox

### Content

Podczas migracji z WordPress do Hugo stanąłem przed nie lada wyzwaniem, jeżeli chodzi o galerię zdjęć.

Otóż Hugo przetwarza pliki zapisane w **markdown** na statyczne strony HTML. W podstawowej konfiguracji każde jedno zdjęcie wstawiane jest jako pełno-wymiarowy obraz, który następnie może być ogarnięty poprzez odpowiednie style CSS, aby wyświetlić go tak jak będziemy chcieli.

A co jeżeli chcemy wstawić zdjęcia w postaci galerii? Na przykład jedno koło drugiego lub 3 na górze 2 na dole?

<!--more-->

---

W internecie możesz znaleźć sporą liczbę wpisów na temat jak użyć **shortcodes** w Hugo w celu osiągnięcia zamierzonego efektu.

Większość z nich niestety opiera się na wprowadzeniu części tych kodów do **markdown**, psując je w ich domyślnej formie.

I tak zamiast typowego markdown:
```markdown
![Tekst alternatywny](/images/obrazek.jpg)
```

Zachęcają oni do używania niniejszego odpowiednika:
```
{{</* img src="images/obrazek.jpg" */>}}
```

W moim przypadku totalnie sobie nie wyobrażam przechodzenia raz jeszcze przez wszystkie wpisy na mojej stronie i zmienianie odnośnika `![]()` na coś w stylu `{{</* img src="" */>}}`. Wystarczy, że *musiałem* poprawić wszystkie odnośniki raz, jak przenosiłem je z WordPressa podczas migracji do Hugo.

Zastosowanie rozwiązania proponowanego przez praktycznie *wszystkich* powoduje utratę podstawowej uniwersalności używania **markdown**.

A co, gdy zamiast Hugo będziemy chcieli używać w przyszłości coś innego? Po raz kolejny będziemy musieli przejść przez wszystkie wpisy, zmieniając wszystkie odnośniki do zdjęć? Po to przechodziliśmy na **markdown** ab tego nie robić. **Nie dziękuję!**

Postanowiłem przyjrzeć się innemu zastosowaniu **shortcodes** który nie psuje domyślnego **markdown** w jego podstawowej formie, pozwalający jednocześnie podejrzeć go w formie preformatowanej (**preview**) w dowolnym edytorze obsługującym tego typu sposób formatowania tekstu (w moim przypadku **iA Writer**).

---

## Shortcode z markdown

Otóż Hugo obsługuje **shortcodes** wraz z **markdown**.

**Shortcodes z markdown** w można rozpoznać po tym, że zaczyna się one od `{{%/* ` a nie `{{< `.

W skrócie, zdjęcia, które chcemy umieścić w postaci galerii, wystarczy otoczyć **shortcodem z markdown**, który zrobi resztę za nas.

**Shortcode** o którym mowa w moim przypadku wygląda następująco  (w pliku używającym markdown - `wpis.md`).

```markdown
{{% gallery 2x2 */%}}

![Tekst alternatywny Obrazek 1](/images/obrazek1.jpg)
![Tekst alternatywny Obrazek 2](/images/obrazek2.jpg)

{{%/* /gallery */%}}
```

Mój **shortcode** składa się z **nazwy** (*gallery*) oraz parametru – zmiennej (*2x2*), które wytłumaczę dalej.

Nazewnictwo jest dowolne.

Całość, aby działała, zapisana jest w pliku **gallery.html** (również dowolne) w folderze `layouts/shortcodes/` w motywie strony.

Plik **gallery.html** zawiera następujący kod:
```html
<div class="gallery_{{ .Get 0 }}">
  {{ .Inner }}
</div>
```

Jak zapewne się domyślacie, element `{{%/* gallery 2x2 */%}}` w trakcie generowania strony zastąpiony jest przez `<div class="gallery_{{ .Get 0 }}">` a ostatni `{{%/* /gallery %}` przez zamykający `</div>`.

Część pomiędzy `{{ .Inner }}` odpowiada za pobranie zawartości, która wstawiona jest pomiędzy oba elementy. Jako że ten **shortcode** wykorzystuje markdown, elementy `![]()` zostaną wygenerowane w postaci `<img src="" alt="">` zgodnie z podstawową zasadą.

Całość będzie wyglądać mniej więcej tak:
```html
<div class="gallery_{{ .Get 0 }}">
	<p><img src="images/obrazek1.jpg" alt="Tekst alternatywny Obrazek 1"></p>
	<p><img src="images/obrazek2.jpg" alt="Tekst alternatywny Obrazek 2"></p>
</div>
```

Nie wspomniałem jeszcze, czym jest `{{ .Get 0 }}` w tym kodzie.

Otóż `{{ .Get 0 }}` odpowiada za parametr w naszym **shortcode**, czyli w `{{% gallery 2x2 %}}` jest nim `2x2`.

I tak ostatecznie będzie wyglądało to tak:

```html
<div class="gallery_2x2">
	<p><img src="images/obrazek1.jpg" alt="Tekst alternatywny Obrazek 1"></p>
	<p><img src="images/obrazek2.jpg" alt="Tekst alternatywny Obrazek 2"></p>
</div>
```

Myślę, że już wiesz, do czego zmierzam.

Jeżeli nasze obrazy otoczone są przez klasę CSS `gallery_2x2` wystarczy zdefiniować, co ta klasa będzie robiła.

W moim (uproszczonym) przypadku wygląda to następująco:
```css
div.gallery_2x2 p img {
  float: left;
  max-width: 50%;
}
```

Dzięki czemu oba obrazki zostaną wyświetlone w szerokości nie większej niż 50% do zawartości okna, każde obok siebie.

> W domyślnej formie, oba obrazy wyświetlane będą, bazując na pełnowymiarowym pliku, co nie jest dobre ze względu na SEO oraz prędkości ładowania się strony, szczególnie na wolnych łączach. W tym calu należy zastosować generowane dynamicznie obrazy o różnych rozdzielczościach z wykorzystaniem wbudowanej w Hugo opcji `.Resize` oraz standardowego `loading="lazy"` obsługiwanego przez wszystkie obecne przeglądarki. O tym, jak to osiągnąć innym razem.

I takim sposobem mamy galerię w formacie 2x2.

A co w przypadku 3x3?

Moja galeria 3x3 wygląda (prawie) następująco:
```css
div.gallery_3x3 p img {
  float: left;
  max-width: 33%;
}
```

Na swojej stronie czasami wrzucam zdjęcia, które są zrzutami ekranu, zrobionymi w pozycji pionowej a niżeli poziomej – horyzontalnej, wówczas używam nieco innych parametrów `2v2` i odpowiedniego stylu `div.gallery_2v2 p img`.

Całe nazewnictwo (jak już wspomniałem) jest dowolne, nie ma tutaj żadnego narzutu.

Nadal tam, gdzie będę chciał, aby poszczególne obrazy wyświetlały się w postaci galerii, będę musiał wyedytować plik **markdown** dodając `{{% gallery 2x2 %}}` i `{{% /gallery */%}}` jednakże jest to znacznie rozsądniejsze zastosowanie a niżeli niszczenie **markdown** i zastępowanie go czymś mniej kompatybilnym (`{{</* img src="" */>}}`) z innymi statycznymi generatorami, które są lub mogę pojawić się w przyszłości.

---

{{% ads-in-article %}}

## Kod nie działa!

Niestety, powyższe rozwiązanie **nie działa** od tak.

Wstawianie kodu HTML podczas generowania strony z pliku **markdown** uważane jest za *niebezpieczne*, gdyż ktoś może umieścić w nim złośliwy kod, który będzie wykonywany na danej stronie.

W związku z tym nasz `<div class="gallery_2x2">` zostanie domyślnie zmieniony na `<!-- raw HTML omitted -->`.

W pełni świadomi ryzyka dodajemy następującą opcję do naszego pliku konfiguracyjnego Hugo `config.toml` aby temu zapobiec.

```
[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = "true"
```

Efekt możecie ocenić w moim wpisie [Recenzja podróbki opaski Pride 2020 do Apple Watch](/recenzja-podrobki-opaski-pride-2020-apple-watch/).

Powyższe rozwiązanie nie wygeneruje nam inteligentnych galerii mozaikowych, do których przyzwyczaił nas JetPack w Wordpress, ale od czegoś trzeba zacząć.

## A bez użycia float?

> Aktualizacja 03/04/2021

Używanie `float` w CSS ma swoje plusy, ale również może powodować szereg niepożądanych skutków ubocznych. W związku z tym postanowiłem sprawdzić, czy ten sam efekt otrzymam z użyciem opcji `flex` popularnej w tak zwanym `flexbox`.

Otóż, mój CSS wyglądał następująco:

```css
div.gallery_2x2 p img {
  float: left;
  max-width: 48%;
  padding: 0 1% 2% 1%;
}

div.gallery_2v2 p img {
  float: left;
  max-width: 48%;
  padding: 0 1% 2% 1%;
}

div.gallery_3x3 p img {
  float: left;
  max-width: 31%;
  padding: 0 1% 2% 1%;
}
```

Z wykorzystaniem `flex` przedstawił się następująco:

```css
div.gallery_2x2,
div.gallery_2v2,
div.gallery_3x3 {
 display: flex;
 flex-wrap: wrap;
}

div.gallery_2x2 p {
  width: 48%;
}

div.gallery_2v2 p {
  width: 48%;
}

div.gallery_3x3 p {
  width: 31%;
}
```

Efekt końcowy praktycznie niezauważalny bez użycia `float` a jednocześnie bardziej przejrzysty.

Aby jednak `flexbox` działał jak należy, pomiędzy zdjęciami w markdown musi być odstęp.

Dla przykładu poniższe **nie działa**
```markdown
{{%/* gallery 2x2 */%}}

![Tekst alternatywny Obrazek 1](/images/obrazek1.jpg)
![Tekst alternatywny Obrazek 2](/images/obrazek2.jpg)

{{%/* /gallery */%}}
```

Natomiast to **działa**
```markdown
{{%/* gallery 2x2 */%}}

![Tekst alternatywny Obrazek 1](/images/obrazek1.jpg)

![Tekst alternatywny Obrazek 2](/images/obrazek2.jpg)

{{%/* /gallery */%}}
```

Pozdrawiam.



---
## Hugo, dwa tygodnie później
- **URL:** https://dariusz.wieckiewicz.org/hugo-dwa-tygodnie-pozniej/
- **Date:** 2020-08-23
- **Tags:** Hugo, GitHub, Netlify, web.dev

### Content

Po 39 wersjach (*commits*) na GitHub i 30 minutach budowania strony (*build*) na Netlify, tak minęły dwa tygodnie, odkąd przesiadłem się z WordPress na Hugo i **nie żałuje!**

<!--more-->

I, mimo że straciłem trochę odwiedzin wg Google Analytics (w większości osób próbujących włamać się na moją stronę), to nadal wszystko działa i nie mogę uwierzyć, że odeszło z mojej głowy podstawowe zadanie sprawdzania, czy moja strona cały czas działa prawidłowo.

> Przy przenoszeniu zadbałem o odpowiednie przekierowywania, aby zminimalizować błędy 404 oraz upewniłem się, aby zaktualizować narzędzia webmastera [Google](https://search.google.com/search-console/), [Bing](https://www.bing.com/webmasters) i [Yandex](https://webmaster.yandex.com/).
> Mimo utraty odwiedzin nie zaobserwowałem zmiany w wysokości przychodów z reklam AdSense, co jednocześnie świadczy, że stracony ruch nie był tym, który wprowadzał interakcję treści z użytkownikiem – czyli nie był tym najbardziej wartościowym.

Przy użyciu narzędzi takich jak [Atom](https://atom.io) (do edycji kodu) oraz [GitHub Desktop](https://desktop.github.com), pozostało mi patrzenie jak Netlify (z automatycznym budowaniem strony), robi wszystko za mnie.

Czas, który zyskałem, przez pierwsze dwa tygodnie spędziłem na optymalizacji kodu oraz nauczenia się nowych, przydatnych technik związanych z Hugo, HTML, CSS, JavaScriptem oraz JSON.

Udało mi się między innymi:
* zachować moje przekierowania (redirects) i stworzyć nowe;
* dodać ciemny motyw (Dark Mode), o którym [wspomniałem w moim pierwszym wpisie](/moja-strona-ponownie-moja/);
* ustawić zaawansowane okruszki (breadcrumbs) wraz z generowaniem odpowiedzi w JSON dla postów oraz specyficzny dla przepisów. Pozwoliło mi to nauczyć się, ja w prosty sposób w przyszłości wprowadzić niestandardowy **schema** dla nowych typów wpisów, które mogę stworzyć;
* dodać [instantpage](https://instant.page) w celu przyśpieszenia ładowania odnośników, na które użytkownik najedzie, a które będzie chciał odwiedzić. Dzięki czemu strona ładować się będzie wręcz natychmiastowo.
* nauczyć poprawnych metod implementacji skryptów, zdjęć, jak również popracować nad optymalizacją SEO.
* ograniczyć ładowanie niepotrzebnych skryptów do czasu, gdy są one potrzebne – takich jak komentarze Discus.
* dodać własne ikony udostępnienia treści w sieciach społecznościowych oraz ikony, prowadzące do moich profili w tych sieciach;
* zastosować *fingerprinting* dla stylów CSS. Dzięki temu, gdy dokonam zmiany w stylu CSS strony, po odświeżeniu mam pewność, że załadowana zostanie zawsze najnowszy plik, a nie ten, który domyślnie przesiaduje w pamięci podręcznej przeglądarki użytkownika końcowego.

...oraz wiele więcej.

{{% ads-in-article %}}

Po dwóch tygodniach od uruchomienia, na mojej liście zostało tylko:
* zadbanie o zdjęcia w różnych rozmiarach, automatycznie generowanych przez *[Hugo Images Processing](https://gohugo.io/content-management/image-processing/)* przy generowaniu strony; 
* dodanie obrazów w formatach nowej generacji (WebP), które, na razie nie są natywnie generowane przez Hugo. Podczas używania przeze mnie WordPress i wtyczki EWWW do generowania WebP nauczyłem się, w jaki sposób rozwiązać to z myślą o przyszłym zastosowaniu (generowaniu WebP rezydującego na stałe obok standardowego obrazu). Na razie będę rozważał sposób na jego wprowadzenie, ale myślę, że poczekam z tym do aktualizacji Safari 14, która w końcu wprowadzi ich obsługę do przeglądarek w systemach operacyjnych z nadgryzionym jabłkiem.

Oczywiście, na każdym kroku przeglądając internet, natrafiam na rozwiązania, które inni zaimplementowali na swoich stronach, a które w prosty sposób teraz mogę wprowadzić (zapożyczyć) do siebie bez znaczącej zmiany w kodzie. Coś, czego wprowadzenie (w tym sprawdzenie, aby działało prawidłowo) z wykorzystaniem WordPress zajęłoby mi znacznie więcej czasu, szczególnie gdy nie używałem własnego motywu, tylko gotowy Twenty Twenty, na którego bazie stworzyłem Child Theme.

Nim skończyłem niniejszy wpis, już miałem sposób na wprowadzenie czegoś nowego 😉.

Po całych tych pracach dostosowawczych, choć wydawać się one mogą czasochłonne (więcej czasu – przeszło dwa tygodnie – zajęło mi przeniesienie z WordPress do Hugo) mam większą frajdę o obserwowaniu efektu końcowego. 

Efekt końcowy, do którego zmierzam, o którym wspominam, jest osiągnięcie szybkiej i dostosowanej strony z treścią, którą odwiedzający będą czytać z zainteresowaniem. 

I tak [web.dev](https://web.dev) pokazał już sporę cześć na zielono (**SEO** 100, **Best Practices** 100 oraz **Accessibility** 91) to jednak Wydajność (**Performance**) kuleje na poziomie 20, głównie ze względu na obrazy serwowane w postaci pełnowymiarowej.

![web.dev dariusz.wieckiewicz.org 21-08-2020](/images/2020/08/hugo_web_dev_week_2-min.png)

> Aktualizacja 29/08/2020

Wg powyższego wyniku web.dev widać poważny problem z wydajnością, który jednakże nie jest do końca prawdziwy. Po każdym odświeżeniu strony opróżniany jest **cache** po stronie Netlify, jak i w moim przypadku po stronie Cloudflare. Gdy **cache** jest odbudowany, wydajność wraca do poziomu **80**.

![web.dev dariusz.wieckiewicz.org 28-08-2020](/images/2020/08/hugo_web_dev_week_2plusCache-min.png)

***

Mimo że korzystam z Netlify do serwowania mojej strony, to nie chętny jestem do wprowadzenia zależności wielkości moich zdjęć od ich rozwiązania ([Large Media](https://docs.netlify.com/large-media/overview/)) i wolałbym to rozwiązać bezpośrednio z Hugo.

W związku z tym jeszcze trochę przede mną. Mimo tego już czuję, że wróciłem ponownie do treści a niżeli bawienie się w utrzymanie przy życiu strony internetowej.
 


---
## Słabsza Płeć Samiec Alpha
- **URL:** https://dariusz.wieckiewicz.org/slabsza-plec-samiec-alpha/
- **Date:** 2020-08-16
- **Tags:** slabsza plec, samiec alpha, polska

### Content

Aż trudno uwierzyć, że to już rok 2020. Przez lata nauczyliśmy się dużo, ale jeszcze więcej przyjdzie nam się nauczyć w przyszłości. O ile jakaś kometa nie pyknie w tę mało znaczącą trzecią od żarówki garstkę wody i żwiru to nadal nasze życie kończyć się będzie i zaczynać tak samo.

<!--more-->

Mimo nowego, świeżego startu, nowe pokolenie wychowywane jest w chorych ideologiach i zabobonach. I nawet gdybyśmy chcieli to zmienić, nie da się. 

Kraj, w który żyjemy, kształtuje nas tak, a nie inaczej. Rasizm, nacjonalizm, "katolibanizm", islamofobia to tylko kilka dużych słów, które pokazują, jak chorą nacją jesteśmy.

Schodząc na ziemiem, wystarczy spojżeć na stereotyp Samca Alpha.

Nawet w świecie zwierząt przywódca stada, dominator określany jest właśnie tak. Pokazywany jest on przez "człowieka" jako coś, co w naturze jest powszechne, dlatego przeniesione jest do rasy ssaczy i uważane za normalność. 

Mężczyzna jest głowa rodziny, zapewnia byt i bezpieczeństwo, a kobieta? Kobieta to słabsza płeć, ta, która potrzebuje pomocy od mężczyzny, gdyż bez niego by zginęła.

Aż mi się robi niedobrze, jak to piszę, ale taką bzdurę ludzie wpajają od lat kolejnym pokoleniom.

Wszyscy tylko zapominają, jak i wśród ludzi, tak i wśród zwierząt zawsze znajdzie się grubsza ryba (jak to Anglicy mówią, „there is always a bigger fish in the pond”).

Nie ma czegoś takiego jak głowa rodziny. „Głowa” może mieć kitki i tipsy na paznokciach a niekoniecznie bicepsy. 

Gdyby nie płeć piękna, my faceci pozabijalibyśmy się w przeciągu jednej dekady.

My faceci może i jesteśmy silniejsi w jednej rzeczy, natomiast z drugiej strony, gdy tylko łapie nas gorączka 37.8C kładziemy się do łóżka i wołamy o pomstę do nieba, jak nam jest źle. Nie mówiąc już o wychodzeniu do sklepu w czasie pandemii!

Nasza wysoka odporność na ból to mit.

Jak to moja żona mówi, jak by mężczyźni mieli dostawać okres co miesiąc, to rasa ludzka by wyginęła. I jest w tym dużo prawdy.

Mężczyzna stara się rządzić wszystkim, a tak naprawdę za plecami ma zawsze kobietę. To kobieta wysłuchuje, doradza, nakierowuje, a mężczyzna tylko wyciąga wnioski i podejmuje decyzje. Decyzje, które nie mogą do końca zgodzić się z kobietą, bo przecież mężczyzna nie byłby mężczyzną gdyby, czegoś nie zmienił.

Wyjątkiem jest tylko Anżej, który słucha się jedynie starego pryka z kotem na kolanach. A panienka stojąca od lat przy jego boku tylko umacnia stereotyp tej słabszej (choć teraz bogatej), nic nieumiejącej (mimo że nauczycielki), nic niemówiącej (mimo że posiadającej język) i potrzebującej ciągłego wsparcia mężczyzn (to wsparcie właśnie od nich dostała – finansowe). Jakbym oglądał film Głupi i Głupszy w Polskim wydaniu.

Wszyscy jesteśmy równi, z wyjątkiem tylko, gdy mamy hajs, wówczas jesteśmy równiejsi. No, chyba że nie mamy hajsu, to zostajemy politykiem i będziemy mieli hajs (a teraz 100% więcej za robienie 50% mniej). A jak zabraknie, to weźmiemy się za tych cwaniaków, którym w głowie było siedzenie na studiach, uczenie się, żeby później zarabiać kokosy i oddawać połowę z nich tym, którym się nie chce.

A gdyby tak Pan Jerzy nie namieszał w podziemnym państwie kobiet, to może by było inaczej? Gdzie tam (*ironicznie*), przecież sama Jej Ekscelencja udowodniła na ekranie, że to facet, nawet w przebraniu kobiety musi rządzić kim? Kobietami.

A gdyby tak obudzić się pewnego ranka, bez teleranka, ale za to tęczą rozciągająca się po całym niebie. Tęczą, która nie będzie dzieliła ludzi na lepszych lub gorszych, zwyrodnialców czy też „ideologie” a na tych, którzy szanują siebie nawzajem.

Doczekać świata, w którym to pedofil nie będzie zakładał czarnej płachty i rozsiewał zarazy. Świata, w którym taka osoba nie będzie miała wsparcia w Anżeju, a o życiu, nie będzie mówił ktoś, kto nigdy w ulu nie mieszkał (jak to powiedziała pewna szanująca się żona prezydenta).

Jednakże myślę, że to by było wbrew naszej naturze.

No jak to ma być lepiej?
To on ma mieć lepie niż ja?

{{% ads-in-article %}}

Jak będzie coś chciał to "niechno" podejdzie do płota, to pogadamy jak chłop z chłopem. Jak będzie trzeba, to się załatwi to tak, ze sprawiedliwość będzie zawsze po naszej stronie. Wówczas na pewno będzie wybuchowo!

Cuda, to mało powiedziane. Ktoś tam, gdzieś daleko w najdalszej galaktyce musi mieć ubaw, dostając pocztą księżycową kolejny sezon z cyklu „my ziemianie”. Nudząc się z sezonu na sezon, zastanawia się, który to kamyczek rzucić w nich, aby to wszystko skończyć.

Ale nie! Przez najbliższe lata nadal oni będą żyli w ideologii zwanej Polską, której przeszło 50% ludzi powinno wstydzić się, nazywając się europejczykami. Nie zdziwię się, gdy usłyszymy niedługo Polexit. Co tam, że ludzie nie widzą, że to ta wspólnota daje im więcej, niż włożyli. Ale nie, bo przecież rządzona jest ona przez Niemcy, a ostatnio wszystko, co niemieckie to złe. Co tam, że mało kto pamięta z pokolenia millenials, o co w tym wszystkim złym niemieckim, chodzi.

I tak sobie siedzisz i myślisz, jak mamy dość do poziomu, w którym wszyscy będą równi, skoro nie jesteśmy w stanie załatwić prostej sprawy podziału płci. Nie mówię już o tym, jak się ma inny odcień skóry lub też czy znalazło się szczęście w osobie tej samej płci.

I tak sobie siedzisz i patrzysz, gdy widzisz mężczyznę, któremu kobieta musi we wszystkim pomagać. Kreuje ci się wpojone przez lata urojone stwierdzenie, jaki to on sierota życiowy lub maminsynek, a ona to kobieta z jajami. Czy oby napewno, czy po prostu losy się podzieliły tak, gdzie oni razem tworzą jedność, on jest "jing" (Yin) a ona "jang" (Yang) i dzięki temu całość trzyma się kupy. Bo jak nie, to cała ta kupa zaczęłaby śmierdzieć i trzeba by było zrobić z tym porządek.

Jak widać, nawet III-wojna światowa w 2020 z niewidzialnym wrogiem tego nie zmieni, a wszystko dąży do wzajemnego samozniszczenia.

Po co nam tolerancja, równo uprawnienie, skoro sami nie jesteśmy godni nazywać się człowiekiem. Póki nie zaczniemy zmieniać rzeczy w naszej głowie, nic się nie zmieni.

Silniejszą płcią, samcem alfa nie stanie się mężczyzna, tylko ta osoba, bez względu na płeć, która zmieni nastawienie w samym sobie i zacznie wszystkich, od najmniejszej mrówki, do najgrubszej ryby, traktować równo.

Jeżeli porównujemy się do zwierząt, to w swoich porównaniach powinniśmy patrzeć dokładnie. To, co wydaje się nam nienormalne, w naturze człowieka istnieje i istniało w u zwierząt od wieków.

Uderz w stół... 

Już raz powiedziano w stosunku do mnie, że nie powinienem się nazywać Polakiem, szczególnie że mieszkam na wyspach. Zresztą, prawie 50% trzaskającej Polski również kategoryzowania jest jako antypolska, a obecna sytuacja polityczna to tylko zapałka, podjudzając ogień narodowców do „oczyszczania narodu”.

I tak się to zaczyna. Historia już pokazała niejednokrotnie poprzez wojny i ludobójstwa, że każda odmienność to zło wcielone. Szkoda tylko, że ta odmienność jeszcze przez n-lat nie będzie traktowana jako coś normalnego, a na pewno przez najbliższe w Polsce.

Szkoda gadać.

Pożyjemy, zobaczymy.
Miejmy nadzieje, że to nie jest początek końca.

Trzymam kciuki za tych, którzy są nadal w Polsce i walczą oraz tych, którzy na arenie międzynarodowej próbują pokazać tę całą nienormalność i skłonić innych do działania przeciwko.

---
Photo by [Matteo Paganelli](https://unsplash.com/@matteopaga) on [Unsplash](https://unsplash.com/s/photos/equality)


---
## Aktualizacja Windows 10 Home do wersji Profesjonalnej
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-windows-10-home-do-pro/
- **Date:** 2020-08-15
- **Tags:** Windows, Windows 10 Home, Windows 10 Pro, Windows 10 Professional, Windows 10 Education, aktualizacja

### Content

Ostatnio dane mi było przenieść dane z jednego komputera na drugi. Jako że na pierwszym już działał Windows 10 w najnowszej wersji oraz wszystko pracowało wyśmienicie (tylko sprzęt nieco odstawał) postanowiłem sklonować dysk z tego pierwszego do drugiego.

Z wykorzystaniem `dd` jako metody (trochę powolnej, ale skutecznej) uruchomiłem ten sam system na nowym sprzęcie, z jedną różnicą. Sprzęt docelowy miał licencję Windows 10 Professional w porównaniu ze starym sprzętem z Windows 10 Home.

W związku z tym postanowiłem zrobić aktualizację.

<!--more-->

Wg informacji na forach Microsoftu, wystarczyłoby zmienić klucz produktu na klucz Pro, aby system sam wykrył i się zaktualizował.

W moim przypadku to nie zadziałało, gdyż klucz produktu, który był przypisany do sprzętu, oryginalnie odpowiadał wersji Windows 8 Professional (oryginalnie odczytany z BIOS za pomocą [RWEverything](http://rweverything.com) `Przycisk ACPI, zakładka MSDM`).

System, zamiast zmienić i zaktualizować się do Pro wprowadził nowy klucz i aktywował system, pozostając przy wersji Home.

---

Postanowiłem spróbować innego podejścia, a mianowicie z wykorzystaniem Microsoft Store.

Oczywiście, nie zamierzałem kupować klucza, który już mam, w związku z tym wybrałem opcję "...mam już klucz..." (I have w Windows 10 Pro product key).

Niestety, po wprowadzeniu klucza produktu, system nadal nie widział potrzeby aktualizacji i pozostał przy wersji Home.

Na końcu znalazłem dyskusję na forum Microsoftu [^1], w której to należy zmienić parametry w rejestrze systemowym i ponownie zainstalować system Windows w celu jego aktualizacji.

> Cała procedura wymaga (w zależności od sprzętu) około godziny+, na szczęście nie wiąże się z utratą żadnych danych, w tym aplikacji. Wszystko zostaje, tak jak było.

W pierwszej kolejności potrzebowałem [obraz systemu ISO systemu Windows 10](/obraz-iso-windows-10/) zapisanego i rozpakowanego lokalnie (do tego celu możemy użyć [7-Zip](https://www.7-zip.org)).

**I tak odpalamy rejestr systemowy.** 

Możemy to zrobić w dwojaki sposób, choć moja ulubiona metoda to skrót klawiszowy `Logo Windows + R`, wpisując w nowo otwartym oknie Uruchom... `regedit` i potwierdzając przyciskiem Enter.

[![Windows 10 Uruchom regedit](Windows_10_run_regedit.png)](Windows_10_run_regedit.png)

Tak otworzymy nasz edytor rejestru.

[![Windows 10 Registry Editor](Windows_10_registry_editor.png)](Windows_10_registry_editor.png)

> Warto tutaj zaznaczyć, że zmiany, które wprowadzimy, są tymczasowe i zostają one przywrócone do wartości oryginalnych po ponownym uruchomieniu komputera (bynajmniej niektóre). Więc jeżeli zdecydujemy się na aktualizację, musimy to zrobić w jednym podejściu.
> 
> Warto również upewnić się, że posiadamy zainstalowane wszystkie dostępne aktualizacje systemu Windows, gdyż znacząco przyśpieszy to cały proces.

I tak przechodzimy do naszego folderu podstawowego `HKEY_LOCAL_MACHINE > SOFTWARE`. 

1. Następnie do `Microsoft\Windows NT\Current Version`

Tutaj, w prawej części okna zmieniamy wartości `EditionID` na `Professional` oraz `ProductName` na `Windows 10 Pro`.

[![Windows 10 Zmiana w rejestrze 1](Windows_10_regedit_change_1.png)](Windows_10_regedit_change_1.png)

2. Wracamy do folderu podstawowego i idziemy do `WOW6432Node\Microsoft\Windows NT\Current Version` i dokonujemy analogicznej zmiany jak powyżej.

3. Przechodzimy do naszego rozpakowanego obrazu instalacyjnego Windows 10 i uruchamiamy `setup.exe`.

{{% ads-in-article %}}

Jeżeli wszystko wykonaliśmy prawidłowo, po krótszej (lub dłuższej) analizie instalator zapyta nasz czy chcemy zainstalować `Windows 10 Pro` z `Zachowaniem plików i aplikacji`. 

> Jeżeli instalator nadal poinformuje nas o `Windows 10 Home`, wówczas go zamykamy i sprawdzamy jeszcze raz nasz rejestr systemowy, w szczególności `Microsoft\Windows NT\Current Version`.

Teraz wystarczy poczekać i cieszyć się z osiągniętego efektu.

---

Jeżeli wcześniej nie wprowadziliśmy naszego nowego klucza produktu do Windows 10 Pro (lub nie zostaliśmy o niego poproszeni podczas aktualizacji), należy przejść do `Ustawień systemu Windows`, w sekcji `Aktualizacja i bezpieczeństwo` > `Aktywacja` wybrać opcję zmiany (aktualizacji) klucza produktu.

Jeżeli wszystko wykonaliśmy prawidłowo, klucz zostanie wprowadzony a nasz system, aktywuje się przez internet automatycznie.

---

Niniejszą metodą można zmienić wersję Home (`EditionID: Core`) do Profesjonalnej (`EditionID: Professional`), jak również do wersji Edukacyjnej (`EditionID: Education`).

> W przypadku wersji `Windows 10 Education` w drugim kroku zmiany rejestru `EditionID` będzie pokazywał `Enterprise` a `ProductyName: Windows 10 Enterprise`.

[![Windows 10 Zmiana w rejestrze 2](Windows_10_regedit_change_2.png)](Windows_10_regedit_change_2.png)

[^1]: [answers.microsoft.com > downgrade from windows 10 pro to home](https://answers.microsoft.com/en-us/windows/forum/windows_10-windows_install/downgrade-from-windows-10-pro-to-home/345f5464-cb7a-44b3-8856-237cbec072c8)


---
## Moja strona ponownie "moja"
- **URL:** https://dariusz.wieckiewicz.org/moja-strona-ponownie-moja/
- **Date:** 2020-08-09
- **Tags:** wordpress, html, css, web 2.0, GitHub, markdown, Hugo, Gutenberg, GitHub Pages, Netlify, Twenty Twenty

### Content

Ponad dekadę temu rozpocząłem swoją przygodę ze stronami internetowymi pisanymi w notatniku i HTML-u, po czym nastały czasy WordPress'a (zacząłem z nim przygody w 2008). Przez ten okres zbudowałem kilkanaście stron opartych właśnie na nim, z czego nadal zarządzam jeszcze kilkoma.

O ile wszystko działa, to nie ma problemu. Na każdym jednak kroku muszę śledzić i sprawdzać, czy coś się na nich nie zepsuło oraz pracować nad ich ciągłą optymalizacją.

<!--more-->

Jeżeli chodzi o mój blog, zauważyłem, że więcej czasu poświęcam na *dopieszczanie*, *poprawianie* oraz **zabezpieczanie** strony a niżeli na tworzeniu wpisów.

Coraz to nowe zagrożenia czy też zmiany w algorytmach wyszukiwarki powodują konieczność ciągłego dostosowywania do zmieniających się warunków.

Moja strona jest moja, dopóki dbam oto, aby działała, opłacam serwer, na którym leży oraz domenę.

Jednakże moja strona nie jest tak do końca moja.

Tak jak z plikiem Word. Jest on twój, dopóki jest on zapisany lokalnie na dysku. Możesz go udostępnić w internecie, ale zawsze masz oryginał "pod ręką".

W przypadku WordPress twoja strona jest rozproszona pomiędzy serwerem, gdzie znajdują się twoje pliki a bazą danych, gdzie znajdują się twoje wpisy.

Tak naprawdę nic nie jest twoje. Oprócz oczywiście kopii zapasowej w niezbyt czytelnym formacie, jeżeli chcesz coś uruchomić bez internetu. Jeżeli coś się stanie, zaczynają się schody.

**A gdyby tak wrócić do podstaw budowania stron w HTML+CSS?**

Pliki HTML i style CSS zapisane były na dysku wraz z obrazkami. Wszystko wrzucało się na serwer i tak pojawiało się w internecie. Całą stronę miałeś dostępną na dysku i mogłeś uruchomić ją bez konieczności posiadania odpowiedniego oprogramowania. Jeżeli serwer usługodawcy wysiadł lub po prostu ów usługodawca zwinął walizki i wyłączył wtyczkę (a w przyszłości miałem tego typu przygody z firmą znaną wówczas pod nazwą *Cyberion.pl*), wówczas jesteśmy ugotowani.

Jeżeli masz stronę dostępną w prostej formie, jej przywrócenie nie potrwa za długo.

**Nie planuję jednak wracać do totalnych podstaw.**

Pisanie stron od zera w HTML było największą bolączką (chociaż i nauką), dlatego też WordPress stał się moim podstawowym narzędziem. Nie zamierzam cofać się do etapu sprzez Web 2.0, ale zamierzam iść naprzód, z zachowaniem starego podejścia z nowoczesnym sposobem jego implementacji.

Otóż chciałbym mieć stronę dostępną lokalnie, którą mogę podejrzeć bez konieczności zmagania się z bolączkami serwerów oraz przeróżnych usług **cache** po drodze.

> Ostatnio opublikowałem wpis innej stronie, którą zarządzam, gdzie zapomniałem dodać ważnego elementu. Po szybkiej aktualizacji walczyłem kilka godzin pomiędzy **cache** mojego usługodawcy, konta hostingowego a Cloudflare, aby zobaczyć zaktualizowaną zawartość. **Koszmar!**

Chcę widzieć, jak moja strona — wpis będzie wyglądać, nim zdecyduje się go upublicznić w internecie.

Jednocześnie, chce mieć dostęp do treści w taki sposób, abym mógł rozpocząć jej edycję, gdziekolwiek jestem, na dowolnym komputerze, dowolnym systemie operacyjnym, z dostępem do internetu czy też bez.

---

W momencie, gdy coraz to bardziej zacząłem moje przygody z GitHub'em rzucił mi się na oczy sposób pisania i publikowania treści wraz z wyróżnieniami — kodem.

Stąd też zacząłem moje eksperymenty z [Markdown](https://pl.wikipedia.org/wiki/Markdown).

Markdown pozwala na stworzenie formatowanego tekstu wraz z nagłówkami, pogrubieniami, zdjęciami itp. z wykorzystaniem dowolnego edytora tekstowego.

W skrócie skupiasz się na pisaniu tekstu, a później, twój tekst przygotowany w formie Markdown używasz, aby wygenerować w postaci pliku HTML, który natomiast będzie serwowany w internecie.

Skupiając się na treści, nie myślisz o kodzie, jego dostosowaniu do różnych rozmiarów ekranu czy też sprawdzeniu, czy będzie on poprawnie wyświetlany w Chrome, czy Firefox. Kierujesz się tylko tym, jak funkcjonuje Markdown.

Zapomnij o sprawach technicznych, skup się na treści, a resztę pozostaw "narzędziu", które zrobi całość za ciebie i zadba o wszystko to, na co musiałbyś tracić swój cenny czas.

**Narzędziu?** -- zapytasz.

Otóż narzędzi jest mnóstwo.
Jednymi z popularnych są obecnie [Jekyll](https://jekyllrb.com), [Hugo](https://gohugo.io) czy [Gatsby.js](https://www.gatsbyjs.org).

Oczywiście, wymagają one od ciebie nieco wiedzy. Umiejętności obsługi Worda, w sposób przeciągnij i upuść na nic się tutaj zdadzą, stąd też spora część ludzi pozostanie przy Wordpress-ie, szczególnie gdy bloki **Gutenberg** znacząco ułatwiają pisanie treści.

> Gutenberg w WordPress nie jest taki zły, jak już go opanujesz. Obsługuje on również Markdown. Problemy zaczynają się w przypadku wpisów, które nie powstały na przełomie ostatnich lat — taka jak moje (2008!).
>
> Moje pierwsze wpisy pisane były w edytorze klasycznym WordPress i przeniesienie ich teraz do Gutenberg jest nieco nierealne, czasochłonne, po prostu zbędne.

Jeżeli już ogarnąłeś sposób funkcjonowania niezbędnych narzędzi (w moim przypadku wybrałem Hugo) zauważysz, że nasza strona jest stroną statyczną, która nie potrzebuje dużej mocy obliczeniowej, bazy danych, obsługi PHP. Co za tym idzie, nie potrzebujemy wyspecjalizowanego konta hostingowego, które nie mało kosztuje, a stronę możemy wrzucić gdziekolwiek, gdzie będziemy mogli, aby stała się publicznie dostępna.

I tak, zamiast płacić tak, jak ja przez ostatnie lata 200zł rocznie (plus VAT) za konto na dzielonym hostingu, pieniążki te możemy wykorzystać na coś bardziej pożytecznego, a naszą statyczną stronę wrzucić na darmowe rozwiązanie.

**Ale czy darmowe, nie oznaczać będzie, że gorsze?** -- zapytasz.

**Otóż nie.**

{{% ads-in-article %}}

W przeciwieństwie do dynamicznego WordPress'a nasza strona nie będzie potrzebować dużej mocy obliczeniowej procesora oraz sporej ilości pamięci, aby wyświetlić treść, która dla czytelnika — odbiorcy końcowego wyglądać będzie dokładnie tak samo.

Tym oto darmowym miejscem na twoją statyczną stronę będzie, chociażby [GitHub Pages](https://pages.github.com) lub w moim przypadku [Netlify](https://www.netlify.com) na podstawie repozytorium na [GitHub](https://github.com).

Oba te rozwiązania (jak również tona innych dostępny i darmowych) pozwolą ci na osiągnięcie zamierzonego celu, czyli konwersję tekstu napisanego z wykorzystaniem Markdown na stronę HTML.

---

**Jaki jest sens w tym wszystkim?**

Nasze wpisy piszemy po to, aby ktoś je czytał. Jeżeli ktoś je czyta, to znaczy, że istnieje potrzeba na ich istnienie. A jeżeli ktoś, kto przeczytał, zyskał na tym, chociażby rozwiązując własny problem, osiągnęliśmy zamierzony cel.

---

Dodatkową zaletą powrotu do podstaw jest fakt bezpieczeństwa. Liczba stron zbudowanych na podstawie WordPress przekroczyła 60% wszystkich stron w internecie.

Uruchomienie strony opartej o WordPress to nie tylko zainstalowanie podstawowego skryptu. Musimy zadbać również o bezpieczeństwo, gdyż bardzo szybko możemy zobaczyć, że nasza strona zostanie przejęta i wykorzystana do niepożądanych celów.

O ile mi się to nie zdarzyło, to nie raz pomagałem w przywróceniu strony po przejęciu i zabezpieczeniu jej w odpowiedni sposób, aby uniknąć podstawowego błędu. Zajmuje to sporo czasu, a cierpi na tym reputacja strony w internecie, którą odbudować nie jest łatwo i jest to czasochłonne. Z reguły może trwać od kilku miesięcy do kilku lat, w zależności, kiedy zauważyliśmy, że nasza strona została skompromitowana i jak szybko zareagowaliśmy, nim wyszukiwarki takie jak Google zrobiły swoje.

W każdym tygodniu spędzam co najmniej godzinę na sprawdzenie, czy wszystko działa oraz zadbanie o bezpieczeństwo stron, z którymi współpracuję. Jest to godzina, którą można byłoby spożytkować inaczej.

Stąd też, w **lipcu 2020** rozpocząłem intensywną analizę sytuacji, aby uprościć cały proces, zaczynając od mojej strony domowej.

Przeniesienie wszystkiego z WordPress do formy Markdown **z założenia** miało być jak kopiuj wklej, oczywiście nie było!.

Na tym etapie postanowiłem poświęcić mój czas na nauczenie się czegoś nowego, aby w przyszłości zyskać nie tylko w formie materialnej, ale również niematerialnej, w postaci wolnego czasu.

Na tym etapie zauważyłem problem związanym z tym, że moja strona zaczęła lata temu z klasycznym edytorem, a teraz używa Gutenberg do komponowania wpisów. Dostępne [narzędzia](https://gohugo.io/tools/migrations/) konwersji WordPress do Markdown pomogły, ale **nie** pozwoliły mi w szybki sposób udostępnić mojej strony w postaci statycznej.

Wpisy klasyczne zatraciły formatowania, odnośniki do zdjęć i adnotacje nie wyświetlały się tak, jak trzeba. W związku z tym spędziłem porą część czasu (zaraz po tym, jak stworzyłem wygląd strony) na poprawie każdego ze 186 wpisów, wracając do tych pierwszych z 2008 roku! Tutaj zauważyłem, że dużo się nauczyłem od tego czasu, szczególnie jak pisać, aby treść była pożądana.

Na szczęście na tym etapie pomocny okazał się program [MassReplaceIt](http://www.hexmonkeysoftware.com), dzięki któremu byłem w stanie masowo zmienić błędnie wstawione znaczniki i formatowania na te, które są poprawnie używane w Markdown.

Dodatkowo użyłem [wordpress-export-to-markdown](https://www.npmjs.com/package/wordpress-export-to-markdown), który pozwolił mi ponownie wygenerować Markdown z pliku export.xml (z naciskiem na treść), aby poprawić posty, które okazały się problematyczne.

---

Wracając do wyglądu strony, bo od tego zacząłem.

Moja strona na WordPress używała motywu Twenty Twenty, który bardzo przypadł mi do gustu i spełnił moje aestetyczne potrzeby, jak mój blog ma wyglądać.

Na bazie tego motywu stworzyłem mój motyw-dziecko (child theme), do którego dodałem co nieco. Efekt osiągnięty.

W pierwszej kolejności myślałem o wykorzystaniu [Hugo](https://gohugo.io) oraz przerobionego motywu [przerobionego Twenty Twenty do Hugo](https://themes.gohugo.io/twenty-twenty-hugo/) na te potrzeby.

Po kilku eksperymentach i zagłębieniu się w kod postanowiłem spróbować czegoś innego, ale pozostając z Hugo jako podstawowe narzędzie (próbowałem Gatsby.js oraz Jekyll, ale jak dla mnie, Hugo było szybszy w ogarnięciu i zrozumieniu logiki).

I tak przerobiłem motyw [Minos](https://github.com/carsonip/hugo-theme-minos), który tak naprawdę jest modyfikacją motywu o tej samej nazwie [Minos](https://github.com/ppoffice/hexo-theme-minos), tyle że dla platformy [Hexo](https://hexo.io).

Wzorując się na tym, jak mój blog wyglądał na WordPress i motywem Twenty Twenty osiągnąłem ostateczny wygląd, który aktualnie podziwiasz.

Cała praca z dostosowywaniem motywu do moich potrzeb odświeżyła mi moją zardzewiałą wiedzę o HTML oraz CSS (w tym poszerzyła o JavaScript). Doceniłem również sposób, w jaki Hugo funkcjonuje i generuje strony. Zagłębiając się w Hugo, odkrywałem nowe opcje oraz prostotę w ich implementacji. I, mimo że apetyt rośnie w miarę jedzenia, myślę, że osiągnąłem zamierzony efekt.

Nie obyło się przy tym bez kompromisów, ale nic takiego, którego nie dałbym z cierpieć lub zastąpić "lżejszym" rozwiązaniem.

WordPress wraz ze swoimi wtyczkami pozwolił mi na rozleniwienie się w tej kwestii.

---

Przeniesienie mojej strony, mimo że potrwało znacznie dłużej, niż to założyłem, pozwoliło mi osiągnąć to, co chciałem.

Na etapie szybkiej nauki dodałem kilka elementów, które wymagałoby kilku wtyczek w Wordpress. Całość została oparta na HTML oraz CSS z małą pomocą JavaScript. Dodatkowo, dodałem coś, czego nie wyobrażałem sobie w WordPress (nie w sposób tak prosty, jak w Hugo), a mianowicie ciemny motyw strony.

Gdy nasz komputer, telefon lub tablet przełączy się w tryb nocny, moja strona również. Takie małe czary-mary, dzięki czemu łatwiej się będzie czytać późnym wieczorem.

---

Prosta, przejrzysta strona, zachęcająca do skupienia się na treści powiązana z nowoczesnym wyglądem to podstawa.

Co dla mnie było ważne, to obrazek wyróżniający do każdego postu, zachęcający do zagłębieniu się we wpis. Z własnego doświadczenia wiem, że to, oraz początkowy tekst (zajawka wpisu) decyduje o tym, czy dalej chcę czytać, czy nie.

Oczywiście tytuł wpisu jest równie ważny, ale nie stosuję tutaj praktyki ze szmatławskich stron, których treść nijak się ma do tego, co tytuł obiecywał.

Nie ma co się oszukiwać, WordPress nie umrze tak szybko, a ja nie przestanę go używać w innych projektach. Dla mojej strony migracja była czymś jak odwyk i oczyszczenie. Bez względu czy z Hugo będę przez kilka lub kilkanaście lat, myślę, że dostępność postów w Markdown pozwoli zachować mi ład i kompatybilność do przyszłych zmian, które dopiero nadejdą.

---

Nim opublikowałem moją stronę, posłużyłem się narzędziem [Broken Link Checker](https://github.com/stevenvachon/broken-link-checker) do sprawdzenia, gdzie moje odnośniki nie działają oraz gdzie podczas eksportu (chociażby zdjęć) odnośnik nie został poprawnie przekonwertowany.

Posiadając uruchomionego HUGO w trybie developerskim `hugo serve` wykonałem następującą komendę:

```bash
blc -e http://localhost:1313 -ro 2>&1 | tee result.sh
```

Opcja `-e` pozwoliła mi skupić się tylko na wewnętrznych odnośnikach, a rezultat otrzymałem w pliku `result.sh`.

I tak moja strona została przeniesiona i opublikowana w godzinach porannych 9 sierpnia 2020. Nie było praktycznie żadnych przerw.

Oczywiście, odkryłem kilka problemów, które w trakcie dnia naprawiłem, jednocześnie testując proces aktualizacji strony w repozytorium GitHub-a oraz obserwując, jak jest ona upubliczniana ze strony Netlify. Magia!

---

Krótkie porównanie **WordPress** vs **Hugo** dla mojego bloga po zakończonej migracji.

| Porównanie | WordPress | Hugo |
| - | - | - |
| Wtyczki | 195 MB | 0 MB |
| Motywy | 3.5 MB | 3.7 MB |
| Treść | 0 MB[^1] | 1.2 MB |
| Uploads | 820 MB | 164.4 MB |
| Inne | 8 MB | 0.9 MB |
| Baza danych | 102 MB | 0 MB[^2] |
| Koszt serwera | 200zł/rok + VAT (nazwa.pl) | 0zł (zero, GitHub/Netlify) |

[^1]: Treść przechowywana jest w bazie danych
[^2]: Hugo nie potrzebuje bazy danych. Treść przechowywana jest w plikach .md



---
## Recenzja podróbki opaski Pride 2020 do Apple Watch
- **URL:** https://dariusz.wieckiewicz.org/recenzja-podrobki-opaski-pride-2020-apple-watch/
- **Date:** 2020-07-05
- **Tags:** Blog, Apple Watch, Oryginał, Podróbka, Pride 2020

### Content

Zainspirowany wpisem [Wojtka z iMagazine.pl](https://imagazine.pl/2020/06/05/antique-white-sport-band-w-koncu-trafil-do-mojej-kolekcji-paskow-do-apple-watcha/) odwiedziłem moje konto w eBay UK i zamówiłem dwie najnowsze opaski z serii Pride, edycja 2020. Z tą jednak różnicą, że nie zapłaciłem za nie £49 za sztukę, ale £8.99 (i tak przepłaciłem!).

<!--more-->

O dziwo dostępne są one nie tylko u jednego sprzedawcy. Najbliższy mnie był z Irlandii, a wiec zaryzykowałem aby zobaczyć jak to będzie wyglądać.

Oczywiście, domyślałem się, że nie będzie to oryginalny produkt oraz fakt, że sprzedawca ma poniżej 100 komentarzy, może być tak, że go w ogóle nie otrzymam. Zaryzykowałem bezpiecznie. eBay zawsze zwróci mi pieniądze, jeżeli nie otrzymam mojego produktu, to dodatkowo wykorzystałem opcje zapłacenia po 14 dniach z PayPal (**pay after delivery**). I tak płatność miała być pobrana z mojego konta 20 czerwca, a produkt miał być dostarczony pomiędzy 15 a 19.

Co ciekawe, bardzo szybko pojawiły się podróbki na rynku, widać fabryki w Azji miały co robić, gdy Europa pogrążyła się w pandemii.

I tak dwa dni przed planowanym ostatecznym terminem doręczenia opaski dotarły i jak się spodziewałem… rozczarowały.

{{% gallery %}}
[![Podróbka 1 - Pełny kolor - w opakowaniu](/images/2020/07/01-podrobka-1-pelny-kolor-w-opakowaniu-min.jpg)](/images/2020/07/01-podrobka-1-pelny-kolor-w-opakowaniu-min.jpg)
[![Podróbka 2 - biała - w opakowaniu](/images/2020/07/02-podrobka-2-biala-w-opakowaniu-min.jpg)](/images/2020/07/02-podrobka-2-biala-w-opakowaniu-min.jpg)
{{% /gallery %}}

Pełno-kolorowy Pride 2020 kolorystycznie pasuje, ale wykonanie jest dalekie od ideału. W dotyku plastik. Patrząc na białe paski po bokach, wykonana została ona metodą nadruku na oryginalnie białą opaskę. Na dłuższym pasku kolory są przesunięte, co prezentuje się jeszcze gorzej, jak zapniesz je ze sobą.

{{% gallery %}}
[![Podróbka 1 - pełny kolor](/images/2020/07/03-podrobka-1-pelny-kolor-min.jpg)](/images/2020/07/03-podrobka-1-pelny-kolor-min.jpg)
[![Podróbka 1 - pełny kolor - zbliżenie](/images/2020/07/04-podrobka-1-pelny-kolor-zblizenie-min.jpg)](/images/2020/07/04-podrobka-1-pelny-kolor-zblizenie-min.jpg)

[![Podróbka 1 - pełnby kolor - zbliżenie 2](/images/2020/07/05-podrobka-1-pelny-kolor-zblizenie-2-min.jpg)](/images/2020/07/05-podrobka-1-pelny-kolor-zblizenie-2-min.jpg)
[![Podróbka 1 - pełny kolor - zbliżenie z boku](/images/2020/07/06-podrobka-1-pelny-kolor-zblizenie-z-boku-min.jpg)](/images/2020/07/06-podrobka-1-pelny-kolor-zblizenie-z-boku-min.jpg)
{{% /gallery %}}

Jeżeli weźmiesz dla porównania oryginalny pasek Apple, już w samym dotyku czujesz różnicę. Hipoalergiczna guma, która nie powoduje reakcji skórnych, w momencie, gdy nasza ręka się spoci, może okazać się warta swojej ceny.

Sam zapach opaski-podróbki odrzuca, chyba że ktoś lubi wąchać puszkę z farbą. Całość jest twarda i niewygodna.

{{% gallery %}}
[![Podróbka 1 - pełny kolor z góry](/images/2020/07/07-podrobka-1-pelny-kolor-z-gory-min.jpg)](/images/2020/07/07-podrobka-1-pelny-kolor-z-gory-min.jpg)
[![Podróbka 1 - pełny kolor z góry z boku](/images/2020/07/08-podrobka-1-pelny-kolor-z-gory-od-boku-min.jpg)](/images/2020/07/08-podrobka-1-pelny-kolor-z-gory-od-boku-min.jpg)
[![Podróbka 1 - zapięcie](/images/2020/07/09-podrobka-1-zapiecie-min.jpg)](/images/2020/07/09-podrobka-1-zapiecie-min.jpg)

[![Podróbka 1 - zapięcie zbliżenie](/images/2020/07/10-podrobka-1-zapiecie-zblizenie-min.jpg)](/images/2020/07/10-podrobka-1-zapiecie-zblizenie-min.jpg)
[![Podróbka 1 - mocowanie](/images/2020/07/11-podrobka-1-mocowanie-min.jpg)](/images/2020/07/11-podrobka-1-mocowanie-min.jpg)
[![Podróbka 1 - pełny kolor od wewnętrz z góry](/images/2020/07/20-podrobka-1-pelny-kolor-od-wewnatrz-z-gory-min.jpg)](/images/2020/07/20-podrobka-1-pelny-kolor-od-wewnatrz-z-gory-min.jpg)
{{% /gallery %}}

[![Podróbka 1 - pełny kolor od wewnątrz z góry z boku](/images/2020/07/21-podrobka-1-pelny-kolor-od-wewnatrz-z-gory-z-boku-min.jpg)](/images/2020/07/21-podrobka-1-pelny-kolor-od-wewnatrz-z-gory-z-boku-min.jpg)
    

**Pora sprawdzić podróbkę Pride 2020 odpowiednik Nike.**

{{% gallery %}}
[![Podróbka 2 - biała](/images/2020/07/12-podrobka-2-biala-min.jpg)](/images/2020/07/12-podrobka-2-biala-min.jpg)
[![|Podróbka 2 - biała - zbliżenie](/images/2020/07/13-podrobka-2-biala-zblizenie-min.jpg)](/images/2020/07/13-podrobka-2-biala-zblizenie-min.jpg)

[![Podróbka 2 - biała zbliżenie 2](/images/2020/07/14-podrobka-2-biala-zblizenie-2-min.jpg)](/images/2020/07/14-podrobka-2-biala-zblizenie-2-min.jpg)
[![Podróbka 2 - biała zbliżenie - z boku](/images/2020/07/15-podrobka-2-biala-zblizenie-z-boku-min.jpg)](/images/2020/07/15-podrobka-2-biala-zblizenie-z-boku-min.jpg)
{{% /gallery %}}

Tutaj materiał jest widocznie miększy, gdyż nie został pokryty farbą. Składa się ona, podobnie jak oryginał z dwóch dominujących kolorów. Biały na zewnątrz oraz szary od wewnątrz.

{{% gallery %}}
[![Podróbka 2 - biała od wewnątrz z góry z boku](/images/2020/07/19-podrobka-2-biala-od-wewnatrz-z-gory-z-boku-min.jpg)](/images/2020/07/19-podrobka-2-biala-od-wewnatrz-z-gory-z-boku-min.jpg)
[![Podróbka 2 - biała od wewnątrz - z góry](/images/2020/07/18-podrobka-2-biala-od-wewnatrz-z-gory-min.jpg)](/images/2020/07/18-podrobka-2-biala-od-wewnatrz-z-gory-min.jpg)

[![Podróbka 2 - biała z góry - od boku](/images/2020/07/17-podrobka-2-biala-z-gory-od-boku-min.jpg)](/images/2020/07/17-podrobka-2-biala-z-gory-od-boku-min.jpg)
[![Podróbka 2 - biała - z góry](/images/2020/07/16-podrobka-2-biala-z-gory-min.jpg)](/images/2020/07/16-podrobka-2-biala-z-gory-min.jpg)
{{% /gallery %}}

Porównując w dotyku oryginalną opaskę Nike z tą, od razu czujemy, że mamy do czynienia z innym materiałem. Podobnie jak w opaskach Mi Band, oryginalny pasek jest wykonany ze znacznie lepszego materiału niż jakikolwiek kupiony osobno na eBay.

{{% gallery %}}
[![Podróbka 2 - zapięcie](/images/2020/07/22-podrobka-2-zapiecie-min.jpg)](/images/2020/07/22-podrobka-2-zapiecie-min.jpg)
[![Podróbka 2 - zapięcie - zbliżenie](/images/2020/07/23-podrobka-2-zapiecie-zblizenie-min.jpg)](/images/2020/07/23-podrobka-2-zapiecie-zblizenie-min.jpg)

[![Podróbka 2 - mocowanie - z tyłu](/images/2020/07/24-podrobka-2-mocowanie-z-tylu-min.jpg)](/images/2020/07/24-podrobka-2-mocowanie-z-tylu-min.jpg)
[![Podróbka 2 - mocowanie z przodu](/images/2020/07/25-podrobka-2-mocowanie-z-przodu-min.jpg)](/images/2020/07/25-podrobka-2-mocowanie-z-przodu-min.jpg)
{{% /gallery %}}

Widać, że podróbki były robione na szybko. W oryginalnym pasku dziurki wypełnione są pokolorowanym materiałem. W podróbce to, co się wyróżnia, to nie dziurki, które są otoczone kolorowym materiałem, a jedynie szary kolor przebijający się spod spodu opaski.

Gdy miałbym wybierać, pomiędzy pierwszą a drugą opaską, to byłbym bardziej pewny, że ta druga nie spowoduje u mnie reakcji alergicznej.

{{% gallery %}}
[![Podróbka 1 i 2 z góry](/images/2020/07/26-podrobka-1-i-2-z-gory-min.jpg)](/images/2020/07/26-podrobka-1-i-2-z-gory-min.jpg)
[![Podróbka 1 i 2 zbliżenie](/images/2020/07/27-podrobka-1-i-2-zblizenie-min.jpg)](/images/2020/07/27-podrobka-1-i-2-zblizenie-min.jpg)
{{% /gallery %}}

Jedyne, co jest dobrej jakości w obu to mocowania z zegarkiem.

Biała opaska, mimo że nie używana, a jedynie wyjęta do zrobienia zdjęć zaczęła przyciągać do siebie odrobiny paprochów. Zapewne po całym dniu użytkowania wyglądałaby ona paskudnie.

W przypadku innych moich oryginalnych opasek, po roku użytkowania nadal wyglądają i spisują się wyśmienicie.

W przeszłości kupiłem kilka nylonowych opasek na eBay'u, które jak na podróbki spisują się wyjątkowo dobrze i trudno odróżnić je od oryginałów, mimo że nie wytrzymują one użytkowania przez dłuższy okres.

W przypadku opasek Pride, podróbki, ze względów wizualnych nie nadają się i lądują w kopercie do zwrotu do sprzedającego.

**Czy £49 funtów to dużo za oryginalną opaskę?**
**Tak. Ale czy warto?**

{{% ads-in-article %}}

Jeżeli potrzebujecie nylonowych (materiałowych) opasek, z chęcią polecę spróbowania tych z eBay, natomiast w przypadku gumy, warto przemyśleć. Jeżeli chcemy mieć pewność, że przez dwa lata ta opaska będzie wiernie służyć, wówczas cena się kompensuje, szczególnie że w tym samym okresie musielibyśmy kupić kilka podróbek. No, chyba że ktoś lubi co trochę zmieniać opaski to inna historia, ale jak widzimy, Apple zadbało również o ten aspekt. Wszystkie opaski kupione od pierwszej edycji Apple Watch pasują do wszystkich kolejnych i zapewne nadal tak będzie, gdy Apple wypuści odświeżony Apple Watch 6-tej generacji w tym roku.

W przeszłości miałem również styczność z podróbką Milanese Loop w odcieniu złotym, która prezentowała się bardzo dobrze oraz jej wykonanie nie pozostawiało dużo do życzenia. Cena? Poniżej £20 w porównaniu oryginalną za £99.

Oczywiście, skórzane opaski to inna historia. Znaleźć opaskę z prawdziwej skóry jest ciężko i w rezultacie dochodzi się do wniosku, że warto wydać £99 na oryginał.

**Wracając do moich podróbek.**

Sprzedawca, bez dyskusji zaakceptował moją skargę na jakość i zwrócił pieniądze bez konieczności odsyłania, dzięki temu mogę zrobić porównanie z oryginałem, jak tylko przyjdzie. Niestety, w związku z pandemią czas oczekiwania to prawie 4 tygodnie.

I tak 3 lipca, nieco szybciej niż było to oczekiwane, opaska dotarła.

{{% gallery %}}
[![Oryginał Nike Pride 2020 - w pudełku](/images/2020/07/28-oryginal-nike-pride-2020-w-pudelku-min.jpg)](/images/2020/07/28-oryginal-nike-pride-2020-w-pudelku-min.jpg)
[![Oryginał Nike Pride 2020 - po otwarciu](/images/2020/07/29-oryginal-nike-pride-2020-po-otwarciu-min.jpg)](/images/2020/07/29-oryginal-nike-pride-2020-po-otwarciu-min.jpg)
[![Oryginał Nike Pride 2020 - po otwarciu zbliżenie](/images/2020/07/30-oryginal-nike-pride-2020-po-otwarciu-zblizenie-min.jpg)](/images/2020/07/30-oryginal-nike-pride-2020-po-otwarciu-zblizenie-min.jpg)
{{% /gallery %}}

Jako że jest to oryginalna opaska, wiedziałem, że mogłem spodziewać się lepszej jakości oraz dostosowania do ręki osoby, która ją będzie nosić, w postaci dwóch różnych rozmiarów dolnych pasków.

Dużo lepsza jakość wykonania jest widoczna gołym okiem a w dotyku od razu czuć, że mamy do czynienia z innym materiałem. I może się wydawać, że cenowo jest to nieopłacalne, to jednak, przy ciągłym noszeniu, ostatnią rzeczą, jaką chcemy to reakcja alergiczna. Nie mówiąc już o tym, że opaska po prostu pęknie i zgubimy nasz nie taki tani zegarek. Miałem już taką przygodę, na szczęście nie zgubiłem swojego.

{{% gallery %}}
[![Oryginał Nike Pride 2020](/images/2020/07/31-oryginal-nike-pride-2020-min.jpg)](/images/2020/07/31-oryginal-nike-pride-2020-min.jpg)
[![Oryginał Nike Pride 2020 - zbliżenie](/images/2020/07/32-oryginal-nike-pride-2020-zblizenie-min.jpg)](/images/2020/07/32-oryginal-nike-pride-2020-zblizenie-min.jpg)
[![Oryginał Nike Pride 2020 - z boku](/images/2020/07/34-oryginal-nike-pride-2020-z-boku-min.jpg)](/images/2020/07/34-oryginal-nike-pride-2020-z-boku-min.jpg)

[![Oryginał Nike Pride 2020 - z góry](/images/2020/07/35-oryginal-nike-pride-2020-z-gory-min.jpg)](/images/2020/07/35-oryginal-nike-pride-2020-z-gory-min.jpg)
[![Oryginał Nike Pride 2020 - z góry z tyłu](/images/2020/07/36-oryginal-nike-pride-2020-z-gory-z-tylu-min.jpg)](/images/2020/07/36-oryginal-nike-pride-2020-z-gory-z-tylu-min.jpg)
[![Oryginał Nike Pride 2020 - zbliżenie](/images/2020/07/37-oryginal-nike-pride-2020-zblizenie-min.jpg)](/images/2020/07/37-oryginal-nike-pride-2020-zblizenie-min.jpg)

[![Oryginał Nike Pride 2020 - zapięcie](/images/2020/07/38-oryginal-nike-pride-2020-zapiecie-min.jpg)](/images/2020/07/38-oryginal-nike-pride-2020-zapiecie-min.jpg)
[![Oryginał Nike Pride 2020 - mocowanie z tyłu](/images/2020/07/40-oryginal-nike-pride-2020-mocowanie-z-tylu-min.jpg)](/images/2020/07/40-oryginal-nike-pride-2020-mocowanie-z-tylu-min.jpg)
[![Oryginał Nike Pride 2020 - mocowanie z przodu](/images/2020/07/41-oryginal-nike-pride-2020-mocowanie-z-przodu-min.jpg)](/images/2020/07/41-oryginal-nike-pride-2020-mocowanie-z-przodu-min.jpg)
{{% /gallery %}}

{{% gallery %}}
[![Oryginał Nike Pride 2020 - zbliżenie 2](/images/2020/07/33-oryginal-nike-pride-2020-zblizenie-2-min.jpg)](/images/2020/07/33-oryginal-nike-pride-2020-zblizenie-2-min.jpg)
[![Oryginał Nike Pride 2020 - zapięcie zbliżenie](/images/2020/07/39-oryginal-nike-pride-2020-zapiecie-zblizenie-min.jpg)](/images/2020/07/39-oryginal-nike-pride-2020-zapiecie-zblizenie-min.jpg)
{{% /gallery %}}

O ile podtrzymuję moją pozycję, że w przypadku opasek materiałowych zainteresuję się tym, co jest dostępne na eBay'u, to w przypadku gumy zachęcam do odwiedzenia sklepów Apple, przymierzeniu tego, co nam się podoba, odłożeniu pieniędzy i zainwestowaniu w wysokiej jakości produkt.

Nie jesteśmy fanem zmieniania opaski zegarka na każdym kroku, to gdy kupujemy Apple Watch, z reguły oprócz zegarka wybieraliśmy sobie opaskę, która jest dla nas najlepsza, więc każda dodatkowa podyktowana jest pewnymi względami, w związku z tym zachęcam do przemyślenia zakupu już na samym początku. Szczególnie zachęcam do poświęcenia trochę czasu przy wyborze pierwszej opaski.

Jako że sprzedawca podróbek nie kazał mi ich zwracać, oto krótka sesja porównawcza nim wylądują one w śmietniku.

{{% gallery %}}
[![Podróbka 2 i Oryginał](/images/2020/07/42-podrobka-2-i-oryginal-min.jpg)](/images/2020/07/42-podrobka-2-i-oryginal-min.jpg)
[![Podróbka 2 i Oryginał - zbliżenie](/images/2020/07/43-podrobka-2-i-oryginal-zblizenie-oryginal-na-podrobce-min.jpg)](/images/2020/07/43-podrobka-2-i-oryginal-zblizenie-oryginal-na-podrobce-min.jpg)
[![Podróbka 2 i Oryginał 2](/images/2020/07/44-podrobka-2-i-oryginal-oryginal-i-podrobka-min.jpg)](/images/2020/07/44-podrobka-2-i-oryginal-oryginal-i-podrobka-min.jpg)

[![Podróbka 2 i Oryginał - z tyłu](/images/2020/07/45-podrobka-2-i-oryginal-z-tylu-oryginal-na-podrobce-min.jpg)](/images/2020/07/45-podrobka-2-i-oryginal-z-tylu-oryginal-na-podrobce-min.jpg)
[![Podróbka 2 i Oryginał 3](/images/2020/07/46-podrobka-2-i-oryginal-oryginal-na-podrobce-min.jpg)](/images/2020/07/46-podrobka-2-i-oryginal-oryginal-na-podrobce-min.jpg)
[![Podróbka 2 i Oryginał - z tyłu porównanie](/images/2020/07/47-podrobka-2-i-oryginal-z-tylu-porownanie-min.jpg)](/images/2020/07/47-podrobka-2-i-oryginal-z-tylu-porownanie-min.jpg)

[![Podróbka 2 i Oryginał - z tyłu zapięcie porównanie](/images/2020/07/48-podrobka-2-i-oryginal-z-tylu-zapiecie-porownanie-min.jpg)](/images/2020/07/48-podrobka-2-i-oryginal-z-tylu-zapiecie-porownanie-min.jpg)
[![Podróbka 2 i Oryginał - mocowanie z tyłu porównanie](/images/2020/07/49-podrobka-2-i-oryginal-mocowanie-z-tylu-porownanie-min.jpg)](/images/2020/07/49-podrobka-2-i-oryginal-mocowanie-z-tylu-porownanie-min.jpg)
[![Podróbka 2 i Oryginał - obok siebie](/images/2020/07/50-podrobka-2-i-oryginal-oryginal-obok-podrobki-min.jpg)](/images/2020/07/50-podrobka-2-i-oryginal-oryginal-obok-podrobki-min.jpg)
{{% /gallery %}}

[![Podróbka 2 i Oryginał - obok oryginału](/images/2020/07/51-podrobka-2-i-oryginal-podrobka-obok-oryginalu-min.jpg)](/images/2020/07/51-podrobka-2-i-oryginal-podrobka-obok-oryginalu-min.jpg)

**Pozdrawiam**


---
## Jak dodać AirPlay do Amazon Fire TV Stick
- **URL:** https://dariusz.wieckiewicz.org/jak-dodac-airplay-do-amazon-fire-tv-stick/
- **Date:** 2020-06-28
- **Tags:** Sprzęt, AirPlay, AirPlay Audio, AirReceiver, Amazon Fire TV, Fire TV Stick, Google Cast

### Content

Od dłuższego czasu szukałem narzędzia na mojego Fire TV Stick, które pozwoliło mi w łatwy i kompatybilny sposób przesłać obraz z mojego iPhone na telewizor.

<!--more-->

O ile w przeszłości, przez krótki okres używałem Apple TV i nie miałem z tym problemów, to przystawka od Amazona stała się moim podstawowym centrum multimedialnym.

Oprogramowanie w Fire TV Stick zbudowane jest na podstawie Androida. Nie jest ono najbardziej wydajnym sprzętem, gdyż ma już kilka lat (mój to edycja 4K) i duża rzesza użytkowników oczekuje rychłej aktualizacji. Android otworzył natomiast drzwi do możliwości szerokiej modyfikacji, przez co nie jesteśmy zmuszeni do używania, tylko tych aplikacji dostępne w AppStore of Amazona. Dzięki temu mogłem dołożyć obsługę myszy z poziomu pilota, zainstalować Kodi lub też Polsat Cyfrowy GO.

Cała platforma wspierana jest przez największych graczy na runku takich jak Plex, Netflix czy Disney+. Nawet Apple dodał swoją aplikację Apple TV oraz po wielu bojach na platformę wrócił oficjalny YouTube.

[![Fire TV - Mirroring](/images/2020/06/01-mirroring-min.png)](/images/2020/06/01-mirroring-min.png)*Fire TV - Mirroring*

Platforma posiada wbudowany **display mirroring** pozwalająca na przesyłanie obrazu z kompatybilnych urządzeń na duży ekran. Niestety urządzenia od Apple nie są w tym gronie.

[![Wpisz AirPlay](/images/2020/06/02-wpisz-airplay-min.jpg)](/images/2020/06/02-wpisz-airplay-min.jpg)*Wpisz AirPlay*

[![Szukaj AirPlay](/images/2020/06/03-szukaj-airplay-min.jpg)](/images/2020/06/03-szukaj-airplay-min.jpg)*Szukaj AirPlay*

W sklepie Amazonu znajdziemy kilka aplikacji po wpisaniu tekstu **AirPlay**. W pierwszej kolejności ukaże nam się ta, która jest najbardziej przyjazna dla oka, a mianowicie **AirScreen**.

[![AirScreen](/images/2020/06/04-airscreen-min.png)](/images/2020/06/04-airscreen-min.png)*AirScreen*

Aplikacja **AirScreen** ma na celu dodanie obsługi AirPlay, ale również Google Case, Miracast (czy ktoś jeszcze to używa?) oraz DLNA.

**Niestety, są dwa poważne problemy z tą aplikacją.**

Po pierwsze sposób, w jaki działa. W ramach moich testów z wykorzystaniem iPhone 11 Pro oraz przy połączeniu do WiFi po 5Ghz i routerem stojącym niemalże przy obu urządzeniach doświadczałem tak zwanych _lagów_. Jakość obrazu nie zawsze była najlepsza, a dźwięk lubił się ciąć.

[![AirScreen - Zakup](/images/2020/06/05-airscreen-purchase-min.png)](/images/2020/06/05-airscreen-purchase-min.png)*AirScreen - Zakup*

Po drugie, sposób monetyzacji, czyli w jaki sposób autor aplikacji postanowił na niej zarobić.

Aplikacja dostępna jest do pobrania za darmo. Z tego właśnie względów większość z nas po nią sięgnie w pierwszej kolejności. Jeżeli już w jakiś sposób uda nam się ogarnąć jakość obrazu i dźwięku, to nękać będą nas uporczywe reklamy za każdym razem, gdy będziemy chcieli odtworzyć kolejną rzecz.

Aby pozbyć się reklam, należy zakupić wersję Pro, po którą nawet byłbym skłonny sięgnąć, jeżeli to by rozwiązało problem, gdyż zaawansowane opcje niedostępne są w wersji bezpłatnej **Free** (przy którymś to włączeniu ukazała mi się opcja na darmowe sprawdzenie zaawansowanych opcji).

[![AirScreen - Wypróbuj opcje zaawansowane](/images/2020/06/06-try-advanced-features-min.png)](/images/2020/06/06-try-advanced-features-min.png)*AirScreen - Wypróbuj opcje zaawansowane*

Autor programu niestety zdecydował się na model subskrypcji, zamiast jednorazowego zakupu tłumacząc się, że rozwój aplikacji kosztuje (rozumiem) tak jak i utrzymanie serwerów. Tej drugiej części za bardzo nie kumam. AirPlay z założenia ma działać lokalnie, w związku z tym, co ma piernik do wiatraka.

[![AirScreen - Zakup - płatność](/images/2020/06/07-airscreen-purchase-payment-min.png)](/images/2020/06/07-airscreen-purchase-payment-min.png)*AirScreen - Zakup - płatność*

Subskrypcje nie są może za duże, gdyż jest to £1.07 za miesiąc lub £9.92 za rok. Możemy również wykupić aplikację na 30 dni bez dalszych zobowiązań za £2.51.

Biorąc pod uwagę, że każdy z nas płaci za jakąś usługę streamingową, płacenie za tak trywialną opcję miesięcznie? Nie dziękuję.

[![AirReveiver](/images/2020/06/08-airreceiver-min.jpg)](/images/2020/06/08-airreceiver-min.jpg)*AirReveiver*

Kolejną opcją (na którą się zdecydowałem) po wyszukaniu z wykorzystaniem frazy **AirPlay** była aplikacja o nazwie **AirReceiver**, która nie urzekła mnie, po pierwsze swoją ikoną, jak również zaprezentowanymi zrzutami ekranu na ekranie zakupu.

[![AirReveiver - Opis aplikacji](/images/2020/06/09-airreceiver-opis-aplikacji-min.jpg)](/images/2020/06/09-airreceiver-opis-aplikacji-min.jpg)*AirReveiver - Opis aplikacji*

[![AirReceived - Zrzuty Ekranu](/images/2020/06/10-airreceiver-zrzuty-ekranu-min.png)](/images/2020/06/10-airreceiver-zrzuty-ekranu-min.png)*AirReceived - Zrzuty Ekranu*

W dodatku, aby ją spróbować, musiał bym za nią zapłacić z góry. Na szczęście koszt aplikacji jest jednorazowy i nie jest on wygórowany, bo kosztuje tylko **£1.78**.

[![AirReceiver - Opinie](/images/2020/06/11-airreceiver-opinie-min.png)](/images/2020/06/11-airreceiver-opinie-min.png)*AirReceiver - Opinie*

Komentarze również nie zachęcają. Pojedynczych gwiazdek jest sporo, w tym sporo nieprzychylnych opinii.

No cóż, zaryzykowałem i przyznam się szczerze, że jestem **bardziej niż zadowolony**.

Jakość obrazu i dźwięku jest na odpowiednim poziomie. Nie ma problemów z trzaskami lub brakującymi dialogami na początku i końcu obrazu, który streamujemy. Wszystkie te bolączki z **AirScreen** znikły!

[![AirReceiver - Ustawienia](/images/2020/06/12-airreceiver-ustawienia-min.png)](/images/2020/06/12-airreceiver-ustawienia-min.png)*AirReceiver - Ustawienia*

Aplikacja w głównej mierze działa w tle. Uruchamiając ją na telewizorze, przechodzimy od razu do ustawień.

Jak widzimy, program obsługuje **AirPlay**, dzięki czemu wszystkie urządzenia z nadgryzionym jabłkiem od razu go zobaczyły. Screen Mirror z iPhone dostępny jest od razu i co ciekawe, nasze urządzenie widoczne jest z ikonką Apple TV :)

{{% gallery %}}
[![iOS iPhone Screen Mirroring](/images/2020/06/13-ios-iphone-screen-miroring-min.jpg)](/images/2020/06/13-ios-iphone-screen-miroring-min.jpg)
[![AirPlay Audio](/images/2020/06/14-airplay-audio-min.jpg)](/images/2020/06/14-airplay-audio-min.jpg)
{{% /gallery %}}

Wszystkie zainstalowane aplikacje od razu wychwyciły dostępne urządzenie AirPlay, jak również te od Google (Zdjęcia [Google Photo](/google-photo/)) znalazły je jako urządzenie obsługujące **Google Cast**.

[![AirAudio Big Screen](/images/2020/06/15-airaudio-big-screen-min.jpg)](/images/2020/06/15-airaudio-big-screen-min.jpg)*AirAudio Big Screen*

Co ciekawe jest, że oprócz **AirPlay** otrzymujemy również **AirTunes Audio** (obecnie zwane **AirPlay Audio**) dzięki czemu możemy uruchomić na naszym telefonie muzykę z **Apple Music** i przesłać na duży ekran w tle, lub też do urządzenia (głośnika) obsługującego tego typu transmisję.

[![macOS - Opcja AirPlay](/images/2020/06/16-macos-option-airplay-min.png)](/images/2020/06/16-macos-option-airplay-min.png)*macOS - Opcja AirPlay*

Mój komputer z **macOS** przy pierwszym włączeniu od razu pokazał mi ikonkę w pasku z dostępnym urządzeniem AirPlay. Sprawdziłem i działa wspaniale.

Oczywiście, jest pewnego rodzaju opóźnienie, jednakże wszystko jest zsynchronizowane wyśmienicie i nie ma żadnych strat w dźwięku.

Sprawdziłem tego typu rozwiązanie, gdy używałem aplikacji **Nike Training**. W momencie uruchomienia ćwiczenia i obrócenia telefonu z pozycję horyzontalną obraz jest również obrócony na telewizorze pozwalający skoncentrować się na tym, co ważne oraz widzieć każde niezbędne szczegóły.

Oprócz **AirPlay**, **AirTunes Audio** oraz **Google Cast** o którym wspomniałem, dostępna jest opcja **DLNA**, **YouTube Dial** oraz **YouTube TV**.

O ile natywna aplikacja YouTube wprowadziła możliwość przesyłania filmików na telewizor, to **AirReceiver** udostępnił opcję wyświetlacza bardziej dostosowanego do kontroli z poziomu pilota telewizora.

Program, jak za £1.78 dodaje opcję dostępu do udostępnionych folderów za pomocą klienta Samby (osobiście używam do tego Kodi).

[![AirPlay Bezpieczeństwo](/images/2020/06/17-airplay-security-min.png)](/images/2020/06/17-airplay-security-min.png)*AirPlay Bezpieczeństwo*

{{% ads-in-article %}}

Sam **AirPlay** możemy również zabezpieczyć za pomocą PIN-u na ekranie lub hasła. Jest to szczególnie ważne, jeżeli chcemy ograniczyć, kto powinien w naszej sieci mieć możliwość wyświetlania materiałów na telewizorze.

W sekcji **Device Name** możemy zmienić nazwę, pod którą nasze urządzenie będzie się wyświetlać na kompatybilnym sprzęcie.

[![AirReceiver - Zaawansowane ustawienia](/images/2020/06/18-airreceiver-advanced-settings-min.png)](/images/2020/06/18-airreceiver-advanced-settings-min.png)*AirReceiver - Zaawansowane ustawienia*

Dodatkowo program posiada bardziej zaawansowane opcje (**Advanced Settings**), które dodadzą nam możliwość dostosowania między innymi obsługi napisów, ich wielkości czy też zablokowanie możliwości użycia opcji AirMirror, w momencie, gdy ktoś już streamuje coś na nasz telewizor.

Domyślnie, w opcjach zaawansowanych włączone jest używanie sprzętowego kodeka i może dzięki temu w **AirReceiver** całość wygląda lepiej niż w **AirScreen**.

[![AirReceiver - Zaawansowane ustawienia - YouTube HD](/images/2020/06/19-airreceiver-advanced-settings-youtube-hd-min.png)](/images/2020/06/19-airreceiver-advanced-settings-youtube-hd-min.png)*AirReceiver - Zaawansowane ustawienia - YouTube HD*

Jeżeli będziemy używali tej aplikacji do obsługi YouTube, warto włączyć opcję **YouTube HD**.

Tak naprawdę, po pierwszym uruchomieniu i małym dostosowaniu nie potrzebujemy robić nic więcej. Nie jest nam również potrzebne wybujałe menu aplikacji tak jak w **AirScreen**, z którego i tak nie będziemy korzystać, gdyż z założenia **AirReceived** będzie działać w tle.

Osobiście dałem tej aplikacji **pięć gwiazdek**, gdyż robi to, co trzeba i warta jest swojej ceny!

**Drobna uwaga.**

Jeżeli podstawowa funkcja programu nie działa — telefon nie wykrywa możliwości streamowania do sticka, nie jest to do końca wina aplikacji. W tym przypadku zainteresowałbym się ustawieniami twojego routera, szczególnie ważne jest lokalne [połączenie IPv6](/turbodoladowanie-polaczenia-internetowego/). Nim napiszesz, że nie działa, wystawisz negatywną opinię lub dasz tylko jedną gwiazdkę, zrób szerszy test i sprawdź, czy problem nie leży po stronie twojego sprzętu.

Pozdrawiam.



---
## Moje aplikacje na Mac'a - Top 10 (2020)
- **URL:** https://dariusz.wieckiewicz.org/aplikacje-macos-top-10-2020/
- **Date:** 2020-06-20
- **Tags:** Mac, Amphetamine, Atom, balenaEtcher, Cryptomator, HEIC Converter, Helm, iHash, iMazing HEIC Converter, macOS, Right Zoom, SecretDesktop, Unsplash

### Content

Kilka lat temu ([Czerwiec 2016](/moje-aplikacje-na-mac-top-10/)) napisałem wpis na mojej stronie odnośnie moich aplikacji na komputery z nadgryzionym jabłkiem, które zakwalifikowałem jako “must have”. Nie opisywałem w nim aplikacji, które każdy zna, ale bardziej skupiłem się na perełkach, które każdy **powinien** znać.

W międzyczasie dużo się zmieniło — w tym Mac OS X zmienił nazwę na macOS. Niektóre aplikacje ze mną zostały, a z innych zrezygnowałem, zastąpiłem innymi lub zostałem zmuszony do zmiany.

Tym razem zamierzam podzielić się listą aplikacji, które dotrwały ze mną do 2020 i zamierzają zostać na dłużej.

<!--more-->

## Amphetamine

W przeszłości używałem **keepingYouAwake**, z czasem przesiadłem się na **Amphetamine**, po czym zmieniłem, gdy sprawdzałem inne odpowiedniki, a i tak wróciłem do niego i jestem z nim do dziś. Program ten ma na celu, zapobieganie komputera w przejście w stan uśpienia. Szczególnie przydatne, gdy chcemy, żeby komputer był cały czas włączony, czy to ze względu na program, który mamy włączony i chcemy, żeby działał (kopia zapasowa TimeMachine), czy też mamy odpaloną stronę internetową, która chcemy sprawdzać od czasu do czasu bez konieczności ciągłego odblokowywania ekranu.

[![Amphetamine - O Aplikacji](/images/2020/06/am_1_o_aplikacji-min.png)](/images/2020/06/am_1_o_aplikacji-min.png)*Amphetamine - O Aplikacji*

Amphetamine posiada szereg dodatkowych opcji i możliwość.

[![Amphetamine - Menu](/images/2020/06/am_2_menu-min.png)](/images/2020/06/am_2_menu-min.png)*Amphetamine - Menu*
[![Amphetamine - Okno Opcji](/images/2020/06/am_3_okno_opcji-min.png)](/images/2020/06/am_3_okno_opcji-min.png)*Amphetamine - Okno Opcji*

Co jest najważniejsze. Program jest nadal wspierany oraz dostępny z poziomu [App Store za darmo](https://apps.apple.com/us/app/amphetamine/id937984704?mt=12).

## SecretDesktop

SecretDesktop to bardzo prosta aplikacja ma jedno podstawowe zadania, a mianowicie ukryć tymczasowo wszystko, co mamy na pulpicie. Bardzo przydatna opcja, gdy posiadamy na nim multum plików, w tym też te, które mogą przyciągać wzrok osób postronnych. Czasem niezbędne jest zrobienie prezentacji z pokazaniem pulpitu i o ile ja mam na nim w miarę porządek, to i tak warto nie pokazywać, co się na nim znajduje pozostawiając skupienie na tym co najważniejsze.

[![SecretDesktop - O Aplikacji](/images/2020/06/secretdesktop_o_aplikacji-min.png)](/images/2020/06/secretdesktop_o_aplikacji-min.png)*SecretDesktop - O Aplikacji*

Aplikacja również dostępna jest z poziomu [App Store za darmo](https://apps.apple.com/us/app/secretdesktop/id1469900735?mt=12) a jego kod źródłowy dostępny na [GitHubie](https://github.com/Kyome22/SecretDesktop).

## Cryptomator

**Cryptomator** to aplikacja, która znalazła się na moim komputerze w miarę niedawno. Jej celem jest szyfrowanie zawartości folderu, który dodatkowo może być przechowywany w chmurze (no przykład Dropbox).

[![Cryptomator - O Aplikacji](/images/2020/06/cryptomator_1_o_aplikacji_ed-min.png)](/images/2020/06/cryptomator_1_o_aplikacji_ed-min.png)*Cryptomator - O Aplikacji*

O ile wcześniej do podobnego celu używałem [VeraCrypt](https://www.veracrypt.fr/), który nadal mam pod ręką, to Cryptomator, w odróżnieniu od VeraCryp nie przechowuje wszystkich plików w zaszyfrowanym kontenerze, a szyfruje je każde z osobna. Dzięki czemu, edytując, chociażby jeden plik, tylko ten plik jest wysyłany do chmury (aktualizowany), a nie cały kontener, który może zajmować kilkaset mega.

Aplikacji na macOS nie znajdziesz w App Store, natomiast znajdziesz wersję na iOS dla iPhone oraz iPad. O ile wersja mobilna jest płatna (publikowanie w App Store wiąże się z wykupieniem rocznej subskrypcji, która nie jest tania), to aplikację na nasz komputer pobierzemy [za darmo z oficjalnej strony](https://cryptomator.org/).

Podobnie jak VeraCrypt, po odszyfrowaniu folderu pojawia się on jako zewnętrzne urządzenie w macOS, przez które mamy dostęp do odszyfrowanych plików. W innym wypadku mamy dostęp tylko do dziwnie wyglądających plików z losowo nadanymi nazwami.

[![Cryptomator - Okno aplikacji](/images/2020/06/cryptomator_2_okno_aplikacji_ed-min.png)](/images/2020/06/cryptomator_2_okno_aplikacji_ed-min.png)*Cryptomator - Okno aplikacji*
[![Cryptomator - zaszyfrowany folder Finder](/images/2020/06/cryptomator_3_zaszyfrowany_folder_finder_ed-min.png)](/images/2020/06/cryptomator_3_zaszyfrowany_folder_finder_ed-min.png)*Cryptomator - zaszyfrowany folder Finder*

Co najważniejsze, klucz szyfrujący przechowywany jest razem z folderem, a nie przechowywany jest na żadnym serwerze, przez co jest on niezależny. Jeżeli na jakimś etapie program zniknie, to nadal mamy możliwość na odszyfrowanie danych.

Oczywiście, odszyfrowanie odbywa się za pomocą hasła, które musimy zapamiętać, gdyż bez niego nasze pliki będą zaszyfrowane bezpowrotnie.

## balenaEtcher

Ten program jest ze mną od dłuższego czasu. Na przełomie lat zmienił kilka razy nazwę, ale jego funkcjonalność nadal pozostała niezmienna.

[![balenaEtcher - O Aplikacji](/images/2020/06/balenaetcher_1_o_aplikacji-min.png)](/images/2020/06/balenaetcher_1_o_aplikacji-min.png)*balenaEtcher - O Aplikacji*

[![balenaEtcher - Okno aplikacji](/images/2020/06/balenaetcher_2_okno_aplikacji-min.png)](/images/2020/06/balenaetcher_2_okno_aplikacji-min.png)*balenaEtcher - Okno aplikacji*

Program używam do zapisania obrazów ISO (chociażby instalacji Windows 10) na dysku USB (lub karcie pamięci — Raspbian) w celu łatwej instalacji z przenośnego nośnika na nowym komputerze.

W skrajnych przypadkach (Windows 10) muszę sięgnąć po rozwiązanie na Windows o nazwie [rufus](https://rufus.ie/), ale ogólnie balenaEtcher spełnia powierzone mu zadanie.

Aplikację możemy pobrać [z oficjalnej strony](https://www.balena.io/etcher/).

## Helm

**Helm** to kolejne małe narzędzie pozwalające nam w łatwy sposób uzyskać dostęp do pliku **/etc/hosts**, w którym to możemy ręcznie przypisać adres IP do nazwy domeny. Jest on szczególnie przydatny, gdy chcemy wyłączyć możliwość komunikacji dla wybranej aplikacji z serwerem w internecie.

[![Helm - O Aplikacji](/images/2020/06/helm_1_o_aplikacji-min.png)](/images/2020/06/helm_1_o_aplikacji-min.png)*Helm - O Aplikacji*

[![Helm - Okno aplikacji](/images/2020/06/helm_2_okno_aplikacji-min.png)](/images/2020/06/helm_2_okno_aplikacji-min.png)*Helm - Okno aplikacji*

Zastosować jest mnóstwo. Więcej o pliku **hosts** możecie przeczytać na [Wikipedii](https://pl.wikipedia.org/wiki/Hosts).

Helm dostępny jest [w App Store za darmo](https://apps.apple.com/us/app/id1099472017) a jego kod źródłowy możemy znaleźć na [GitHubie](https://github.com/thunkli/Helm).

## iHash

iHash to aplikacja od polskiego autora mająca na celu wygenerowanie sumy kontrolnej dla pliku w celu jej weryfikacji z oryginałem. Jest to szczególnie ważne, gdy pobieramy plik z innej niż strony autorskiej, wówczas porównanie sumy kontrolnej ze strony źródłowej z sumą pliku, który pobraliśmy poinformuje nas, czy ktoś dołożył swoje trzy litery do niego, czy też jest on nietknięty.

[![iHash - O Aplikacji](/images/2020/06/ihash_3_o_aplikacji-min.png)](/images/2020/06/ihash_3_o_aplikacji-min.png)*iHash - O Aplikacji*

Oprócz generowania sumy kontrolnej dla pliku aplikacja ma możliwość jej wygenerowania dla tekstu, co jest poniekąd ciekawe.

[![iHash - Okno aplikacji](/images/2020/06/ihash_1_okno_aplikacji_plik-min.png)](/images/2020/06/ihash_1_okno_aplikacji_plik-min.png)*iHash - Okno aplikacji*

[![iHash - Okno aplikacji - tekst](/images/2020/06/ihash_2_okno_aplikacji_tekst-min.png)](/images/2020/06/ihash_2_okno_aplikacji_tekst-min.png)*iHash - Okno aplikacji - tekst*

Dostępne są następujące opcje sum kontrolnych: MD2, MD4, **MD5**, SHA1, SHA224, **SHA256**, SHA384, SHA512.

Może ze wszystkimi się nie zetknąłeś, ale jak co nieco poszukasz, to MD5 oraz SHA256 są dość popularne w użyciu.

Aplikacja dostępna jest [za darmo w App Store](https://apps.apple.com/us/app/ihash/id7.2043?mt=12).

Jeżeli jesteś zainteresowany innymi aplikacjami od Dariusz Topolski, [odwiedź jego stronę](https://elitebits.com/).

{{% ads-in-article %}}

## Right Zoom

Jeżeli tak jak ja kilka lat temu przesiadłeś się z Windows na Mac, bolączką stał się zielony przycisk maksymalizowania okna, który zamiast maksymalizować, przełączał aplikacje w trym pełnoekranowy. Jako że pracuję na co dzień na obu systemach, pamiętanie, że przycisk na macOS działa inaczej stało się poniekąd bolączką. Przed krótki czasu używałem do tego celu pewnej rozbudowanej aplikacji, która stała się nagle płatna, by w końcu została zaniechana. Jako że używałem tylko jednej opcji z wielu, cena nie kompensowała funkcjonalności a więc szukałem czegoś innego. Tak znalazłem małe narzędzie **Right Zoom**.

Aplikacja zmienia zachowanie zielonego przycisku tak, że po kliknięciu podstawowym przyciskiem trackpada okno naszej aplikacji zmaksymalizowane jest do granic naszego ekranu. Dokładnie tak, jak w Windows.

[![Right Zoom - Opcje ogólne](/images/2020/06/right_zoom_1_options_general-min.png)](/images/2020/06/right_zoom_1_options_general-min.png)*Right Zoom - Opcje ogólne*

[![Right Zoom - Opcje - Aplikacje](/images/2020/06/right_zoom_1_options_applications-min.png)](/images/2020/06/right_zoom_1_options_applications-min.png)*Right Zoom - Opcje - Aplikacje*

Domyślnie aplikacja ustawiona jest aby działała tylko z wybranymi aplikacjami, co w moim przypadku zmieniłem w zakładce **Applications** na opcję **Enable Right Zoom in all applications, but not in Exclusions**. I tak wszystkie aplikacje reagują na zielony przycisk, tak jak trzeba, a jak potrzeba, to mogę wybraną dodać do wyjątków.

Po zaznaczeniu **Activate Right Zoom** na pierwszej stronie ustawień aplikacji możemy o niej zapomnieć. Automatycznie startować będzie w tle i robić to, do czego została przeznaczona.

Aplikację możesz pobrać [ze strony autora](https://blazingtools.com/right_zoom_mac.html).

## Atom

**Atom** to niezastąpiony edytor tekstu dla wszystkich tych, który mają kontakt z kodem. Osobiście używam go do wszelakiej edycji plików PHP, ale również niezastąpiony jest to otwierania bardzo dużych plików, które normalnie zawieszają systemowy notatnik (Windows) lub TextEdit (macOS).

Posiada on kolorowanie składni, numerowanie linii oraz między innymi opcję wyszukaj i zmień.

Zastosowań oraz dostosowań samego edytora jest multum, więc każdy znajdzie coś dla siebie.

[![Atom - O Aplikacji](/images/2020/06/atom_1_o_aplikacji-min.png)](/images/2020/06/atom_1_o_aplikacji-min.png)*Atom - O Aplikacji*

[![Atom - Untitled - plik php](/images/2020/06/atom_2_php-min.png)](/images/2020/06/atom_2_php-min.png)*Atom - Untitled - plik php*

Program jest darmowy i można go pobrać [ze tej strony](https://atom.io/). Jego rozwój aktywnie prowadzony jest na [GitHubie](https://github.com/atom/atom).

## HEIC Converter (dwie w jednym)

Jeżeli robisz zdjęcia w iPhone i przerzucasz je za pomocą AirDrop do twojego Mac'a zapewne frustruje cię format zdjęć w HEIC, którego nie możesz bezpośrednio użyć w internecie bez konwersji do JPG.

Oczywiście, można zmienić domyślny format w iPhone na JPG, ale cała idea posiadania HEIC jest jakość i rozmiar. O ile zdjęcia zrzucone przez Google Photo konwertowane są do JPG, to w przypadku Mac'a można posłużyć się taką aplikacją jak **HEIC Converter**.

[![HEIC Converter - O Aplikacji](/images/2020/06/heic_converter_1_o_aplikacji-min.png)](/images/2020/06/heic_converter_1_o_aplikacji-min.png)*HEIC Converter - O Aplikacji*

[![HEIC Converter - Okno aplikacji](/images/2020/06/heic_converter_1_okno_aplikacji-min.png)](/images/2020/06/heic_converter_1_okno_aplikacji-min.png)*HEIC Converter - Okno aplikacji*

Aplikacja jest tyle prosta, że wystarczy przeciągnąć i upuścić plik HEIC i wskazać gdzie zapisać plik JPG. Szybko i prosto bez zbędnych ustawień. Program możemy pobrać [za darmo w App Store](https://apps.apple.com/us/app/heic-converter/id1294.02?mt=12).

Ale to jeszcze nie wszystko.

Zdarza mi się używać zdjęć zrobionych na iPhone na komputerze z Windowsem. W tym przypadku używam darmowej aplikacji **iMazing HEIC Converter**.

[![iMazing HEIC Converter - O Aplikacji](/images/2020/06/imazing_heic_converter_1_o_aplikacji-min.png)](/images/2020/06/imazing_heic_converter_1_o_aplikacji-min.png)*iMazing HEIC Converter - O Aplikacji*

[![iMazing HEIC Converter - Okno aplikacji](/images/2020/06/imazing_heic_converter_1_okno_aplikacji-min.png)](/images/2020/06/imazing_heic_converter_1_okno_aplikacji-min.png)*iMazing HEIC Converter - Okno aplikacji*

Aplikacja ta natomiast dostępna jest nie tylko na Windows ([zobacz tutaj](https://imazing.com/heic)) ale również na macOS ([link do App Store](https://apps.apple.com/us/app/imazing-heic-converter/id129219.?mt=12)). Jeżeli używasz zamiennie Windows i macOS, możesz również używać tej samej aplikacji w obrębie obu systemów.

Wybór należy do ciebie.

## Unsplash

Posiadanie MacBooka z ekranem w wysokiej rozdzielczości (wyższej niż Full HD) jest nie lada przywilejem. Wszystko wygląda wspaniale, a jeszcze lepiej wyglądają tapety na pulpicie. Niestety, większość tapet traci swój urok jeżeli są one niedostosowane to wysokiej rozdzielczości ekranu (tj. 2560x1600). Tutaj z pomocą przychodzi darmowe narzędzie **Unsplash**.

[![Unsplash - O Aplikacji](/images/2020/06/unsplash_1_o_aplikacji-min.png)](/images/2020/06/unsplash_1_o_aplikacji-min.png)*Unsplash - O Aplikacji*

Unsplash Wallpapers dostarcza wspaniałe tapety, w wysokiej rozdzielczości dostosowane do naszego ekranu. W zależności od naszego gusty możemy wybrać motyw, z którego tapety będą sugerowane.

Oprócz ustawienia tapety jako tło pulpitu mamy możliwość zapisania jej w postaci pliku. Jeżeli przez przypadek przeskoczymy jakąś fajną tapetę, którą chcieliśmy zobaczyć, zawsze możemy znaleźć je w historii.

[![Unsplash - Okno aplikacji](/images/2020/06/unsplash_2_okno_aplikacji-min.png)](/images/2020/06/unsplash_2_okno_aplikacji-min.png)*Unsplash - Okno aplikacji*

[![Unsplash - Motywy](/images/2020/06/unsplash_3_motywy-min.png)](/images/2020/06/unsplash_3_motywy-min.png)*Unsplash - Motywy*

[![Unsplash - Historia](/images/2020/06/unsplash_4_historia-min.png)](/images/2020/06/unsplash_4_historia-min.png)*Unsplash - Historia*

Oprócz ustawienia tapety na aktywnym pulpicie mamy możliwość dodania automatycznej zmiany tapety dziennie lub cotygodniowo.

Aplikacja dostępna jest [za darmo w App Store](https://apps.apple.com/us/app/unsplash-wallpapers/id1284863847?mt=12) dla macOS oraz [dla iPhone/iPad (iOS)](https://apps.apple.com/us/app/unsplash/id1290631746).

W przypadku systemu Windows znajdziemy odpowiednik w postaci **Splash!** [do pobrania ze sklepu Microsoft](https://www.microsoft.com/en-us/p/splash-unsplash-wallpaper/9phttwjgg81f?activetab=pivot:overviewtab).

**Pozdrawiam**



---
## Najlepszy mobilny edytor zdjęć (2020)
- **URL:** https://dariusz.wieckiewicz.org/najlepszy-mobilny-edytor-zdjec-2020/
- **Date:** 2020-06-09
- **Tags:** Oprogramowanie, AppStore, edycja zdjęć, Google, iPhone, Snapseed

### Content

Mimo że nie jestem fanem nadmiernej edycji zdjęć, czasem, nawet najlepiej zrobione zdjęcie aż się prosi o jego podrasowanie (jak to Anglicy mówią, TLC - "touch love care').

W AppStore (jak i w Google Play) znajduje się multum aplikacji pozwalających osiągnąć zamierzony cel. Niektóre posiadają tylko kilka przydatnych opcji, inne nakładają ograniczenia, które zmuszają nas do sięgnięcia do portfela, aby osiągnąć, to co chcemy.

Ostatnio przejrzałem tonę aplikacji, aby znaleźć tą, która ma wszystko to, co potrzebuję, aby osiągnąć zamierzony efekt.

<!--more-->

W moim telefonie pozostały aplikacje takie jak [Photoshop Express](https://apps.apple.com/us/app/photoshop-express-photo-editor/id331975235) czy [Lightroom](https://apps.apple.com/us/app/lightroom-photo-video-editor/id878783582) od Adobe oraz [Fine](https://apps.apple.com/gb/app/fine-photo-editor/id1391571907).

Do zabawy ze zdjęciami używam [Prisma](https://apps.apple.com/us/app/prisma-photo-editor-filters/id1122649984) oraz [Animatrix](https://apps.apple.com/us/app/animatix-photo-animation/id1410307843), to ostatnio coraz częściej sięgam po jedną aplikację - [Snapseed](https://apps.apple.com/us/app/snapseed/id439438619).

* * *

**Snapseed** to bardzo potężne darmowe narzędzie posiadające multum opcji, za które trzeba by zapłacić nie mało u konkurencji. Nic dziwnego, że zostało ono kupione jakiś czas (grudzień 2012) i jest własnością Google. Osobiście używałem go na przełomie lat, ale jakoś nigdy nie przypadło mi do gustu, aż do teraz.

Większość edycji odbywa się za pomocą intuicyjnych gestów na boki lub góra-dół. Nie brakuje w niej gotowych filtrów (**Look**), ale najbardziej rozbudowaną sekcją są dostępne narzędzia (**Tools**). Po zakończonej 'zabawie' możemy zapisać nasze zdjęcie (**Export**) z zachowaniem wprowadzonych zmian, które można cofnąć, lub też w postaci finalnego pliku.

{{% gallery %}}
[![Ekran główny](snapseed-homescreen-with-image.jpg)](snapseed-homescreen-with-image.jpg)
[![Dostępne narzędzia](snapseed-tools.png)](snapseed-tools.png)
{{% /gallery %}}

[![Eksport](snapseed-export.png)](snapseed-export.png)

Aplikacja posiada rozbudowany samouczek (**Tutorial**), w którym możemy poznać możliwości aplikacji, jak również nauczyć się, jak w sposób profesjonalny dodać magię do naszych zdjęć.

[![Samouczek](snapseed-tutorials.jpg)](snapseed-tutorials.jpg)

Oczywiście aplikacja nie zastąpi nas samych. Jeżeli nie mamy wprawionego oka i nasze zdjęcia wychodzą wręcz średnie, to nie zrobimy z nich nagle arcydzieła.

Dodatkowe opcje warte zaznaczenia to informacja o zdjęciu, która wyświetli nam podstawowe dane odnośnie do przesłony czy naświetlenia, ale również odczyta geolokalizację i przedstawi w postaci mapki Google.

[![Informacje o zdjęciu](snapseed-image-details.jpg)](snapseed-image-details.jpg)

Opcje samej aplikacji (**Settings**) są wręcz podstawowe. Możemy ustawić, czy aplikacja będzie w jakiś sposób zmieniać rozmiar naszego obrazu (domyślnie wyłączone) oraz to, w jakiej jakości nasz finalny obraz będzie zapisany (domyślnie JPG 100%, ale dostępna jest również opcja PNG).

[![Opcje](snapseed-options.png)](snapseed-options.png)

[![Opcje, Format i jakość](snapseed-options-format-and-quality.png)](snapseed-options-format-and-quality.png)

Oto przykład jednej z edycji z wykorzystaniem iPhone 11 Pro oraz filtru HDR w programie Snapseed.

{{% gallery %}}
[![Oryginalne](img_8629_original.jpg 'Oryginalne')](img_8629_original.jpg)
[![Snapseed + HDR](img_8629_snapseed.jpg 'Snapseed + HDR')](img_8629_snapseed.jpg)
{{% /gallery %}}

Oczywiście "najlepszy" to pojęcie względne, więc może się to zmienić w przyszłości. Poniżej zamieszczam kilka filmików pokazujących jak program działa w dużym skrócie.

{{% ads-in-article %}}

Przy okazji zapraszam na mój [Instagram](https://www.instagram.com/dariusz.wieckiewicz/).

{{< youtube id="PJ1OubQFiAo" title="Look - Portrait & Accentuate" >}}*Look - Portrait & Accentuate*

{{< youtube id="TahN1OgX4Gs" title="Look - Tune Image" >}}*Look - Tune Image*

{{< youtube id="H6tKGYAWilQ" title="Tools - HDR" >}}*Tools - HDR*

{{< youtube id="WYk5mDHMoe8" title="Tools - Noir" >}}*Tools - Noir*

{{< youtube id="sv_cw8hVnUs" title="Tools - Brush" >}}*Tools - Brush*

**Pozdrawiam**


---
## Turbodoładowanie połączenia internetowego (WARP, IPv6, OpenWrt)
- **URL:** https://dariusz.wieckiewicz.org/turbodoladowanie-polaczenia-internetowego/
- **Date:** 2020-05-29
- **Tags:** Internet, Cloudflare, IPv6, OpenWrt, VPN, WARP, WireGuard

### Content

Cloudflare słynie z tego, że jest drugim Google i udostępnia nam wysokiej jakości usługi, z czego dużą ich część można używać za darmo bez żadnych kompromisów. Na szczęście, w przeciwieństwie do Google, nie uśmierca tak ochoczo swoich usług.

Od zarządzania domenami, poprzez [certyfikat SSL dla twojej strony www](/certyfikat-ssl-dla-twojej-strony-www/), [bezpieczny i szybki DNS](/bezpieczny-dns/), poprzez turbodoładowanie połączenia internetowego z WARP (lub WARP+ dla tych, którzy chcą więcej).

<!--more-->

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Cloudflare WARP

WARP jest czymś w rodzaju serwera VPN mającego na celu przyśpieszenie serfowania w internecie. Nie jest on jednak prawdziwym VPN-em takim jak TunnelBear czy inne. Nie pozwala on ukryć naszego oryginalnego adresu IP czy kraju, z którego przeglądamy internet. WARP skupia się na kierowaniu ruchu w taki sposób, aby był on szybki i bezpieczny.

WARP w połączeniu z serwerem nazw (DNS) 1.1.1.1 szyfruje ruch nie tylko DNS, ale również ten pomiędzy tobą (twoim urządzeniem) a serwerami Cloudflare. Dzięki temu tylko ty (i Cloudflare) wie, co odwiedzasz w internecie, a nie twój usługodawca internetowy oraz służby wywiadowcze danego kraju, które aktywnie podsłuchują ruch w sieci, szczególnie ten nieszyfrowany.

Już sam serwer nazw (1.1.1.1) spowodował niemałe zamieszanie i "przyspieszył" internet. W momencie, gdy dołączono do niego szyfrowanie naszych zapytań DNS, tworząc tak zwany bezpieczny DNS (DNS przez HTTPS), WARP dołożył swoje, szyfrując dodatkowo ruch wychodzący z naszego urządzenia.

WARP dostępny jest w postaci aplikacji na przeróżne urządzenia poprzez oficjalne aplikacje.

## Cloudflare WARP i WireGuard

W momencie, gdy aplikacje Cloudflare na platformy stacjonarne nie były jeszcze dostępne (już są), zagłębiłem się ten temat, próbują uruchomić tunel Cloudflare przy pomocy [odpowiedniej konfiguracji aplikacji WireGuard](https://github.com/ViRb3/wgcf).

**Tak, dobrze czytasz, Cloudflare wykorzystuje protokół bazujący na WireGuard.**

W ostatnich tygodniach większość dużych dostawców usługi VPN zauważyły pozytywną stronę tego rozwiązania i dodają je do swojej sieci (tak jak NordVPN z ich NordLynx).

> W moim wpisie opisywałem [jak dodać serwer VPN bazujący na WireGuard do routera z OpenWrt](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/).

W związku z tym, że Cloudflare WARP wykorzystuje WireGuard do komunikacji, można też wykorzystać nasz router jako klienta VPN.

**Po co? Już tłumaczę.**

Otóż WARP to nie tylko szyfrowanie i prędkość, to również obsługa IPv6. Jeżeli twój usługodawca internetowy (tak jak mój) nie oferuje połączenia z internetem za pomocą IPv6, łącząc się z WARP, zyskujemy tę możliwość.

> Od czasu do czasu oficjalna aplikacja Cloudflare na macOS powoduje problemy z dostępem do sieci przez IPv6. Ustawienie połączenia Cloudflare poprzez WireGuard (z użyciem **wgcf**), a nie oficjalną aplikację, pomaga ten błąd naprawić.

Niedawno opisałem, jak dodać [tunel IPv6 do naszego połączenia internetowego](/dodanie-tunelu-ipv6-do-routera-z-openwrt/) w celu uzyskania wyjścia na świat po IPv6. Tego typu rozwiązanie jednak ma kilka negatywnych stron, jeżeli twój dostawca internetowy (w moim przypadku Virgin Media w UK), postanowi wprowadzić niepisane filtrowanie i spowalnianie ruchu odbywającego się właśnie z tego typu połączeń. W moim przypadku wpis, który stworzyłem, jest idealny, ale dla mnie osobiście nieużyteczny, w związku z tym cały czas szukam innego rozwiązania.

Gdy aplikacje Cloudflare (1.1.1.1) na urządzenia stacjonarne nie były jeszcze dostępne, postanowiłem wykorzystać aplikację WireGuard i dodać WARP do mojego komputera. Oczywiście, udało się dzięki [wgcf — nieoficjalnym, wieloplatformowy interfejsie wiersza poleceń dla Cloudflare WARP](https://github.com/ViRb3/wgcf).

To dało mi do myślenia.

## Cloudflare WARP, WireGuard i IPv6

Utworzony przeze mnie [tunel IPv6 (6in4) wg mojego poprzedniego wpisu](/dodanie-tunelu-ipv6-do-routera-z-openwrt/) nie jest przydatny na moim aktualnym połączeniu (w związku z ograniczeniem prędkości do 10% pełnej prędkości mojego łącza), natomiast łączność z IPv6 przez WARP nie posiada tego typu problemów, pomyślałem, że skoro wykorzystuje WireGuard jako serwer VPN, dlaczego nie wykorzystać go jako klient na moim routerze?

Posiadanie klienta i serwera na jednym urządzeniu jest poniekąd dziwne, ale w pełni możliwe.

Serwer WireGuard używam, aby połączyć się z moją siecią lokalną, gdy jestem poza domem. Klienta Wireguard używałbym jednak aby dodać szyfrowanie ruchu internetowego oraz obsługa IPv6 za pomocą Cloudflare WARP.

Oczywiście, połączenie się z WARP po stronie routera to jedno, ale dodanie obsługi WARP do urządzeń w sieci lokalnej to drugie, szczególnie jeżeli chodzi o IPv6 (co nie jest takie oczywiste).

Dodanie WARP do routera odbywa się przez dodanie nowego interfejsu oraz jego konfiguracji. Nie jest to nadzwyczaj trudne i pozwoli nam korzystać z internetu po IPv4 poprzez połączenie Cloudflare. O tym za chwilę.

Inną sprawą jest z IPv6. Cloudflare nie przypisuje nam zakresu adresów IPv6 do wykorzystania a jedynie lokalny pojedynczy adres (w masce /128), który później, odpowiednimi regułami kierowany jest dalej.

W momencie, gdy mamy dostępny IPv6 na routerze, możemy go również wykorzystać, aby kierować ruch po tym protokole, przez niego z wykorzystaniem dostępnych reguł oraz maskarady.

A więc zobaczmy jak to zrobić.

## Cloudflare WARP i router z OpenWrt

W pierwszej kolejności musimy wygenerować plik konfiguracyjny Cloudflare WARP, a następnie dodać go do naszego routera.

### wgcf - aplikacja

Aby to zrobić, logujemy się na nasz router z OpenWrt przez terminal SSH i pobieramy program **wgcf**.

Przechodząc do [**Releases**](https://github.com/ViRb3/wgcf/releases/latest) na GitHub, z sekcji **Assets** musimy pobrać i zapisać wersję kompatybilną z naszym sprzętem.

> W niektórych przeglądarkach lista **Assets** wyświetlona jest w formie okrojonej. Aby zobaczyć wszystkie dostępne pliki na przeróżne platformy sprzętowe, musimy dodatkowo kliknąć przycisk pod listą **Show all XX assets**.

Przechodząc do naszego panelu administracyjnego routera z OpenWrt (domyślnie 192.168.1.1), po zalogowaniu się, od razu na pierwszej stronie informacyjnej otrzymamy informację, w sekcji **Architecture**, jakim procesorem dysponujemy.

W moim przypadku to **ARMv7** a więc muszę pobrać plik `wgcf_2.2.30_linux_armv7`.

> W momencie aktualizacji niniejszego wpisu najnowszą wersją była wersja 2.2.30.

Wykorzystując **curl**:

```bash
curl -L https://github.com/ViRb3/wgcf/releases/download/v2.2.30/wgcf_2.2.30_linux_armv7 > wgcf
```

lub przy pomocy **wget**

```bash
wget https://github.com/ViRb3/wgcf/releases/download/v2.2.30/wgcf_2.2.30_linux_armv7 -O wgcf
```

Po jego pobraniu dodajemy prawa wykonywania i uruchamiamy, bez parametrów, aby zobaczyć czy działa.

```bash
chmod +x wgcf
./wgcf
```

Gdy wszystko działa, tak jak trzeba, możemy przystąpić do kolejnego kroku, czyli wygenerowania niezbędnych plików konfiguracyjnych.

### wgcf - plik konfiguracyjny dla WireGuard

Posiadając `wgcf` na naszym routerze musimy zarejestrować się w usłudze Cloudflare WARP:

```bash
wgcf register
```

Po zatwierdzeniu _Terms of Service_ otrzymamy plik `wgcf-account.toml`

Z wykorzystaniem (program sam go użyje) tego pliku wygenerujemy nasz plik konfiguracyjny:

```bash
wgcf generate
```

Jeżeli wszystko poszło ok, to otrzymamy plik `wgcf-profile.toml`. Plik ten posiada konfigurację WireGuard, którą użyjemy do ustawienia połączenia na naszym routerze.

> Tak wygenerowany plik konfiguracyjny możesz użyć na dowolnym urządzeniu, na którym możesz [zainstalować aplikację WireGuard](https://www.wireguard.com/install/). Tak jak wspomniałem wcześniej, w przypadku oficjalnej aplikacji Cloudflare WARP na macOS, tą metodą możemy uzyskać dostęp do sieci IPv6, w momencie, gdy oficjalna aplikacja zawodzi.

Jeśli chcesz wygenerować wiele kont i indywidualnych profili, łącząc je ze sobą, możesz to zrobić, używając tego samego klucza licencyjnego.

Po wygenerowaniu pierwszego pliku `wgcf-account.toml`, ale przed utworzeniem profilu, otwórz ten plik w swoim preferowanym edytorze i skopiuj `license_key` do schowka. Gdy już wygenerujesz profil, przenieś lub zmień nazwę plików `wgcf-account.toml` oraz `wgcf-profile.toml`. Następnie uruchom komendę `wgcf register`, aby utworzyć nowy plik konta. Edytuj nowo powstały `wgcf-account.toml`, zastępując znajdujący się tam klucz licencyjny tym wcześniej skopiowanym. Na koniec użyj komendy `wgcf generate`, aby utworzyć powiązany profil.

### Ustawienie interfejsu

Jeżeli nie masz jeszcze pakietu WireGuard zainstalowanego na twoim routerze, wykonaj następujące czynności z poziomu terminala SSH:

```bash
apk update
apk add luci-app-wireguard luci-proto-wireguard kmod-wireguard wireguard-tools
reboot
```

> Nie przechodź dalej, jeżeli nie uruchomiłeś ponownie routera komendą `reboot` (trzecia komenda w powyższym bloku).

Po zainstalowaniu i uruchomieniu naszego routera ponownie jesteśmy gotowi na następny krok.

Przechodzimy do **Network > Interfaces** w naszym panelu administracyjnym routera przez przeglądarkę internetową.

Klikając przycisk **Add new interface...**, wprowadzamy nazwę (**Name**), wybieramy protokół (**Protocol**) WireGuard VPN i potwierdzamy przyciskiem **Create interface**.

[![OpenWrt - Add New Interface - WireGuard VPN](OpenWrt_Add_New_Interface_WireGuard_VPN.png)](OpenWrt_Add_New_Interface_WireGuard_VPN.png)

Po utworzeniu interfejsu ukarzą nam się dodatkowe opcje. Przewijamy na sam dół i klikamy przycisk **Load configuration...**.

[![OpenWrt > Interface > WireGuard VPN - General Settings](OpenWrt_Interface_WireGuard_VPN_General_Settings.png)](OpenWrt_Interface_WireGuard_VPN_General_Settings.png)

W terminalu odczytujemy zawartość pliku `wgcf-profile.toml`.

```bash
tail wgcf-profile.toml
```

Zaznaczamy i kopiujemy zawartość do schowka, wklejamy ją do pola importu i kończymy, klikając przycisk **Import settings**. **Nim to jednak zrobisz, przeczytaj poniżej.**

[![OpenWrt - WireGuard VPN - Import configuration](OpenWrt_WireGuard_VPN_Import_configuration.png)](OpenWrt_WireGuard_VPN_Import_configuration.png)

---

Nim zapiszemy ustawienia, przejdźmy jeszcze do zakładki **Firewall Settings** i dodajmy nasze połączenie do grupy **wan**.

[![OpenWrt - Interface - WireGuard VPN - Firewall Settings](OpenWrt_Interface_WireGuard_VPN_Firewall_Settings.png)](OpenWrt_Interface_WireGuard_VPN_Firewall_Settings.png)

W zakładce Zaawansowanych Ustawień (**Advanced Settings**) naszego nowego interfejsu, w ramach optymalizacji prędkości musimy jeszcze zmienić domyślne ustawienia dla MTU — Maximum transmission unit (**Use MTU on tunnel interface**) na 1280 (z domyślnego 1420).

[![OpenWrt - Interface - WireGuard VPN - Advanced Settings](OpenWrt_Interface_WireGuard_VPN_Advanced_Settings.png)](OpenWrt_Interface_WireGuard_VPN_Advanced_Settings.png)

> MTU z reguły ustawia się wg. MTU naszego połączenia sieciowego pomniejszonego o 20. Jeżeli nasze połączenie internetowe używa MTU 1500, wówczas ustawiamy 1480. Nasze MTU dla poszczególnych interfejsów sprawdzimy komendą **ifconfig** z poziomu terminala. Twórca skryptu **wgcf** zaleca jednak ustawienie MTU na wartość 1280, jako wartości maksymalnej.

Dodatkowo przechodzimy do zakładki **Peers** i klikamy na, jedynej tam dostępnej konfiguracji, przycisk **Edit**.

Zaznaczamy przycisk przy **Route Allowed IPs** oraz wprowadzamy wartość **25** przy **Persistent Keep Alive**.

[![OpenWrt - Interface - WireGuard VPN - Peer Settings](OpenWrt_Interface_WireGuard_VPN_Peer_Settings.png)](OpenWrt_Interface_WireGuard_VPN_Peer_Settings.png)

> **Drobna uwaga.** W momencie, gdy zapiszemy i zastosujemy zmiany w zaznaczoną opcją **Route Allowed IPs**, na chwilę stracimy połączenie z internetem, po czym cały nasz ruch będzie kierowany przez połączenie z Cloudflare.

---

Jak zauważyłem, włączenie **Route Allowed IPs** spowodował, że [mój serwer VPN oparty o WireGuard na routerze](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/), jak również mój [tunel Zero Trust od Cloudflare](/dodanie-cloudflare-tunel-router-openwrt/), przestały działać (być dostępny z poziomu internetu). Stało się to tak, gdyż nowy interfejs przejął obsługę IPv4 oraz IPv6. Edytując **Peers** i usówając kierowanie ruchu dla IPv4 (0.0.0.0/0) z sekcji **Route Allowed IPs** pozwala na ograniczenie wykorzystania sieci Cloudflare tylko do ruchu IPv6. Takim sposobem, w momencie, gdy nie posiadamy połączenia internetowego z IPv6, zyskamy je w całej sieci, ale o tym za chwilę.

---

Teraz możemy zapisać całość przyciskiem **Save**.

Następnym krokiem jest kliknięcie przycisku **Save & Apply** w celu zastosowania zmian.

{{% ads-in-article %}}

### Sprawdzenie interfejsu

Jeżeli wszystko wykonaliśmy prawidłowo, nasz interfejs powinien zacząć generować ruch widoczny w wartości **RX** oraz **TX**.

> Jeżeli wartości te pozostają na Zero, wówczas połączenie nie działa.

W celu upewnienia się, że połączenie działa, możemy użyć **wgcf** na routerze:

```bash
./wgcf trace
```

Pośród danych wyplutych przez powyższą komendę zwróćmy uwagę na linijkę **warp=** która powinna zwrócić wartość **warp=on**.

### Obsługa IPv6

Jeżeli nasz usługodawca nie oferuje nam dostępu do IPv6 a interfejs **wan6**, mimo że włączony, nie posiada własnego adresu IP, dodając tunel Cloudflare WARP powyższą metodą, dodaliśmy jednocześnie obsługę IPv6 do naszego routera.

Aby to sprawdzić, wystarczy wykonać komendę **ping**.

```bash
ping ipv6.google.com
```

lub

```bash
ping -6 openwrt.org
```

Ruch kierowany po IPv6 wysyłany jest przez interfejs **Cloudflare**. Jeżeli usunęliśmy z **Route Allowed IPs** adres `0.0.0.0/0`, wówczas ruch IPv4 będzie wysyłany przez nasze główne połączenie internetowe **wan**. Jeżeli posiadamy oba adresy dodane w **Route Allowed IPs**, wówczas wszystko wysyłane jest przez sieć Cloudfflare WARP.

### Wykorzystanie połączenia w sieci LAN

Takim sposobem nasz router ma dostęp do Cloudflare WARP. Odpowiada on na **ping** do adresów (domen) po IPv4, jak również IPv6 (wykorzystując **ping** lub **ping6**).

Pozostaje nam dodanie jeszcze możliwości obsługi WARP przez urządzenia w sieci LAN.

Cloudflare przypisuje nam adres IPv6 w masce `/128`, czyli otrzymujemy tylko jeden adres wyjściowy do internetu. W przeciwieństwie do mojego poprzedniego wpisu [Dodanie tunelu IPv6 do routera z OpenWrt](/dodanie-tunelu-ipv6-do-routera-z-openwrt/), w którym dodanie tunelu IPv6 umożliwia przypisanie urządzeniom w sieci LAN zewnętrznych adresów IPv6, tutaj, aby użytkownicy w sieci LAN mogli korzystać z dostępu po IPv6, musimy zastosować maskaradę i NAT66.

> Działać to będzie na podobnej zasadzie jak mamy domyślnie ustawione z adresem IPv4 otrzymanym od naszego usługodawcy. Każdy użytkownik w internecie będzie widoczny pod tym samy adresem IP, zarówno IPv4, jak i IPv6.

Aby to zrobić, musimy dokonać kilka zmian w naszym systemie.

#### Włączenie maskarady IPv6

W sekcji **Firewall**, w panelu sterowania naszego routera OpenWrt, klikamy przycisk **Edit** w sekcji **Zones** przy strefie **wan**.

Przechodząc do **Advanced Settings** zaznaczmy opcję **IPv6 Masquerading** i klikamy przycisk **Save**, następnie potwierdzamy i wprowadzamy zmiany przyciskiem **Save & Apply**.

[![OpenWrt - Firewall - Zone - IPv6 Masquerading](OpenWrt_Firewall_Zone_IPv6_Masquerading.png)](OpenWrt_Firewall_Zone_IPv6_Masquerading.png)

Samo włączenie maskarady po IPv6 nie wystarczy, aby klienci w sieci LAN mogli komunikować się przez ten protoków. Przed włączeniem maskarady, **ping6** do adresu **ipv6.google.com** zwracał błąd, podczas gdy z włączoną maskaradą, odpowiedź pozostaje głucha. W związku z tym musimy dokonać jeszcze jednej zmiany.

#### Włączenie komunikacji po IPv6 w sieci LAN

Przechodzimy do **Network > Interfaces** i klikamy przycisk **Edit** przy sieci **lan**.

Przechodzimy do zakładki **DHCP Server** a następnie do **IPv6 RA Settings**.

Tutaj zmieniamy:
- **Default router** na **forced** (z *automatic*).
- **RA Flags** zaznaczmy zarówno **(M)** i **(O)** (domyślnie jest tylko *(O)*)

[![OpenWrt - Interface - LAN - DHCP Server - IPv6 RA Settings](OpenWrt_Interface_LAN_DHCP_Server_IPv6_RA_Settings.png)](OpenWrt_Interface_LAN_DHCP_Server_IPv6_RA_Settings.png)

Klikamy przycisk **Save**, następnie potwierdzamy i wprowadzamy zmiany przyciskiem **Save & Apply**.

W momencie zapisania ustawień, klienci w sieci lokalnej automatycznie otrzymali przypisanie adresów IPv6 oraz umożliwiona została komunikacja po sieci IPv6 przez nasz router z wykorzystaniem maskarady IPv6.

Możemy to sprawdzić, wykonując poniższą komendę na komputerze w sieci:

```bash
ping6 ipv6.google.com
```

Lub przechodząc na stronę [ipv6.google.com](https://ipv6.google.com), która powinna załadować się bez problemów.

---

Jeżeli mamy problem z interpretacją domen i ich adresów IPv6, upewnijmy się, że w **Network > DHCP and DNS**, zakładce **Forwards** mamy dodane zarówno servery nazw DNS dla IPv4, jak i IPv6, jak i w **Interface > lan**, w sekcji **Advanced Settings > Use custom DNS servers**. 

```
1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
```

---

Takim sposobem zyskaliśmy obsługę IPv6 w naszej sieci bez większych problemów.

Zastosowanie maskarady oraz NAT66 nie jest czymś zalecanym, gdyż przeczy to ideologii adresów IPv6, ale w przypadku, gdy posiadamy adres IPv6 w masce `/128` (czyli jeden jedyny), jest to poniekąd jedyne rozwiązanie.

I to by było na tyle.

Jeżeli nie chcesz się bawić w konfigurowanie routera na potrzeby Cloudflare WARP, możesz posłużyć się dostępnymi aplikacjami, przechodząc na stronę [1.1.1.1](https://1.1.1.1) i wybierając na odpowiedni odnośnik. Możesz też skonfigurować aplikację WireGuard do obsługi Cloudflare WARP z wykorzystaniem **wgcf**, jak opisałem powyżej.

**Pozdrawiam.**


---
## Podróże w czasie z Curve
- **URL:** https://dariusz.wieckiewicz.org/podroze-w-czasie-z-curve/
- **Date:** 2020-05-14
- **Tags:** Finanse, Curve, Curve Blue, Curve Polska, Curve w Polsce, Go Back in Time, Karta Curve

### Content
Pewnego dnia robiąc zakupy na eBay, zakupiłem jedną rzecz, za którą miałem zapłacić przy pomocy karty kredytowej. Podczas finalizowania zamówienia zapomniałem jednak kliknąć odpowiednią kartę i zamiast z kredytówki poszło normalnie z mojego konta. Niestety, nie ma możliwości cofnięcia tej transakcji lub zmiany metody płatności. Jak transakcja jest sfinalizowana to koniec, chyba że...

<!--more-->

Przy okazji tego prostego błędu przypomniałem sobie, że przecież mam **Curve**.

Curve, w dużym skrócie, jest kartą, pod którą można podpiąć kilka kart płatniczych, dzięki czemu płacisz jedną, a z poziomu aplikacji wybierasz, z której karty mają pójść obciążenia.

Curve oferuje opcję podróży w czasie (**[Go Back in Time](https://support.imaginecurve.com/hc/en-gb/articles/115003750829-What-is-Go-Back-in-Time-)**). Aż **90 dni** (było do niedawna 14),  po wykonanej transakcji masz możliwość zmiany, z której karty dana transakcja ma być obciążona (**aż do £5,000**). Zakładając, że pieniądze miały pójść z karty B, a nie A, która była domyślna, korzystając z tej opcji, na kartę A kwota zostanie zwrócona, a karta B zostanie obciążona. Idealne rozwiązanie, w przypadku gdy użyliśmy przez pomyłkę nie tej metody płatniczej, którą chcieliśmy.

Na razie, eBay nadal obsługuje płatności za pośrednictwem PayPal (co ma się zmienić, ale na razie cisza). Postanowiłem więc dodać moją kartę Curve do PayPal'a i ustawić ją jako domyślną metodę płatności.

Fizyczną kartę Curve mam gdzieś w portfelu, w związku z tym udałem się do aplikacji, gdzie w sekcji Konto (**Account**) mam do wyboru opcję pokazania szczegółów karty (**Card details**).

[![Curve App Account Tab](/images/2020/05/curve_app_account_tab-min.png)](/images/2020/05/curve_app_account_tab-min.png)

Biorąc numerki z aplikacji, wklepując je po stronie PayPala, wszystko przebiega w mgnieniu oka.

Po stronie PayPal'a musimy jeszcze potwierdzić naszą kartę. Nasza karta Curve zostanie obciążona (oraz karta, którą mamy domyślnie podpiętą) małą kwotą, która oznaczona będzie numerem weryfikacyjnym. Dzięki temu, że Curve działa wręcz natychmiastowo, od razu dostaniemy kod i możemy potwierdzić kartę.

To gdzie będziemy używać nasze karty Curve, zależy tylko od nas, gdyż jest ona traktowana jak każda kart debetowa. W związku z tym coś mi się zdaję, że zacznę jej używać w większej ilości zakupów online (tj. Amazon).

Czasem też zdarza się, że dana strona lub dany sprzedawca nie akceptuje karty kredytowej. Curve jest rozwiązaniem, gdyż jest to karta debetowa, a sprzedawca nie widzi, że po drugiej strony karty mamy podpiętą kredytówkę. Od takie obejście :)

Co więcej, jeżeli kiedykolwiek wypłaciłeś pieniądze z kredytówki, czy to w bankomacie, czy użyłeś jej do przelania za pomocą [Wise](/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/) (dawniej TransferWise), wiesz już zapewne, że nie jest to opłacalne. Oprocentowanie przy transakcjach gotówkowych na karcie jest z reguły dużo wyższe, a niżeli od normalnych transakcji bezgotówkowych, a dodatkowo obciążany jesteś od pierwszego dnia, a nie od daty płatności salda. Curve może ci przy tym pomóc, traktując wypłatę gotówkową jako normalną transakcję bezgotówkową. 

Niestety, nie wszystkie banki będą to tolerować, a niektóre się wycwanią i znajdą obejście, aby poprawnie odróżnić transakcję gotówkową od bezgotówkowej przy pomocy Curve. Na razie podobno działa (sam nie testował, nie miałem potrzeby).

Teraz pozostaje mi tylko zacząć używać Curve nieco szerzej, aby poznać jej wszystkie zalety.

{{% ads-in-article %}}

Jeżeli jesteś zainteresowany dołączeniem do Curve, oto mój **link polecający**, dzięki któremu **otrzymasz £5** po tym, jak pierwszy raz użyjesz nowej metody płatności.

> [https://www.curve.com/join#N7BRV9KD](https://www.curve.com/join#N7BRV9KD)

Używanie Curve, w podstawowym pakiecie (w całości wystarczającym) jest **całkowicie bezpłatne**. Istnieją również dodatkowe karty, z dodatkowymi zaletami. 

[![Curve Cards](/images/2020/05/curve_cards-min.jpg)](/images/2020/05/curve_cards-min.jpg)

**Curve dostępna jest również w Polsce**, o czym poczytasz [tutaj](https://discover.curve.app/lp/curve-w-polsce).

[![Curve w Polsce](/images/2020/05/curve_w_polsce-min.png)](/images/2020/05/curve_w_polsce-min.png)
    

**Pozdrawiam.**


---
## Dodanie tunelu IPv6 do routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/dodanie-tunelu-ipv6-do-routera-z-openwrt/
- **Date:** 2020-05-13
- **Tags:** Cloudflare, Free IPv6 Tunnel Broker, Hurricane Electric, IPv4, IPv6, IPv6-in-IPv4, OpenWrt, RFC4213, Securebit AG, tunel IPv6, tunnelbroker

### Content

Operatorzy w Wielkiej Brytanii są bardzo zacofani, jeżeli chodzi o najnowsze rozwiązania technologiczne. Patrząc na zachowanie Brytyjczyków, których zapał do nowych technologii jest nieco flegmatyczny, nie ma co się dziwić, że dostawcy usług internetowych nadal tkwią w epoce kamienia łupanego (IPv4), mimo że kamienie (pula adresów IPv4) już się skończyły. O ile mam szczęście, że dysponuje zewnętrznym adresem IP w wersji 4, to mogę zapomnieć o adresie w wersji 6 (kciuki w dół dla Virgin Media).

**Na szczęście istnieje na to rozwiązanie i to w dodatku darmowe!**

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

<!--more-->

Mowa tutaj o **tunelu IPv6** przy pomocy rozwiązania 6 przez 4 (6-over-4 Tunnel).

Jeżeli dysponujemy routerem z OpenWrt, dodanie obsługi IPv6 to nic trudnego i już opisuje jak to zrobić.

> W moim przypadku dodanie tunelu IPv6 robię w ramach ciekawostki, gdyż nie będę mógł go używać na co dzień. Dlaczego? Przeczytasz na końcu wpisu.

W pierwszej kolejności musimy dodać obsługę protokołu **IPv6-in-IPv4**, instalując odpowiedni pakiet z poziomu panelu administracyjnego przez przeglądarkę internetową (**System > Software**) lub z terminala, za pomocą komendy:

```bash
apk update
apk add 6in4 luci-proto-ipv6
```

> Drobna uwaga. W systemie dostępny jest pakiet **6in4** oraz **6to4**. Nazwy i zastosowanie jest podobne, ale to nie jest to samo. W tym wpisie wykorzystam 6in4 (**IPv6-over-IPv4 (RFC4213)**), a **nie** 6to4 (**IPv6-over-IPv4 (6to4)**).

Pakiet **luci-proto-ipv6** możemy już mieć zainstalowany, jeżeli w interfejsach (**Network > Interfaces**) widzimy już ustawiony WAN6 z domyślną opcją DHCPv6 client.

> Jeżeli nie jesteś pewien, czy twój dostawca internetu oferuje IPv6, możesz to sprawdzić właśnie tutaj. W interfejsie WAN6 powinieneś mieć przypisany adres IPv6 (tak jak w WAN mamy IPv4). Jeżeli takiego nie widzisz, wówczas kontynuuj, w celu jego ustawienia. Jeżeli natomiast twój usługodawca dostarcza rozwiązanie IPv6, nie musisz nic więcej robić. 

Na tym etapie zalecam uruchomienie ponowne naszego routera (**System > Reboot**), gdyż w momencie, gdy będziemy edytować nasze ustawienie **WAN6**, możemy nie mieć dostępnej opcji **IPv6-in-IPv4 (RFC4213)** w polu protokołu (**Protocol**).

```bash
reboot
```

Po ponownym uruchomieniu routera przechodzimy do ustawienia naszego interfejsu (**Network > Interfaces**). 

Ewentualnie z poziomu terminala:

```bash
/etc/init.d/network restart
```

* * *

Nim zaczniemy wprowadzać jakiekolwiek dane, potrzebujemy założyć konto u usługodawcy, który będzie oferował nam usługę tunelu IPv6. W tym przypadku wybieramy **[Hurricane Electric Free IPv6 Tunnel Broker](https://tunnelbroker.net)**.

Po założeniu i potwierdzeniu konta logujemy się i z lewej strony (**User Functions**) wybieramy utworzenie regularnego tunelu (**Create Regular Tunnel**).

[![HE main page](01_he_main_page.png)](01_he_main_page.png)

W następnym kroku wstawiamy zewnętrzny adres IP **naszego** routera (**IPv4 Endpoint**) oraz wybieramy, z którym serwerem na świecie będziemy się łączyć, aby utworzyć tunel (**Available Tunnel Servers**). W moim przypadku wybrałem Londyn, ale w przypadku polski mamy również dostępną Warszawę.

[![HE Create new tunnel 1](02_1_he_create_new_tunnel.png)](02_1_he_create_new_tunnel.png)
    
[![HE Create new tunnel 2](02_2_he_create_new_tunnel.png)](02_2_he_create_new_tunnel.png)

Na końcu otrzymamy adresy, które będziemy wprowadzać po stronie naszego routera.

[![HE Tunnel details](03_he_tunnel_details.png)](03_he_tunnel_details.png)

* * *

A więc przechodząc do routera (**Network > Interfaces**) edytujemy (**Edit**) nasz interfejs **WAN6**.

Z domyślnej opcji protokołu (**Protocol**) wybieramy **IPv6-in-IPv4 (RFC4213)**, potwierdzamy wszystko przyciskiem **Switch protocol**.

[![wan6 default dhcpv6 client](04_wan6_default_dhcpv6_client.png)](04_wan6_default_dhcpv6_client.png)
    
[![wan6 ipv6 in ipv4 rfc4213](05_wan6_ipv6-in-ipv4_rfc4213.png)](05_wan6_ipv6-in-ipv4_rfc4213.png)

W następnym kroku, w zakładce ustawień ogólnych (**General Settings**), pozostawiamy lokalny adresem IPv4 (**Local IPv4 address**) pusty, gdyż będzie on automatycznie odczytywany z połączenia WAN. 

W polu - zdalny adres IPv4 (**Remote IPv4 address**) - wprowadzamy adres ze strony HE, sekcja **IPv6 Tunnel Endpoints** > **Server IPv4 Address**.

W polu - lokalny adres IPv6 (**Local IPv6 address**) - wprowadzamy adres ze strony HE, sekcja **IPv6 Tunnel Endpoints** > **Client IPv6 Address**. Jest to adres kończony się z reguły **::2/64** jak podświetlono w formularzu konfiguracji.

W polu **IPv6 routed prefix** mamy do wyboru wprowadzenie z sekcji **Routed IPv6 Prefixes**. Do wyboru mamy **Routed /64** lub **Routed /48**.

> /64 używać będzie pojedynczej sieci IPv6, gdy /48 używać będzie większą pulę adresów w sieci IPv6. Z reguły dla klienta końcowego (użytkownika prywatnego) zaleca się /64, gdzie /48 dla rozległego klienta biznesowego.
> 
> W skrócie, w puli adresowej /64, router ma jedną podsieć w IPv6, i w ramach tej podsieci przyznawane są adresy IPv6. Jest to podobne rozwiązanie do standardowego LAN, gdzie router jest 192.168.1.1 a użytkownicy mają adresy .1.2, .1.3 i tak dalej. W przypadku /48, puli adresowych i podsieci może być więcej. Tak jak w przypadku IPv4, możesz mieć użytkownika 192.168.1.12 w jednej podsieci i użytkownika 192.168.2.12 w drugiej podsieci.
> 
> W zależności od zaawansowania konfiguracji i liczby użytkowników należy podjąć decyzję, co jest najlepsze dla nas. Osobiście zalecam pozostawienie /64.

A więc kopiujemy wartość z **Routed /64** do **IPv6 routed prefix** i klikamy przycisk (**+**).

Jeżeli nasz zewnętrzny adres IP ulega zmianie, wówczas zalecane jest również dodanie automatyczne odświeżenie adresu IP (**endpoint**) (ten krok możemy pominąć w przypadku stałego adresu IP).

[![wan6 ipv6-in-ipv4 rfc4213 dynamic tunnel](06_wan6_ipv6-in-ipv4_rfc4213_dynamic_tunnel.png)](06_wan6_ipv6-in-ipv4_rfc4213_dynamic_tunnel.png)

Zaznaczmy **Dynamic tunnel** i wypełniamy kolejne pola. 

W **Tunnel ID** wprowadzamy wartość ze strony HE. Jest to pierwsza wartość w szczegółach tunelu (**Tunnel Details**), którą otrzymaliśmy po jego założeniu.

W **HE.net username** wprowadzamy naszą nazwę użytkownika, którą używamy do logowania się na stronie [tunnelbroker.net](http://tunnelbroker.net).

[![HE tunnel details advanced](07_he_tunnel_details_advanced.png)](07_he_tunnel_details_advanced.png)

W **HE.net password** musimy podać wygenerowany klucz, który służy do aktualizacji adresu IP. W związku z tym udajemy się na stronę HE i w zakładce Zaawansowane (**Advanced**) naszego tunelu kopiujemy wartość z pola **Update Key** i wklejamy po stronie routera.

Przed-ostatnim krokiem jest zapisanie naszej konfiguracji (**Save**) i potwierdzenie przez Zapisz i Zastosuj (**Save & Apply**) a następnym ekranie.

* * *

Teoretycznie wszystko powinno już działać, ale w praktyce nie zawsze tak jest.

Mimo że dodaliśmy konfigurację sieciową, po zapisaniu i zastosowaniu zmian, tylko konfiguracja sieci ulega odświeżeniu, a nie koniecznie **Firewall**.

W związku z tym musimy przejść do terminala i wykonać jedną komendę:

```bash
/etc/init.d/firewall restart
```

Lub uruchomić router ponownie i gotowe.

> Po stronie routera, w zakładce Zaawansowanych Ustawień (**Advanced Settings**) naszego interfejsu WAN6, w ramach optymalizacji prędkości możemy zmienić domyślne ustawienia dla **Use MTU on tunnel interface** na 1480 (z 1280).
> 
> MTU ustawiamy wg. MTU naszego połączenia sieciowego pomniejszonego o 20. Jeżeli nasze połączenie internetowe używa MTU 1500, wówczas ustawiamy 1480. Nasze MTU dla poszczególnych interfejsów sprawdzimy komendą **ifconfig** z poziomu terminala.

* * *

{{% ads-in-article %}}

## Sprawdzenie

Jeżeli wszystko wykonaliśmy prawidłowo, nasz router powinien zyskać połączenie IPv6.

Aby to sprawdzić, z poziomu terminala wykonujemy **ping** (lub **ping6**)

```bash
ping ipv6.google.com
```

Z komputera w sieci domowej wchodzimy na stronę [https://ipv6test.google.com](https://ipv6test.google.com/) lub [https://ipv6.google.com](https://ipv6.google.com)

Zarówno **ping**, jak i strony internetowe powinny być dostępne.

Ostatnim krokiem jest przejście na stronę [https://test-ipv6.com](https://test-ipv6.com/) w celu potwierdzenia, że wszystko działa.

Powinniśmy otrzymać wynik **10/10**.

* * *

Jeżeli na naszym routerze ustawiliśmy również [**Bezpieczny DNS**](/bezpieczny-dns/) wg mojego opisu, z obsługą IPv6, wówczas, przechodząc na stronę [https://one.one.one.one/help](https://one.one.one.one/help/) zobaczymy w **Connectivity to Resolver IP Addresses** odpowiedź z naszego DNS po adresie IP w formie IPv6 .6:4700:4700::1111 oraz.6:4700:4700::1001).

[![Cloudflare 1111 help page](08_cloudflare_1111_help_page.png)](08_cloudflare_1111_help_page.png)

* * *

Jeżeli ustawialiście swój [**serwer VPN na routerze z wykorzystaniem WireGuard**](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/) wg mojego opisu oraz [**dodaliście domenę do waszego adresu IP routera**](/ustawienie-domeny-ddns-openwrt-cloudflare/), również wg mojego opisu, wówczas warto dodać rekord **AAAA** wskazujący na wasz adres IPv6 (ten z **::2**). Dzięki czemu, **w teorii**, połączenie z VPN możecie wykonywać zarówno przez IPv4, jak i IPv6.

* * *

Teraz to już naprawdę wszystko.

Dzięki temu zabiegowi, mamy dodaną obsługę IPv6 po stronie naszego routera, mimo że nasz usługodawca dał ciała i wspiera tylko IPv4.

> Negatywną stroną tego rozwiązania jest to, że usługodawcy internetowi mogą robić wszystko, aby przeciwdziałać używaniu tuneli IPv6 w ich sieci. Tak jest na przykład z Virgin Media w UK, które, mimo, że pozwala ustanowić tunel, to jego wydajność jest na poziomie 10%. Przy łączu 100/10Mbps osiągamy prędkości max. 6-10/3-6Mbps.
> 
> Ten sam tunel postawiony na łączu innego usługodawcy (CityFibre 100/100) działa z pełną jego prędkością.
> 
> Więcej możesz przeczytać [tutaj](https://medium.com/@jamesmacwhite/is-virgin-media-traffic-shaping-protocol-41-6in4-ipv6-c1b8b6e645f7).

**Pozdrawiam.**

***

_Credits_

- [openwrt.org > docs > guide-user > network > ipv6 > ipv6tunnel-luci](https://openwrt.org/docs/guide-user/network/ipv6/ipv6tunnel-luci)


---
## Dodanie klienta torrent do routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/dodanie-klienta-torrent-do-routera-z-openwrt/
- **Date:** 2020-05-05
- **Tags:** Blocklist, iBlocklist, OpenWrt, torrent, Transmission, BitTorrent client, Transmission BitTorrent client

### Content

A więc chcesz dodać klienta torrent do twojego routera z OpenWrt, aby móc pobrać tą metodą, chociażby [obraz Raspbian](https://www.raspberrypi.org/downloads/raspbian/), zapisać go na wcześniej [podłączony i ustawiony dysk USB](/dodanie-dysku-usb-do-routera-z-openwrt/) oraz mieć do niego dostęp [z poziomu sieci lokalnej](/udostepnienie-dysku-usb-w-sieci-z-routera-openwrt/)?

<!--more-->

Nic prostszego. Do tego celu wykorzystamy **Transmission**.

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Instalacja i konfiguracja Transmission

Instalacji możesz dokonać z poziomu panelu administracyjnego przez przeglądarkę internetową (**System > Software**) lub też z poziomu terminala:

```bash
apk update
apk add transmission-daemon transmission-web luci-app-transmission
```

Aplikacja **luci-app-transmission** pozwoli nam na dostosowanie dodatkowych opcji z poziomu przeglądarki internetowej bez potrzeby edycji plików z poziomu terminala.

Pakiet **transmission-daemon-openssl** to program, który będzie działał w tle naszego routera, a **transmission-web** to osobny dostęp do naszego programu z poziomu przeglądarki internetowej, w celu dodania lub usunięcia pobieranego pliku.

Zacznijmy od konfiguracji ustawień.

Przechodzimy do panelu sterowania naszego routera, następnie **Services > Transmission**.

[![OpenWrt > Services > Transmission](openwrt_services_transmission.png)](openwrt_services_transmission.png)

Nim zaznaczymy konfigurację jako włączoną (**Enabled**), przejdźmy przez kilka ustawień. Najważniejsze z nich jest to, gdzie nasze pliki mają być zapisywane.

W sekcji **Files and Locations** wprowadzamy lokalizacje folderu w **Downloads locations.** W moim przypadku jest to na dysku USB zmontowanym jako `/mnt/sda1`. Dodatkowo mam włączone zapisywanie plików pobieranych (nieskończonych) w osobnym folderze (zaznaczamy **Incomplete directory enabled**).

W pozostałych ustawieniach (**Miscellaneous**) zmieniłem szyfrowanie z preferowane (**Preferred**) and wymuszone (**Forced**).

Ustawiłem również czarną listę (**Blocklist**), wybierając z [iBlocklist](https://www.iblocklist.com/lists.php) listę **level1** or **Bluetack**.

Resztę pozostawiam w ramach uznania.

Zaznaczmy opcję **Enable** na początku ustawień i klikamy Zapisz i Zastosuj (**Save & Apply**).

---

Jeżeli wasza aplikcaja **luci-app-transmission** zwraca informację o brakujących polach `Run daemon as user` oraz `Run daemon as group`, przez co nie ma możliwości zapisania ustawień, tak jak pokazane poniżej, należy podłużyć się terminalem, aby to naprawić.

[![luci-app-transmission 21.02 non-empty value](transmission_21_02_non-empty_value.png)](transmission_21_02_non-empty_value.png)

```bash
sed -i '/"file": {/a\\t\t\t\t"/etc/passwd": [ "read" ],\n\t\t\t\t"/etc/group": [ "read" ],' /usr/share/rpcd/acl.d/luci-app-transmission.json
service rpcd restart
```

---

## Uruchomienie Transmission

Niestety, na chwilę obecną, mimo, że w **luci-app-transmission** opcja **Enabled** jest ustawiona i powinna domyślnie uruchomić **transmission-daemon**, tak się nie dzieje. 

Aby uruchomić nasz program, z poziomu terminala wydajemy komendę:

```bash
/etc/init.d/transmission start
```

Po czym udajemy się do panelu transmission, domyślnie **http://192.168.1.1:9021/transmission/web/** gdzie dodajemy nasz torrent.

[![Transmission downloading raspbian buster full](transmission_downloading_raspbian-buster-full.png)](transmission_downloading_raspbian-buster-full.png)

Aby zatrzymać Transmission możemy zabić proces z poziomu panelu administracyjnego routera **System > Processes** lub z poziomu terminala:

```bash
/etc/init.d/transmission stop
```

Jeżeli mamy jakikolwiek problemy z uruchomieniem, zalecam wykonanie komendy `logread` z poziomu terminala w celu przeanalizowania błędów.

Jeżeli chcemy ręcznie zmienić ustawienia w pliku z poziomu terminala, **po zatrzymaniu daemona** wystarczy wy-edytować `/etc/config/transmission`. Czasem może być to niezbędne, jeżeli za bardzo namieszamy w ustawieniach.

> W sekcji **Config file directory** z poziomu przeglądarki, lub `option config_dir` w pliku konfiguracyjnym zalecam zmianę z `/tmp/transmission` na `/root/transmission`. Dzięki temu folder roboczy demona transmission zapisany będzie w stałej lokalizacji a nie tymczasowej. Ma to znaczenie w przypadku pliku **Blocklist**, który zostanie na routerze po jego ponownym uruchomieniu.

{{% ads-in-article %}}

## Problem w OpenWrt 22.03+ (23.05, 24.10, 25.12)

Jak to z każdą aktualizacją bywa, czasem coś się psuje lub przestaje działać w systemie.

Tranmission w wersji **3.00** (OpenWrt 22.03) oraz **4.00** (OpenWrt 23.05) w swoim skrypcie startowym używa coś takiego jak `procd_ujail` oraz `seccomp`. Bez zagłębiania się w to, do czego te pakiety są przydatne, skupię się tylko na tym, że powodują one problem z Transmission ([Issue #19376](https://github.com/openwrt/packages/issues/19376)). 

Otórz plik konfiguracyjny nie zapisuje się poprawnie. W przypadku zapisywania plików wyświetlany jest błąd związany z brakiem miejsca na dysku lub też torrent nie przechodzi finalnej weryfikacji po pobraniu. Jednym słowem kupa.

Aby ten problem naprawić, można usunąć pakiet `procd_ujail` oraz `procd_seccomp`, jednakże jest to rozwiązanie, które nie zawsze się sprawdzi, gdyż inne pakiety w systemie mogą wymagać ich do pracy, w związku z tym mogą one zostać zainstalowane mimo woli lub też odinstalowanie (`apk del ...`) nie powiedzie się.

Innym rozwiązaniem, niestety również krótkoterminowym jest zmodyfikowanie skryptu startowego transmission. Na szczęście (lub też nie), transmission nie jest aktualizowany tak często, więc to rozwiązanie może się stać swojego rodzaju rozwiązaniem długoterminowym.

W pierwszej kolejności musimy zatrzymać transmission.

```bash
/etc/init.d/transmission stop
```

Następnie rozpoczynamy edycję pliku inicjującego. W tym celu używam `nano` ale równie dobrze możesz wykorzystać wbudowany `vim`.

```bash
nano /etc/init.d/transmission
```

Przewijamy plik aż do momentu, gdy zobaczymy sekcję `secomp_path` oraz `procd_add_jail`, po czym komentujemy (`#`) odpowiednie linie tak jak pokazano poniżej.

> OpenWrt 22.03, Transmission 3.0

```bash
#       seccomp_path="/etc/seccomp/transmission-daemon.json"
#       if [ -f "$seccomp_path" ]; then
#               procd_set_param seccomp "$seccomp_path"
#       fi

        if [ -z "$USE" ]; then
                procd_set_param limits core="0 0"
        else
                procd_set_param limits core="0 0" as="$USE $USE"
                logger -t transmission "Starting with $USE virt mem"
        fi

        [ -d "$web_home" ] && procd_set_param env TRANSMISSION_WEB_HOME="$web_home"
        [ "$ca_bundle" -gt 0 ] && procd_set_param env CURL_CA_BUNDLE="$ca_bundle_file"

#       procd_add_jail transmission log
#       procd_add_jail_mount "$config_file"
#       procd_add_jail_mount_rw "$config_dir/resume"
#       procd_add_jail_mount_rw "$config_dir/torrents"
#       procd_add_jail_mount_rw "$config_dir/blocklists"
#       procd_add_jail_mount_rw "$config_dir/stats.json"
#       procd_add_jail_mount_rw "$download_dir"
        web_home="${web_home:-/usr/share/transmission/web}"
#       [ -d "$web_home" ] && procd_add_jail_mount "$web_home"
#       [ -f "$ca_bundle_file" ] && procd_add_jail_mount "$ca_bundle_file"
        procd_close_instance
}
```

> OpenWrt 23.05+ (24.10, 25.12), Transmission 4.00

```bash
#       seccomp_path="/etc/seccomp/transmission-daemon.json"
#       if [ -f "$seccomp_path" ]; then
#               procd_set_param seccomp "$seccomp_path"
#       fi

        if [ -z "$USE" ]; then
                procd_set_param limits core="0 0"
        else
                procd_set_param limits core="0 0" as="$USE $USE"
                logger -t transmission "Starting with $USE virt mem"
        fi

        [ -d "$web_home" ] && procd_append_param env TRANSMISSION_WEB_HOME="$web_home"
        [ "$ca_bundle" -gt 0 ] && procd_append_param env CURL_CA_BUNDLE="$ca_bundle_file"

#       procd_add_jail transmission log
#       procd_add_jail_mount "$config_file"
#       procd_add_jail_mount_rw "$config_dir/resume"
#       procd_add_jail_mount_rw "$config_dir/torrents"
#       procd_add_jail_mount_rw "$config_dir/blocklists"
#       procd_add_jail_mount_rw "$config_dir/stats.json"
#       procd_add_jail_mount_rw "$download_dir"
#       [ "$incomplete_dir_enabled" = "1" ] && procd_add_jail_mount_rw "$incomplete_dir"
#       [ "$watch_dir_enabled" = "1" ] && procd_add_jail_mount_rw "$watch_dir"
        web_home="${web_home:-/usr/share/transmission/public_html}"
#       [ -d "$web_home" ] && procd_add_jail_mount "$web_home"
#       [ -f "$ca_bundle_file" ] && procd_add_jail_mount "$ca_bundle_file"
        procd_close_instance
}
```

Upewnij się, że dodałeś komentarz zarówno do `seccomp` jak i `jail`, gdyż pozostawiając `seccomp` doświadczymy notorycznego wieszania się naszego daemona transmission.

Zapisujemy nasz plik i uruchamiamy ponownie transmission.

```bash
/etc/init.d/transmission start
```

Takim sposobem transmission będzie działać poprawnie.

Pozdrawiam.


---
## Udostępnienie dysku USB w sieci z routera OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/udostepnienie-dysku-usb-w-sieci-z-routera-openwrt/
- **Date:** 2020-05-05
- **Tags:** OpenWrt, Samba, USB, USB 3.0, WRT3200ACM, Windows 10, Windows 11

### Content

Kontynuując mój wpis [Dodanie dysku USB do routera z OpenWrt](/dodanie-dysku-usb-do-routera-z-openwrt/) za pomocą portu USB (na przykładzie Linksys WRT3200ACM) przechodzimy dalej do udostępnienia naszego dysku w sieci lokalnej.

<!--more-->

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

Zaczynamy od instalacji dwóch pakietów. Możemy to zrobić z panelu administracyjnego przez przeglądarkę internetową lub też z poziomu terminala. Pierwszy pakiet instaluje serwer Samba, drugi natomiast dodaje możliwość jego obsługi z poziomu graficznego interfejsu przez przeglądarkę internetową.

```bash
apk update
apk add samba4-server luci-app-samba4
```

Instalacja chwilkę potrwa, gdyż oprócz dwóch głównych pakietów, niezbędna jest instalacja pakietów towarzyszących.
    
```
Package samba4-server (4.11.6-1) installed
Package luci-app-samba4 (git-20.105.64099-eeba108-1) installed
```

Następnie logujemy się na nasz panel administracyjny z poziomu przeglądarki internetowej. Przechodzimy do **Services > Network Shares**.

[![OpenWrt - Services > Network Shares](openwrt_services_network_shares.png)
](openwrt_services_network_shares.png)

W zakładce **General Settings** dokonujemy kilku ustawień.

[![OpenWrt > Network Shares > Samba > General Settings](openwrt_network_shares_samba_general_settings.png)](openwrt_network_shares_samba_general_settings.png)

Mimo że nie musimy, ustawiamy interfejs (**Interface**), na którym Samba będzie działać, na LAN (domyślnie, jeśli nie sprecyzowane, jest LAN). Jeżeli chcemy, możemy ustawić nazwę naszej sieci domowej (**Workgroup**) oraz opis (**Description**). 

Z pozostałych ustawień, jako użytkownik komputera z nadgryzionym jabłkiem, zaznaczyłem **Enable macOS compatible shares**.

> **Jeżeli jednak doświadczamy problemów z odmontowaniem naszego dysku w macOS, tą opcję powinniśmy pozostawić odznaczoną.**

Nim przejdziemy dalej, klikamy Zapisz i Zastosuj (**Save & Apply**).

W pozycji **Shared Directories** klikamy przycisk dodaj (**Add**), dzięki czemu otrzymamy do wypełnienia krótki formularz.

[![OpenWrt > Network Shares > Samba > Shared Directories](openwrt_network_shares_samba_shared_directories.png)](openwrt_network_shares_samba_shared_directories.png)

W polu nazwa (**Name**), wpisujemy nazwę naszego udostępnienia, jaką chcemy widzieć z poziomu sieci.

W polu ścieżki (**Path**), wpisujemy lokalizację naszego zmontowanego dysku, w moim przypadku `/mnt/sda1`.

Pozostawiamy domyślnie zaznaczone opcje **Browseable** oraz **Allow guests**.

Jeżeli chcemy używać naszego dysku na potrzeby robienia kopii zapasowej, z poziomu komputera z macOS zaznaczamy **Apple TimeMachine share** oraz definiujemy (opcjonalnie) limit dysku dla kopii zapasowych.

Potwierdzamy wszystko klikając Zapisz i Zastosuj (**Save & Apply**).

Dla standardowego użytkownika te ustawienia wystarczą. Natomiast, jeżeli chcesz pozmieniać zaawansowane opcje udostępnienia, zawsze możesz przejść do zakładki **Edit Template**.

* * *

Na tym etapie musimy sprawdzić, czy nasze udostępnienie działa.

W przypadku macOS otwieramy nowe okno **Finder**, przechodzimy do zakładki Network i wyszukujemy nasz router. Dalej intuicyjnie klikając po kolei, aż otworzymy nasz udostępniony folder. 

Możemy również wybrać z menu Findera opcję **Go > Connect to server**, gdzie wprowadzamy adres **smb://192.168.1.1/** (gdzie 192.168.1.1 to adres naszego routers) i klikamy połącz (**Connect**).

I to wszystko. Nasz dysk powinien działać i być widoczny w sieci.

Jeżeli dodałeś dysk według mojego [poprzedniego wpisu](/dodanie-dysku-usb-do-routera-z-openwrt/) , w każdej chwili możesz odmontować dysk z routera (`block umount`) i podłączyć do komputera z macOS lub Windows. Dzięki zastosowaniu partycji exFat nie ma problemu z widocznością zawartości dysku niezależnie od tego, gdzie urządzenie działa.

{{% ads-in-article %}}

## Problem w Windows i jego rozwiązanie

O ile dostęp do udostępnionego dysku przy pomocy konta użytkownika dostępnego po stronie naszego routera to nie problem, duża część z nas wolałaby mieć dostęp przy pomocy konta gościa.

W najnowszych wersjach systemu Windows, ze względów bezpieczeństwa, wprowadzono zmiany dotyczące dostępu do zasobów sieciowych.

Dostęp za pomocą konta Gościa jest niemożliwy i skutkuje błędem przy dostępie do zasobów. Wpisywanie użytkownika **Guest** oraz pozostawianie pola z hasłem niewypełnionego też nie wiele daje.

![Wprowadzenie poświadczeń sieciowych Guest](Wprowadzenie-poswiadczen-sieciowych-Guest.png)

![Odmowa dostępu](Odmowa-dostepu.png)

Jednakże, w prosty sposób możemy to zmienić.

Wystarczy uruchomić **Wiersz poleceń** w trybie administratora (w przeciwnym razie otrzymamy komunikat **Odmowa dostępu**) i wykonać poniższą komendę, która doda odpowiedni wpis do rejestru systemowego.

```
reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
```

Po wprowadzonej zmianie uruchamiamy ponownie nasz system.

Teraz, przy ponownej próbie dostępu go zasobu sieciowego również otrzymamy komunikat o konieczności wprowadzenia użytkownika i hasła. Tym razem jednak możemy bez problemu wprowadzić użytkownika **Guest** i całość, bez potrzeby wprowadzania hasła, zatwierdzić przyciskiem **OK**.

![Udostępniony folder usb0](Udostepniony-folder-usb0.png)

Pozdrawiam.


---
## Dodanie dysku USB do routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/dodanie-dysku-usb-do-routera-z-openwrt/
- **Date:** 2020-05-05
- **Tags:** block-mount, hd-idle, hdparm, mount, OpenWrt, USB, USB 3.0, usbutils, WRT3200ACM

### Content

Dzisiaj nieco nietypowe rozwiązanie, otóż mój dysk sieciowy (NAS) ostatnio odmówił posłuszeństwa, a żeby zrobić z nim porządek, potrzebuję w nim co nieco pogrzebać, w związku, w między czasie z tym chciałbym wykorzystać port USB 3.0 wbudowany w mój router WRT3200ACM z oprogramowaniem OpenWrt w celu udostępnienia w sieci dysku USB.

<!--more-->

Do tego celu używam 2TB dysk w obudowie WD My Book Essential (3.5” z zewnętrznym zasilaniem) ze złączem USB 3.0. Dysk sformatowałem w exFat (z poziomu komputera nim zacząłem), ze względu na kompatybilność zarówno w Windows, jak i Mac. Gdy będę chciał go odłączyć z sieci, zawsze będę miał dostęp do danych, podłączając kabel USB bezpośrednio do komputera.

A więc zaczynamy...

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

Większość kroków odbywać się z poziomu terminala.

W tym wpisie skupię się na tym, jak dodać dysk do routera. W osobnym wpisie (link na końcu) opiszę jak udostępnić ten dysk w sieci lokalnej.

## Instalacja obsługi dysku USB

W pierwszej kolejności aktualizujemy pakiety.

```bash
apk update
```

Następnie dodajemy wsparcie dla urządzeń USB.

```bash
apk add kmod-usb-storage kmod-usb-storage-uas
```

W moim przypadku muszę dodać również obsługę exFat. W zależności, jaki system plików wybierzecie, musicie zainstalować go zgodnie [z tym poradnikiem](https://openwrt.org/docs/guide-user/storage/filesystems-and-partitions).

```bash
apk add kmod-fs-exfat libblkid1
```

Dodatkowo potrzebne nam będą narzędzia do sprawdzenia, czy nasze urządzenie USB działa prawidłowo. Instalujemy je za pomocą poniższej komendy:

```bash
apk add usbutils
```

Teraz możemy podłączyć nasz dysk.

Jeżeli wszystko wykonaliśmy prawidłowo, wykonując poniższą komendę, zobaczymy nasz dysk na liście urządzeń podłączonych do USB.

```bash
lsusb -t
```

Powinniśmy zobaczyć coś takiego:

```bash
root@OpenWrt:~# lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
```

lub w przypadku wspieranego protokołu [UASP](https://en.wikipedia.org/wiki/USB_Attached_SCSI):

```bash
root@OpenWrt:~# lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=uas, 5000M
```

## Sprawdzenie widoczności dysku

Sprawdzamy, czy nasz dysk i partycje są widoczne w systemie.

```bash
ls -l /dev/sd*
```

Powinniśmy zobaczyć coś takiego:

```bash
root@OpenWrt:~# ls -l /dev/sd*
brw-------    1 root     root        8,   0 May  1 21:20 /dev/sda
brw-------    1 root     root        8,   1 May  1 21:20 /dev/sda1
```

W następnym kroku zainstalujemy dodatkowe narzędzie, które będziemy używali do montowania partycji.

```bash
apk add block-mount
```

Wykonujemy komendę:

```bash
block info | grep "/dev/sd"
```

Powinniśmy zobaczyć coś takiego:

```bash
root@OpenWrt:~# block info | grep "/dev/sd"
/dev/sda1: UUID="5EAC-6F27" LABEL="2TB" TYPE="exfat"
```

{{% ads-in-article %}}

## Montowanie dysku

Przygotowujemy plik konfiguracyjny:

```bash
block detect | uci import fstab
```

Włączenie automatycznego montowania na podstawie wygenerowanego pliku konfiguracyjnego:

```bash
uci set fstab.@mount[-1].enabled='1'
uci commit fstab
```

Montujemy nasz dysk:

```bash
block mount
```

_(Opcjonalne)_ Jeżeli chcemy się upewnić, czy automatyczne montowanie dysku działa przy starcie systemu, wykonujemy:

```bash
reboot
```

Sprawdzamy, czy nasz dysk jest widoczny za pomocą:

```bash
df
```

Powinniśmy zobaczyć coś takiego:

```
root@OpenWrt:/mnt# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1            195341.     10368 1953408896   0% /mnt/sda1
```

Oraz:

```bash
uci show fstab
```

Powinniśmy zobaczyć coś takiego:

```bash
root@OpenWrt:~# uci show fstab
fstab.@mount[0]=mount
fstab.@mount[0].target='/mnt/sda1'
fstab.@mount[0].uuid='5EAC-6F27'
fstab.@mount[0].enabled='1'
```

Jeżeli mamy jakieś problemy, upewniamy się, że w polu **@mount[0].enabled** widnieje wartość **1**.

Jeżeli mamy jakieś dane na dysku, możemy je zobaczyć:

```bash
ls -l /mnt/sda1
```

Upewniamy się, że wszystko działa prawidłowo wykonując komendę:

```bash
block info
```

Powinniśmy zobaczyć coś takiego:

```bash
root@OpenWrt:~# block info
/dev/sda1: UUID="5EAC-6F27" LABEL="2TB" MOUNT="/mnt/sda1" TYPE="exfat"
```

Całość kończymy komendą:

```bash
service fstab boot
```

* * *

## Uśpienie dysku (Opcjonalne)

Moja kieszeń WD posiada wbudowane oprogramowanie, które po czasie wstrzymuje silnik dysku / usypia go. Dysk nadal jest dostępny, ale gdy jest nieużywany, nie będzie się niepotrzebnie kręcił. W momencie, gdy dysk jest potrzebny, wówczas rozkręci się na nowo.

Jeżeli nie mamy możliwości programowej, wówczas możemy wesprzeć się dodatkowym rozwiązaniem, pozwoli nam zaprogramować bezpośrednio dysk w celu wykonania tego samego.

W tym celu instalujemy **hdparm**:

```bash
apk update
apk add hdparm
```

Zakładając (z powyższych kroków), że nasz dysk jest dostępny jako **/dev/sda1**, poniższą komendą ustawiamy, po jakim czasie dysk przejdzie w stan wstrzymania. Czas ten ustawiamy jako wielokrotność 5-ciu sekund. Minuta to wartość 12, jeżeli chcemy ustawić 15 minut, potrzebujemy wartość 180.

```bash
hdparm -S 180 /dev/sda1
```

Powyższa opcja jest opcją sprzętową. Wprowadza on zmiany w ustawieniach dysku, dzięki czemu zostają one zachowane, nawet gdy podłączymy nasz dysk do innego urządzenia / komputera. Niestety, nie zawsze to działa. Niektóre obudowy odmawiają przyjęcia powyższe komendy, zwracając błąd. W tym przypadku istnieje dodatkowe programowe rozwiązanie o nazwie **hd-idle**, która może być zintegrowane z naszym panelem administracyjnym routera z poziomu przeglądarki internetowej.

Pakiet **hd-idle**, po określonym czasie (zdefiniowanym w panelu administracyjnym) wysyła komendę **spindown-now** w celu wyłączenia obrotów dysku i przejścia w stan wstrzymania.

Instalujemy go za pomocą komendy:

```bash
apk add luci-app-hd-idle
```

Po czym przechodzimy do naszego panelu sterowania, **Services > HDD idle**, gdzie ustawiamy, czy ta opcja programowa ma być włączona, dla jakiego dysku oraz czas.

[![OpenWrt Service hdd idle](openwrt_service_hdd_idle.png)](openwrt_service_hdd_idle.png)

[![OpenWrt hdd idle](openwrt_hdd_idle.png)](openwrt_hdd_idle.png)

Zalecam najpierw sprawdzić, czy sprzętowa opcja działa (czy to wbudowana, czy zaprogramowana), gdyż nie wymaga ona żadnych dodatkowych pakietów, które muszą być włączone na naszym routerze a dopiero wybrać rozwiązanie programowe.

* * *

I to by było na tyle, jeżeli chodzi o dodanie dysku, możemy przejść dalej do udostępnienia naszego dysku w sieci lokalnej. Ten krok opisałem jednak w osobnym wpisie: **[Udostępnienie dysku USB w sieci z routera OpenWrt](/udostepnienie-dysku-usb-w-sieci-z-routera-openwrt/)**

* * *

Credits[^1]  

[^1]:[https://openwrt.org/docs/guide-user/storage/usb-drives](https://openwrt.org/docs/guide-user/storage/usb-drives)



---
## Jak dodać usługi Google do WordPress w prosty sposób
- **URL:** https://dariusz.wieckiewicz.org/uslugi-google-wordpress-site-kit/
- **Date:** 2020-04-29
- **Tags:** Wordpress, AdSense, Analytics, google, Optimize, PageSpeed Insights, Search Console, Site Kit, Site Kit od Google, Tag Manager, wordpress

### Content

A więc chcesz dodać jedną z usług Google do twojej strony opartej na WordPress? Nic prostrzego, wystarczy tylko **kilka (!!!)** wtyczek. **NIE** — **wystarczy jedna, oficjalna od Google**.

Tak, dobrze przeczytałeś — **od Google**.

<!--more-->

Google wypuściło oficjalną wtyczkę dla WordPress, aby raz na zawsze zrobić porządek z tysiącem różnych wtyczek używanych, aby dodać ich usługi do strony internetowej. Chwali się to Google, że w końcu dostrzegł, że na WordPress bazuje znacząca liczba stron w internecie.

## Site Kit od Google

[![Site Kit Wordpress](/images/2020/04/site_kit_wordpress-min.png)](/images/2020/04/site_kit_wordpress-min.png)

Jak czytamy na [stronie wtyczki](https://pl.wordpress.org/plugins/google-site-kit/):

> Site Kit to oficjalna wtyczka do WordPressa od Google, pokazująca, jak ludzie znajdują i używają twojej witryny. Site Kit pozwala w jednym miejscu podłączać ważne usługi, zarządzać nimi i uzyskiwać z nich informacje, które pomogą twojej witrynie osiągnąć sukces w internecie. Wtyczka zapewnia wiarygodne i aktualne porady z wielu produktów Google, wyświetlane – dla twojej wygody – bezpośrednio w kokpicie WordPressa – bezpłatnie.
> 
> Site Kit od Google

[![Site Kit Plugin is now activated](/images/2020/04/site_kit_plugin_is_now_activated-min.png)](/images/2020/04/site_kit_plugin_is_now_activated-min.png)

Jeżeli używaliśmy już usługi Google takie jak Analytics do śledzenia ruchu na stronie, zapewne wklejaliście kod śledzenia na waszej stronie poprzez zmodyfikowanie motywu strony lub też przy pomocy dodatkowych wtyczek. I tak to każdej innej usługi Google używaliście kolejnej i kolejnej wtyczki.

Google postanowił zrobić z tym porządek i wrzucić wszystko pod jeden dach jednocześnie dbając, że wszystko będzie działać tak, jak należy.

Osobiście używam:

[![Site Kit podłączone usługi](/images/2020/04/site_kit_podlaczone_uslugi-min.png)](/images/2020/04/site_kit_podlaczone_uslugi-min.png)

— **Analytics** do śledzenia ruchu na stronie;

> Zobacz, jak użytkownicy przeglądają twoją witrynę i śledź ustawione przez siebie osiągnięcia celów.
> 
> Site Kit od Google

[![Site Kit Analytics](/images/2020/04/site_kit_analytics-min.png)](/images/2020/04/site_kit_analytics-min.png)

— **AdSense** to skromnego zarabiania z publikowanych treści;

> Śledź zarobki, które przynosi twoja witryna.
> 
> Site Kit od Google

[![Site Kit AdSense](/images/2020/04/site_kit_adsense-min.png)](/images/2020/04/site_kit_adsense-min.png)

— **Tag Manager** w celu lepszej identyfikacji kto i co robi na mojej stronie ([o którym pisałem tutaj](/redukcja-bounce-rate-google-tag-manager/));

> Użyj Site Kit do łatwego wdrożenia Tag Managera – bez potrzeby programowania. Następnie zarządzaj swoimi tagami w Tag Managerze.
> 
> Site Kit od Google

Do tego, z jednej aplikacji mam połączenie również z:

— **Search Console**

> Zrozum, jak wyszukiwarka Google odkrywa i wyświetla podstrony twojej witryny. Zobacz, ile osób zobaczyło twoją witrynę w wynikach wyszukiwania i jakich wyrażeń szukali, aby trafić na twoją stronę.
> 
> Site Kit od Google

[![Site Kit Search Console](/images/2020/04/site_kit_search_console-min.png)](/images/2020/04/site_kit_search_console-min.png)

— **PageSpeed Insights**

> Zobacz, jak twoja witryna wypada na tle innych prawdziwych serwisów. Usprawnij witrynę dzięki praktycznym poradom z PageSpeed Insights.
> 
> Site Kit od Google

Ale to nie wszystko. Site Kit oferuje również integrację z **Google Optimize**.

[![Site Kit Podłącz więcej usług](/images/2020/04/site_kit_podlacz_wiecej_uslug-min.png)](/images/2020/04/site_kit_podlacz_wiecej_uslug-min.png)

> Użyj Site Kit do łatwego wdrożenia Optimize – bez potrzeby programowania. Następnie skonfiguruj testy A/B w Optimize.
> 
> Site Kit od Google

* * *

{{% ads-in-article %}}

Aby zacząć, wystarczy zalogować się na nasze konto Google i krok po kroku dodać to, co potrzebujemy. 

Jeżeli nie korzystaliśmy jeszcze z usług Google, a chcemy je dodać do naszej stronie, z poziomu wtyczki możemy również ustawić wszystko podstawowe element, bez konieczności zagłębiania się w ustawienia poszczególnych usług na odpowiednich stronach Google.

W pierwszych krokach wtyczka potwierdzi nasze prawa do domeny oraz strony dodając odpowiedni kod weryfikacyjny. Następnie przejdziemy przez ustawienia poszczególnych usług.

[![Welcome to Site Kit](/images/2020/04/welcome_to_site_kit-min.png)](/images/2020/04/welcome_to_site_kit-min.png)

Gdy dojdziemy do końca, wszystko praktycznie będzie ustawione. Odpowiednie kody, czy to śledzenia, czy też te, odpowiedzialne za wyświetlanie reklam zostaną odpowiednio wstawione na naszą stronę, po czym przywitani zostaniemy przez kokpit, wyświetlający najważniejsze informacje o naszej stronie zgromadzone do tej pory przez Google.

[![Site Kit Kokpit](/images/2020/04/site_kit_kokpit-min.png)](/images/2020/04/site_kit_kokpit-min.png)

Z Kokpitu możemy szybko przejść do Search Console, gdzie zobaczymy (w skrócie) osiągi naszej strony w wyszukiwarce Google. Jeżeli jesteśmy zainteresowani zagłębieniem się w więcej informacji, możemy przejść (korzystając z gotowego odnośnika) do pełnego raportu na dedykowanej stronie Google.

Jeżeli posiadamy konto AdSense, możemy zobaczyć, ile nasza strona dla nas zarabia.

Przechodząc do tego, co najważniejsze, zakładki Analytics, ujrzymy w skrócie najważniejsze statystyki naszej strony.

Cała wtyczka jest zrobiona w bardzo minimalistyczny sposób. Nie znajdziemy w niej za dużo opcji do konfiguracji. Ma ona na celu stawienie odpowiedniej usługi na naszej stronie. Wszelkie modyfikacje, takie jak zakres śledzenia (Analytics) czy też to, jak reklamy mają być wyświetlane (AdSense) na naszej stronie, dokonujemy bezpośrednio z poziomu strony konkretnej usługi.

Google chce dzięki temu wyeliminować ingerencję osób trzecich (innych Wtyczek) w modyfikowanie kodów wstawianych na naszej stronie do poszczególnej usługi, jednocześnie zapewniając, że strona używa zawsze aktualnego kodu śledzenia.

Czasem się niestety zdarza, jeżeli używamy innych wtyczek do wstawienia odpowiednich kodów usługi, że modyfikują one je w taki sposób, że nasze statystyki nie wyświetlają prawidłowo wszystkich danych, lub też tak, że Google uzna nasz kod za zmodyfikowany w sposób niedozwolony, łamiąc jednocześnie warunki korzystania z usługi, co skończyć się może (w skrajnym wypadku) zablokowaniem naszego konta.

**Czasem mniej jest więcej.**

Najważniejsze jest to, że to sama ekipa od Google wypuściła tę wtyczkę i zamierza ją aktywnie (sic!) wspierać. Jak to będzie w rzeczywistości, zobaczymy. Jeżeli jednak używacie innych wtyczek na waszej stronie w celu osiągnięcia tego samego, warto spróbować innego podejścia. Eliminując jedną lub więcej “ciężkich” wtyczek możemy jednocześnie pozytywnie wpłynąć na szybkość funkcjonowania naszej strony.

**Pozdrawiam.**


---
## Aktualizacja oprogramowania OpenWrt (bez utraty zainstalowanych pakietów)
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-oprogramowania-openwrt/
- **Date:** 2020-04-24
- **Tags:** firmware, kopia zapasowa, OpenWrt, oprogramowanie, pakiety, Aktualizacja OpenWrt, Aktualizacja oprogramowania OpenWrt

### Content

Czy to zainstalowałeś oprogramowanie OpenWrt od nowa, czy też zaktualizowałeś, to, mimo że zrobiłeś kopię zapasową ustawień, wszelkie doinstalowane pakiety nie zostały (nie zostaną) zachowane, przez co przywrócenie ustawień nie spowoduje, że wszystko będzie tak jak było. Na razie jest to normalne zachowanie z OpenWrt. W związku z tym należy pomyśleć, jak do tego podejść, by aktualizacja i przywrócenie ustawień przebiegła, tak jak oczekujemy, **czyli razem z pakietami**.

<!--more-->

W związku z tym, **przed aktualizacją routera należy wygenerować listę zainstalowanych pakietów**, które będziemy musieli przywrócić (zainstalować) przed przywróceniem naszych ustawień z kopii zapasowej.

Instalacja czystego oprogramowanie OpenWrt to nie problem. Schody zaczynają się, jak chcemy zaktualizować obecnie zainstalowany do najnowszej dostępnej wersji. W tym wypadku mamy możliwość instalacji najnowszego oprogramowania wraz z zachowaniem ustawień (ale nie pakietów) lub też z przywróceniem ustawień domyślnych.

**Osobiście zachęcam do instalacji (aktualizacji) bez zachowania ustawień oraz zacząć od zera**. Wszystko z tego względu, gdyż jeżeli doinstalowaliśmy pakiet, chociażby ten opisany tutaj [DNS over HTTPS](/bezpieczny-dns/), to po ponownym uruchomieniu nasz internet nie będzie działać, gdyż obecne ustawienia w routerze będą próbowały przekierować ruch przez pakiet, którego w systemie nie ma i wszystko zacznie się sypać.

A więc jak zrobić wszystko poprawnie? Otóż dokonamy tego w następujących krokach.

Jako że ostatnio udało mi się zamienić mój router ASUS RT-AC57U na bardzo potężny Linksys WRT3200ACM, chciałem przenieść wszystko to, co mam już ustawione na ASUS’ie na Linksys’a. Niestety, różnice w sprzęcie i plikach konfiguracyjnych powodują, że nie wszystko jest takie łatwe. Nie ma możliwości zrobienia kopii na jednym i przywróceniu (po wgraniu pakietów) na drugim. Rozwiązaniem jest zrobienie kopii na dwóch routerach i porównanie plików ze starego i pododawanie tego, czego brakuje do nowego. Mozolne rozwiązanie, ale również działa.

**W obrębie tego samego urządzenia wszystko przebiegać będzie wg poniższego schematu.**

> **Drobna uwaga.**
> Jeżeli używacie tylko czystego oprogramowania OpenWrt i nie dodajecie żadnych dodatkowych pakietów, to nie musicie się zagłębiać dalej w mój wpis. Wówczas instalujecie nowe oprogramowanie z zachowaniem bieżących ustawień lub po prostu przywracacie ustawienia z zachowanej kopii zapasowej i wszystko działa. Dalsze kroki są przede wszystkim dla osób, które wykorzystują OpenWrt w jego rozszerzonych możliwościach.

Zaczynamy.

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

---

Mimo tego, że wersja **22.03** bazuje na Firewall4, poniższą metodą możemy z powodzeniem zaktualizować z 21.02.x do 22.03.x. Pakiet Firewall zostanie pominięty (wraz z innymi niekompatybilnymi pakietami) i zastąpiony przez obecny już Firewall4. Nie musisz się przejmować tym, że podczas przywracania pakietów otrzymasz informacje o błędach.
 
W związku ze zmianą pakietu kryptograficznego w wersji **23.05** z `wolfssl` na `mbedtls`, podczas aktualizacji z wersji 22.03 do 23.05 z przywracaniem pakietów z poprzedniej wersji zalecam wprowadzenie kilka zmian aby niepotrzebnie nie instalować tego pakietu w naszym systemie.

W przypadku skoku z wersji oprogramowania tak jak na przykład, z **23.05** na **24.10** (i na **25.12**), w teorii wszystko powinno pójść bez problemów, jednakże, jak to z każdą dużą zmiana, istnieje możliwość, że nasz router się nie włączy. Tak jak ja miałem w przypadku mojego routera Askey RT4230W REV6 (RAC2V1K). Mimo że z wersji 21.02 do 22.03 oraz 23.05, nie było problemów, opiekunowie projektu wprowadzili sporo zmian w 24.10, które mogą być niekompatybilne z obecnymi ustawieniami.

W moim przypadku musiałem zresetować router to ustawień fabrycznych i zacząć od zera. Na szczęście, wygenerowany plik kopii zapasowej pozwolił mi zachować moje ustawienia, które, krok po kroku mogłem przywrócić.

> Po głębszej analizie zauważyłem, że moje interfejsy (porty sieciowe) zmieniły nazwę, na przykład `option device 'eth0.2'` zmienił się na `option device 'wan'`. Na przyszłość ma to sens w przypadku przenoszenia konfiguracji pakietów pomiędzy różnymi urządzeniami. Zmian było więcej, w związku z tym postanowiłem przywrócić wszystko ręcznie i jednocześnie sprawdzić aktualność moich postów odnośnie do OpenWrt.

W pliku `my_installed_packages`, który wygenerujemy przed przystąpieniem do aktualizacji i którego kopię zapasową utworzymy na naszym komputerze, zalecam otworzenie go w Notatniku (lub innym tego typu programie) i wyszukanie wszelkich wpisów z `wolfssl` i usunięcie ich. Jeżeli jakiś pakiet będzie go potrzebował to i tak go zainstaluje automatycznie.

Instalujemy pakiety tak jak w poniższym opisie, po czym przywracamy konfigurację.

Jako, że każda duża aktualizacja wnosi sporo zmian, zalecam jednak na poświęcenie nieco czasu i ręczne zainstalowanie pakietów, które używamy, na świerzo wgramyn OpenWrt po czym na skorzystanie z przyrwócenia kopii zapasowej. Wówczas, aktualizacja z wersji 23.05.0 do kolejnych z tej serii, które zostaną wypuszczone w przyszłości, powinna być bezproblemowa zgodnie z opisem.

---

## Kopia zapasowa obecnych ustawień

W pierwszej kolejności przechodzimy do panelu administracyjnego poprzez przeglądarkę internetową.

Tam wybieramy **System > Backup / Flash firmware**

[![OpenWrt - System Backup - Flash Firmware](01-openwrt-system-backup-flash-firmware.png "OpenWrt > System > Backup / Flash Firmware")](01-openwrt-system-backup-flash-firmware.png)

W celu wykonania kopii zapasowej ustawień wystarczy w sekcji Kopii Zapasowej (**Backup**) kliknąć przycisk generowania archiwum (**Generate archive**).

[![OpenWrt - System Backup - Flash Firmware - Generate Archive](02-openwrt-system-backup-flash-firmware-generate-archive.png "OpenWrt > System > Backup / Flash Firmware > Generate Archive")](02-openwrt-system-backup-flash-firmware-generate-archive.png)

Nim to jednak zrobimy, osobiście zalecam zmianę ustawień, w celu rozszerzenia zakresu kopii zapasowej o dodatkowe foldery. Jeżeli używaliście mojego poradnika m.in. [jak dodać serwer VPN do waszego routera](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/), w zakładce **Configuration** dodajemy dodatkowe foldery.

```
/etc/ssl/
/etc/wireguard/
/etc/config/
/root/
```

[![OpenWrt - System Backup - Flash Firmware - Configuration](03-openwrt-system-backup-flash-firmware-configuration.png "OpenWrt > System > Backup / Flash Firmware > Configuration")](03-openwrt-system-backup-flash-firmware-configuration.png)

Mimo że domyślnie kopia zapasowa wykonuje kopię zmodyfikowanych plików w folderze **/etc/config**, osobiście preferuję posiadanie pełnej kopii tego folderu.

> To co zdefiniowaliśmy na tym etapie, przechowywane jest domyślnie w pliku **/etc/sysupgrade.conf** podczas standardowej aktualizacji oprogramowania.

Dalej klikamy przycisk Zapisz (**Save**) i wracamy do zakładki Akcje (**Actions**) i generujemy nasze archiwum kopii zapasowej (**Generate archive**).

* * *

## Wygenerowanie listy zainstalowanych pakietów

Mając już kopię zapasową ustawień, pora na wygenerowanie listy pakietów, które mamy zainstalowane w systemie. Zauważ, że w poprzednim kroku dodałem folder **/root/** do włączenia w zakres kopii zapasowej ustawień. W tym folderze mam zapisany plik, który zawiera m.in. listę pakietów, którą zapiszemy za chwilę.

W przypadku, gdy przenosimy ustawienia z jednego routera do drugiego, warto sobie tę listę skopiować i zapisać, o czym również napiszę.

A więc, aby wygenerować listę zainstalowanych pakietów, wykonujemy komendę w terminalu SSH:

```bash
apk info > /root/my_installed_packages
```

Warto również zapisać tę listę na komputerze lokalnym.

Nie będę nie tu rozpisywał jak to zrobić różnymi metodami (inna dla innego systemu operacyjnego), gdyż jest to stratą czasu. 

Owy plik, który potrzebujecie, będzie zapisany w świeżo wygenerowanej kopi zapasowej, z pierwszego kroku. Przejdźcie jeden krok wstecz i gotowe. Wystarczy rozpakować wasz **backup** przy pomocy **Keka** (dla macOS) lub **7Zip** (dla Windows) i poszukać go w folderze **/root/**. Proste!

Możemy również wykonać polecenie:

```bash
cat /root/my_installed_packages
```

I metodą kopiuj/wklej, skopiować zawartość do pliku na naszym komputerze.

* * *

## Aktualizacja oprogramowania OpenWrt z przywróceniem ustawień domyślnych

Na tym etapie nie będę rozpisywał się, jak zainstalować oprogramowanie OpenWrt na waszym routerze, gdyż to zależy od sprzętu, jaki używacie (odsyłam [tutaj](https://openwrt.org/toh/start)). Obstawiam, że wasz router ma już zainstalowane oprogramowanie OpenWrt - czy to czyste, czy też w innej wersji, którą będziecie chcieli zaktualizować.

Aktualizacji oprogramowania dokonujemy z poziomu **System > Backup / Flash firmware**, w sekcji **Flash new firmware image**.

[![OpenWrt - System Backup - Flash Firmware](04-openwrt-system-backup-flash-firmware.png "OpenWrt > System > Backup / Flash Firmware")](04-openwrt-system-backup-flash-firmware.png)

Oczywiście wybieramy oprogramowanie przygotowane dla naszej wersji routera.

Wgrywamy plik do naszego routera i na odpowiednim kroku wybieramy **CZY** chcemy, czy też nie, zachować ustawienia naszego routera (**Keep settings and retain the current configuration**). Osobiście preferuje ich NIE zachowywać, gdyż w moim przypadku, [z ustawionym DoH](/bezpieczny-dns/), nie będzie działać mój DNS, przez co nie będę mógł wykonać następnych kroków.

[![OpenWrt - System Backup - Flash Firmware - Uploading file](05-openwrt-system-backup-flash-firmware-uploading-file.png "OpenWrt > System > Backup / Flash Firmware > Uploading file")](05-openwrt-system-backup-flash-firmware-uploading-file.png)

[![OpenWrt - System Backup - Flash Firmware - flash image](06-openwrt-system-backup-flash-firmware-flash-image.png "OpenWrt > System > Backup / Flash Firmware > flash image")](06-openwrt-system-backup-flash-firmware-flash-image.png)

Możecie poeksperymentować, zachowując ustawienia i przywracając pakiety (następny krok), pamiętając jednak, że po przywróceniu poprzednio zainstalowanych pakietów, możliwe będzie, że będziecie musieli przywrócić i tak kopię zapasową.

* * *

{{% ads-in-article %}}

## Przywrócenie pakietów z poprzednio wygenerowanej listy

Upewniając się, że nasz router posiada działające połączenie z internetem, łączymy się z naszym routerem za pomocą terminala SSH (domyślnie musimy to zrobić na kablu LAN, gdyż WiFi z reguły jest wyłączone):

```bash
ssh root@192.168.1.1 -p 22
```

W pierwszej kolejności zaleciłbym wykonanie aktualizacji pakietów, które aktualnie znajdują w systemie, niż weźmiemy się za przywracanie. Dokonujemy tego za pomocą komendy:

```bash
apk update; apk upgrade
```

> W niektórych przypadkach powyższa komenda wyświetli błąd pobierania (*Failed to download*) lub też zwróci informację, że nie mamy połączenia z internetem (*Check your network settings and connectivity*). 
>
> Wówczas należy wykonać komendę: **`apk update`** osobno, zainstalować najnowszą wersję **wget** za pomocą **`apk add wget`** oraz pobrać najnowsze certyfikaty CA:

```bash
wget  --no-check-certificate -O /etc/ssl/certs/ca-certificates.crt http://curl.se/ca/cacert.pem
```

> Wówczas powtarzając powyższą komendę wszystko powinno zacząć działać.

Pora na przywrócenie pakietów.

Jeżeli zaczynamy wszystko od zera, należy wygenerować plik **my_installed_packages**

```bash
touch /root/my_installed_packages
```

Następnie przechodzimy do jego edycji.

```bash
vim /root/my_installed_packages
```

Klikając klawisz "**i**" wchodzimy w tryb edycji. Teraz, za pomocą Kopiuj/Wklej przenosimy zawartość naszego pliku z kopii zapasowej (lub też w pliku do którego zapisaliśmy zawartość **my_installed_packages** z poprzednich kroków). Po pomyślnym wklejeniu zawartości klikamy przycisk **Esc** a następnie wykonujemy "**:w**" w celu zapisania zawartości, oraz "**:q**" w celu opuszczenia edycji.

I tak mamy wszystko gotowe na przywrócenie pakietów. Poniższa komenda porówna, to co jest już w naszym systemie z tym, co mamy w naszym pliku i zainstaluje, to co brakuje. Jeżeli w liście naszych pakietów znajdzie się jakiś, który jest niekompatybilny z aktualnym oprogramowaniem OpenWrt, zostanie on automatycznie pominięty.

```bash
apk update && apk add $(cat /root/my_installed_packages)
```

* * *

## Wgrywanie plików przez SFTP

Fajnie by było połączyć się z naszym routerem, tak, aby można było w łatwy sposób przywrócić poszczególne pliki. Jest to szczególnie przydatne, gdy ustawiamy nasz router od nowa z przywracaniem poszczególnych plików z kopii zapasowej.

Do tego celu polecam protokuł **SFTP** (SSH File Transfer Protocol).

Nim jednak będziemy mogli się połączyć, z poziomu terminala musimy zainstalować serwer SFTP.

```bash
apk update
apk add openssh-sftp-server
```

Wówczas, wykorzystując taką aplikację jak **Cyberduck** na macOS lub **Filezilla**, możemy nawiązać połączenie i przenieść pliki, które potrzebujemy.

* * *

## Przywrócenie ustawień z kopii zapasowej

Ostatnim krokiem będzie przywrócenie naszych ustawień z zapisanej kopii zapasowej.

[![OpenWrt - System Backup - Flash Firmware - firmware restore](07-openwrt-system-backup-flash-firmware-restore.png "OpenWrt > System > Backup / Flash Firmware > firmware restore")](07-openwrt-system-backup-flash-firmware-restore.png)

Ponownie przechodzimy do **System > Backup / Flash firmware** i z pozycji przywracanie (**Restore**) wybieramy **Upload archive**, gdzie wskazujemy nasz plika zapisany na naszym komputerze, po czym potwierdzamy wszystko, gdy zostaniemy zapytani, czy zastosować zmiany (**Apply backup?**) przyciskiem **Continue.**

Uruchamiamy ponownie router (o ile nie nastąpi to po przywróceniu ustawień) i sprawdzamy wszystko czy działa.

Takim sposobem, na 99% wszystko powinno działać. Zawsze istnieje szansa, że coś nie pójdzie, tak jak trzeba. Jak coś, dajcie znać w komentarzach.

* * *

Credits: [forum.openwrt.org/t/how-to-keep-packages-settings-after-upgrading/38998](https://forum.openwrt.org/t/how-to-keep-packages-settings-after-upgrading/38998)



---
## Ustawienie domeny dla zmiennego adresu IP (OpenWrt i DDNS)
- **URL:** https://dariusz.wieckiewicz.org/ustawienie-domeny-ddns-openwrt-cloudflare/
- **Date:** 2020-04-08
- **Tags:** Cloudflare, DDNS, NAT, NoIP, OpenWrt, domena dla dynamicznego adresu IP

### Content

Dzisiaj zamierzam poruszyć temat, który dla osób posiadających łącze internetowe bez stałego zewnętrznego adresu IP powoduje problemy, jeżeli na naszym łączu chcemy uruchomić serwer VPN, tak jak opisałem we wpisie [Instalacja serwera VPN na routerze z OpenWrt (WireGuard)](/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/).

<!--more-->

Liczba adresów IP w 4-tej wersji tego protokołu jest praktycznie wyczerpana, w związku z tym oczekiwanie od naszego operatora stałego adresu IP będzie coraz trudniejsze, szczególnie dla użytkowników domowych.

W związku z tym chciałbym rozwiązać ten problem, uruchamiając DDNS na naszym routerze. Dzięki czemu przypiszemy mu (naszemu zewnętrznemu adresowi IP) domenę, która będzie kierowała na nasz router. W momencie, gdy nasz adres IP ulegnie zmianie, zostanie ona automatycznie odświeżona, aby wskazywać na aktualny, nowy adres IP.

W tym celu chciałbym wykorzystać posiadaną przeze mnie domenę, której wpisy DNS obsługuję za pośrednictwem Cloudflare.

Osobiście nie sądziłem, że Cloudflare posiada taką opcję, szczególnie dla użytkowników darmowej wersji usługi. Poszukałem, poczytałem i stwierdziłem, że spróbuje. Oczywiście, jeżeli nie posiadasz domeny zarządzanej (wpisy DNS) przez Cloudflare, dostępne są również inne strony, które oferują tego typu usługę, chociażby [NoIP.com](https://www.noip.com/support/knowledgebase/how-to-configure-ddns-in-router/).

Nim zaczniemy, warto zaznaczyć, że jeżeli posiadamy łącze internetowe przez 4G/LTE i tego typu podobne, nasz router z reguły nie otrzymuje zewnętrznego adresu IP. W tym przypadku jesteśmy za tak zwanym NAT’em operatora lub też podwójnym NAT’em, co uniemożliwia nam prawidłowe przekierowanie połączeń przychodzących na nasz router. Mimo że będziemy mogli ustawić domenę, to i tak nie będziemy mogli się połączyć z naszym VPN’em. 

Nie każdy operator stosuje tego typu rozwiązania (w UK prawie każdy), więc warto sprawdzić. W tym celu możemy użyć rozwiązania online tj. [Port Forwarding Tester](https://www.yougetsignal.com/tools/open-ports/). Na naszym routerze musimy w regułach zapory sieciowej (**Firewall**) otworzyć dowolny port i sprawdzić, czy ta strona widzi go jako otwarty. Jeżeli tak, to istnieje duża szansa, że wszystko będzie działać. 

Zaczynamy...

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

---

## Instalacja niezbędnych pakietów

W tym celu możemy to zrobić z poziomu przeglądarki (**System** > **Software**), odświeżając listę pakietów (**Update lists**) i instalując **luci-app-ddns**.

Z poziomu terminala SSH możemy to zrobić w następujący sposób:

```bash
apk update
apk add luci-app-ddns
```

Instalując pakiet **lubi-app-ddns** automatycznie zainstalowany zostanie pakiet podstawowy do obsługi DDNS, czyli **ddns-scripts**.

Następnie musimy zainstalować pakiet do obsługi DDNS przez Cloudflare **ddns-scripts-cloudflare**. Dokonujemy tego z poziomu przeglądarki w analogiczny sposób lub terminala:

```bash
apk add ddns-scripts-cloudflare
```

Oprócz Cloudflare dostępne są pakiety dla różnych usług. Listę tych dostępnych znajdziecie [tutaj](https://openwrt.org/docs/guide-user/services/ddns/client).

Po pomyślnej instalacji i odświeżeniu naszego panelu administracyjnego w przeglądarce internetowej, w sekcji Usług (**Services**) zobaczymy opcję dynamicznego DNS (**Dynamic DNS**), do której przechodzimy.

[![OpenWrt > Services > Dynamic DNS](openwrt-ddns-screen01.png)](openwrt-ddns-screen01.png)

Jako że obecnie cała komunikacja, w tym odświeżanie adresu IP odbywa się przez bezpieczne połączenie HTTPS (SSL), a domyślnie wbudowane opcje na naszym routerze nie wspierają tego w pełni, w związku z tym należy zainstalować również zewnętrzny pakiet **wget** lub **curl**. Może okazać się, że **curl** posiadacie już w systemie (pakiet **ddns-scripts** instaluje go domyślnie), w związku z tym nie ma potrzeby instalacji **wget** (który z reguły też jest dostępny w systemie).

* * *

## Ustawienie domeny na Cloudflare

Na tym etapie ustawimy naszą domenę dla naszego routera. Zakładając, że posiadamy domenę **mojadomena.cosik**, nasz router będzie używać pod-domeny (sub-domeny) **vpn.mojadomena.cosik**.

[Logujemy się na nasze konto Cloudflare](https://dash.cloudflare.com/login) i wybieramy naszą domenę.

W zakładce DNS dodajemy nowy rekord (+ Add Record).

[![Cloudflare > DNS Management > Add record](openwrt-ddns-screen02.png)](openwrt-ddns-screen02.png)

Wybieramy rekord typu **A**, wprowadzamy nazwę naszej sub-domeny **vpn** oraz wstawiamy adres IP. Tutaj możemy ustawić, co chcemy.

Zalecam **NIE** wstawianie naszego aktualnego adresu IP, gdyż musimy się upewnić, że nasza aplikacja działa i po zakończeniu ustawiania, adres IP zostanie podany przez nasz router. Wówczas będzie on taki jak trzeba.

Klikamy również na ikonę chmurki Cloudflare i z **Proxied** ustawiamy na **DNS only**.

[![Cloudflare > DNS Management > Add record > A](openwrt-ddns-screen03.png)](openwrt-ddns-screen03.png)

W momencie, gdy wykonamy **ping** na naszą domenę będziemy widzieli odpowiedź z przypisanego adresu IP, a nie adresu z usługi Cloudflare. W przypadku VPN polecam pozostawienie tego w trybie **DNS only**. 

To jeszcze nie wszystko…

Nim przejdziemy do konfiguracji naszego routera potrzebujemy dane do komunikacji i uwierzytelnienia pomiędzy routerem a Cloudflare. W tym przypadku nie używamy nazwy użytkownika i hasła tylko API. W tym celu potrzebować będziemy nasz klucz API (**API keys**), które znajdziemy w ustawieniach naszego profilu (**My Profile**), w sekcji tokeny API (**API Tokens**).

[![Cloudflare > My Profile](openwrt-ddns-screen04.png)](openwrt-ddns-screen04.png)

[![Cloudflare > API Tokens > Global API key](openwrt-ddns-screen05.png)](openwrt-ddns-screen05.png)

Następnie klikamy na przycisk **View** (zobacz) przy **Global API key** (będziemy potrzebowali ponownie wprowadzić hasło do Cloudflare). W następnym oknie otrzymamy klucz, który kopiujemy i zapisujemy na boku, gdyż będzie nam potrzebny na dalszym etapie.

Wracamy do naszego routera…

* * *

## Konfiguracja

Przechodzimy do konfiguracji. Dla wygody odbywać się będzie przez przeglądarkę internetową (**Services > Dynamic DNS**).

[![OpenWrt > Dynamic DNS > Edit](openwrt-ddns-screen06.png)](openwrt-ddns-screen06.png)

Na tym etapie skupimy się na ustawieniu naszego adresu IPv4, więc edycję rozpoczniemy od **myddns_ipv4**.

Oczywiście, Cloudflare obsługuje również DNS po IPv6 i jeżeli nasz usługodawca dostarcza nam również tą pulę adresową, warto dodać odpowiednią domenę z rekordem typu **AAAA**.

Klikamy przycisk edytuj (**Edit**), przy **myddns_ipv4** lub tworzymy nową konfigurację, wprowadzając jej nazwę i klikając przycisk dodaj (**Add**).

W moim przypadku utworzyłem **cloudflare_ipv4**.

W pierwszym kroku przechodzimy do sekcji **DDNS Service provider** i wybieramy **cloudflare.com-v4**. Możemy zostać poproszeni o potwierdzenie zmiany (**Really change DDNS provider?**), co potwierdzamy klikając w przycisk **Change provider**.

[![OpenWrt > Dynamic DNS > details for cloudflare_ipv4](openwrt-ddns-screen07.png)](openwrt-ddns-screen07.png)

Następnie zaznaczmy naszą usługę jako włączoną (**Enabled**).

W **Lookup Hostname** wprowadzamy naszą domenę **vpn.mojadomena.cosik**

W sekcji domena (**Domain**), wprowadzamy to, co powyżej, z tym wyjątkiem zamiast kropki oddzielającej domenę główną od sub-domeny wprowadzamy symbol **@** jak w adresie e-mail tj. **vpn@mojadomena.cosik**

W polu nazwy użytkownika (**Username**) wprowadzamy nasz email do usługi Cloudflare.

W polu hasła (**Password**) wklejamy nasz klucz API (**Global API key**).

Ustawienie bezpiecznego połączenia HTTPS (**Use HTTP Secure**), **na chwilę obecną** pozostawiamy **nie** włączoną.

[![OpenWrt > Dynamic DNS > details for cloudflare_ipv4 - Basic Settings - Part 1](openwrt-ddns-screen08-1.png)](openwrt-ddns-screen08-1.png)

[![OpenWrt > Dynamic DNS > details for cloudflare_ipv4 - Basic Settings - Part 2](openwrt-ddns-screen08-2.png)](openwrt-ddns-screen08-2.png)

Przechodząc do ustawień zaawansowanych naszej konfiguracji (**Advanced Settings**), musimy ustawić, jak program będzie sprawdzać nasz zewnętrzny adres IP oraz jak zewnętrzny adres IP będzie określany.

> Tutaj istnieje kilka opcji.
>
> Jeżeli nasz router widzi zewnętrzny adres IP z poziomu interfejsu (**Network > Interfaces**) to wystarczy wybrać opcję interfejs (**Interface**). W przypadku gdy w interfejs ma przypisany prywatny adres IP, na przykład 192.168.8.2, wówczas musimy użyć innych opcji do określenia adresu IP. Poniżej opiszę metodę z opcją **URL**.
>
> Dla osób, które używają DDNS wraz z mwan3 (zobacz wpis: [Dodanie drugiego połączenia internetowego do routera z OpenWrt](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/)), odsyłam [do innego punktu tego artukułu](#obsługa-wielu-połączeń-internetowych-z-ddns-gdy-powyższe-rozwiązanie-nie-działa), w którym opiszę inną metodę pobrania zewnętrznego adresu IP z wykorzystaniem skryptu (**Script**).

W przykładzie z opcją **URL** posłużymy się stroną [**checkip.dyndns.com**](http://checkip.dyndns.com).

W sekcji **IP address source** wybieramy **URL** oraz w **URL to detect** wprowadzamy: [http://checkip.dyndns.com](http://checkip.dyndns.com) (o ile nie jest już domyślnie wprowadzony).

> Upewnij się, że adres jest **http** a nie **https**.

W części **Event Network** wybieramy, przez który interfejs sieciowy będzie odbywać się komunikacja w celu wykrycia zewnętrznego adresu IP. W moim przypadku, gdy posiadam dwa połączenia (**wan** oraz awaryjne **4g**), wybrałem **wan**.

[![OpenWrt > Dynamic DNS > details for cloudflare_ipv4 - Advances Settings](openwrt-ddns-screen09.png)](openwrt-ddns-screen09.png)

Resztę zostawiamy bez zmian i klikamy Zapisz i Zastosuj (**Save & Apply**).

Teraz wystarczy włączyć naszą usługę używając przycisku **Start**.

[![OpenWrt > Dynamic DNS > Overview](openwrt-ddns-screen10.png)](openwrt-ddns-screen10.png)

W momencie, gdy nasza usługa działa, otrzymamy informację w pozycji **Last update**, kiedy adres został odświeżony. Częstotliwość odświeżania ustawiamy w sekcji **Timer Settings** w ustawieniach naszej konfiguracji (dostosowujemy w miarę naszych potrzeb).

[![OpenWrt > Dynamic DNS > Overview - service started](openwrt-ddns-screen11.png)](openwrt-ddns-screen11.png)

Aby sprawdzić, czy aby na pewno wszystko działa, możemy wykonać komendę **ping**

```bash
ping vpn.mojadomena.cosik
```

Lub zalogować się w panelu administracyjnym Cloudflare i sprawdzić, jaki adres IP widnieje przy naszym rekordzie.

Teraz, w momencie, gdy nasz adres ulegnie zmianie, nasz skrypt automatycznie sprawdzi nasz zewnętrzny adres IP. W momencie, gdy jest taki sam, jak widniejący w ustawieniach Cloudflare, będzie czekał na następną próbę. Gdy adres IP będzie inny, niż ten w Cloudflare zostanie on automatycznie odświeżony.

Ale to jeszcze nie wszystko…

* * *

{{% ads-in-article %}}

## Komunikacja przez bezpieczne połączenie HTTP (SSL)

W momencie ustawienia naszej konfiguracji pominąłem sekcję **Use HTTP Secure**.

W momencie, gdy chcemy aby nasze odświeżenie adresu IP i cała konfiguracja pomiędzy naszym routerem a Cloudflare odbywała się w sposób bezpieczny/szyfrowany (wysoce zalecane!), musimy jeszcze ustawić kilka rzeczy.

W pierwszej kolejności zatrzymujemy naszą usługę, którą włączyliśmy powyżej, klikając na przycisk **PID: xxxx**.

> W momencie, gdy usługa jest zatrzymana, zalecam przejść na Cloudflare i w ustawieniach DNS zmienić adres IP  naszego aktualnego, jeszcze raz na jakiś wymyślony tj. 123.123.123.123. Wówczas, po poprawnych zastosowaniu poniższych kroków będziemy w łatwy sposób zweryfikować, czy wszystko działa a adres IP się odświeża.

Na następnym etapie możemy zainstalować pakiet **ca-certificates** z poziomu panelu sterowania lub terminala, **jednakże nie zawsze to działa** tak jak należy, w związku z tym użyjemy inną metodę.

Z poziomu terminala wykonujemy następującą komendę:

```bash
mkdir -p /etc/ssl/certs
curl -k -o /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem
```

W przypadku gdy na początku zdecydowaliśmy się na wykorzystanie **wget** zamiast **curl**, powyższa komenda powinna zostać zastąpiona następującą:

```bash
mkdir -p /etc/ssl/certs
wget  --no-check-certificate -O /etc/ssl/certs/ca-certificates.crt http://curl.se/ca/cacert.pem
```

> Curl jest dobrą metodą na aktualizację certyfikatów. Jeżeli uruchamiamy ją po raz pierwszy, gdy w systemie nie mamy żadnych certyfikatów, wówczas może ona zwrócić błąd. W związku z tym warto jest wykorzystać `wget` na początku a później polegać na `curl`.

Następnie sprawdzamy, czy wszystko działa i nie mamy żadnych błędów przy pomocy komendy:

```bash
curl -I -v https://google.com
```

Jeżeli mamy błąd typu:

```
* Error reading ca cert file /etc/ssl/certs/ca-certificates.crt - mbedTLS: (-0x2180) X509 - The CRT/CRL/CSR format is invalid, e.g. different type expected
curl: (77) Error reading ca cert file /etc/ssl/certs/ca-certificates.crt - mbedTLS: (-0x2180) X509 - The CRT/CRL/CSR format is invalid, e.g. different type expected
```

Prawdopodobnie certyfikaty zostały poprane niepoprawnie przez **curl**. W tym wypadku zalecam pobranie ich przy pomocy metody z **wget**.

* * *

Przechodzimy do konfiguracji naszego wcześniej ustawionej konfiguracji **cloudflare_ipv4** w **Dynamic DNS**.

Klikamy przycisk edytuj (**Edit**).

W zakładce podstawowej (**Basic Settings**) zaznaczamy **Use HTTP Secure** i klikamy Zapisz i Zastosuj (**Save & Apply**).

Włączamy naszą konfigurację używając przycisku **Start** (tak jak poprzednio).

Sprawdzamy, czy nasz adres IP się odświeżył tak, jak w poprzednim kroku. Jeżeli wszystko wykonaliśmy prawidłowo, wszystko powinno działać i powinniśmy zobaczyć nasz adres IP.

**Na tym etapie można skończyć.**

* * *

Jeżeli ustawiałeś dodatkowe połączenie internetowe [zgodnie z moim wpisem](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/), przeczytaj dalej, jak poprawnie ustawić reguły, aby odświeżenie IP odbywało się tylko przez połączenie, które mamy do tego przeznaczone.

* * *

## Obsługa wielu połączeń internetowych z DDNS

Jeżeli konfigurowałeś twój router do obsługi dwóch (lub więcej) połączeń internetowych, szczególnie w trybie, gdy podstawowe zawiedzie awaryjne (4G w moim przypadku), automatycznie jest uruchamiane, możesz nie chcieć, aby domena **DDNS** przypisana była do adresu IP z drugiego połączenia, szczególnie gdy to drugie nie ma bezpośredniego, zewnętrznego adresu IP.

W tym przypadku musimy nieco zmodyfikować nasze **Policies** oraz **Rules** w **mwan3**.

Najpierw dodajemy politykę **Policy**, która używać będzie tylko głównego połączenia. W moim przypadku nazwałem je **wan_only** i ustawiłem **Members used** tylko **wan_m1_w1**.

[![OpenWrt DDNS - supplement - MWAN Policies](openwrt-ddns-screen-supp1.png)](openwrt-ddns-screen-supp1.png)

Dalej w **Rules** dodałem regułę nazwaną **ddns**.

W jej ustawieniach sprecyzowałem tylko **Destination address** na **checkip.dyndns.com** oraz przypisałem Policy (**Policy assigned**) na **wan_only.**

Pozostało tylko przesunięcie reguły **ddns** na samą górę listy, aby była w pierwszej kolejności używana.

[![OpenWrt DDNS - supplement - MWAN Rules](openwrt-ddns-screen-supp2.png)](openwrt-ddns-screen-supp2.png)

* * *

## Obsługa wielu połączeń internetowych z DDNS (gdy powyższe rozwiązanie nie działa)

W wersji mwan3 na OpenWrt 22.03 i nowszym, w regule (**Rule**) nie ma możliwości ustawienia adresu domeny (tutaj **checkip.dyndns.com**).

W tym przypadku konfiguracja zwraca problem (**Expecting: valid IP address or prefix**).

W związku z tym nie możemy wykorzystać powyższej metody, ale jest na to rozwiązanie.

Zakładając, że nasze połączenie posiada stały prywatny adres IP (w moim przypadku 192.168.8.2), ustawiając odpowiednią regułę (**Rule**) w mwan3 oraz przygotowując prosty skrypt, który będzie odczytywał nam zewnętrzny adres IP poprzez dany interfejs (w moim przypadku 4G), konfigurujemy stosownie **ddns** aby te restrykcje ominąć.

> W przykładzie z opcją **Script** posłużymy się stroną [**icanhazip.com**](http://icanhazip.com).

Najpierw sprawdźmy, czy możemy poprawnie odczytać adres IP z poziomu terminala następującą komendą:

```bash
curl --interface 192.168.8.2 'http://icanhazip.com'
```

W odpowiedzi powinniśmy odczytać nasz adres IP, tak samo, jak byśmy odwiedzili tą stronę bezpośrednio z poziomu przeglądarki, korzystając z powyższego odnośnika.

Jeżeli wszystko działa, pora na przygotowanie naszego skryptu, który nazwiemy **getIP_4G** i zapiszemy bezpośrednio w folderze **/root**.

```bash
printf "curl --interface 192.168.8.2 'http://icanhazip.com'" > getIP_4G
```

Aby można było go uruchomić, dodajemy prawa uruchamiania oraz uruchamiamy go w celu weryfikacji.

```bash
chmod +x getIP_4G
./getIP_4G
```

Teraz gotowi jesteśmy, aby skonfigurować resztę po stronie routera z poziomu przeglądarki internetowej.

W pierwszej kolejności, w ustawieniach mwan3 (**Network > MultiWAN Manager**) dodajemy regułę (**Rule**), w której jako adres, z którego będziemy się komunikować to adres prywatny naszego interfejsu (w moim przypadku 192.168.8.2). Resztę pozostawiamy domyślnie niewypełnioną, a jako politykę wybieramy komunikację tylko przez nasz docelowy interfejs (w moim przypadku **4Gbackup_only**).

[![MultiWan mwan3 Rule 4G interface](MultiWAN_mwan3_Rule_4G_interface.png)](MultiWAN_mwan3_Rule_4G_interface.png)

Teraz przechodzimy do konfiguracji naszej domeny (**Services > Dynamic DNS**).

Edytując (**Edit**) naszą konfigurację przechodzimy do zakładki ustawień zaawansowanych (**Advances Settings**) i zmieniamy źródło naszego adresu IP (**IP address source**) z wcześniej wybranego **URL** na skrypt (**Script**).

W poniższym polu **Script** wprowadzamy lokalizację naszego skryptu, który utworzyliśmy wcześniej.

```
/root/getIP_4G
```

[![DDNS > Advances Settings > Script > getIP_4G](ddns_advances_settings_script_getIP_4G.png)](ddns_advances_settings_script_getIP_4G.png)

Zapisujemy zmiany (**Save**) oraz potwierdzamy wszystko przyciskiem zapisz i zastosuj (**Save & Apply**).

Jeżeli nasza konfiguracja była już uruchomiona, wówczas klikamy przycisk **Reload** aby ją przeładować, lub przycisk **Start** aby ją uruchomić.

I tak powinniśmy otrzymać nasz zewnętrzny adres IP metodą **Script**.

Aby to sprawdzić, klikając przycisk **Edit**, przechodząc do zakładki **Log File Viewer** i odczytując zapis (klikając **Read / Reread log file**) powinniśmy zobaczyć coś takiego:

```
 104831       : #> /root/getIP_4G >/var/run/ddns/cf_dynamic.dat 2>/var/run/ddns/cf_dynamic.err
 104832       : Local IP '188.30.29.121' detected via script '/root/getIP_4G'
 104832       : Update needed - L: '188.30.29.121' <> R: '123.123.123.123'
 104832       : parsing script '/usr/lib/ddns/update_cloudflare_com_v4.sh'
...
 104835  info : Update successful - IP '188.30.29.121' send
 104835       : Waiting 600 seconds (Check Interval)
```

* * *

## Automatyczna aktualizacja certyfikatów

Tak jak oprogramowanie w OpenWrt, również certyfikaty wymagają co jakiś czas odświeżenia. W zawiązku z tym warto dodać do harmonogramu (**Scheduled Tasks**) komendę, która co jakiś czas (raz w miesiącu) zrobi to za nas.

Przechodząc do **System > Scheduled Tasks** dodajemy następującą linię:

Dla **curl**

```
00 3 1 * * /usr/bin/curl -k --silent --remote-name --time-cond /etc/ssl/certs/ca-certificates.crt -o /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem >/dev/null 2>&1
```

Dla **wget**

```
00 3 1 * * /usr/bin/wget -q --timestamping --no-check-certificate -O /etc/ssl/certs/ca-certificates.crt http://curl.se/ca/cacert.pem >/dev/null 2>&1
```

Spowoduje to, że **curl**/**wget** porówna porównany plik z plikiem pobieranym i jeżeli pobierany plik jest nowszy, zostanie pobrany i zaktualizowany. W przypadku gdy plik jest taki sam, pobieranie zostanie zignorowane do następnego razu.

Wbudowany w OpenWrt **wget** nie posiada opcji sprawdzania czasu (_--timestamping_) dla plików, w tym celu należy zainstalować jego najnowszą wersję:

```bash
apk update
apk add wget
```

Całość uruchomi się **każdego pierwszego dnia miesiąca** o godzinie **3 w nocy**.

* * *

Mam nadzieję, że powyższy wpis okazał się przydatny. Zachęcam do dodania komentarza, jeżeli masz jakiś problem.

Pozdrawiam.

* * *

_Credits_

- [https://openwrt.org/docs/guide-user/services/ddns/client](https://openwrt.org/docs/guide-user/services/ddns/client)  
- [https://www.alphairo.com/2019/09/18/openwrt-18-06-4-ddns-for-cloudflare/](https://www.alphairo.com/2019/09/18/openwrt-18-06-4-ddns-for-cloudflare/)  
- [https://curl.se/docs/caextract.html](https://curl.se/docs/caextract.html)



---
## Kolejne życie leciwego MacBooka
- **URL:** https://dariusz.wieckiewicz.org/kolejne-zycie-leciwego-macbooka/
- **Date:** 2020-04-04
- **Tags:** Blog, A1502, Apple ID, Application Support, bartender, Late 2013, Library, MacBook Pro, macOS, Microsoft Edge, OnyX, PRAM, SMC, TimeMachine

### Content

Ostatnio mój MacBook Pro (model late-2013) zakupiony w kwietniu 2014 roku zaczął dawać mi w kość. Zacząłem doświadczać coraz to nowych problemów z grzaniem się czy zawieszaniem. Konsola błędów systemu MacOS zwracała coraz to nowe błędy, na które rozwiązania próżno szukać w Google. Myślałem już, że to koniec, że po 6 latach przyszła na niego pora.

<!--more-->

O ile grzanie się przy lekkim obciążeniu można jeszcze znieść, to zawieszanie się podczas pracy jest niedopuszczalne. Nie bez powodu zrezygnowałem z laptopa z Windowsem, żeby nagle stracić najważniejszą zaletę posiadania komputera z nadgryzionym jabłkiem — stabilność.

Nie pomagało, przywracanie z kopii zapasowych (TimeMachine), resetowanie PRAM czy SMC. Zabiegi czyszczące przy pomocy [OnyX](https://www.titanium-software.fr/en/onyx.html) i innych narzędzi.

Niepokojące stało się to, że w [konsoli](https://support.apple.com/pl-pl/guide/console/welcome/mac) błędów coraz częściej widniała pozycja z błędem krytycznym kernel’a i związanego z nim rozszerzenia do karty graficznej Intela.

O ile w systemie Windows pomyślałbyś o zainstalowaniu najnowszych sterowników, to w przypadku systemu macOS tak to nie działa. Sterowniki przychodzą z najnowsza wersja systemu i nie zainstalujesz ich samemu, właśnie z powodu stabilności. System mam jak najbardziej aktualny wiec zielono to nie wygląda.

Nim się poddałem, zacząłem rozważać kilka opcji. Jedną z nich każdy może zasugerować, aby zainstalować system od nowa i zacząć od zera. Niestety, to rozwiązanie mi się totalnie nie widzi. Mimo że w obecnej sytuacji wszyscy siedzimy w domu, są lepsze rzeczy do robienia niż siedzenie i ustawianie wszystkiego od zera. Nie jestem masochistą, nie po to robię regularne kopie zapasowe, żeby teraz tracić czas na ustawianie. Zacząłem rozważać inne metody.

I tak natrafiłem na porady różnych osób, sugerujących założenie nowego profilu.

Za pierwszym razem myślałem, że to głupota, gdyż jeżeli jest problem z komputerem, nic to nie da. Szczególnie że konsola błędów wspomina problemu z kartą graficzną, a zawieszanie się j przegrzewanie nie (niespowodowane kurzem w wiatraku) nie wróży nic dobrego. Pomyślałem wiec, jeżeli dam temu rozwiązaniu szanse, jak to zrobić, aby się zbytnio nie napracować i szybko przywrócić wszystko, co potrzebowałem.

Zobaczyłem najpierw, od czego muszę zacząć, co najbardziej potrzebuje, aby moc w miarę normalnie pracować w międzyczasie. I tak padło na przeglądarkę internetową, w moim przypadku [Microsoft Edge](https://bit.ly/edgechrome). Dodatkowo wszystkie usługi chmurowe takie jak Google, Dropbox i inne, oraz co najważniejsze, hasła, czyli [1Password](https://1password.com/).

Utworzyłem wiec nowego użytkownika z uprawnieniami administratora komputera. Nim zacząłem go używać, dodałem do mojego (aktualnego) folderu domowego prawa dostępu dla nowego użytkownika (pełne prawa zapisu i odczytu wraz ze wszystkimi plikami i folderami podrzędnymi). Tyczyło się to również folderu _Library_, w którym to przechowywane są ustawienia poszczególnych aplikacji, w tym Microsoft Edge (w _Application Support_), które to skopiowałem dodatkowo do głównego folderu. Zrobiłem jeszcze zrzuty ekranu pulpitu, dock’a oraz paska zadań, aby wiedzieć, co miałem uruchomione i ustawione w szybkim dostępie.

Wylogowałem się z mojego profilu i zalogowałem się na nowo utworzonym. Dokonałem ustawienia mojego Apple ID i oczach moim ukazał się pulpit, prawie tak, jakbym zaczynał na nowo zainstalowanym systemie. Prawie, gdyż aplikacje miałem już zainstalowane. Plus systemu MacOS jest to, że aplikacje z reguły są oddzielone bardzo dobrze od ustawień użytkownika.

Z poziomu terminala skopiowałem ze starego profilu użytkownika skopiowałem ustawienia Edge, do folderu z ustawieniami nowego użytkownika.

Po pierwszym uruchomieniu przeglądarki wszystko było tak, jak zostawiłem. Nawet rozszerzenie 1Password działało bez problemów.

Nie chciałem przenosić żadnych innych ustawień aplikacji, gdyż może któreś z nich powodują problem ze stabilnością systemu (ograniczyłem to tylko do Edge), w związku z tym, z wykorzystaniem terminala skopiowałem (przeniosłem) ze starego profilu zawartość folderu pulpitu, dokumentów i innych, które przechowuje lokalnie.

I tak w gruncie wszystko było na miejscu.

Bazując na zrzutach ekranowych, przywróciłem ikony do dock’a. Buszując w ustawieniach systemowych, dostosowałem wszystko tak jak miałem poprzednio.

Z internetu pobrałem świeże pakiety instalacyjne usług chmurowych.

Mając już dostęp do przeglądarki i plików (lokalnych i w chmurze), pozostały aplikacje. Zacząłem od aplikacji, które wymagają licencji. Oprócz [Bartender’a](https://www.macbartender.com/) wszystkie inne nie wymagały ode mnie wprowadzania niczego dodatkowego, co znaczy, że licencje są przechowywane gdzieś indziej niż w profilu użytkownika (to dobrze). Ułatwiło mi to zadanie, gdyż wystarczyło włączyć, sprawdzić czy działają i przejść dalej.

I tak po niespełna dwóch godzinach w trybie ekspresowym ustawiłem wszystko tak, jak chciałem.

I mimo że zacząłem na nowym profilu, szybko wszystko wróciło do normy. **No prawie wszystko.**

Po kilku godzinach pracy nie odczułem żadnego przegrzewania się, robiąc te same działania jak na poprzednim profilu. Nie doświadczyłem również żadnego zawieszania się systemu, co dodatkowo mnie zdziwiło.

Nim przeszłem dalej, robiłem świeżą kopie zapasowa komputera z TimeMachine.

Zaciekawiony, czy problemy były spowodowane ścisłe z profilem użytkownika, który jakby nie patrzeć zakumulował pełno plików na przełomie lat oraz przeszedł przez kilka dużych aktualizacji systemu. Odpaliłem wiec konsolę systemu i zobaczyłem tam... **pustkę**. Błędów było tylko kilka, zgłaszanych bardzo rzadko, a żaden z nich nie odnosił się do karty graficznej!

{{% ads-in-article %}}

Każdy system generuje błędy i ostrzeżenia, nawet świeżo zainstalowany. Tutaj jednak było ich naprawdę mało, a wręcz w ogóle.

Konsola na poprzednim profilu przeplatała się pomarańczowymi ostrzeżeniami z dużą ilością czerwonych błędów.

Błędów było generowanych tyle, że zaledwie po kilku minutach musiałeś przejść przez setki linii, aby je wszystkie ogarnąć. Tutaj miałem garstkę tego, co miałem poprzednio.

Niby nic, a jednak. Utworzenie nowego profilu, które myślałem, że będzie bardziej bolesne w związku z koniecznością przenoszenia danych i ustawieniem wszystkiego na nowo nie było takie trudne, a co przede wszystkim, czasochłonne.

Pozbyłem się nieoczekiwanie problemu i znowu na jakiś czas odroczyłem konieczność zmiany komputera.

Zobaczymy, jak będzie teraz, może jeszcze uda się pociągnąć kolejny rok, aż Apple wypuści MacBooka Pro z nowa klawiatura. A może doczekam na nim Mac’a z nowymi procesorami ARM? Pożyjemy, zobaczymy.

Pozdrawiam.


---
## Microsoft Editor na miarę pogromcy Grammarly
- **URL:** https://dariusz.wieckiewicz.org/microsoft-editor-grammarly/
- **Date:** 2020-04-02
- **Tags:** Oprogramowanie, AI, Grammar, Grammarly, Microsoft 365, Microsoft Editor, Office 365, Spelling

### Content

Microsoft jakiś czas temu powiedział, że pracuje nad odpowiednikiem Grammarly, systemu do sprawdzania pisowni i gramatyki dla tych piszących w innych językach.

<!--more-->

Stało się! Po pracach w tle Microsoft wypuścił za darmo swoje narzędzie dostępne dla przeglądarki [Microsoft Edge](https://bit.ly/edgeeditor) (opartej na Chromium), jak również dla samego [Google Chrome](https://bit.ly/chromeedit).

{{< youtube UGjlzG3BC78 >}}

> [Introducing Microsoft Editor – Bring out your best writer wherever you write](https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-microsoft-editor-bring-out-your-best-writer-wherever/ba-p/1247931)

Osobiście używam Grammarly, gdy piszę po angielsku, czy to prywatnie, czy to w pracy. Towarzyszy mi on w przeglądarce internetowej, jak również w aplikacji takiej jak Microsoft Outlook czy Microsoft Word. W obu przypadkach nie zachęciła mnie ich cena subskrypcji, w związku z tym pozostałem w darmowym planie, który i tak oferuje dużo. 

Grammarly oferuje dla mnie sprawdzenie pisowni i podstawowej gramatyki co jest i tak wystarczające. Błędy w pisowni uzupełniane są przez definicje słów oraz ich synonimy, co się szczególnie przydaje. Głównym limitem Grammarly jest rozpoznawanie pisowni tylko w języku angielskim (dialekcie Brytyjskim, Amerykańskim, Australijskim i Kanadyjskim).

Ostatnio jednak aplikacja Grammarly zaczęła powodować dziwne problemy na moim Macu, za każdym razem, gdy ją używałem, powodowała nagrzewanie mojego procesora, co skutkowało rozkręcaniem wiatraka na maksymalne obroty, że już po kilku minutach pracy miałem wrażenie, że mój laptop odleci lub zacznie mnie parzyć. Dlatego też, po usłyszeniu o Microsoft Editor, zacząłem śledzić jego postępy.

Microsoft oferuje dwie wersje swojego edytora. Podstawowa, dla osób z prywatnym kontem Microsoftu bez subskrypcji Office 365 (Microsoft 365) oferuje to, co Grammarly, czyli sprawdzanie pisowni (Spelling) oraz Gramatyki (Grammar).

Już w wersji darmowej, otrzymujemy sprawdzanie pisowni nie tylko w języku angielskim (wielu dialektach), ale również w innych, w tym w języku polskim co jest naprawdę dużą przewagą nad Grammarly!

![Microsoft Editor extension Edge](/images/2020/04/microsoft-editor-extension-edge-min.png)
    
![Microsoft Editor extension Edge languages](/images/2020/04/microsoft-editor-extension-edge-languages-min.png)

Obie aplikacje używają sztucznej inteligencji (AI) do sprawdzania pisowni oraz obie, w ich płatnym odpowiedniku oferują zaawansowane sprawdzanie gramatyki oraz sprawdzenie stylu naszej pisowni (udoskonalenie stylu). W pracy używam subskrypcji Office 365 (Essentials), więc będę mógł wykorzystać zaawansowane funkcje i porównać je, ile są warte w porównaniu z darmową wersją.

Jako że Grammarly dostępny jest na rynku znacznie dłużej, jego AI jest znacznie bardziej rozwinięte. Brakujące _“the”_, _“a”_ czy _“an”_ jest wychwytywane znacznie szybciej i lepiej. To nie znaczy, że edytor Microsoftu nie nauczy się tego. Obie aplikacje zbierają informacje w celu poprawy ich działania. Microsoft Editor informuje o tym w sekcji _Privacy_, czego nie zauważyłem w przypadku Grammarly.

Edytor dostępny jest również w aplikacjach pakietu Office z poziomu przeglądarki internetowej oraz za darmo dla użytkowników poczty [Outlook.com](http://Outlook.com). Na chwilę obecną nie są dostępne rozszerzenia do aplikacji na komputery osobiste, jak również w postaci klawiatury na urządzenia mobilne ([tak jak to jest w przypadku Grammarly](https://apps.apple.com/app/grammarly-keyboard/id1158877342)), którą również używam w obrębie iOS. Podobno ma się to zmienić już niedługo.

**21 Kwietnia** — **data, którą warto zapamiętać.**

Tego dnia Office 365 zmienia się w Microsoft 365 oraz, wg pogłosek, Microsoft Editor powinien być dostępny dla szerokiego grona ludzi, a ja będę oczekiwał dodania dedykowanych rozszerzeń do aplikacji i pakietów Office (prawdopodobnie przyjdzie z najnowszą aktualizacją).

* * * 

{{% ads-in-article %}}

**Aktualizacja 03-08-2020**

I tak trzy miesiące później, i jak na chwilę obecną jestem poniekąd rozczarowany. Microsoft ma potenciał, jednakże brakuje intensywnego rozwoju.

Aplikacja jest wolna.
Jak poprawisz jeden błąd, to musisz poczekać kilkanaście sekund aby podświetlenia pojawiły się ponownie, pokazujące resztę błędów. W przypadku Grammarly jest to niemal natychmiastowe.

Po części możemy winić pandemię w wolny rozwój. Pożyjemy zobaczymy. Póki co, Microsoft Editor jest bardziej ciekawostką a niżeli zagrożeniem dla Grammarly.


---
## Microsoft Edge domyślną przeglądarką, część 2
- **URL:** https://dariusz.wieckiewicz.org/microsoft-edge-domyslna-przegladarka-czesc-2/
- **Date:** 2020-03-28
- **Tags:** Blog, domyślna przeglądarka, Favorites New Tab, google, iOS, iOS 14, MacBook Pro, macOS, Microsoft Edge, Safari

### Content

Mamy rok 2020, a ja nadal używam mojego niezawodnego, nadal aktualizowanego przez Apple (**sic!**) MacBook Pro zakupionego w 2014 roku (model Late 2013). I mimo że coraz bardziej da się odczuć potrzebę na aktualizacje, póki klawiatury motylkowe nie zostaną zastąpione przez nożycowe (tak jak to jest na MacBook Pro 16” w 2019 i MacBook Air ostatnio w Marcu 2020), ciężko jest dowolnie zainwestować niemałe pieniądze w nowy sprzęt, który (ze względu na klawiaturę) nie posłuży tak długo.

<!--more-->

Z każda aktualizacja odczuwam potrzebę na innowacyjność i przyspieszenie. Codzienne narzędzie, jakim jest przeglądarka internetowa, Safari jest w gronie programów, od których oczekiwałbym tej oto innowacyjności, a co za tym idzie przyspieszenia. Bez względu czy pracuje ona na najnowszym Macu, oczekuje od Apple, aby na nadal wspieranych komputerach działała bez zarzutu i przede wszystkim szybko.

To szybkość Safari trzymała mnie w jej ryzach, co niestety zaczęło poniekąd być zaniedbywane, aż nadszedł czas powiedzieć dość.

Microsoft Edge zacząłem testować na MacOS jeszcze wtedy, gdy tylko wersja deweloperska była dostępna na stronie Microsoftu i nawet Google nie uważało jej za konkurenta. Teraz i Google zauważyło problem/zagrożenie dla swojej przeglądarki wyświetlając (niesłusznie) ostrzeżenie na niektórych jej stronach — żałosne. Stabilna wersja Edge jest moja dodatkowa przeglądarka, która staje się coraz częściej podstawową przeglądarką. Na moim „leciwym” Macu widać różnice w prędkości Safari i Edge.

I, mimo że urządzenia z iOS trzymają mnie przy Safari (chociaż aktualnie używam Edge w większości przypadków), w związku z brakiem możliwości ustawienia innej aplikacji jako domyślnej przeglądarki. Pogłoski krążą, że to ma się niedługo zmienić wraz z iOS 14. Będzie to swojego rodzaju ewolucja ze strony Apple, a Edge może zyskać najbardziej.

Całe moje miejsce pracy, sporą część moich znajomych i rodzinę przeniosłem na przeglądarkę Microsoftu i z reguły nie słyszę narzekania. Co więcej, nie słyszę nic — żadnej większej różnicy. W związku z tym, że Microsoft Edge działa i zachowuje się jak Chrome, oprócz ikonki, mało kto zdaje sobie z tego sprawę.

I tak na początku Marca 2020 zacząłem używać Edge na macOS jako domyślną przeglądarkę i niespełna po tygodniu zacząłem używać Edge również na iOS do przeglądania stron. Żeby nie to, że niektóre odnośniki otwierają się w “domyślnej” przeglądarce Safari na iOS, to przejście na Edge byłoby niemalże płynne. 

Oczywiście, nadal brakuje mi moich ikonek na pierwszym ekranie, gdy odpalam przeglądarkę. Gdy w przypadku Edge na komputerach, posłużyłem się [**Favorites New Tab**](https://chrome.google.com/webstore/detail/favorites-new-tab-page/kjkbcegjfanmgocnecnngfcmmojheiam) z **chrome web store**, to w przypadku aplikacji mobilnej nie ma możliwości (na razie) instalacji rozszerzeń — na szczęście **AdBlock Plus** jest domyślnie wbudowany. 

Jednakże ponownie nauczyłem się używać pola wyszukiwarki, zamiast (jak to było w Safari), rozpoczynać wyszukiwanie z paska adresu. Dodatkowo Microsoft na mobilnym Edge, tuż pod polem wyszukiwarki oferuje możliwość dodania stron najczęściej odwiedzanych, co pozwoliło mi dodać kilka priorytetowych odnośników.

Niestety, nie wszystko jest jeszcze na ukończeniu. Synchronizacja pomiędzy urządzeniami, w wersji stabilnej, ograniczona jest do Ulubionych, Ustawień przeglądarki, Adresów i Haseł (tego akurat nie używam na korzyść 1Password). Brakuje tego, co każdy by oczekiwał, czyli między innymi Rozszerzenia oraz historia przeglądania.

Przeglądarka na komputerze również nie zachowuje się tak samo, jak na urządzeniu przenośnym (gdyż nie są to te same przeglądarki). Po ustawieniu Google jako domyślnej wyszukiwarki, pasek wyszukiwarki na stronie startowej na urządzeniu mobilnym reaguje, tak jak powinien, niestety w przypadku “tego samego” paska na komputerze, nadal stwierdza, że “bing” jest jedynym rozsądnym rozwiązaniem. Sorry Microsoft, ale twój Bing jest do bani.

![Microsoft Edge iOS](/images/2020/03/microsoft_edge_ios-min.png)
    
![Microsoft Edge macOS](/images/2020/03/microsoft_edge_macos-min.png)

Co więcej, jak już wspomniałem powyżej, przyciski z najczęściej odwiedzanymi, lub też, przypiętymi stronami (jak kto woli), nie synchronizują się pomiędzy przeglądarkami.

Cenię sobie również możliwość, jaką daje mi rozpoczęcie przeglądania na komórce a kontynuowanie na dużym ekranie. W przypadku komputerów z jabłkiem i Microsoft Edge wszystko działa, jak należy dzięki **[Continuity](https://www.apple.com/macos/continuity/)** od Apple. Wersja na PC posiada również opcję w menu (**Continue on PC**). Gorzej jest jednak w drugą stronę, gdy chcesz kontynuować czytanie otwartej zakładki na urządzeniu mobilnym. W przypadku Safari wystarczy przejść w tryb zakładek i na dole zobaczymy te, otwarte na komputerze, dzięki czemu możemy szybko przejść do strony, którą czytaliśmy. No cóż, nie oszukujmy się, nie wszystko jest jeszcze dopracowania.

Zapewne, gdyby nie obecna sytuacja na świecie z pandemią, wszystko rozwinęłoby się szybciej, gdyż w wersjach deweloperskich jest już nieco więcej dostępne, to nie znaczy, że nie warto pomyśleć na częstszym używaniem Edge do przeglądania internetu. Wręcz przeciwnie. Mimo kilku niuansów product od Microsoftu podbija rynek. Czekać tylko, aż zostanie serwowany domyślnie z Aktualizacji systemu Windows, zastępując wbudowaną wersję bezpowrotnie.

Jeżeli jeszcze nie spróbowałeś Microsoft Edge, [zachęcam do instalacji](https://bit.ly/edgechrome).

Pozdrawiam.

{{% ads-in-article %}}


---
## Dodanie drugiego połączenia internetowego do routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/
- **Date:** 2020-03-21
- **Tags:** 4g, ASUS RT-AC57U, luci-app-mwan3, mwan3, OpenWrt, SMARTY, ZTE MF823

### Content

W zależności, gdzie używamy naszego routera, możemy być w sytuacji, że potrzebujemy mieć plan awaryjny, w przypadku gdy nasze podstawowe połączenie internetowe przestanie działać.

<!--more-->

Osobiście znalazłem się w sytuacji, w której moje główne łącze internetowe stało się zawodne. Pomimo wysokiej prędkości, jego brak niezawodności doprowadzał mnie do szału (w czasie pandemii korzystałem z Virgin Media), więc pomyślałem o wprowadzeniu dodatkowego łącza zapasowego. To dodatkowe połączenie odbywa się za pośrednictwem modemu 4G podłączonego przez port USB do mojego routera i opiera się na zasadzie, że gdy główne łącze przestaje działać, cały ruch jest automatycznie przekierowywany na łącze awaryjne.

W tym celu wykorzystam mój router **ASUS RT-AC57U** (w chwili aktualizacji tego posta korzystam z modelu GL-MT6000 Flint 2) z oprogramowaniem OpenWrt i modemem USB **ZTE MF823** (pierwotnie od BT, ale ze zmodyfikowanym oprogramowaniem układowym i w pełni odblokowanym).

Co więcej, jako że ten modem ma możliwość podłączenia zewnętrznych anten, wyposażyłem go również w nie, aby nieco wzmocnić sygnał. Całość będzie używać operatora [SMARTY](https://smarty.co.uk/), który bazuje na infrastrukturze sieci **3** w Wielkiej Brytanii.

I chociaż sieć 3 i jej zasięg nie są najlepsze (nigdy nie były), to jeśli działa w mojej lokalizacji i oferuje nieograniczony transfer danych za przyzwoitą cenę, to nie jest tak źle.

**A więc zaczynamy…**

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

* * *

## Podłączenie modemu 4G przez USB do naszego routera

W pierwszej kolejności musimy zainstalować niezbędne pakiety. Możemy to zrobić przy pomocy graficznego interfejsu z poziomu przeglądarki internetowej (**System > Software**) lub z poziomu terminala SSH przy pomocy następującej komendy:

```bash
apk update
apk add kmod-usb-net-rndis kmod-usb-net kmod-usb2 usb-modeswitch kmod-usb-net-cdc-ether
```

Następnie aktywowaną kartę SIM wkładamy do naszego modemu i podłączamy modem do portu USB naszego routera.

Za pomocą komendy **dmesg** sprawdzamy, czy system wykrył nowe urządzenie, w moim przypadku:

```
[1383.238310] usb 1-2: new high-speed USB device number 2 using xhci-mtk
[1388.676158] usb 1-2: USB disconnect, device number 2
[1389.358290] usb 1-2: new high-speed USB device number 3 using xhci-mtk
[1389.586108] rndis_host 1-2:1.0 usb0: register 'rndis_host' at usb-1e1c0000.xhci-2, RNDIS device
```

Z poziomu przeglądarki internetowej przechodzimy do **Network > Interfaces** na naszym routerze i dodajemy nowy interfejs (**Add new interface**).

W przypadku mojego modemu, który wykrywany jest jako karta sieciowa przez USB, wprowadzam nazwę **4G**, wybieram protokół (**Protocol**) **DHCP client** oraz interfejs (**Interface**) **usb0**.

> Niektóre modemy mogą być wyświetlane jako karta sieciowa **eth2** zamiast **usb0**.

![OpenWrt Add Interface](4g-screen01-openwrt-add-interface.png)

W następnym kroku pozostawimy wszystko domyślnie, a skupimy się tylko na ustawieniach zapory sieciowej (**Firewall Settings**), gdzie dodamy nasz **wan**, **wan6**. Po czym zapisujemy zmiany i na następnym kroku klikamy Zapisz i Zastosuj (**Save & Apply**).

![OpenWrt Interfaces Firewall Settings](4g-screen02-openwrt-interfaces-firewall-settings.png)

Jeżeli wszystko wykonaliśmy prawidłowo, nasze połączenie powinno być aktywne.

![OpenWrt Network Interfaces 4G](4g-screen03-openwrt-network-interfaces-4g.png)

Na tym etapie możecie ustawić w regułach zapory sieciowej (**Firewall**) jakie połączenia, porty, adresy IP mają korzystać z tego, a nie innego połączenia internetowego (interfejsu).

W moim przypadku, jak wspomniałem na początku, chcę ustawić możliwość używania dwóch połączeń, z czego, to po **4G** będzie aktywowane, gdy podstawowe siądzie.

Nim przejdziemy dalej, sprawdzamy czy nasze połączenie działa:

```bash
ping -c 1 -I usb0 1.1.1.1
```

I idziemy dalej...

* * *

## Używanie wielu połączeń internetowych

W tym celu potrzebujemy pakiet **mwan3** oraz aplikację, dodającą możliwość zarządzania przez przeglądarkę internetową **luci-app-mwan3**.

Jak powyżej, możemy je zainstalować z **System > Software** lub z poziomu terminala SSH:

```bash
apk update
apk add mwan3 luci-app-mwan3
```

Podstawową funkcją **mwan3** jest nie tylko możliwość używania równoległego (**load balancing**) obu połączeń internetowych, ale również monitorowanie każdego z połączeń. W momencie, gdy jedno z połączeń przestanie działać, ruch internetowy przekierowywany jest na to, które działa i to jest opcja, której potrzebuje najbardziej.

Po zainstalowaniu ww. pakietów otrzymamy dodatkową opcję w menu **Network > Load Balancing** (lub **MultiWAN Manager**).

![OpenWrt Network Load Balancing (MultiWAN Manager)](4g-screen04-openwrt-network-load-balancing.png)

W pierwszej kolejności musimy skonfigurować nasze interfejsy (**Interfaces**), dodając **4G** (tutaj używamy nazwy ustawionej w **Network > Interfaces)**.

![OpenWrt Load Balancing (MultiWAN Manager) Interfaces](4g-screen05-openwrt-load-balancing-interfaces.png)

Po dodaniu **4G**, w nowej zakładce interfejsu (**Interface**), zaznaczamy nasz interfejs jako włączony (**Enabled**) oraz w polach **Tracking hostname or IP address** wprowadzamy adresy DNS 1.1.1.1 oraz 1.0.0.1. Dzięki temu nasz router będzie sprawdzał, czy nasz interfejs działa. W momencie, gdy nie działa, ruch nie będzie na niego kierowany.

![OpenWrt Load Balancing (MultiWAN Manager) Interfaces 4G](4g-screen06-openwrt-load-balancing-interfaces-4g.png)

Warto również wyedytować nasz interfejs **wan** oraz **wan6** które domyślnie ma ustawione do sprawdzania aktywności serwery Google oraz Cloudflare.

![OpenWrt Load Balancing (MultiWAN Manager) Interfaces](4g-screen07-openwrt-load-balancing-interfaces-wan.png)

W przypadku **wan** ustawiamy

```
1.1.1.1
8.8.8.8
1.0.0.1
8.8.4.4
```

W przypadku **wan6** (opcjonalne) ustawiamy

```
2606:4700:4700::1111
2001:4860:4860::8888
2606:4700:4700::1001
2001:4860:4860::8844
```

Oprócz sekcji opisanych powyżej, w opcjach zobaczymy również:

**Tracking method** — sposób, w jaki określane jest, czy interfejs działa, czy nie. Domyślnie zostawiamy na **ping**.

**Tracking reliability** — określa, ile adresów zdefiniowanych w sekcji **Tracking hostname or IP address** musi odpowiedzieć pozytywnie, aby uznane było, że interfejs działa. Domyślnie zostawiamy na **1**.

**Ping count** — określa, ile zapytań **ping** ma zostać wysłanych w jednym teście. Zostawiamy na **1**.

Jeżeli odpowiedź na **ping** trwa bardzo długo, po jakim czasie ma zostać przerwane — to określa **Ping timeout**. Natomiast jak często **ping** ma byś powtórzony określa **Ping interval**. W przypadku, gdy **ping** zakończy się powodzeniem, po jakim czasie ma być zapytanie ponowione określa **Failure interval**. Te trzy opcje w moim przypadku ustawiłem odpowiednio **2/5/1** dla **wan** oraz **4G**. W przypadku, gdy interfejs oznaczony zostanie jako niedziałający (**Offline**), po jakim próba sprawdzenia aktywności i przywrócenia stanu jeżeli okaże się, że interfejs działa, określa **Recovery interval** — w moim przypadku ustawiłem **3** sekundy.

Pozostały nam jeszcze dwie opcje, które warto przemyśleć, a mianowicie **Interface down** oraz **Interface up**. 

**Interface down** określi, po ilu błędach przy wykonaniu **ping** interfejs uznany jest za niedziałający (**Offline**), analogicznie **Interface up** po ilu prawidłowych odpowiedziach **ping** uznany zostanie za działający. W moim przypadku jako że **wan** uznany jest za bardziej stabilny (sic!), a **4G**, nawet gdy działa, może zgłaszać błąd, nawet gdy wszystko działa, ustawiłem 4/6 (**wan**) oraz 6/8.  

Oprócz tego musimy jeszcze sprecyzować, który interfejs jest podstawowy, a który dodatkowy (awaryjny). Dokonujemy tego przy pomocy opcji **Metrics** w ustawieniach podstawowych interfejsów. W moim przypadku **wan** ustawiłem na **10** a **4G** na **50**. Zmiany tej dokonujemy z poziomu **Network > Interfaces** edytując ustawienia poszczególnych interfejsów.

Wszystko potwierdzamy klikając Zapisz i Zamknij (**Save & Apply**).

* * *

Ja zapewne zauważyłeś, **Load Balancing** (**MultiWAN Manager**) zawiera również zakładkę **Members**, **Policies** oraz **Rules**, które musimy odpowiednio ustawić, w zależności co chcemy osiągnąć.

### Members

Tutaj ustawiamy nasze interfejsy z dodatkowym podziałem na to, który jest ważniejszy od drugiego (podobnie jak ustawiliśmy wcześniej). I tak w moim przypadku, gdy chcę osiągnąć automatyczne używanie **4G** w momencie, gdy moje podstawowe połączenie wysiądzie, dodałem dwa wpisy:

![OpenWrt Load Balancing (MultiWAN Manager) Members](4g-screen08-openwrt-load-balancing-members.png)

### Policies

Tutaj łączymy nasze powyższe ustawienia w sposób, w jaki mają działać - czyli najpierw **wan** a w przypadku problemów **4G**.

![OpenWrt Load Balancing (MultiWAN Manager) Policies](4g-screen09-openwrt-load-balancing-policies.png)

{{% ads-in-article %}}

### Rules

Jak sama nazwa mówi za siebie, ustawiamy tutaj reguły odnośnie transferu. Który transfer ma byś przekazywany przez który interfejs. Domyślnie otrzymujemy zdefiniowane reguły odnośnie do szyfrowanego ruchu www (**https**) oraz wszystkiego innego.

W moim przypadku ustawię jedną regułę domyślną (**default**).

Żeby zbytnio wszystkiego nie opisywać, skupimy się na protokole(**Protocol**), który ustawimy na wszystkie (**all**); **Policy assigned** ustawiamy na **wan_4G**.

![OpenWrt Load Balancing (MultiWAN Manager) rules](4g-screen10-openwrt-load-balancing-rules.png)

Aby wszystkie opcje zostały prawidłowo wprowadzone, uruchamiamy ponownie nasz router lub wykonujemy następujące komendy w terminalu:

```bash
/usr/sbin/mwan3 restart
/etc/init.d/network restart
/etc/init.d/firewall restart
```

Jeżeli chcemy zobaczyć jak wszystko działa sprawdzamy **Status > Load Balancing** (**MultiWAN Manager**). 

![OpenWrt Load balancing (MultiWAN Manager) status interface](4g-screen11-openwrt-load-balancing-status-interface.png)

![OpenWrt load balancing (MultiWAN Manager) status detail](4g-screen12-openwrt-load-balancing-status-detail.png)

* * *

Powyższa konfiguracja nie wyczerpuje możliwości konfiguracji **mwan3**. Możemy ustawić również, aby połączenie **wan** oraz **4G** były używane równolegle, lub też przekierować (przy pomocy odpowiedniej reguły **Rules**) poszczególny ruch w sieci przez wyspecjalizowany interfejs. Zastosowań jest mnóstwo, a ja skupiłem się tylko na moim celu.

Należy pamiętać, że gdy zdecydujemy się na podpięcie dynamicznego DNS (domeny do naszego zmiennego IP), aby sprecyzować odpowiednią regułę, aby aktualizacja adresu IP odbywała się tylko przez interfejs, który do tego celu używamy.

Jeżeli jesteś zainteresowany innymi przykładami, zachęcam do odwiedzenia wpisu [braian87b/mwan3-notes.md](https://gist.github.com/braian87b/97a186b2e11b5aa438d8fd17de0eab20) oraz szczegółowego przykładu konfiguracji [braian87b/mwan-config.sh](https://gist.github.com/braian87b/.20a920e7aabdd495afc861c2a22c).

* * *

Credits:  
**[Failover to LTE using mwan3](https://doc.turris.cz/doc/en/howto/multiwan)**  
**[Connect 4G USB modem to WRT2200](https://forum.openwrt.org/t/connect-4g-usb-modem-to-wrt2200/43766)**


---
## Zabezpieczenie routera z OpenWrt
- **URL:** https://dariusz.wieckiewicz.org/zabezpieczenie-routera-openwrt/
- **Date:** 2020-03-08
- **Tags:** Sprzęt, https, OpenWrt, opkg, passwd, port 22, root, ssh, uhttpd, UPnP

### Content

A więc zdecydowałeś się zmienić oprogramowanie na twoim routerze z tego, dostarczonego przez twojego producenta sprzętu, na bardziej otwarte i bezpieczniejsze oprogramowanie OpenWrt. **Gratulacje!**

<!--more-->

Jednakże samo to, że zdecydowałeś się podnieść bezpieczeństwo twojego urządzenia, nie znaczy, że możesz spocząć na laurach. Jak każde oprogramowanie, w tym OpenWrt co jakiś czas też jest aktualizowane, głównie w przypadku wykrycia luk w bezpieczeństwie oraz problemów, które mogą powodować niestabilne działanie naszego urządzenia.

Jak każde urządzenie sieciowe, wymaga one nieco zabiegów na początku konfiguracji, aby podnieść jego bezpieczeństwo.

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Hasło użytkownika root

Nasz router domyślnie używa konta z najwyższymi uprawnieniami w systemie — **root**. Jego zabezpieczenie powinno być dla nas priorytetem. Przy pierwszym logowaniu na nowo zainstalowane oprogramowanie OpenWrt zostaniemy poproszeni o jego zmianę, jeżeli jednak to zignorowaliśmy lub ustawiliśmy hasło typu **admin**, jak najszybciej zmieńmy je na unikalne, znane tylko nam samym. Haker, który będzie miał okazję włamać się do waszej sieci, w pierwszej kolejności sprawdzi najbardziej popularne oraz domyślne hasła stosowane na routerach.

Aby zmienić hasło użytkownika, przechodzimy do **System > Administration**, gdzie, w pierwszej zakładce **Router Password** możemy ustawić bezpieczne hasło.

Zmiany hasła możemy też dokonać, łącząc się z naszym routerem przez SSH i wykonując komendę:

```bash
passwd
```

[![OpenWrt System Administration router password](openwrt-system-administration-router-password.png)](openwrt-system-administration-router-password.png)

* * *

## SSH

Będąc w **System > Administration** warto również zajrzeć do zakładki **SSH Access**.

Domyślnie nasz router nasłuchuje na porcie **22** oraz wszystkich dostępnych interfejsach — w tym, który służy do dostępu do internetu. Nie muszę mówić, że posiadanie otworzonego portu **22** dostępnego z internetu to nie jest rozsądne rozwiązanie. Mimo że domyślne reguły Firewall zabezpieczą nas przed możliwością połączenia do SSH naszego routera z internetu, warto jednak domyślne ustawienia pozmieniać.

I tak:  
**Interface** zmieniamy na **LAN** (czyli naszą sieć lokalną)

Oraz:  
**Port** (na którym router będzie nasłuchiwać) zmieniamy na np. **9922** lub dowolnie wybrany przez nas.

[![openwrt system administration ssh access](openwrt-system-administration-ssh-access.png)](openwrt-system-administration-ssh-access.png)

**Zapisujemy i zastosowujemy** zmiany (**Save & Apply**).

* * *

## Panel administracyjny (https)

Dostęp do ustawień naszego routera odbywa się w przyjaznym dla użytkownika graficznym interfejsie z poziomu przeglądarki internetowej. Wystarczy przejść na stronę — adres naszego routera (np. **192.168.1.1**) i zalogować się na nasze konto **root**.

Wszystko jest ładne i piękne, pod warunkiem, że nikt w sieci nie nasłuchuje, na to, co wprowadzamy w przeglądarce, szczególnie, że gdy odwiedzamy nasz panel administracyjny routera, połączenie odbywa się poprzez nieszyfrowany HTTP, przez co nasze hasło, które wprowadzamy, wysyłane jest również w postaci nieszyfrowanej. Wystarczy WireShark i można w łatwy sposób poznać, co wprowadzamy.

W związku z tym warto wprowadzić połączenie z naszym routerem poprzez połączenie szyfrowane HTTPS.

Przechodzimy do **System > Administration**, gdzie, w zakładce **HTTP(S) Access** zaznaczmy **Redirect to HTTPS**.

[![OpenWrt System Administration HTTP(S) Access](openwrt-system-administration-https-access.png)](openwrt-system-administration-https-access.png)

Jeżeli twój router nie posiada tej zakładki, należy zainstalować stosowny pakiet.

W tym celu, w **System > Software** musimy zainstalować aplikację **luci-ssl** (o ile nie mamy jej już w systemie), lub z poziomu terminala:

```bash
apk update
apk add luci-ssl
```

Jeżeli wykonujemy naszą instalację z terminala, warto po instalacji uruchomić ponownie nasz dostęp przez przeglądarkę internetową, który odbywa się z wykorzystaniem pakietu **uhttpd**.

```bash
/etc/init.d/uhttpd restart
```

Przy pierwszym ponownym uruchomieniu, wygenerowany zostanie bezpieczny certyfikat dostępu przez HTTPS.

Oczywiście, certyfikat, który zostanie wygenerowany, nie jest wystawiony przez żadną zaufaną instytucję, tylko podpisany przez nasz router. Do celów lokalnych, nie stanowi to najmniejszego problemu, jednakże przy połączeniu z naszym routerem przez HTTPS trzymamy ostrzeżenie o niezaufanym certyfikacie.

W przypadku **Safari** możemy kliknąć **Show Details** i kliknąć odnośnik **visit this website.**

[![Safari this connection is not private](safari-this-connection-is-not-private.png)](safari-this-connection-is-not-private.png)

Z **Edge (Chromium)** oraz **Chrome** nie jest już tak łatwo, gdyż te przeglądarki nie pozwolą nam dalej przejść, nawet jeżeli wejdziemy w opcje **zaawansowane (Advanced)**, pod którymi powinniśmy zobaczyć odnośnik, pozwalający mimo tego przejść na stronę.

[![Edge Chromium your connection isn't private](edge-chromium-your-connection-isnt-private.png)](edge-chromium-your-connection-isnt-private.png)
    
[![Edge Chromium Your connection isn't private advances](edge-chromium-your-connection-isnt-private-advanced.png)](edge-chromium-your-connection-isnt-private-advanced.png)

Aby tego dokonać, możemy użyć nietypowej metody. Po przejściu na stronę, która zwraca problem z certyfikatem, możemy napisać (nie będziemy widzieć, co wprowadzamy), w oknie przeglądarki słowo **thisisunsafe**. Po chwili zobaczymy, że nasza strona się odświeży i będziemy mogli dalej przejść do naszego panelu.

W przypadku **Firefox** wystarczy kliknąć przycisk **zaawansowane (Advanced)** i na dole strony wybrać przycisk stwierdzający, że **akceptujemy ryzyko (Accept the Risk and Continue)**.

[![Firefox warning potential security risk ahead](firefox-warning-potential-security-risk-ahead.png)](firefox-warning-potential-security-risk-ahead.png)
    
[![Firefox warning potential security risk ahead advanced](firefox-warning-potential-security-risk-ahead-advanced.png)](firefox-warning-potential-security-risk-ahead-advanced.png)

Mała niedogodność, jednakże i to podnosi bezpieczeństwo w momencie wprowadzania hasła do naszego routera.

* * *

## Panel administracyjny (port)

Oprócz wprowadzenia szyfrowanego połączenia https do naszego panelu administracyjnego przez przeglądarkę internetową (co nie jest zbyt wygodne w związku z problemem z certyfikatami) możemy również zmienić port, na którym nasz panel nasłuchuje.

Domyślnie jest to port 80 dla nieszyfrowanych połączeń HTTP lub 443 dla szyfrowanych HTTPS.

Aby zmienić te porty, możemy doinstalować pakiet **luci-app-uhttpd**

```bash
apk update
apk add luci-app-uhttpd
```

Dzięki czemu, w opcjach **Usługi** (**Services**) otrzymamy dodatkowe menu do zarządzania usługą uHTTPd służącą do wyświetlania m.in. naszego panelu.

[![OpenWrt Services uHTTPd](openwrt-services-uhttpd.png)](openwrt-services-uhttpd.png)
    
[![OpenWrt Services uHTTPd general settings](openwrt-services-uhttpd-general-settings.png)](openwrt-services-uhttpd-general-settings.png)

W **HTTP listeners** (i analogicznie dla HTTPS) należy dodać nowy port, na przez który będziemy łączyli się z naszym panelem administracyjnym. Dla przykładu, dla HTTPS, jeżeli chcemy zmienić port z 443 na 8443, dodajemy (i usuwamy pozostałe) następujące linijki:

```
0.0.0.0:8443
[::]:8443
```

Całość zatwierdzamy przyciskiem **Zapisz i Zastosuj** (**Save & Apply**).

Jeżeli wszystko wykonaliśmy poprawnie, przechodzimy do naszego panelu, korzystając z nowego adresu:

```
http://192.168.1.1:8443
```

* * *

{{% ads-in-article %}}

* * *

## Oprogramowanie (pakiety)

> [Oficjalne stanowisko](https://openwrt.org/docs/guide-user/additional-software/apk#updating_packages) twórców OpenWrt brzmi: „Nie używaj opcji `apk upgrade` do bezmyślnej, masowej aktualizacji pakietów! Robienie tego prędzej czy później zepsuje Twoje urządzenie”. **Osobiście się z tym nie zgadzam.** Robię to z powodzeniem od lat i nie mam żadnych problemów; nie oznacza to jednak, że Ty ich nie napotkasz. Decyzja należy do Ciebie.

Oprócz tego, że zmieniliśmy oprogramowanie producenta na naszym routerze na bardziej bezpiecznie, nie znaczy, że wszystko ma być nieruszone przez wieki. Musimy zadbać, aby stale aktualizować oprogramowanie OpenWrt oraz pakiety, które mamy na routerze zainstalowane.

O ile samo oprogramowanie główne OpenWrt nie jest wypuszczane zbyt często, to w przypadku innego oprogramowania (pakiety oprogramowania) używanego w obrębie naszego routera, aktualizacje wypuszczane są kilka razy w tygodniu.

W związku z tym warto zadbać, aby je aktualizować regularnie. W tym celu należy przejść do **System > Software**, odświeżyć listę przyciskim **Update list**, a następnie w zakładce **Updates** poklikać na każde oprogramowanie w celu jego aktualizacji.

[![OpenWrt System software](openwrt-system-software.png)](openwrt-system-software.png)

Powyższa metoda jest nieco czasochłonna. Możemy dokonać tego również z poziomu terminala SSH, z wykorzystaniem pojedynczej komendy. Z jej wykorzystaniem, router pobierze informację o aktualnych wersjach oprogramowania i bazując na tym, co jest na naszym routerze “przestarzałe”, dokona automatycznej aktualizacji:

```bash
apk update; apk upgrade
```

I to by było na tyle.

**Pozdrawiam.**


---
## Instalacja serwera VPN na routerze z OpenWrt (WireGuard)
- **URL:** https://dariusz.wieckiewicz.org/instalacja-serwera-vpn-na-routerze-z-openwrt-wireguard/
- **Date:** 2020-03-07
- **Tags:** Sprzęt, ASUS RT-AC57U, OpenVPN, OpenWrt, peer, Private Key, Public Key, tunel IPv6, IPv6, VPN, WireGuard, WireGuard OpenWrt

### Content

Jeśli masz router z OpenWrt, prawdopodobnie nie raz zastanawiałeś się, jak skonfigurować na nim serwer VPN, aby móc łączyć się z siecią spoza domu lub biura i mieć dostęp do lokalnych danych, takich jak dysk sieciowy czy drukarka.

<!--more-->

W przypadku OpenWrt, jeśli zaczniesz szukać informacji o VPN, natychmiast natkniesz się na szczegóły dotyczące **OpenVPN**.

Początkowo myślałem o stworzeniu posta na temat **instalacji OpenVPN na routerze z OpenWrt**; jednak im dalej w las, tym więcej drzew.

Konfiguracja może zacząć się prosto. Można nawet dodać interfejs z przeglądarki; jednak wszystko jest dalekie od prostego i jasnego. Będąc w połowie mojego posta, zdałem sobie sprawę, że dalsze tworzenie go wprowadzi więcej komplikacji, niż początkowo zakładałem. W tym momencie przypomniałem sobie o **WireGuard**.

Zarówno **OpenVPN**, jak i **WireGuard** nie są dostępne domyślnie w systemach operacyjnych (Windows, macOS, jak również Android czy iOS). W obu przypadkach trzeba użyć dedykowanej aplikacji do połączenia.

**WireGuard** wygrał dla mnie z **OpenVPN**, ponieważ jest znacznie łatwiejszy do skonfigurowania i zarządzania. Jest także znacznie szybszy, oferuje wyższy poziom bezpieczeństwa, a w przypadku urządzeń mobilnych nie zużywa naszej baterii jak OpenVPN.

Podczas gdy w przypadku OpenVPN trzeba było wykonać serię poleceń związanych z konfiguracją serwera z terminala SSH, w przypadku WireGuard możemy skonfigurować nasz serwer z minimalnym użyciem terminala (lub nawet bez niego) i resztę zrobić przez przeglądarkę internetową. Wszystko w przyjazny dla użytkownika sposób.

**Więc zacznijmy...**

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

## Instalacja WireGuard na OpenWrt (Serwer)

Najpierw musimy zainstalować kilka pakietów dla samego WireGuard oraz te, które dodają możliwość zarządzania nim z poziomu przeglądarki internetowej.

### Z poziomu przeglądarki

Przejdź do **System** > **Software** i w sekcji *Actions:* kliknij zielony przycisk **Update lists...**.

[![OpenWrt - Instalacja WireGuard. System > Software](openwrt_system_software.png)](openwrt_system_software.png)

Wyszukaj następujące pakiety i kliknij przycisk **install** obok nich.

```
luci-proto-wireguard
kmod-wireguard
wireguard-tools
```

### Z poziomu terminala

Uruchom następujące polecenia:

```bash
apk update
apk add luci-proto-wireguard kmod-wireguard wireguard-tools
```

---

Ponieważ WireGuard korzysta z elementów na poziomie jądra systemu do swojej funkcjonalności, na tym etapie musimy zrestartować nasz router, aby upewnić się, że wszystko załaduje się poprawnie.

Zrestartuj swój router.

## Uruchomienie ponowne routera

### Z poziomu przeglądarki

Przejdź do **System** > **Reboot** i kliknij przycisk **Perform reboot**.

### Z poziomu terminala

Wpisz polecenie:

```bash
reboot
```

> **Nie kontynuuj, jeśli router nie został zrestartowany po zainstalowaniu powyższych pakietów.**

{{% ads-in-article %}}

## Konfigurowanie interfejsu serwera WireGuard na OpenWrt

Skonfigurujmy nasze **Network** > **Interfaces**, klikając przycisk **Add new interface**.

[![OpenWrt > Setting up WireGuard Interface. Add new interface](openwrt_network_interfaces_add_new_interface.png)](openwrt_network_interfaces_add_new_interface.png)

Wpisz **nazwę** dla swojego interfejsu (np. **wg0**) i wybierz *protokół* **WireGuard VPN**.

[![OpenWrt > Add new interface. Name wg0 and Protocol WireGuard VPN](openwrt_add_new_interface_wg0_wireguard_vpn.png)](openwrt_add_new_interface_wg0_wireguard_vpn.png)

Potwierdź, klikając zielony przycisk **Create interface**.

---

W następnym kroku zobaczysz *Private key* i *Public key* dla naszego serwera podświetlone na czerwono — oznacza to, że ich brakuje. Klucze te są niezbędne do nawiązania połączenia z klientami.

Możesz je dodać na dwa sposoby.

### Z poziomu przeglądarki

Po prostu kliknij przycisk **Generate new key pair**.

[![OpenWrt Wireguard interface. Generate new key pair](openwrt_wireguard_interface_generate_new_key_pair.png)](openwrt_wireguard_interface_generate_new_key_pair.png)

Albo użyj terminala.

### Z poziomu terminala

Najpierw utwórz katalog, w którym przechowasz ustawienia.

```bash
mkdir -p /etc/wireguard
```

Aby wygenerować *Private key* i *Public key*, uruchom następujące polecenie.

```bash
wg genkey | tee /etc/wireguard/server-privatekey | wg pubkey > /etc/wireguard/server-publickey
```

Odczytaj wygenerowane klucze i wklej je do odpowiednich pól w interfejsie WWW.

Aby odczytać *Private key*, użyj polecenia:

```
tail /etc/wireguard/server-privatekey
```

Aby odczytać *Public key*, użyj polecenia:

```
tail /etc/wireguard/server-publickey
```

---

Następnie ustaw **Listen Port**, na którym WireGuard będzie nasłuchiwał przychodzących połączeń od klientów.

- **Listen Port**: 1234

Następnie wpisz lokalny adres IP swojego serwera. Nie musisz się martwić o konflikt z siecią lokalną. Później skonfigurujemy dostęp do adresów lokalnych, które domyślnie (w środowisku OpenWrt) mieszczą się w zakresie **192.168.1.x**.

- **IP Addresses**:
  - 10.0.0.1/24
  - fd42:42:42:1::1/64

> Tutaj ustawiłem lokalny adres IPv4 i lokalny adres IPv6 dla naszego serwera.

Następnie przejdź do zakładki **Firewall Settings**.

W elemencie **Create / Assign firewall-zone** wybierz swoją sieć **LAN**. Pozwoli to na zobaczenie i łączenie się z urządzeniami w sieci lokalnej.

[![Adding WireGuard to OpenWrt LAN rule](openwrt_wireguard_wg0_firewall_settings.png)](openwrt_wireguard_wg0_firewall_settings.png)

Na tym etapie kliknij przycisk **Save**, następnie **Save & Apply**.

Interfejs serwera jest **gotowy i działa**.

Zanim ktokolwiek będzie mógł się połączyć, musimy dodać konkretne reguły zapory (firewall).

{{% ads-in-article %}}

## Dodawanie reguł zapory (firewall) dla serwera WireGuard

Aby połączyć się z naszym routerem przez port **1234/udp**, musimy zezwolić na to na poziomie **firewalla**.

Są dwa sposoby, aby to osiągnąć.

### Z poziomu przeglądarki

Przejdź do **Network** > **Firewall** i wybierz zakładkę **Traffic Rules**.

Przewiń na dół listy reguł i naciśnij zielony przycisk **Add**. Dodaj regułę tak, jak pokazano na obrazku poniżej.

[![OpenWrt Traffic Rule](openwrt_wireguard_inbound_firewall_traffic_rule.png)](openwrt_wireguard_inbound_firewall_traffic_rule.png)

Po zakończeniu naciśnij przycisk **Save**, następnie **Save & Apply**.

### Z poziomu terminala

Wykonaj w terminalu następujące polecenie, aby dodać regułę zapory.

```bash
uci add firewall rule
uci set firewall.@rule[-1].src="*"
uci set firewall.@rule[-1].target="ACCEPT"
uci set firewall.@rule[-1].proto="udp"
uci set firewall.@rule[-1].dest_port="1234"
uci set firewall.@rule[-1].name="Allow-Wireguard-Inbound"
uci commit firewall
```

Następnie zrestartuj zaporę, używając poniższego polecenia:

```bash
/etc/init.d/firewall restart
```

{{% ads-in-article %}}

## Ustawianie użytkowników WireGuard — Peers

Teraz jesteśmy gotowi dodać użytkowników, którzy będą korzystać z usługi.

Przejdź do **Network** > **Interfaces** i kliknij przycisk **Edit**.

[![OpenWrt Network Interfaces WireGuard](openwrt_wireguard_interface_wg0.png)](openwrt_wireguard_interface_wg0.png)

Następnie przejdź do zakładki **Peers**.

[![OpenWrt WireGuard Interface Peers Tab](openwrt_interfaces_wg0_peers.png)](openwrt_interfaces_wg0_peers.png)

Kliknij zielony przycisk **Add peer**.

Zanim wypełnisz pola dla pierwszego użytkownika, upewnij się, że masz jego *Public key* i *Private key*.

Są dwa sposoby, aby je dodać.

### Z poziomu przeglądarki

Po prostu kliknij przycisk **Generate new key pair**.

[![OpenWrt WireGuard Interface Generate Key Pair](openwrt_interfaces_wg0_edit_peer.png)](openwrt_interfaces_wg0_edit_peer.png)

Lub użyj terminala.

### Z poziomu terminala

Aby utworzyć *Private key* i *Public key* dla pierwszego użytkownika, uruchom następujące polecenie.

```bash
wg genkey | tee /etc/wireguard/user1-privatekey | wg pubkey > /etc/wireguard/user1-publickey
```

Teraz odczytaj swoje klucze i wklej je w interfejsie webowym.

```
tail /etc/wireguard/user1-publickey
tail /etc/wireguard/user1-privatekey
```

---

W polu **Description** podaj swoją nazwę użytkownika.

Przejdź do sekcji **Allowed IPs** i wpisz statyczny adres, który będzie używany przez klienta, podobnie jak adres serwera (10.0.0.1/24, fd42:42:42:1::1/64).

- 10.0.0.2/32
- fd42:42:42:1::2/128

> Zauważ, że maska IP użytkownika kończy się na /32 (dla IPv4) i /128 (dla IPv6). Każdemu użytkownikowi przypisywany jest pojedynczy adres IP, co oznacza, że pojedyncze poświadczenie może być użyte tylko do połączenia jednego urządzenia naraz.

Sprawdź opcję **Route Allowed IPs**.

> Jeśli masz więcej niż jedno połączenie internetowe skonfigurowane za pomocą **mwan3** (jak opisano we wpisie: [Dodanie drugiego połączenia internetowego do routera z OpenWrt](/dodanie-drugiego-polaczenia-internetowego-do-routera-z-openwrt/)), pozostaw **Route Allowed IPs** odznaczone.

W polu **Persistent Keep Alive** wprowadź wartość **25**, która jest wartością zalecaną, jeśli urządzenie znajduje się za NAT-em.

Naciśnij przycisk **Save**, aby dodać konfigurację peer.

[![OpenWrt > Wireguard interface - Peers tab - One Peer](openwrt_interfaces_wg0_one_peer.png)](openwrt_interfaces_wg0_one_peer.png)

---

W ten sam sposób możesz dodać kolejnego użytkownika (peera) do swojej konfiguracji.

> Następny użytkownik będzie miał wygenerowane nowe *klucze* i przypisane Allowed IPs w następującej kolejności, tj. `10.0.0.3/32` oraz `fd42:42:42:1::3/128`.

Gdy wszyscy peerzy zostaną dodani, potwierdź wszystko przyciskiem **Save**. W sekcji interfejsów kliknij **Save & Apply**.

Na tym etapie musisz także zrestartować interfejs WireGuard, aby odświeżyć konfiguracje i peerów, którzy właśnie zostali dodani.

[![Openwrt > Interfaces. Restart wg0 interface after amending configuration](openwrt_interfaces_restart_wg0.png)](openwrt_interfaces_restart_wg0.png)

W ten sposób uruchomiliśmy serwer VPN oparty na WireGuard.

## Stan WireGuard

Gdy serwer WireGuard działa, możesz sprawdzić jego status oraz zarządzać użytkownikami i ich połączeniami przechodząc w interfejsie webowym do **Status** > **WireGuard**.

Na tej stronie zobaczysz **publiczny klucz** serwera oraz **port (Listen Port)**, na którym działa usługa.

[![OpenWrt > Status > WireGuard with one Peer](openwrt_wireguard_status_with_one_peer.png)](openwrt_wireguard_status_with_one_peer.png)

Teraz jesteśmy gotowi skonfigurować urządzenia klienckie i sprawdzić, czy wszystko działa.

{{% ads-in-article %}}

## Konfigurowanie urządzeń użytkowników WireGuard

Czas skonfigurować urządzenia użytkowników (peerów), które będą łączyć się z naszym serwerem.

Jako przykład użyję iPhone’a (iOS). Konfiguracja jest analogiczna w innych systemach operacyjnych.

Pobierz aplikację **WireGuard** z **[App Store](https://apps.apple.com/gb/app/wireguard/id1441195209)**.

Dla urządzeń z Androidem pobierz ją z **[Play Store](https://play.google.com/store/apps/details?id=com.wireguard.android)**.

Po uruchomieniu aplikacji kliknij przycisk **Add a tunnel**.

[![Adding a client (peer) in the WireGuard app on iPhone (iOS)](openwrt_wireguard_ios_add_configuration.png)

### Zaczynając od zera

Ponieważ zaczynamy od zera, wybierz **Create from scratch**.

{{% gallery %}}
[![Adding a client (peer) in the WireGuard app on iPhone (iOS) - starting from scratch](openwrt_wireguard_ios_add_configuration_from_scratch.png)](openwrt_wireguard_ios_add_configuration_from_scratch.png)
[![Adding a client (peer) in the WireGuard application on iPhone (iOS) - filling in the new configuration fields](openwrt_wireguard_ios_new_configuration.png)](openwrt_wireguard_ios_new_configuration.png)
{{% /gallery %}}

Teraz zaczynamy wprowadzać naszą konfigurację, zaczynając od:

**Name**: User1

**Private key:** {paste}

To jest nasz _user1-privatekey_ wygenerowany na początku, albo przez przeglądarkę, albo w terminalu.

> Aby odczytać klucz wygenerowany przez przeglądarkę, przejdź do **Network** > **Interfaces**, kliknij **edit** obok interfejsu WireGuard (**wg0**), przejdź do zakładki **Peers**, kliknij **edit** obok User1 i skopiuj stamtąd klucz publiczny.

> Aby odczytać klucz wygenerowany w **terminalu**, użyj na routerze następującego polecenia: `tail /etc/wireguard/user1-publickey`.

Zauważysz, że pole **Public key** jest automatycznie wstępnie wypełnione.

**Addresses:** 10.0.0.2/32, fd42:42:42:1::2/128

> Wprowadź tutaj adres IP klienta, tak jak skonfigurowano po stronie serwera.

**DNS servers:** 192.168.1.1

> Gdzie `192.168.1.1` to lokalny adres IP naszego routera OpenWrt, o ile nie został zmieniony.

> Jeśli wolisz, aby Twoje urządzenie wysyłało zapytania DNS przez połączenie internetowe zamiast przez router, możesz pominąć tę opcję.

---

Teraz musimy dodać informacje o serwerze, z którym się połączymy.

Kliknij **Add peer**, aby wprowadzić dane serwera.

W polu **Public key** wpisz klucz serwera.

> Aby odczytać klucz wygenerowany przez przeglądarkę, przejdź do **Network** > **Interfaces**, kliknij **edit** obok interfejsu WireGuard (**wg0**), przejdź do **General Settings** i skopiuj tam klucz publiczny.

> Aby odczytać klucz wygenerowany w **terminalu**, użyj na routerze następującego polecenia: `cat /etc/wireguard/server-publickey`.

**Endpoint:** [externalIP]:[port]

Jeśli nasz router ma stały, zewnętrzny adres IP, wpisz go tutaj razem z wcześniej ustawionym portem połączenia. Na przykład: `123.34.45.56:1234`, gdzie `123.34.45.56` to adres IP, a `1234` to port.

W polu **Allowed IPs** ustaw: `0.0.0.0/0, ::/0`.

Ta konfiguracja umożliwia widoczność urządzeń w sieci lokalnej.

Ustaw **Persistent keepalive** na `25`.

Następnie **zapisz** konfigurację.

W tym momencie telefon poprosi o dodanie konfiguracji VPN do ustawień — **zezwól** na to.

Jeśli wszystko jest poprawnie skonfigurowane, wystarczy nawiązać połączenie i powinno działać. Aby to sprawdzić, przejdź do **Settings** aplikacji WireGuard na swoim urządzeniu i kliknij **View log**, aby upewnić się, że wszystko działa poprawnie.

[![Checking the status of our connection in the Logs of the WireGuard application on iPhone (iOS)](openwrt_wireguard_ios_logs.png)](openwrt_wireguard_ios_logs.png)

Dodatkowo otwórz przeglądarkę, wyszukaj w Google „myip” i sprawdź, czy wyświetlony adres odpowiada adresowi Twojej sieci lokalnej.

---

Po stronie routera, w przeglądarce, w sekcji **WireGuard Status** również można zobaczyć, że połączenie działa i że między urządzeniami przesyłane są dane.

[![Visible client connection on WireGuard server side on OpenWrt router](openwrt_wireguard_status_connected_peer.png)](openwrt_wireguard_status_connected_peer.png)

Jeśli coś nie działa, sprawdź, czy **Firewall** na routerze jest poprawnie skonfigurowany (patrz wcześniej) oraz upewnij się, że wszędzie wpisano poprawne klucze.

> Aby nie wpisywać wszystkiego od początku za każdym razem, gdy konfigurujemy urządzenie do łączenia się z WireGuard, zapisz konfigurację do pliku z poziomu **Settings**. Przy ponownej konfiguracji możesz zaimportować te ustawienia.

---

Jednak nie każda aplikacja pozwala na pełne skonfigurowanie wszystkiego od zera. W przypadku `WireGuard` na macOS (https://apps.apple.com/us/app/wireguard/id1451685025?mt=12) opcje są ograniczone do importu ustawień lub dodania pustego tunelu przez **Add empty tunnel**.

[![Added WireGuard client from the application level on macOS](wireguard_macos_import_tunner_or_start_from_scratch.png)](wireguard_macos_import_tunner_or_start_from_scratch.png)

Po kliknięciu **Add empty tunnel** pojawi się plik konfiguracyjny zawierający wygenerowany **public key** i **private key**.

[![Added client configuration in WireGuard app on macOS](wireguard_macos_scratch_default.png)](wireguard_macos_scratch_default.png)

Żadne z tych ustawień nie są przydatne, ponieważ musimy pobrać wszystko z konfiguracji serwera.

W aplikacji **iOS** wprowadziliśmy klucz publiczny serwera (**Public key**), adres IP klienta **(Addresses)**, serwer nazw (**DNS servers**), **Endpoint**, **Allowed IPs** oraz **Persistent keepalive**, których tutaj brakuje.

Musimy skonfigurować to bardziej ręcznie.

Nasza konfiguracja będzie wyglądać następująco:

[![WireGuard Client Configuration for macOS](wireguard_macos_scratch_full.png)](wireguard_macos_scratch_full.png)

Po naciśnięciu przycisku **Save**, macOS poprosi o dodanie odpowiedniego profilu VPN do konfiguracji.

Na koniec przetestuj, czy wszystko działa, klikając przycisk **Activate**.

[![We save the added client in the WireGuard application on macOS and activate it using the Activate button](wireguard_macos_activate_connection.png)](wireguard_macos_activate_connection.png)

Jeśli wszystko jest poprawnie skonfigurowane, powinieneś połączyć się bez żadnych problemów i wszystko będzie działać.

{{% ads-in-article %}}

### Rozpoczynając od kodu QR

Jak być może zauważyłeś, podczas wcześniejszej konfiguracji dostępne są opcje użycia wygenerowanego kodu QR do dodania konfiguracji na urządzeniach klientów (peerów).

Aby to umożliwić, może być konieczne dodanie pakietu `qrencode` do Twojego routera, jeśli nie został on dodany podczas instalacji `WireGuard` w pierwszych krokach.

```bash
apk add qrencode
```

Przejdź do swojego routera: **Network** > **Interfaces**, a następnie kliknij **edit** obok interfejsu WireGuard (wg0). Przejdź do zakładki **Peers**.

Kliknij przycisk **Edit** obok właśnie utworzonego peera. Na dole strony zobaczysz sekcję **Configuration Export** z przyciskiem **Generate configuration**, którego możesz użyć, aby dodać konfigurację klienta do aplikacji WireGuard na urządzeniu, z którego będziesz się łączyć.

[![OpenWrt > WireGuard - Configuration Export with QR code option](openwrt_wireguard_peer_configuration_export.png)](openwrt_wireguard_peer_configuration_export.png)

To wygeneruje **zawartość pliku konfiguracyjnego** (jak pokazano powyżej w konfiguracji macOS), której możesz użyć w aplikacji klienckiej.

[![QR code and config file generated on the OpenWrt router side](openwrt_wireguard_peer_configuration_export_config.png)](openwrt_wireguard_peer_configuration_export_config.png)

Utworzy również przydatny kod QR, którego możesz użyć do szybkiego zaimportowania pliku konfiguracyjnego na urządzenie klienckie.

Jednak pojawia się jeden problem.

Domyślnie konfiguracja będzie zawierać następującą część:

```
...

[Peer]
...
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 100.70.131.4:1234
PersistentKeepAlive = 25 
```

> Odnosi się to do **serwera WireGuard**, a nie użytkownika łączącego się z nim. Termin [Peer] może być nieco mylący. Dla serwera „peer” to klient, który się do niego łączy. Dla użytkownika „peer” to serwer, z którym się łączą.

> Jestem za CG-NAT i adres IP `100.70.151.3` odnosi się do adresu lokalnego, co jest niepoprawne. Po Twojej stronie może być wyświetlony poprawny adres IP, jeśli masz bezpośrednio przypisany zewnętrzny adres.

Zamiast podawać adres IP, lepiej ustawić domenę połączenia. Nawet jeśli IP się zmienia, [adres IP można dynamicznie aktualizować](/ustawienie-domeny-ddns-openwrt-cloudflare/) bez konieczności aktualizowania każdej konfiguracji użytkownika (peera).

Problem polega na tym, że w konfiguratorze webowym nie ma opcji określenia domeny.

Z tego powodu użycie kodu QR jest **częściowo** bezcelowe.

Możemy go użyć do zaimportowania wszystkich konfiguracji, kluczy itp., ale musimy upewnić się, aby zmienić nasze pole Endpoint IP na nazwę domeny tak jak:

```
Endpoint = vpn.wieckiewicz.org:1234
```

* * *

{{% ads-in-article %}}

[![Logo WireGuard oraz IPv6](wireguard_ipv6.png)](wireguard_ipv6.png)

## WireGuard i tunel IPv6

Jeżeli dodałeś do swojego połączenia internetowego (które nie obsługuje natywnie) połączenie IPv6 za pomocą tunelu z wykorzystaniem **Hurricane Electric Free IPv6 Tunnel Broker**, tak jak ja wg wpisu [Dodanie tunelu IPv6 do routera z OpenWrt](/dodanie-tunelu-ipv6-do-routera-z-openwrt/), zapewne zastanawiasz się jak skonfigurować serwer WireGuard do obsługi tego oto rozwiązania.

Otóż powyższy opis dodaje obsługę lokalnego IPv6, która działa w obrębie routera, ale nie obsługuje ruchu wychodzącego (do internetu), nawet gdy IPv6 jest dostępne. Cały ruch odbywa się więc tylko i wyłącznie z wykorzystaniem IPv4.

Można to sprawdzić, wchodząc na stronę [https://test-ipv6.com/](https://test-ipv6.com/) z poziomu sieci lokalnej po połączeniu z WireGuard.

**Otóż istnieje możliwość dodania obsługi IPv6! Co oczywiście zrobimy!**

Zaletą tego rozwiązania jest to, że w internecie będziemy nie dosyć, że widziani z wykorzystaniem zewnętrznego adresu IP routera (IPv4), to jeszcze można przypisać zewnętrzny, indywidualny adres IPv6 bezpośrednio do naszego urządzenia podłączonego do VPN!

Mimo tego, że każdy klient WireGuard w internecie będzie widziany pod jednym IP w wersji 4 (IPv4), to w wersji 6 (IPv6) każde urządzenie będzie miało indywidualny adres! Cała magia IPv6 (nie potrzeba przekierowywania portów itp).

Na początku musimy pozmieniać ustawienia IPv6, które wprowadziliśmy, czyli tam, gdzie mamy **fd42:42:42::** musimy zastąpić tak, aby pasował nam do prefiksu naszego interfejsu WAN6. Musimy to zrobić zarówno po stronie routera, w konfiguracji serwera WireGuard oraz w ustawieniach Peer-ów, jak również po stronie klientów (pliku konfiguracyjnym).

W przypadku serwera (w tym ustawienia klientów - Peers - po stronie serwera), zmiany dokonujemy przez przeglądarkę internetową, po czym restartujemy nasz interfejs **wg0**. 

W przypadku klientów (Peers), zmiany dokonujemy w pliku konfiguracyjnym, po czym importujemy go do aplikacji, lub też edytujemy każdy profil z osobna na każdym z urządzeń.

Aby zachować zbieżność z obecną konfiguracją adresów IP, czyli 10.0.0.1 dla serwera i kolejne numerki dla klientów, adres IPv6 zbudujemy na tej samej zasadzie.

Korzystając z [kalkulatora IPv4 do IPv6](https://www.ultratools.com/tools/ipv4toipv6) dla 10.0.0.1 otrzymamy na przykład:

```
0:0:0:0:0:ffff:a00:1
```

Pierwsze 4 zera (**0:0:0:0:**) zmienimy na prefix sieci, który otrzymaliśmy [dla naszego tunelu](https://tunnelbroker.net/).

Dla przykładu, jeżeli otrzymaliśmy w **Routed IPv6 Prefixes** coś takiego:

```
2001:470:____:5cb::/64
```

Początek — prefix **2001:470:____:5cb:** będzie stały, a każdy z lokalnych adresów dostanie **0:ffff:a00:1**, przy czym ostatnia cyfra będzie się zmieniać. 1 dla serwera, 2 dla pierwszego klienta i tak dalej.

I tak, zmieniamy w ustawieniach serwera  
**fd42:42:42::1/64** na **2001:470:____:5cb:0:ffff:a00:1/64**

Dla pierwszego Peera  
**fd42:42:42::2/128** na **2001:470:____:5cb:0:ffff:a00:2/128**

Po stronie klienta, w aplikacji WireGuard, dla pierwszego klienta gdzie mamy:  
**10.0.0.2/24, fd42:42:42::2/64** zmieniamy na **10.0.0.2/24, 2001:470:____:5cb:0:ffff:a00:2/64**

> Pozycja **:____:** została ocenzurowana z pełnego (aktualnego) prefixu.
>
> **0:ffff:a00:1** jest przykładowym adresem i zalecam jego nieużywanie, a wybranie własnego unikalnego. Jeżeli nie wiesz, czy wybrany przez ciebie adres jest poprawny, wraz z prefiksem poddaj go walidacji przy wykorzystaniu, chociażby [tego narzędzia](https://www.helpsystems.com/intermapper/ipv6-test-address-validation).

Jeżeli wszystko wykonaliśmy prawidłowo, wówczas **po połączeniu się z VPN** i przejściu na stronę [https://test-ipv6.com](https://test-ipv6.com/) otrzymamy wynik **10/10**.

Dodatkowo, jeżeli ustawiony mamy **[Bezpieczny DNS](/bezpieczny-dns/)**, strona [https://one.one.one.one/help](https://one.one.one.one/help/) również będzie zwracać w **Connectivity to Resolver IP Addresses** dostępność do adresów DNS z poziomu IPv6.

[![Stan połączenia z bezpiecznym DNS Cloudflare 1.1.1.1 wraz z aktywnym IPv6](cloudflare_1111_help_page.png)](cloudflare_1111_help_page.png)

> Jeżeli chcesz wykonać kopię zapasową twojej konfiguracji interfejsu Wireguard, zainteresuj się dodaniem pliku '/etc/config/network' do twojej konfiguracji kopii zapasowej (**System** > **Backup / Flash Firmware** > **Configuration** tab).

**Pozdrawiam.**

* * *

Credits: **[Birkhoff Lee](https://birkhoff.me/articles/setting-up-a-wireguard-server-on-openwrt)**


---
## Bezpieczny DNS (w przeglądarce oraz na routerze z OpenWrt)
- **URL:** https://dariusz.wieckiewicz.org/bezpieczny-dns/
- **Date:** 2020-03-05
- **Tags:** Sprzęt, 1.1.1.1, ASUS RT-AC57U, Bezpieczny DNS, certyfikat, certyfikat SSL, Cloudflare, Private Relay, dns, DNS over HTTPS, DNS over TLS, DoH, DoT, IPv6, Firefox, Google, https, mozilla, OpenWrt, WireShark

### Content

Zapewne jesteś tego świadomy, że bardzo ważne jest, aby strona, którą odwiedzasz, a szczególnie ta, na której wprowadzasz jakiekolwiek dane (w tym **login** i **hasło**) zabezpieczona była **tzw. zieloną kłódką**, czyli serwowana przez **https://** przed nazwą witryny.

<!--more-->

**HTTPS** stał się normą. Coraz to więcej przeglądarek już teraz ostrzega cię, jeżeli odwiedzasz stroną poprzez nieszyfrowane połączenie, a w przyszłości większość z nich nie pozwoli ci nawet na nie wejść.

Dzięki **HTTPS** strony wyposażone są w **certyfikat** pozwalający w szyfrowaniu naszego połączenia. Dane, które wprowadzamy na stronie, czy to formularze, czy po prostu hasło do naszego konta wysyłane jest w sposób nieczytelny dla osoby postronnej.

W przypadku połączeń nieszyfrowanych **HTTP**, ktokolwiek pomiędzy tobą, a stroną docelową, może "podsłuchać" co na danej stronie robisz. Do tego celu nie trzeba zbyt dużej wiedzy a jedynie odpowiednie oprogramowanie.

Osobą, która może cię podsłuchiwać, czy tego chcesz, czy nie, jest przede wszystkim twój operator dostarczający połączenie internetowe. W zależności, jakie zobowiązania na niego nakłada lokalne prawo, mimo tego czy chce, czy nie, zmuszony jest przekazywać “twoje” informacje do odpowiednich organów państwowych.

I tak powstaje globalny program inwigilacji, który w połączeniu z poszczególnymi reżimami na świecie, decyduje, co jego obywatele mogą, a co nie mogą zobaczyć w internecie.

Stąd też przedstawione zostało połączenie **HTTPS**, dzięki czemu, wszelkie dane wysyłane w kierunku witryny internetowej są szyfrowane nie do poznania. O ile zaczęło się to od instytucji bankowych, to nabrało to tępa i strony, takie jak moja, serwowane są przez bezpieczne połączenie. Jeszcze kilka lat temu, certyfikaty były drogą inwestycją i nieopłacalną dla szarego człowieka. W miarę popularyzacji standardu i orientowania użytkowników w kierunku ich własnego bezpieczeństwa wszystko zaczęło tanieć. **Certyfikat dla strony internetowej można już mieć praktycznie za darmo** i to wystawione przez bardzo zaufane instytucje. Na mojej stronie opisywałem, jak można uzyskać w bardzo prosty sposób, za darmo, certyfikat i serwować domyślnie naszą stronę przez HTTPS ([Certyfikat SSL dla twojej strony WWW](/certyfikat-ssl-dla-twojej-strony-www/)).

W momencie odwiedzenia strony poprzez szyfrowane połączenie, oprócz ciągu znaków, potencjalna osoba, która nas podsłuchuje, nie zobaczy nic więcej — **no prawie**.

Strona internetowa i adres do niej to jedno, jednakże w internecie wszystko zaczyna się od numerków. Te oto numerki to adresy IP, które odpowiadają serwerom za nimi zlokalizowanymi. Pod jednym adresem IP, na jednym serwerze (lub więcej niż jednym) może znajdować się wiele stron. Aby przejść na stronę, którą oczekujemy, musimy podać odpowiednią nazwę — **nazwę strony internetowej** — domenę. Bazując na nazwie, serwer przekaże nas do tej, a nie innej strony.

I tak chcąc przejść na stronę **Google** wpisujemy **google.com** (nazwa, domena), a nie **216.58.206.110** (IP).

Serwer znajdujący się po drugiej stronie numerków, na bazie nazwy — domeny, którą wprowadziliśmy, przekazuje nas tam, gdzie chcemy.

I tak z wykorzystaniem połączenia szyfrowanego lądujesz na stronie **https://www.google.com** i możesz bezpiecznie wyszukiwać, to co chcesz. To, co wpisujesz w wyszukiwarce, nie jest dostępne w łatwy sposób dla osób ciebie podsłuchujących. Jednakże to nie znaczy, że dane osoby nie wiedzą, co robisz i jaką stronę odwiedzasz.

Otóż w momencie, gdy wpisujesz w przeglądarce internetowej **google.com**, odpowiednie zapytanie ląduje do tak zwanych serwerów nazw (**dns**), które odczytują tekst (**nazwę — domenę**) i informują, z jakim serwerem (**adresem IP**) należy cię połączyć.

Gdy wysyłasz zapytanie do serwera nazw, a nim wylądujesz na stronie docelowej, **każdy, kto jest w stanie ciebie podsłuchać, jest w stanie zobaczyć, gdzie zmierzasz i jaką stronę odwiedzasz**. Mimo tego, że nie będą w stanie powiedzieć, co dalej robisz na stronie, to co odwiedziłeś, jest dla nich podstawą do dalszych działań.

> Słyszałeś na pewno o osobie oskarżonej o terroryzm, tylko dlatego że weszła (świadomie lub nie) na stronę, która uznana została za niedozwoloną.

**Dlaczego?**

Otóż zapytanie do serwera nazw wysyłane jest **w postaci nieszyfrowanej**. Każde szyfrowanie spowalnia ruch w internecie (było tak jeszcze kilka lat temu), w związku z tym, aby szybko przekierować się na serwer docelowy, wszystkie zapytania wysyłane są w postaci czystego tekstu, który może zostać w łatwy sposób przeczytany przez serwery pośredniczące, **jak również inne osoby** na drodze do miejsca docelowego.

Jeszcze kilka lat temu, połączenie z zieloną kłódką (**HTTPS**) nie było tak popularne wśród szarych użytkowników i właścicieli małych stron internetowych. Wiązało się to nie tylko z kosztami, ale również tym, że potrzeba było nieco większej mocy obliczeniowej, aby taki połączenie obsłużyć. Strony przez HTTPS na słabych serwerach **ładowały się stanowczo dłużej** a niżeli strony serwowane przez standardowy protokół HTTP.

**Wszystko na szczęście się zmieniło.** Różnica w prędkościach połączeń nieszyfrowanych (HTTP) i szyfrowanych (HTTPS) jest naprawdę marginalna. I mimo tego, że serwer, na którym strona się znajduje, nadal odgrywa znaczącą rolę, to nawet firmy takie jak Google zapowiedziały, że w 2020, to właśnie **bezpieczne strony** będą wiodły prym w wynikach wyszukiwania.

Mimo dużego skoku w technologii i świadomości użytkowników nadal większość z nas jest nieświadoma faktu, że strony, które odwiedzamy — adresy, są widoczne dla wszystkich, gdyż serwery nazw (**DNS**) działają w sposób "prosty" niezmiennie od lat.

Bez względu na to, czy za serwer nazw wybierzesz ten, dostarczony jest przez twojego operatora, czy jako świadomy użytkownik zmienisz go na **[Google](https://developers.google.com/speed/public-dns/docs/using)** (_tj. 8.8.8.8_), **[Cloudflare](https://1.1.1.1/dns/)** (_1.1.1.1_) czy **[OpenDNS](https://www.opendns.com)**, to nadal wszystko jest widoczne dla wścibskich oczu. Stąd też świadomość użytkowników zaczyna być kreowana przez duże firmy, wprowadzając szyfrowanie do poziomu serwerów nazw, zwiększając tym samym bezpieczeństwo użytkowników.

**Bezpieczeństwo użytkowników jest teraz na modzie i słusznie!**

Na początku 2020 roku **Mozilla** wypuściła informację, która szybko została podchwycona przez wszystkie portale. Otóż w ich przeglądarce internetowej **Firefox** włączyli oni domyślnie (**oficjalne wejdzie w przeciągu następnych tygodni**) szyfrowanie serwerów nazw DNS przy pomocy podobnej metody do stron serwowanych przez HTTPS. Dlatego też nazwane zostało to jako **DNS over HTTPS**, czyli **serwer nazw DNS obsługiwany przez bezpieczne połączenie HTTPS**, w skrócie **DoH**.

W związku z tym, zaczynając od wpisania adresu **google.com** aż do wylądowania na stronie docelowej, **wszystko jest szyfrowane** (no prawie wszystko). Wścibskie oczy zobaczą, że coś odwiedzasz w internecie, jednak ograniczone to będzie tylko do adresu IP serwera. Z reguły jeden adres IP obsługiwać może multum stron internetowych, więc określenie dokładnie jaką stronę odwiedzasz, nie jest już takie łatwe.

Fakt, że **Firefox** został wzbogacony w tę funkcję, która dodatkowo została włączona domyślnie dla wszystkich stron, które wpisujemy w pasku adresu, nie znaczy, że masowo mamy porzucać nasze **niebezpieczne** przeglądarki i instalować **bezpieczną** przeglądarkę **Firefox**.

W przeciągu kolejnych lat inne przeglądarki również zyskały obsługę szyfrowania zapytań DNS. **Firefox** ma tę funkcję domyślnie włączoną, gdzie w innych musimy to zrobić ręcznie.

W Firefox, cała usługa bazować będzie początkowo na serwerach nazw dostarczonych od **Cloudflare**.

Serwery nazw od **Cloudflare** są obecnie jednymi z najszybszych serwerów na rynku, a dodatkowo oferują dodatkowe zalety.

A co w przypadku, gdy chcemy użyć **DoH** już dzisiaj i zabezpieczyć swoją przeglądarkę przed wścibskimi oczami, szczególnie w krajach, które zaczynają śledzić użytkownika na każdym kroku?

Nie mówię tutaj tylko o Polsce, ale również Wielkiej Brytanii. Po wystąpieniu z Unii Europejskiej i zakończeniu okresu przejściowego wiele się może zmienić.

**Otóż szyfrowanie DNS możemy włączyć już dzisiaj w naszej przeglądarce na naszym komputerze.**

{{% ads-in-article %}}

## Mozilla Firefox

Tak jak wspomniałem wcześniej, Firefox obecnie posiada domyślnie włączone szyfrowanie DNS, jednakże, jak się możemy przekonać, nie zawsze to działa od razu. Twórcy oprogramowania zaznaczają, że to, czy usługa działa domyślnie, zależy od rejonu na świecie, w którym się znajdujemy.

Aby to sprawdzić, przechodzimy do **Ustawień** (Settings) > **Prywatność i Bezpieczeństwo** (Privacy & Security), po czym przewijamy stronę do sekcji **DNS over HTTPS**.

Jak widać poniżej, w moim przypadku (w Wielkiej Brytanii), przy opcji **domyślnej ochrony** (Default Protection), status powyżej zwraca informację **wyłączony** (Off).

[![Firefox - Settings - Privacy & Security - DNS over HTTPS settings](mozilla_settings_privacy_security_dns_over_https_default.png)](mozilla_settings_privacy_security_dns_over_https_default.png)

Wybierając opcję **zwiększonej ochrony** (Increased Protection) możemy to zmienić. Na tym etapie mamy również do wyboru, oprócz Cloudflare również innych usługodawców.

[![Firefox - Settings - Privacy & Security - DNS over HTTPS - Increased Protection](mozilla_settings_privacy_security_dns_over_https_increased.png)](mozilla_settings_privacy_security_dns_over_https_increased.png)

## Google Chrome i Microsoft Edge (Chromium)

W przypadku Google Chrome przechodzimy do **Ustawień** (Settings) > **Prywatność i Bezpieczeństwo** (Privacy and Security), gdzie w sekcji **zaawansowane** (Advanced) upewniamy się, że mamy włączony przełącznik przy **Użyj bezpiecznego DNS** (Use secure DNS).

Domyślną, zaznaczoną opcją, jest używanie bezpiecznego DNS, od obecnego usługodawcy, co jednak nie jest sprecyzowane, którego, oraz jest zaznaczony fakt, że czasami ta opcja może nie być dostępna (Secure DNS may not be available at all time).

W związku z tym lepiej wybrać kolejną opcję i z listy wybrać Cloudflare lub innego usługodawcę.

[![Google Chrome - Settings - Privacy and Security > Secure DNS](chrome_settings_privacy_security_secure_dns.png)](chrome_settings_privacy_security_secure_dns.png)

Analogicznie w przypadku Microsoft Edge przechodzimy do **Ustawień** (Settings) > **Prywatność, Wyszukanie i usługi** (Privacy, Search, and Services) gdzie w sekcji **Bezpieczeństwo** (Security) zaznaczmy opcję przy **Używaj bezpiecznego DNS...** (Use secure DNS to specify how to lookup the network address for websites). Wybierając drugą opcję, jak w Google Chrome, możemy wybrać naszego usługodawce, np. Cloudflare.

## Safari

Tutaj niestety nic nie możemy włączyć — ustawić, aby zacząć używać szyfrowanego DNS. Apple wbudowało ochronę naszych zapytań do serwerów DNS w system (macOS, iOS lub iPadOS), pod warunkiem, że mamy wykupiony pakiet iCloud+, który zapewni nam usługę **Private Relay**.

Pozytywną stroną tego rozwiązania jest fakt, że wszystkie nasze zapytania do serwerów DNS, również z innych aplikacji, są szyfrowane. Wówczas nie jesteśmy ograniczeni tylko do przeglądarki internetowej. Negatywną stroną jest fakt konieczności płacenia Apple za tego typu usługę.

Jeżeli natomiast nie chcemy płacić, a chcemy otrzymać zabezpieczenie dla naszego całego systemu dla systemów od Apple, ale również Windows oraz urządzeń z Androidem, wystarczy zainstalować aplikację [**WARP (1.1.1.1) od Cloudflare**](https://1.1.1.1), która dostarczy nam to, co oferuje Apple w ramach Private Relay. O tym więcej poniżej.

---

Jeżeli wszystko wykonaliśmy prawidłowo, to przechodzą na stronę [https://one.one.one.one/help](https://one.one.one.one/help) sprawdzimy, czy nasz **DoH** działa, czy nie. Jednakże nie jest to 100%-owa wykładnia, szczególnie gdy używasz innej metody implementacji **bezpiecznego DNS** w twojej sieci domowej, o której napiszę za chwilę.

Nim przejdziesz dalej, zadasz pytanie, jak włączyć **DNS over HTTPS** na tablecie lub telefonie komórkowym.

Otóż nic prostszego! Wystarczy zainstalować dedykowaną aplikację **WARP** ze **[Sklepu Play](https://play.google.com/store/apps/details?id=com.cloudflare.onedotonedotonedotone)** (Android) lub **[AppStore](https://apps.apple.com/us/app/1-1-1-1-faster-internet/id1423538627)** (iOS) i postępować zgodnie z instrukcjami.

[![Aplikacja Cloudflare 1.1.1.1 Połączona (Connected)](1_1_1_1-cloudflare-app-connected-min.png)](1_1_1_1-cloudflare-app-connected-min.png)

[![Cloudflare 1.1.1.1 Informacje o połączeniu](1_1_1_1-cloudflare-checking-min.png)](1_1_1_1-cloudflare-checking-min.png)

[![Cloudflare 1.1.1.1 Połączony wraz z DNS przez HTTPS (DoH)](1_1_1_1-cloudflare-ok-cloudflare-doh-min.png)](1_1_1_1-cloudflare-ok-cloudflare-doh-min.png)

Aplikacja od Cloudflare oprócz zabezpieczenia DNS oferuje również **WARP (1.1.1.1)** w celu przyśpieszenia serfowania w internecie, ale nie będę się o tym rozpisywał, gdyż to temat na inny wpis.

> System Windows 11 posiada również możliwość włączenia szyfrowania serwerów DNS w całym systemie z poziomu ustawień naszej karty sieciowej. Osobiście tego nie używam, gdyż w moim środowisku firmowym powoduje problemy, ale nie znaczy to, że nie można. Odsyłam tutaj do wpisu [Enable DNS over HTTPS (DoH) in Windows 11](https://www.elevenforum.com/t/enable-dns-over-https-doh-in-windows-11.280/).

---

**Idąc dalej...**

Jeżeli doszedłeś do tego punktu, możliwe, że zaświeciła ci się żaróweczka nad głową, która przerodziła się w znak zapytania.

Jeżeli ustawiliśmy **bezpieczny DNS** w przeglądarce, co się dzieje, jeżeli inne programy nawiązują połączenia z wykorzystaniem serwera nazw. Otóż te niestety **nie są zabezpieczone** (z wyjątkiem aplikacji mbilnych z wykorzystaniem aplikacji **WARP (1.1.1.1)**).

Zapytasz więc, jak zabezpieczyć całą sieć i wszystkie programy w sieci wykorzystujące DNS przed wścibskimi osobami postronnymi, lub też osobami z naszej sieci domowej, które nie do końca używają nasz internet do celów do których powinny (szpiegują nas samych).

**Otóż ta sprawa nie jest już taka prosta, ale możliwa.**

Najlepszym rozwiązaniem byłoby włączenie **DoH** po stronie naszego routera. **I nie mówię tutaj tylko o ustawieniu adresów DNS Cloudflare na routerze** dla całej sieci (co i tak powinieneś włączyć), gdyż zapytania do serwerów nazw nadal będą wysyłane w postaci czystego, niezabezpieczonego tekstu.

**Niestety,** routery standardowo otrzymywane od operatorów i usługodawców internetowych nie mają możliwości włączenia **DNS over HTTPS** w standardzie i nic na to (z reguły) nie możemy poradzić.

Jeżeli natomiast mamy własny router, który do tego wybraliśmy, nie tylko żeby robił swoje, ale również, żeby oferował dodatkowe, zaawansowane opcje, z pomocą może nam przyjść [**OpenWrt**](https://openwrt.org).

**OpenWrt** to alternatywne oprogramowanie dla naszego routera, które zmienia go bardziej w box oparty na systemie Linux. Otwiera nam ono opcje na zaawansowane konfiguracje.

Aby sprawdzić, czy nas sprzęt obsługuje OpenWrt, wystarczy przejść na stronę: **[https://openwrt.org/toh/views/toh_fwdownload](https://openwrt.org/toh/views/toh_fwdownload)** i poszukać.

---

{{% ads-in-article %}}

## DNS over HTTPS (OpenWrt)

> Zoptymalizowane dla OpenWrt 25.12 przy użyciu `apk` zamiast `opkg`

A więc, jeżeli zdecydowaliśmy się uruchomić **DoH** na naszym routerze z OpenWrt, zaczynamy następująco.

Najpierw musimy zaktualizować informacje dotyczące pakietów oprogramowania na routerze.

Logujemy się przez **SSH** i wykonujemy następujące polecenie:

```bash
apk update
```

Następnie:

```bash
apk upgrade
```
Spowoduje to zaktualizowanie pakietów zainstalowanych na routerze do najnowszych wersji.

Następnie przystępujemy do instalacji pakietu szyfrującego DNS.

```bash
apk add https-dns-proxy luci-app-https-dns-proxy
```

Aby sprawdzić, czy nasz router działa jako pośrednik szyfrujący, wykonujemy następującą komendę:

```bash
nslookup openwrt.org localhost
```

Po czym powinniśmy otrzymać odpowiedź.

Takim sposobem szyfrowanie DNS z poziomu routera działa.

Domyślnie, pakiet na routerze wykorzystuje serwery Cloudflare (jako podstawowy) oraz Google (zapasowy), w zależności, który aktualnie jest dostępny.

---

Po tych czynnościach w **DHCP & DNS** zauważymy, że nasze serwery DNS, które wprowadziliśmy wcześniej uległy zmienieniu na **127.0.0.1#5053** (Cloudflare) lub **127.0.0.1#5054** (Google). 

W panelu administracyjnym, w zakładce **Services** (Usługi) **>** **DNS HTTPS Proxy** możemy sprawdzić, który port odpowiada za Cloudflare, a który za Google.

Przechodząc na stonę [https://one.one.one.one/help](https://one.one.one.one/help) zobaczymy, że używamy Cloudflare jako domyślny serwer nazw (DNS) **oraz, że nasze zapytania DNS są szyfrowane przez HTTPS** (**DoH**).

Szybko i w miarę bezboleśnie zabezpieczyliśmy całą naszą sieć lokalną i zmusiliśmy do używania **DNS over HTTPS** (DNS przez HTTPS) przy każdym zapytaniu do serwera DNS.

---

**Idąc dalej...**

Na routerze z OpenWrt możemy również uruchomić szyfrowanie DNS po TLS, jednakże, żę wymaga to sporej ilości zasobów systemowych, oraz porządnego routera, dlatego też zdecydowałem się nie opisywać tej metody.

> Tak na marginesie, wszyscy wprowadzają **DNS over HTTPS** jako standard co wypycha opcję szyfrowania po TLS. Podobnie jak było z płytami HD DVD i Blu-ray. Jak wiem, Blu-ray przyjął się znacznie lepiej, a HD DVD umarł śmiercią naturalną. Podejrzewam, że w przypadku **DNS over TLS** też się tak stanie.

Szybkie porównanie różnic pomiędzy **DNS over HTTPS (DoH)** oraz **DNS over TLS (DoT)**.

Obie metody mają na celu osiągnięcie tego samego, czyli **szyfrowanie naszych zapytań do serwerów nazw (DNS)**.

**DoT** używa protokołu **TCP** (basic connection protocol) wraz z warstwą szyfrującą oraz uwierzytelniającą (layers over TLS encryption and authentication). **DoH** używa do połączenia protokołu **HTTP/2**. **HTTP/2** odpowiada za komunikację serwera z przeglądarką mający zapewnić ekspresowe wczytywanie stron internetowych i nie bez powodu ma to znaczenie w przypadku serwera nazw (DNS). Połączenie z DNS musi być szybkie, gdyż na tym opiera się pierwszy krok gdy wchodzimy na daną stronę w internecie.

Oprócz tego **DoT** używa portu **853** (lub 53), natomiast **DoH** używa portu **443**, tego samego, którego używa się przechodzą na stronę z zieloną kłódeczką (**HTTPS**). Dzięki czemu odwiedzanie bezpiecznej strony (przez port 443) a żądanie zapytania do serwera nazw wyglada tak samo i ciężko je odróżnić a co przede wszystkim zablokować. W przypadku dedykowanego portu, blokada **853/tcp** jest znacznie łatwiejsza a niżeli **443**.

Inną różnicą jest rownież to, że w przypadku **DoT** na routerze, nie jesteśmy 100% pewni czy wszystko działa przechodząc na stronę [https://one.one.one.one/help](https://one.one.one.one/help), bez uruchomienia śledzenia pakietów przy pomocy **[WireShark](https://www.wireshark.org)**. Dopiero wówczas możemy potwierdzić, że zapytania DNS są rzeczywiście szyfrowane. W przypadku poprawnie wprowadzonego **DoH** na routerze powyższa strona powinna potwierdzić nam że wszystko działa.

Oczywiście warto również posłużyć się stroną **[DNS Leak](https://www.dnsleaktest.com/)** w celu analizy wycieku zapytań do serwerów nazw (DNS). Uruchomiając **zaawansowany test (Extended test),** możemy sprawdzić, czy odpowiedzi przychodzą tylko z jednego źródła (jednego typu serwerów).

---

Pakiet **https-dns-proxy** do prawidłowego działania używa certyfikatów jednostek uwierzytelniających, w związku z tym, co jakiś czas należy te certyfikaty odnowić. Spotkałem się ostatnio z problemem, gdzie **DNS over HTTPS** nagle przestało działać (było to przy okazji robienia wpisu: [**Ustawienie domeny dla zmiennego adresu IP (OpenWrt i DDNS**)](/ustawienie-domeny-ddns-openwrt-cloudflare/)). Okazało się wówczas, że plik przechowujący certyfikaty w systemie został uszkodzony i należało go ponownie pobrać:

Przy pomocy **curl**

```bash
curl -k -o /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem
```

Domyślnie OpenWrt (na urządzeniach z małą ilością pamięci) nie posiada **curl** zainstalowanego (lub posiada w wersji okrojonej). Aby go dodać, wykonujemy następującą komendę:

```bash
apk update
apk add curl
```

> Curl jest dobrą metodą na aktualizację certyfikatów. Jeżeli uruchamiamy ją po raz pierwszy, gdy w systemie nie mamy żadnych certyfikatów, wówczas może ona zwrócić błąd. W związku z tym warto jest wykorzystać `wget` na początku a później polegać na `curl`.

Przy pomocy **wget**

```bash
wget  --no-check-certificate -O /etc/ssl/certs/ca-certificates.crt http://curl.se/ca/cacert.pem
```

Była to sytuacja nietypowa, ale jednocześnie dała do myślenia, gdyż certyfikaty w naszym systemie powinny być co jakiś czas odświeżane. W tym celu możemy dodać odpowiednią regułę do harmonogramu (**Scheduled Tasks**), która będzie robić to za nas **pierwszego każdego miesiąca** o godzinie **3 w nocy.**

Przechodząc do **System > Scheduled Tasks** dodajemy następującą linię:

Dla **curl**

```
00 3 1 * * /usr/bin/curl -k --silent --remote-name --time-cond /etc/ssl/certs/ca-certificates.crt -o /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem >/dev/null 2>&1
```

Dla **wget**

```
00 3 1 * * /usr/bin/wget -q --timestamping --no-check-certificate -O /etc/ssl/certs/ca-certificates.crt http://curl.se/ca/cacert.pem >/dev/null 2>&1
```

**Drobna uwaga.**

Wbudowany w OpenWrt **wget** (w niektórych wersjach) może nie posiadać opcji sprawdzania czasu (_--timestamping_) dla plików. W tym celu należy zainstalować (zaktualizować) jego najnowszą wersję:

```bash
apk update
apk add wget
```

## Śledzenie pakietów

Aby sprawdzić, czy oby rzeczywiście nasze zapytania do internetu nie są wysyłane w postaci łatwego do odczytania tekstu, możemy podłużyć się pakietem **tcpdump**.

```bash
apk add tcpdump
```

A na naszym komputerze instalujemy program [WireShark](https://www.wireshark.org), który posłuży do przechwycenia pakietów bezpośrednio z routera.

W przypadku macOS wystarczy uruchomić terminal i wykonać następującą komendę aby uruchomić przechwytywanie pakietów na naszym routerze i przekazać je do analizy w WireShark na naszym komputerze.

```bash
ssh root@192.168.1.1 tcpdump -i eth0.2 -U -s0 -w - 'not port 22' | sudo wireshark -k -i -
```

Oczywiście, **192.168.1.1** to adres naszego routera, który musimy dostosować, jeżeli jest inny.

Na tym etapie będziesz zmuszony podać hasło do SSH routera oraz hasło administratora w systemie macOS. Gdyż ten proces może być nieco mylący, które hasło wpisać kiedy, najlepiej uruchomić terminal oraz wykonać komendę **sudo su** przed wykonaniem powyższego.

Teraz, w oknie WireShark powinniśmy zobaczyć ruch, który generujemy.

I to by było na tyle.

**Pozdrawiam.**


---
## Plan awaryjny
- **URL:** https://dariusz.wieckiewicz.org/plan-awaryjny/
- **Date:** 2020-02-27
- **Tags:** Blog, 1Password, 2FA, LastPass, manager haseł, plan awaryjny, SMS, weryfikacja dwuetapowa

### Content

Żyjemy w czasach, gdzie informacja jest warta więcej niż pieniądze. Informacja, która może dla nas wydawać się nic niewarta (błaha), może okazać się kluczowa dla naszego bezpieczeństwa. Mowa tutaj o informacji w postaci elektronicznej, czyli nasz e-mail i hasła.

<!--more-->

W pierwszej kolejności nasunie ci się odpowiedz - przecież mój e-mail jest nic niewarty. Przecież nikomu nic to nie da jak się na niego włamie. Co mu po moim mailu, przecież nie jestem jakimś biznesmenem, który obraca nie wiadomo to jakimi pieniędzmi i musi się martwić o bezpieczeństwo informacji. Jestem tylko szarym człowiekiem.

Mało jednak ludzi zdaje sobie sprawę jak bardzo, na początku tego, co twierdzą, mogą się mylić. Nasza informacja, tj. E-mail, służy nieraz do komunikacji z bankiem. Zaczynając od tego, chociażby, ktoś, kto dostanie się do naszej skrzynki, będzie drążył dalej. Zaczynając od pieniędzy, poprzez portale społecznościowe będzie drążył i drążył. Aż w pewnym momencie zrozumiemy, jak informacja o szarym człowieku jest ważna, gdyż może doprowadzić nas na skraj, od którego nie ma powrotu. Dlatego, nawet będąc szarym człowiekiem, musimy zadbać o bezpieczeństwo naszych informacji tak, jakby od tego zależało nasze i innych życie.

W dobie weryfikacji dwuetapowej ([2FA](https://pl.wikipedia.org/wiki/Uwierzytelnianie_wielopoziomowe)) oraz managerów haseł (tj. [1Password](https://1password.com) czy [LastPass](https://www.lastpass.com)) starym się zabezpieczyć nasze dane jak tylko się da. 

Jeżeli już jesteśmy na tym etapie, że włączamy uwierzytelnienie dwuetapowe (sami, z nieprzymuszonej woli), jesteśmy bardziej niż inni świadomi czyhającego niebezpieczeństwa. Jeżeli dodatkowo używamy managera haseł oraz do każdej ze stron, na których się logujemy, staramy się używać unikalnego hasła (z wykorzystaniem generatora haseł), stajemy się tym odsetkiem społeczności, który traktuje kwestie bezpieczeństwa bardzo poważnie.

**Ale czy oby na pewno?**

**Ostatnio zadałem to pytanie sam sobie.**

Otóż w moim przypadku odstawiłem wszystko na bok - telefon, komputer, smart zegarek i spojrzałem, co bym zrobił, gdybym miał zacząć wszystko od zera. Nie mając nic, chciałbym przywrócić wszystko tak, jak było i dostęp do wszystkiego, co jest dla mnie ważne.

I tak wyszczególniłem 10 usług, które są dla mnie krytyczne i od których bym zaczął przywracanie.

Dwie podstawowe usługi, do których potrzebowałbym odzyskać dostęp, jest mój numer telefonu oraz adres e-mail.

I tutaj zadałem sobie pytanie, jaki jest mój plan awaryjny.

Zaczynając od maila, zakładając, że znam hasło, nie mając dostępu do mojego numeru telefonu oraz fizycznie do samego telefonu, odpada poproszenie o hasło SMS, kodu z autentykatora czy potwierdzenie w aplikacji, że to my. I tak zaczynają się pierwsze schody.

Przypomniałem sobie jednocześnie, że przecież Gmail (bo tam mam moja podstawową pocztę), w opcjach bezpieczeństwa, gdy włączałem weryfikacje dwuetapowa, poprosił mnie o wygenerowanie haseł bezpieczeństwa na wypadek takie o sytuacji. I tutaj jest pierwsze pytanie, co z nimi zrobiłem?

**Otóż Google, prosi, aby hasła zapisać lub wydrukować. A więc zapisałem...**

Hasła zapisałem w _(sic!)_ moim managerów haseł, do którego nie mam dostępu. Potrzebuje e-mail oraz hasło. Dodatkowo dobry manager haseł wymaga również dwuetapowej weryfikacji. Teraz, stojąc z pustymi rękoma, nie mamy nic. Hasła bezpieczeństwa, które pozwoliłyby nam odzyskać dostęp do maila, zamknęliśmy w sejfie, do którego nie mamy dostępu.

**To tak jakby zamknąć samochód z kluczykami w środku, tyle ze w tym przypadku nie ma możliwości zbicia szyby jako ostateczność.**

Prosty przykład pokazuje, że mój plan bezpieczeństwa legł w gruzach. Dlatego ważne jest przemyślenie, gdzie zapisujemy hasła, a co jest jeszcze ważniejsze, jak uzyskamy do nich dostęp. Tutaj staromodne wydawałoby się metody, okażą się najlepsze. Zapisanie w bezpiecznym miejscu haseł lub tez wydrukowanie i schowanie gdzieś bezpiecznie na czarną godzinę okazuje się lepszym, mimo że, wydawać by się mogło, nie najbezpieczniejszym rozwiązaniem.

Wydrukowane hasła bezpieczeństwa, schowane gdzieś głęboko w szafie, na strychu, w skrytce bankowej, u rodziny, stają się kluczem do wszystkiego.

Nie mając dostępu do haseł oraz numeru telefonu, aby odebrać SMS z kodem, próbujesz innych metod, tj. Alternatywny adres e-mail podany dla właśnie takiej sytuacji alarmowej. A co najśmieszniejsze, e-mail awaryjny, który podałeś, jest zabezpieczony w ten sam sposób jak e-mail główny. I tak kolejny raz, bez fizycznie zapisanego lub wydrukowanego kodu bezpieczeństwa, nasz misterny plan legł w gruzach.

Zaczynasz myśleć dalej. Numer telefonu.

Otóż możesz poprosić operatora o wydanie karty zamiennej z naszym numerem oraz zablokowanie starej. Dzięki temu możesz, w ciągu kilku godzin do dni odzyskać jeden kluczowy element, aby przywrócić dostęp do twojego maila.

W moim przypadku, gdy korzystam z GiffGaff, mam możliwość przeniesienia mojego numeru ze starej karty (do której mógłbym stracić dostęp, jak bym stracił telefon), na nową kartę (zapasowa, która zawsze mam gdzieś pod ręką) be zbędnego kombinowania. Wystarczy, że zaloguje się na moje konto i rozpocznę odpowiedni proces..

**Ha!**

{{% ads-in-article %}}

O ile mogę pamiętać nazwę użytkownika, dbając o swoje bezpieczeństwo, wygenerowaniem „bezpieczne” hasło, które mam zapisane w managerów haseł, do którego dostępu jeszcze nie mam. I tutaj mam kolejny przykład jak mój plan bezpieczeństwa lega w gruzach. A wystarczy, razem z hasłami do poczty, zapisać i to, aby w sytuacji awaryjnej mieć do tego dostęp. 

Kto by pomyślał, że staromodna, niebezpieczna metoda zapisywania haseł na kartce będzie kluczem do odzyskania przez nas kontroli nad naszymi danymi.

Oczywiście, nie chodzi tutaj o utworzenie notesika zatytułowanego Hasła, schowanego w pierwszą szufladę w domu. Tutaj potrzeba nieco finezji i przemyślenia. Stosowanie prostego szyfru w naszych notatkach może w tym pomoc. Jedynym problemem może okazać się nasza pamięć, ale na to aż tak bardzo nie mamy wpływu.

I tak wydawać się mogło, że „tylko e-mail” i „tylko numer telefony” to nic ważnego, ale zaczynając od nich, możemy odzyskać dostęp do naszych pieniędzy - banku; wspomnień - zdjęć czy też informacji publicznych tj. Media społecznościowe.

Wspomniałem wcześniej, że osobiście przygotowałem listę 10 usług, krytycznych dla mnie, a do których potrzebowałbym mieć dostęp awaryjny, gdybym musiał zaczynać wszystko od zera. W związku z tym, aby moja świadomość o zagrożeniu i tym stosowanie „zaawansowanych” narzędzi bezpieczeństwa nie spowodowała ze mój plan awaryjny runie w gruzach przy pierwszej próbie jego uruchomienia, warto przemyśleć cała sytuacje od początku. Osobiście, przygotowałem kartkę, która będzie moim planem awaryjnym na wypadek mojej katastrofy cyfrowej.

Można oczywiście pomyśleć o dodatkowych sposobach, na unikniecie zablokowania samego siebie przez wymyślne systemy bezpieczeństwa, które miały nas chronić. Tym sposobem jest dodanie dodatkowych numerów telefonów, adresów e-mail osób, którym możemy zaufać, a które, gdy będziemy w potrzebie, będą służyły pomocną dłonią.

Jak wszystko, nasz plan awaryjny jest unikalny. Nie ma metody, żeby go zrobić dobrze lub źle, w ten lub inny sposób. Ważne jest, że pewnego dnia, gdy siądziemy sobie w pustym pokoju, bez dostępu do wszystkiego tego, co mieliśmy na co dzień i przemyślimy, jak zacząć wszystko od nowa, a raczej, jak przywrócić wszystko tak jak było, zacząć działać i żeby nasz plan działał na naszą korzyść.

Pozdrawiam


---
## Zapora sieciowa (Firewall) dla iPhone, iPad i Mac - Lockdown Privacy
- **URL:** https://dariusz.wieckiewicz.org/firewall-iphone-ipad-mac-lockdown-privacy/
- **Date:** 2020-02-15
- **Tags:** Mac, AdBlock Plus, blokowanie reklam, Firewall, iPad, iPadOS, iPhone, iOS, Lockdown, Lockdown Privacy, Open Source, Mac, macOS, Safari, Secure Tunnel, VPN, Zapora sieciowa

### Content

Jeżeli śledzisz moją stronę, zapewne natrafiłeś już na mój wpis [Blokowanie reklam w Safari na iOS, iPadOS oraz macOS](/blokowanie-reklam-safari-ios-iphone-ipad/). Opisałem w nim sposób, jak wykorzystać wbudowaną w przeglądarkę Firefox Focus funkcję do blokowania trackerów oraz reklam bez zbędnego konfigurowania. 

Nie każdemu ta metoda się spisze. Inni mogą zdecydować się na [AdBlock Plus](https://apps.apple.com/us/app/adblock-plus-for-safari-abp/id1028871868), który można ustawić do blokowania reklam w Safari analogicznie jak w opisanym sposobie z wykorzystaniem Firefox Focus. Na co dzień używam Firefox Focus oraz AdBlock Plus w mojej przeglądarce Safari na telefonie.

Bez względu na to, co wybierzesz, każde rozwiązanie jest dobre z jednym **ale…**

<!--more-->

Powyższe blokowanie opiera się ściśle na przeglądarce Safari. A co w przypadku gdy ktoś używa innej przeglądarki?

O ile czysty Firefox wyposażony jest domyślnie w odpowiednie narzędzia, podobnie jak mobilny Microsoft Edge (wyposażony w AdBlock Plus), to problemem staje się blokowanie reklam i trackerów poza przeglądarką, w różnego rodzaju aplikacjach.

Jakiś czas temu wciągnęła mnie aplikacja **Woody 99 - Sudoku Block Puzzle**. O ile jej prostota pozwala ci się zrelaksować i poćwiczyć twój mózg, o tyle, jeżeli przegrasz (prędzej czy później), pełnoekranowe, kilku sekundowe reklamy, do których jesteś zmuszony, stają się nieco denerwujące. Rozumiem, że twórcy aplikacji, szczególnie tych darmowych, w ten sposób zarabiają na ich ciężkiej pracy, to niektóre reklamy doprowadzają cię do szału, gdy nie jesteś w stanie ich zamknąć, gdyż przycisk **(X)** do ich zamknięcia odmawia posłuszeństwa.

Mój syn ostatnio odkrył gry z serii **Alphabet Lore**. Największym problemem tych gier są reklamy. Nie bez powodów aplikacje z tej serii nie grzeszą rankingami bliskimi jednej gwiazdki. Wszyscy są wkurzenia, mój syn jest wkurzony. Największym problemem jest trudność w zamknięciu reklam. Mój autystyczny syn ma z tym większy problem, a gdy przychodzi po pomoc, nawet rodzice mają problem. Aplikacja o nazwie **Lockdown Privacy**, który działa w tle i nie wymaga zbędnej konfiguracji i uwagi, rozwiązała ten problem raz na zawsze. 

Przez ostatnie lata, na reklamy w aplikacjach nie wiele mogliśmy poradzić, szczególnie na platformie iOS/iPadOS. O ile Android to inna para kaloszy, system Apple jest bardziej zamknięty pod tym względem, dbając bardziej o nasze bezpieczeństwo (i stabilność systemu), więc blokowanie reklam i trackerów w całym systemie nie jest takie łatwe.

## Lockdown Privacy

Na szczęście ostatnio natrafiłem na narzędzie **[Lockdown Privacy](https://lockdownprivacy.com)**, które na platformie iOS istnieje już od Lipca 2019, a zrobiło się o nim ponownie głośno, w momencie, gdy wkroczył również na system macOS.

Dlaczego zainteresowałem się tą aplikacją?

Otóż z pierwszego względu, że jest **darmowa**, oferuje rozwiązanie umożliwiające **blokowanie trackerów oraz reklam w obrębie wszystkich aplikacji**, jak również z faktu, że bazuje ona na otwartym kodzie ([Open Source](https://github.com/confirmedcode/Lockdown-iOS)), dzięki czemu, każdy z odrobiną wiedzy w zakresie programowania może przejrzeć, jak ona działa i czy mówi to, co jest napisane na wieczku — że nie śledzi nas w zamian.

Aplikacja na iOS oferuje dwie podstawowe funkcje.

[![Lockdown Privacy - główne okno aplikacji z dwoma podstawowymi funkcjami - Firewall oraz Secure Tunnel VPN](lockdown_privacy_firewall_secure_tunnel_VPN.png)](lockdown_privacy_firewall_secure_tunnel_VPN.png)

### Secure Tunnel

Zaczynając od drugiej, jest to swego rodzaju VPN (**płatny**) mający na celu, wraz z integracją bankowego poziomu bezpieczeństwa, zabezpieczyć nas przed ujawnieniem naszej prawdziwej lokalizacji, naszego adresu IP oraz to, co przeglądamy w internecie. 

VPN-ów jest mnóstwo. Większość z nich stara się zachęcić użytkowników kwestią bezpieczeństwa i prywatności, co jest aktualnie na topie. Na chwilę obecną do tego celu mam kilka innych rozwiązań, więc skupię się na podstawowej, bezpłatnej opcji w aplikacji, a mam na myśli **Firewall**.

### Firewall

Głównym celem firewalla ([zapory sieciowej](https://pl.wikipedia.org/wiki/Zapora_sieciowa)), nie tylko w tej aplikacji, ale również w systemach takich jak Windows, czy nawet tych wbudowanych w nasz domowy router jest blokowanie potencjalnych ataków. Celem **Firewall** w aplikacji **Lockdown Privacy** jest _"blokowanie uporczywych oraz niebezpiecznych połączeń we wszystkich aplikacjach"_ w twoim telefonie lub tablecie — inaczej mówiąc wszelkie trackery oraz reklamy, które mogą ingerować w naszą prywatność.

Nie musimy tutaj za dużo konfigurować. Przy pierwszym uruchomieniu aplikacji zostaniemy zapytani, czy chcemy utworzyć konto w aplikacji. **Jest to krok opcjonalny.**

![Lockdown Privacy - Pierwsze uruchomienie na iOS - Sign Up lub Login](lockdown_privacy_first_run_ios.png)

Wybierając opcję **Sign Up** na następnym ekranie, w prawym górnym rogu będziemy mieli opcję **Skip** w celu pominięcia tego kroku. Na dalszym etapie możemy zdecydować, czy będziemy chcieli utworzyć konto, czy też nie.

Następnie krótki samouczek wyjaśni nam, do czego poszczególne elementy służą. My natomiast musimy nacisnąć jeden główny przycisk w sekcji **Firewall** oraz potwierdzić zapoznanie się z polityką prywatności aplikacji. 

[![Lockdown Privacy - Pierwszy ekran po aktywowaniu firewalla](locakdown_privacy_firewall_fist_activation.png)](locakdown_privacy_firewall_fist_activation.png)

Aplikacja poinformuje nas, że blokowanie odbywa się w 100% na naszym urządzeniu oraz że żadne dane nie są zbierane i przekazywane do żadnych zewnętrznych podmiotów.

Patrząc na liczbę pozytywnych recenzji przez renomowane strony tj. [MacRumors](https://www.macrumors.com/2019/07/24/lockdown-firewall-app-privacy-protection/), [9TO5Mac](https://9to5mac.com/2019/07/24/lockdown-ios-firewall-open-source/) czy [Cult of Mac](https://www.cultofmac.com/640998/lockdown-open-source-ios-firewall/?utm_campaign=how-to&utm_medium=twitter&utm_source=twitter), nie będę się z tym spierać.

Przy pierwszym użyciu aplikacji zostaniemy zapytani o zgodę na **utworzenie profilu VPN**. Nie jest to jednak VPN jak w przypadku Secure Tunnel. Ma on na celu utworzenie lokalnego połączenia z naszą aplikacją, przez który wszelkie połączenia będą przechodzić i będą filtrowane przez wbudowane reguły.

[![Lockdown Privacy - zapytanie czy aplikacja Lockdown może dodać konfigurację VPN](locakdown_privacy_add_VPN_configuration.png)](locakdown_privacy_add_VPN_configuration.png)

Po poprawnej aktywacji modułu **Firewall** zostaniemy zapytani, czy jesteśmy zainteresowani włączeniem również **Secure Tunnel** (opisanym powyżej). Jeżeli tak, możemy aktywować (lub nie) okres próbny na tydzień. Jako że skupiam się na opcji **Firewall**, osobiście wybrałem **Skip Trial**.

[![Lockdown Privacy - Firewall Activated - Question about a trial of Secure Tunnel VPN](lockdown_privacy_firewall_activated_trial_question.png)](lockdown_privacy_firewall_activated_trial_question.png)

I tak bez zbędnego konfigurowania wszystko jest aktywne i działa, a co najważniejsze, działa w tle.

Dla tych, którzy chcą sprawdzić, czy aby napewno, możemy przejść do Ustawień (**Settings**) > **VPN**, a następnie kliknąć ikonę **(i)** koło **Lockdown Configuration**. Zobaczymy tam informację, że nasz serwer działa na lokalnym adresie 127.0.0.1 oraz czas, od momentu połączenia.

[![Lockdown Privacy - Aktywne połączenie VPN](lockdown_privacy_active_vpn_connection.png)](lockdown_privacy_active_vpn_connection.png)

Przyszedł czas na sprawdzenie, jak **Firewall** spisuje się w zewnętrznych aplikacjach.

W tym celu odpaliłem **Woody 99** i rozpocząłem partyjkę. Po pierwszym przegraniu, w momencie, gdy powinna pojawić się reklama pełnoekranowa, nie zobaczyłem nic, tylko opcję do rozpoczęcia następnej partii.

**A więc w teorii działa.**

{{% ads-in-article %}}

Aktywowałem aplikację na tablecie mojego syna i pozwoliłem mu pograć w jedną z gier Alphabet Lore. Już po chwili zauważyliśmy, że reklamy zniknęły a z tym jego frustracja!

Powróciłem do aplikacji **Lockdown Privacy** na moim telefonie i zobaczyłem, że w tym krótkim czasie, **Firewall** zablokował przeszło 200 połączeń. **Całkiem nieźle!**

{{% gallery %}}
[![Lockdown Privacy - Firewall włączony](lockdown_privacy_firewal_on.png)](lockdown_privacy_firewal_on.png)
[![Lockdown Privacy - Firewall zapisy zdarzeń](lockdown_privacy_firewal_logs.png)](lockdown_privacy_firewal_logs.png)
{{% /gallery %}}

Dla porównania, po pół godziny na tablecie mojego syna ta wartość wzrosła do przeszło **2 tysiące** zablokowanych połączeń!

Oczywiście, nie zawsze aplikacja będzie działać, tak jak chcemy. Jeżeli mamy aplikację, która korzysta/wymaga połączenia nas z naszym kontem z Facebook, w tym momencie, mogą zacząć się schody. Na szczęście, wraz z rozwojem aplikacji, reguły stają się bardziej _smart_ a niektóre, które nie powinny być włączone, są wyłączone na starcie i to od nas zależy czy chcemy je włączyć.

Kolejne szybkie porównanie. W przypadku takiej gry jak **Archery King**, po niespełna jednej partii, **Lockdown Privacy** zablokował **4 tysiące (!) połączeń**, mimo tego, gra nadal działa.

Jeżeli chodzi o samą aplikację Facebooka, to działa ona bez większych problemów.

Aplikacja Lockdown Privacy spisuje się wyśmienicie na **macOS**, oferując nam dokładnie to, co oferuje na iOS, mimo że w samym macOS, nie jest tak dużo programów bazujących na wyświetlaniu reklam w celu zarobkowym.

Czy zatem **Lockdown Privacy** zastąpi nam **AdBlock Plus**? Nie jestem tego do końca pewien, chociaż, jak chcecie, nie ma nic przeciwko używaniu obu.

Fajnie by było, gdyby blokowanie nie odbywało się na obu systemach z wykorzystaniem VPN, ale na razie, jest to jedyna dostępna metoda na obejście ograniczeń, jakim jest fakt, że aplikacja nie może ingerować w inne funkcje oraz inne aplikacje w systemie Apple.

Co więcej, w aplikacji Lockdown Privacy, pod **Block list** mamy do dyspozycji dodatkowe opcje modyfikacji co ma być, a co nie, domyślnie blokowane. Całkiem nieźle na aplikację, którą praktycznie dostajemy za darmo, gdyż jedyną płatną opcją jest tunel VPN (**Secure Tunnel**).

Jeżeli jesteśmy zadowoleni, z tego, co aplikacja oferuje, nie pozostaje nic innego, aby w aplikacji na iOS założyć konto (**Sign Up**), aby otrzymać wszelkie dostępne benefity.

Z tego, co widzimy, projekt rozwija się prężnie, więc można go polecić każdemu, kto zmaga się z uporczywymi reklamami w darmowych grach i aplikacjach.

Pozdrawiam.


---
## 3x TAK dla Netflixa
- **URL:** https://dariusz.wieckiewicz.org/3x-tak-dla-netflixa/
- **Date:** 2020-01-25
- **Tags:** Blog, Altered Carbon, Amazon Prime, Netflix, Sense8, Wiedźmin

### Content

W [Sierpniu 2018 napisałem wpis](/niet-flix-czyli-nie-dla-netflixa/) na moim blogu odnośnie Netflixa, w którym to wyraziłem mój żal i rozczarowanie z tego, co tam znalazłem.

Mamy początek roku 2020, czy coś się zmieniło? W skrócie naprawdę wszystko!

<!--more-->

Poniekąd byłem rozczarowany tym, że ciężko jest tam znaleźć produkcje, które jeszcze 6 miesięcy temu były w kinach. Zrozumiałe, że produkcje muszą na siebie zarobić w tradycyjny sposób tj. Kino, DVD/Bluray a dopiero z innych źródeł.

Rynek się co nieco zmienił i Netflix stał się miejscem, gdzie obejrzymy bardzo dobre produkcje wyprodukowane tylko dla niego (tak jak ostatnio **[Wiedźmin](https://www.netflix.com/title/80189685)**). Tak jak to jest w przypadku Amazon Prime i ich markowych produkcji, Netflix poszedł dobrą drogą i dzięki temu stał się niekwestionowanym królem usług steamingowych.

U mnie zaczęło się od serialu **[Sense8](https://www.netflix.com/title/80025744)** i **[Altered Carbon](https://www.netflix.com/title/80097140)**, które dosłownie przykleiły mnie do “ekranu”. Podobnie jest w przypadku Amazon Prime (UK), który zachęcił mnie serialem **Expanse**, Neflix jest porządnym wzbogaceniem dostępnej kolekcji filmowej. Mimo tego, że nadal oglądam filmy z innych źródeł, Netflix (jak i Amazon Prime) pozostają na mojej liście usług, które opłaca co miesiąc i nie uważam, że są to zmarnowane pieniądze. Biorąc pod uwagę fakt, że oprócz standardowej licencji telewizyjnej (w UK - TV Licence, w Polsce - abonament RTV) nie mam innej płatnej telewizji typu Virgin czy Sky.

Oczywiście, restrykcje regionalne nadal są dużą bolączką i muszę używać “dobrego VPN” (którego Netflix nie blokuje), aby obejrzeć coś ze Stanów lub z Polski, to mimo tego, lokalna biblioteka (UK) filmów i seriali jest bardzo bogata. Każdy członek mojej rodziny, od tych najmłodszych, znalazł sobie coś do obejrzenia.

Pozycje w Netflixie pojawiają się i znikają tak jak w innych usługach streamingowych. I tak jak narzekałem na niektóre seriale i filmy, które nie były dostępne, to mam je teraz tutaj (Netflix) lub tam (Amazon Prime). Wszystko się zmienia i coraz więcej ludzi się przekonuje, że jest to dobry sposób na dostęp do legalnych treści multimedialnych. Wśród moich znajomych, nawet osoby, które z reguły "nie oglądają telewizji” znalazły w Netflixie coś dla siebie.

I mimo tego, że z w różnych krajach, Netflix kosztuje różnie, to kwota, jaką musimy na niego wydać, jest z reguły mniejsza niż jeden wypad do kina. Poza tym, w połączeniu “**[konta bez granic](/wise/)**” ([Wise](/wise/) czy nawet [Monzo](/monzo/)), możemy sobie wybrać, w którym kraju chcemy płacić i bez problemu oglądać w innym jednocześnie oszczędzając.

**Pozdrawiam**

{{% ads-in-article %}}


---
## Microsoft Edge domyślną przeglądarką
- **URL:** https://dariusz.wieckiewicz.org/microsoft-edge-domyslna-przegladarka/
- **Date:** 2020-01-15
- **Tags:** Blog, Bing, chromium, domyślna przeglądarka, DuckDuckGo, edge, Favorites New Tab, Google Chrome, Microsoft Edge, Safari, Windows, Windows 10

### Content

I tak nadszedł ten czas, gdy Microsoft Edge staje się moją domyślną przeglądarką w systemie Windows. Nie mylić tutaj z Edge wbudowanym w Windows 10, ale tym, który bazuje na projekcie [Chromium](https://www.chromium.org) (stąd też inne logo).

<!--more-->

Od **Kwietnia 2019** aktywnie używałem przeglądarki Microsoft Edge Insider (bazującej na Chromium) w gałęzi deweloperskiej i to w środowisku firmowy, gdzie wszystko musi działać. Poprzednio, moją przeglądarką był oczywiście **Google Chrome**, a więc aż tak dużych różnic w użytkowaniu nie było widać, szczególnie że można było dodawać rozszerzenia stworzone z myślą o Google Chrome.

> Czytaj więcej:  
> \- **[The Edge of Chrome](/the-edge-of-the-chrome/)**  
> \- [**Microsoft Edge Insider w praktyce**](/microsoft-edge-insider-w-praktyce/)

I tak mijały miesiące a przeglądarka nadal spisywała się tak, jak powinna. Po tym, jak w granicach **Listopada 2019** Microsoft poinformował, że w **Styczniu 2020** wypuści finalną wersję nowej przeglądarki, postanowiłem przejść z wersji deweloperskiej na wersję beta. Nie jest to krok w tył, a jedynie przejście na wersję, która bardziej będzie przypominać finalny produkt.

Wersja deweloperska ma zawsze kilka nowości, które nie trafią bezpośrednio do produktu finalnego, a więc po co się przyzwyczajać — lepiej analizować co aktualnie jest dostępne. 

* * *

**Rok 2020 będzie dla Microsoftu nie lada wyzwaniem.** Jeżeli rozegra to prawidłowo, może poważnie uszczuplić rynek Google Chrome. Co więcej, gdy przy kolejnej aktualizacji (myślę o przełomie kwietnia-maja), gdy Microsoft wypuści kolejną dużą aktualizację Windows 10, możemy zobaczyć, że wbudowany Edge zostanie zastąpiony przez Edge bazującym na Chromium. Wówczas prawdziwa rywalizacja się zacznie. Nie zdziwi mnie, gdy Google i inne firmy znowu wytoczą swoje działa i zacznie się kolejna runda walki o prawo wyboru przez użytkowników, którą przeglądarkę chce mieć domyślnie zainstalowaną przy pierwszym uruchomieniu komputera.

O ile patrząc lata wstecz, gdy wojna trwała z Internet Explorerem, to w tym przypadku walka będzie o wiele trudniejsza, gdyż Microsoft zaprezentował naprawdę dobre rozwiązanie, które stanie się domyślnym, z chęcią wybieranym rozwiązaniem na komputery z Windows (jak również MacOS).

* * *

**Finalną wersję Microsoft Edge można już pobrać z oficjalnej strony.**

[![Introducing the new edge](/images/2020/01/introducing_the_new_edge-min.png)](https://www.microsoft.com/edge)

[https://www.microsoft.com/edge](https://www.microsoft.com/edge)

* * *

Przy pierwszym uruchomieniu, zobaczymy kilka zmian, tj. używanie [konta Microsoft](https://account.microsoft.com/account), a nie Google do synchronizowania zakładek itp. oraz domyślnie ustawiony **Bing jako wyszukiwarka**. Ten został przeze mnie zmieniony w pierwszej kolejności w ustawieniach na **DuckDuckGo** (co niektórzy będą woleli jednak Google).

![Microsoft Edge Chromium DuckduckGo](/images/2019/12/microsoft_edge_chromium_duckduckgo-min.png)

Jako codzienny użytkownik **Safari**, przyzwyczaiłem się do startowych ikonek, które pozwalają mi w szybki sposób przejść na strony, które używam najczęściej. Ikonki te towarzyszą mi na macOS, jak również na iOS.

![Safari 13 favorites redacted](/images/2019/12/safari_13_favorites_redacted-min.jpg)

![Safari favorites iOS](/images/2019/12/safari_favorites_ios-min.png)

Rozwiązań dla Chrome, które można użyć również w Edge jest mnóstwo, jednakże żaden z nich nie jest wizualnie tak przyjaznym rozwiązaniem, jak te od Apple. Z lupą można szukać czegoś, co jest odpowiednikiem tego rozwiązania. Na szczęście takie rozwiązanie istnieje (trzeba było je tylko znaleźć) i nazywa się **[Favorites New Tab](https://chrome.google.com/webstore/detail/favorites-new-tab-page/kjkbcegjfanmgocnecnngfcmmojheiam)** od **[web-accessories](https://web-accessories.com)**.

> Czytaj więcej: **[W poszukiwaniu ulubionej strony startowej](/w-poszukiwaniu-ulubionej-strony-startowej/)**

![favorites new tab chrome redacted](/images/2019/12/favorites_new_tab_chrome_redacted-min.png)

Favorites New Tab w Microsoft Edge (Chromium)

{{< youtube id="8iMwFhFN6qw" title="Favorites for Google Chrome (by web-accessories.com)‌" >}}*Favorites for Google Chrome (by web-accessories.com)‌*

* * *

{{% ads-in-article %}}

Jedyną kulą u nogi dla Microsoftu stanie się Edge na platformy mobilne, gdyż został on nieco z tyłu. Mimo że pozwalał już synchronizować zakładki (już od wersji Insider), to nadal jest on bardziej odpowiednikiem Edge z początków Windows 10 a niżeli z tej, bazującej na chromium.

Tutaj niestety Microsoft jasno powiedział, że nie zamierza dokonać skoku w kierunku mobilnego Chrome, co jest wręcz dziwne. Im bliżej premiery finalnej wersji, tym bardziej widać jednak było zwiększone zaangażowanie w Edge na Androida oraz iOS. Póki co Microsoft odświeżył nieco wygląd aplikacji (gdyż zajeżdżał tym z Windows Mobile) oraz zaktualizował ikonę na taka jaką ma Edge bazujący na Chromium.

Mam nadzieję, że w momencie, gdy finalna wersja jest już na runku, rozwój mobilnej wersji jeszcze bardziej przyspieszy. Pożyjemy, zobaczymy.

Dużym plusem jest fakt, że Edge na platformy mobilne wyposażony jest we wbudowany **[Adblock Plus](https://adblockplus.org)**. Jako że Edge, jak i mobilny Chrome of Google, nie obsługują wtyczek, posiadanie wbudowanego programu walczenia z reklamami jest wielkim plusem.

{{% gallery %}}
[![Mobilny Edge na iOS homescreen](/images/2020/01/mobilny_edge_na_ios_homescreen-min.png)](/images/2020/01/mobilny_edge_na_ios_homescreen-min.png)
[![Mobilny Edge na iOS Adblock Plus](/images/2020/01/mobilny_edge_na_ios_adblock_plus-min.png)](/images/2020/01/mobilny_edge_na_ios_adblock_plus-min.png)
{{% /gallery %}}

* * *

W 2020 będę zachęcał wszystkich na przesiadkę. Osobiście zacznę od środowiska firmowego. To właśnie użytkownicy firmowi dają największy feedback odnośnie nowego produktu, gdyż jak to już mówiłem nie raz, w firmie wszystko musi działać i już! Jeżeli w waszej firmie coś nie działa notorycznie, pora na zmianę osoby odpowiedzialnej za IT.

**Pozdrawiam**


---
## Kokardka na ogonie - Aplikacja dla zapominalskich
- **URL:** https://dariusz.wieckiewicz.org/kokardka-na-ogonie-aplikacja-dla-zapominalskich/
- **Date:** 2019-12-26
- **Tags:** Oprogramowanie, Apple, iOS 13, Microsoft, Microsoft To Do, Powiadomienia, Reminders, Wunderlist

### Content

Śledząc moją stronę, już wiesz, że jestem mocno zrzuty z ekosystemem Apple. Odkąd Apple zapowiedział najnowszy system operacyjny iOS 13, z niecierpliwością czekałem na niego, jak i na zmiany, które pomogą mi w lepszy sposób zarządzać rzeczami “do zrobienia”. Jako użytkownik aplikacji **Wunderlist**, która na co dzień pozwalała mi zarządzać czasem, rzeczami do zrobienia, czy to osobistymi, czy też wspólnie w gospodarstwie domowym dzięki dzielonym listą aktualizowanym w trybie natychmiastowym.

<!--more-->

Na co dzień nie wyobrażam sobie pracy bez tego narzędzia. W momencie, gdy **Wunderlist** został zakupiony przez **Microsoft**, miałem nieco mieszane uczucia. Patrząc jednak, na to, w którym kierunku zmierza Microsoft (na pewno lepszym niż kilka lat temu), to narzędzia od jego ekipy stają się coraz to bardziej nieodzowne, nie ze względu na to, że nie da się ich łatwo zastąpić (bo opcji jest wiele), ale ze względu na fakt, że stają się one bardziej przyjazne użytkownikowi. Użytkownik znajduje w nich to, czego potrzebuje.

Gdy Microsoft wypuścił aplikację **[To Do](https://todo.microsoft.com/tasks/)** jakiś czas temu (jeszcze przez zakupem Wunderlist), pobrałem — przetestowałem — odinstalowałem. Aplikacja była daleka od ideału, a w porównaniu z Wunderlistem bardzo słaba. Nic dziwnego, że Microsoft poszedł po rozum do głowy i zdecydował się wykorzystać dostępne rozwiązanie (**kupić je**) i wpasować w swoje portfolio. Tak jak to jest aktualnie z [Edge bazującym na Chromium](/microsoft-edge-insider-w-praktyce/), tak **nowe To Do** stał się odświeżonym Wunderlistem.

![microsoft to do](/images/2019/12/microsoft_todo-min.png)

Microsoft zachęca, nawet na oficjalnej stronie Wunderlist, do przejścia na To Do, gdyż w 2020, Wunderlist [zostanie po mału wycofywany](https://imagazine.pl/2019/12/10/koniec-wunderlist-nastapi-w-maju-2020/). W aplikacji To Do możemy również w łatwy sposób zimportować wszystkie nasze listy do nowej aplikacji. “Nowa” aplikacja To Do jednak nie jest do końca taka jak Wunderlist. Niektóre elementy nie są tak przyjazne dla oka, jednak zdążyłem się przyzwyczaić. Zmiana nie była aż taka oczywista, mimo tego, że musiałem podjąć decyzję o tym, co robić dalej, gdyż sam Wunderlist wkrótce zniknie na dobre.

Nic dziwnego, że oryginalni twórcy Wunderlista, który **sprzedali go** do Microsoftu wystosowali prośbę do Microsoftu o oddanie/odkupienie go z powrotem, aby oni mogli kontynuować rozwój aplikacji, nie skazując jej na rychły koniec i odrodzenie w postaci To Do. Jako że jest to mało realne, aby Microsoft zdecydował się na takie zagranie, po tym, jak dużo zaimplementował w nową aplikację, należy realnie zastanowić się, czy To Do od Microsoftu jest godziwym następcą Wunderlista.

**Wracając do iOS 13**, w momencie, gdy został zaprezentowany, moje skupienie było na aplikacji **Powiadomienia (Reminders)**. W iOS 12 nie dorównywała ona ani Wunderlist’owi, ani To Do (sprzed integracji z Wunderlist), a więc zmiana była wysoce wskazana, aby stać się aplikacją, która wnosi zmiany na rynku.

![apple reminders](/images/2019/12/apple_reminders-min.png)

Rozpocząłem moją przesiadkę z Wunderlist na To Do, po czym iOS 13 wszedł na rynek i postanowiłem spróbować nowej aplikacji od Apple. Nowy wygląd wniósł dużo świeżości i sprawił, że stała się ona moją domyślną aplikacją do zarządzania elementami do zrobienia. 

Od Września do Listopad 2019 stale jej używałem i odkryłem, jak bardzo tej aplikacji brakuje do jej konkurenta od Microsoftu. Błędy w aplikacji na iOS (chociażby jak odznaczasz zadanie jako zrobione, nie znika ono automatycznie, do czasu aż wyjdziesz i wrócisz do listy) zniechęcały do jej użytkowania, szczególnie że ta sama aplikacja na MacOS zachowuje się nieco inaczej. **Postanowiłem spróbować ponownie z To Do od Microsoftu**.

W przeciągu ostatnich miesięcy Microsoft pracował nad aplikacją, stale ją aktualizując, więc niuanse które doprowadzały mnie do szału oraz drobne niedociągnięcia w interfejsie powinny zostać już na tyle udoskonalone, że stanie się on ponownie moją domyślną i niezbędną aplikacją tak jak kiedyś Wunderlist.

**I tak się stało.** Mimo że na co dzień znajduję buble w programie (nie oszukujmy się, w Wunderliście też one były), to mimo tego, ciągłe wsparcie, aktualizacje napawają nadzieją, że zostanie to poprawione i kolejne “dobre” narzędzie “od” Microsoftu stanie się moim nieodzownym narzędziem w codziennej pracy.

{{% ads-in-article %}}


---
## Energetyzujący problem macOS
- **URL:** https://dariusz.wieckiewicz.org/energetyzujacy-problem-macos/
- **Date:** 2019-10-11
- **Tags:** Blog, bateria, coconutBattery, hibernacja, MacBook Pro, macOS, MBP, Memory Clean 2, pmset, RAM, SSDReporter, terminal, Uśpienie

### Content

Mój MacBook Pro, którego używam, nie należy do najnowszych (Late-2013), to mimo tego nadal jego bateria jest na poziomie 95% żywotności (przy 270 cyklach ładowania), co po ponad 5-latach użytkowania jest naprawdę dobrym wynikiem (wg **[coconutBattery](https://coconut-flavour.com/coconutbattery/)**).

> Jeżeli posiadasz komputer Mac z procesorem M1 lub nowszym, poniżej opisane rozwiązanie nie jest zalecane ze względu na znaczące wydłużenie wznawiania komputera z trybu uśpienia (hibernacji).

<!--more-->

[![CoconutBattery](/images/2019/10/coconutbattery_10_2019-min.png)](/images/2019/10/coconutbattery_10_2019-min.png)

Mimo tego, od momentu macOS Mojave (po macOS Catalina) zacząłem obserwować, że w momencie klapnięcia pokrywy laptopa, podczas gdy przechodzi on w tryb uśpienia, poziom naładowania baterii spada.

Wszystko wydaje się normalne, gdyż RAM, który wykorzystywany jest na etapie hibernacji potrzebuje energii, aby podtrzymać przechowane w nim informacje. O ile nie zauważałem tego, gdy pozostawiałem komputer podłączony pod ładowarkę na noc, to w momencie, gdy zacząłem zostawiać go bez źródła zasilania, naładowanie baterii spadało o ok. 10-15% w przeciągu ok. 8 godzin.

Taka utrata energii dała mi co nieco do myślenia.

Najpierw zainteresowałem się tym, ile tak naprawdę pamięci RAM wykorzystuję. Do tego celu użyłem darmową wersję programu **[Memory Clean 2](https://fiplab.com/apps/memory-clean-for-mac)**.

Przy normalnym użytkowaniu pamięć RAM wykorzystywana jest praktycznie w 85%. W momencie uśpienia komputera rzadko zostawia włączone programy, inne niż Safari. Przeważnie zamykam wszystko przed zakończeniem pracy.

Mimo tego, macOS pozostawia część danych w pamięci RAM na przyszłość, przez co więcej danych musi zostać podtrzymana przy użyciu energii zgromadzonej w naszej baterii.

O ile najnowszy system macOS Catalina, wg moich obserwacji, zarządza pamięcią nieco sprawniej, to nadal nie widzę potrzeby zostawiania wszystkiego w pamięci RAM na następny dzień.

Zacząłem więc szukać rozwiązania i natrafiłem na ciekawą informację o różnych metodach hibernacji i uśpienia stosowanych w systemach Apple.

Otóż w systemach macOS wyróżnia się 2 rodzaje uśpienia/hibernacji.

*   **Tryb uśpienia (Sleep mode)** - standardowy tryb uśpienia stosowany w komputerach typu iMac. W momencie uśpienia większość danych zostaje zapisana w RAM, a sama pamięć pozostaje pod ciągłym zasilaniem. Pozytywnym elementem tego rozwiązania jest to, że komputer startuje z uśpienia niemal natychmiast.
*   **Hibernacja/Bezpieczne uśpienie (Safe sleep)** \- rozwiązanie hybrydowe (wykorzystywane w obecnych komputerach) polegające na pozostawienie części informacji w pamięci RAM oraz zapisanie kopii na dysku twardym. Start komputera jest natychmiastowy z danych przechowanych w pamięci RAM (RAM pozostaje zasilany w momencie uśpienia). W przypadku utraty zasilania (rozładowania baterii), a jednocześnie utraty danych z pamięci RAM, dane są przywracane z dysku, pozwalający w sposób bezpieczny na przywrócenie pracy do stanu sprzed uśpienia.

Sam tryb hibernacji różni się w zależności od typu komputera jaki używamy. W przypadku komputerów stacjonarnych (iMac), w momencie uśpienia przechowywane są w pamięci RAM z pominięciem zapisywania na dysku twardym (**Tryb 1**).

Dla urządzeń przenośnych wyróżnione jest rozwiązanie hybrydowe opisane powyżej (**Tryb 3**).

Apple wprowadził jednak dodatkowe rozwiązanie (**Tryb 25**), które nie jest domyślnie używane, a do którego będę chciał zachęcić. Polega on na zapisaniu zawartości pamięci RAM (tylko tych najważniejszych danych) na dysku twardym w momencie uśpienia. W momencie zakończenia hibernacji pamięć RAM odcięta jest od zasilania i w rezultacie wyczyszczona. Gdy komputer startuje ponownie, zapisana część danych przywracana jest z dysku do pamięci.

O ile to rozwiązanie wpływa pozytywnie na baterię (nie rozładowuje się przez noc), o tyle jest ono wolniejsze, dla tego też nie zostało domyślnie wprowadzone w obecnych komputera. Jako że zapis pomiędzy RAM a dyskiem i z powrotem może chwilkę zająć, powoduje to poniekąd wolniejszy start.

W przypadku komputerów z dyskiem SSD ta różnica nie jest znacząca. W przypadku mojego MBP zauważalne jest 1-2 sekundy opóźnienia od momentu otwarcia pokrywy do momentu pojawienia się ekranu logowania.

Jak dla mnie to rozwiązanie wcale mi to nie przeszkadza, a jednocześnie znalazłem jego dodatkową zaletę. O ile używałem Memory Clean 2 do opróżnienia niepotrzebnych śmieci z pamięci RAM, o tyle te śmieci są automatycznie opróżnione w momencie uśpienia bez zbędnych programów.

W momencie uśpienia posiadałem 2GB wolnej pamięci (z 8GB w moim komputerze) to po przebudzeniu miałem już prawie 5GB (czasami nawet 6GB). Nie zauważyłem żadnych negatywnych stron tego rozwiązania póki co więc dlaczego by przy tym nie zostać.

[![memory clean 2 pre](/images/2019/10/memory_clean_2_pre-min.png)](/images/2019/10/memory_clean_2_pre-min.png)
    
[![memory clean 2 post](/images/2019/10/memory_clean_2_post-min.png)](/images/2019/10/memory_clean_2_post-min.png)

Nie znaczy to, że wywalam od razu **Memory Clean 2**. Wręcz przeciwnie. Lubię wiedzieć od czasu do czasu jak bardzo wykorzystuję pamięć w komputerze, a wskaźnik w górnym pasku mi to ładnie pokazuje.

* * *

Oto jak sprawdzić, jaki tryb uśpienia/hibernacji używamy oraz jak zmienić go na Tryb 25 opisany powyżej.

Najpierw odpalamy **Terminal** i wpisujemy następującą komendę:

```
pmset -g | grep hibernatemode
```

[![darek bash pmset hibernatemode](/images/2019/10/darek-bash-pmset-hibernatemode-min.png)](/images/2019/10/darek-bash-pmset-hibernatemode-min.png)

W większości wypadków będziemy mieli:

```
hibernatemode        3
```

{{% ads-in-article %}}

Poszczególne tryby są następujące:

*   hibernatemode 0 - **standardowe uśpienie**.
*   hibernatemode 1 - **hibernacja**.
*   hibernatemode 3 - **bezpieczne uśpienie (Safe Sleep)**.
*   hibernatemode 25 - **inny rodzaj hibernacji** (opisany powyżej)

> Poniższe komendy wykonujemy z wykorzystaniem podwyższonych uprawnień po podaniu hasła do naszego konta (zakładając, że jesteśmy administratorem komputera).

Aby zmienić tryb (w poniższym przykładzie na Tryb 25) wystarczy następująca komenda:

```
sudo pmset -a hibernatemode 25
```

Oprócz tej komendy warto użyć dodatkowej komendy związanej z tym, jak szybko nasz komputer będzie przechodził w stan hibernacji po uśpieniu.

Najpierw za pomocą poniższej komendy możemy sprawdzić nasze ustawienia:

```
pmset -g
```

[![darek bash pmset g](/images/2019/10/darek-bash-pmset-g-min.png)](/images/2019/10/darek-bash-pmset-g-min.png)

I tak pozycja **standby** powinna być włączona - czyli **1**. W przypadku komputerów przenośnych jest duża szansa że już tak jest, a jeżeli nie, wystarczy poniższa komenda:

```
sudo pmset -a standby 1
```

Sama komenda **standby** nie określa, jak szybko komputer przejdzie z trybu uśpienia (które potrzebuje energii) do trybu hibernacji (który **nie** potrzebuje energii). Łopatologicznie mówiąc, po jakim czasie same zostaną zapisane z pamięci RAM na dysk twardy. Do tego dodajemy następujące komendy:

```
sudo pmset -a standbydelaylow 60
sudo pmset -a standbydelayhigh 60
```

Czas 60 sekund możecie dostosować do własnych potrzeb. Jeżeli potrzebujecie przenieść komputer z miejsca na miejsce, wówczas nie potrzebujecie, aby przeszedł on w stan hibernacji za szybko. W tym przypadku można ten czas wydłużyć. Domyślnie (MacBook Pro) w przypadku wartości **low** jest 10800 sekund (180 minut, 3 godziny!), a w przypadku wartości **high** 86400 sekund (1440 minut, 24 godziny!). Myślę, że 300 sekund (5 minut) powinno być waszym maksimum.

Jeszcze dla wyjaśnienia czym różni się **standbydelaylow** od **standbydelayhigh**.

Otóż **standbydelayhigh** określa, jak szybko komputer przejdzie do hibernacji gdy poziom baterii naszego komputera jest powyżej 50%. Analogicznie **standbydelaylow** gdy nasza bateria jest poniżej 50%. Gdy mamy pełną baterię, rozsądnie jest wydłużyć czas, a gdy na wyczerpaniu, przejść w hibernację (która nie potrzebuje zasilania) jak najszybciej.

Półap 50% określony jest w **highstandbythreshold**.  
W razie potrzeby można go zmienić:

```
sudo pmset -a highstandbythreshold 25
```

* * *

Ktoś może powiedzieć że przez to rozwiązanie nasz dysk SSD szybciej się zużyje. O tyle dodam, że wg programu **[SSDReporter](https://www.corecode.io/ssdreporter/)**, mój dysk po ponad 5 latach jest na poziomie 94% (6% zużycia) więc możecie sobie sami odpowiedzieć na powyższe pytanie/stwierdzenie.

**Pozdrawiam**

* * *

Strony źródłowe warte polecenia:

[appletoolbox.com/how-to-fix-macos-mojave-battery-draining-issue/#Sleep_Mode_Basics](https://appletoolbox.com/how-to-fix-macos-mojave-battery-draining-issue/#Sleep_Mode_Basics)

[computers.tutsplus.com/tutorials/how-to-hibernate-a-mac--cms-23235](https://computers.tutsplus.com/tutorials/how-to-hibernate-a-mac--cms-23235)

[www.dssw.co.uk/reference/pmset.html](https://www.dssw.co.uk/reference/pmset.html)


---
## (Ponad) 5 lat z MacBook Pro - benchmark
- **URL:** https://dariusz.wieckiewicz.org/5-lat-macbook-pro-benchmark/
- **Date:** 2019-10-09
- **Tags:** Mac, aktualizacja, Benchmark, CPU Benchmark, Geekbench 5, GPU Benchmark, MacBook Pro, macOS Catalina, macOS Mojave, MBP, Metal, OpenCL

### Content

I tak minęło przeszło 5 lat odkąd, przesiadłem się na MacBook Pro (Kwiecie 2014). MBP jest najdłużej posiadanym przeze mnie komputerem w życiu i to nie ze względu na kwotę, która na niego wydałem, ale ze względu na jakość.

<!--more-->

Mój 13.3” MBP (Late-2013) z procesorem i5, 8GB RAM i 256GB SSD nie jest nie wiadomo jaką bestią, to sprawuje się bez większych zarzutów, nieustannie od kwietnia 2014. Od tego czasu otrzymał kilka dużych aktualizacji oprogramowania i nawet dzisiaj producent o nim nie zapomniał wypuszczając MacOS Catalina, czyli najnowszy system operacyjny od Apple (zaczynałem od OS X Mavericks).

Na co dzień widzę ludzi wyrzucających pieniądze na komputery z Windowsem, które nie są wartej swojej ceny a co najważniejsze, nie dorównują wydajnością mojemu leciwemu MBP.

Nie oszukujmy się, ale Windows 10 jest jednym z lepszych systemów operacyjnych, który przyćmiony jest przez głupich producentów komputerów, którzy sprzedają chłam, sprawiając że praca na „nowym” komputerze szybko przeradza się w narzekanie. Najgorsze jest to, że narzekanie nie jest na sprzęt tylko na system operacyjny.

O ile w Polsce (w przeciwieństwie do UK) kupno laptopa z dyskiem SSD staje się normą (i dobrze!) to nadal niektórzy producenci wpychają mechaniczne dyski talerzowe zachęcając niezliczona liczba gigabajtów niszcząc całą przyjemność używania komputera wraz z ich bardzo niską wydajnością. Wszystko po to, aby użytkownik wymienił komputer na nowy po 2-3 latach. Nie mówiąc już o sprzedawaniu komputerów z 32GB dyskiem SSD i brakiem możliwości rozbudowy. Ostatnio wpadł mi w ręce komputer Dell, w którym producent zadbał (mimo pozostawienia miejsca na większy dysk), aby nie było możliwości jego rozbudowy, poprzez nie wlutowanie złącza SATA do płyty głównej. Komputer taki to tylko strata pieniędzy, a może raczej dojenie klientów, żeby kupili nowy. Mam nadzieje, że chociażby klienci pamiętają, który producent robi z nich idiotę wybierając nowy sprzęt.

Wracając do tematu. Mimo że mój laptop nie jest najnowszy, po aktualizacji do MacOS Catalina zyskał kolejny rok z życia. O ile nie spotka go awaria, o tyle posłuży dalej.

Zadziwiający jest fakt, że po aktualizacji do najnowszego systemu, moc obliczeniowa, a również wydajność graficzna nieznacznie się zwiększyła. Jest to poniekąd dziwne, bo każdy producent wolałby aby użytkownik wydał jego ciężko zarobione pieniądze na nowy sprzęt a niżeli siedział kolejny rok na sprzęcie sprzed lat. Biznes musi się kręcić, jednakże Apple dba o użytkownika nawet pod tym względem. Skoro wydałeś przeszło £1000 to laptopa to poniekąd należy ci się możliwość bezproblemowego jego użytkowania przez lata. Na szczęście Apple nie jest jak Samsung, który po wypuszczeniu najnowszej wersji telefonu zapomniał już o jego użytkownikach telefonu sprzed dwóch lat (aktualizacje!), czy też Lenovo, które po wypuszczeniu sprzętu na rynek szybko przestaje jego wsparcie, jeżeli chodzi o sterowniki.

Mamy koniec roku 2019 a mój MacBook Pro przy okazji aktualizacji no najnowszego systemu operacyjnego otrzymał również aktualizację BIOSu. Ten ruch nie jest typowy wśród producentów komputerów z Windowsem. Ci drudzy zapominają, że oprogramowanie płyty głównej musi być aktualizowany, aby poprawnie współpracował z najnowszym systemem operacyjnym.

[![macOS Mojave (BIOS 156)](/images/2019/10/geekbench-5-device-info-min.png)](/images/2019/10/geekbench-5-device-info-min.png)*macOS Mojave (BIOS 156)*
[![macOS Catalina (BIOS 157)](/images/2019/10/geekbench-5-device-info-min-1.png)](/images/2019/10/geekbench-5-device-info-min-1.png)*macOS Catalina (BIOS 157)*

Przed aktualizacją, jak i bezpośrednio po nie dokonałem testu, aby sprawdzić jak bardzo najnowsze oprogramowanie wpłynie na komfort użytkowania mojego leciwego sprzętu. Do tego celu użyłem Geekbench 5 w wersji darmowej.

**macOS Mojave 10.14.6**

[![macOS 10.14.6 Overview](/images/2019/10/macos-10-14-6-overview-1-min.png)](/images/2019/10/macos-10-14-6-overview-1-min.png)*macOS 10.14.6 Overview*

Moje testy rozpocząłem od benchmarku CPU, następnie GPU z wykorzystaniem OpenCL oraz Metal. Wyniki zaprezentowały się następująco.

**CPU Benchmark**

[![CPU Benchmark - result 1](/images/2019/10/geekbench-5-cpu-results-1-min.png)](/images/2019/10/geekbench-5-cpu-results-1-min.png)

**GPU Benchmark - OpenCL**

[![GPU Benchmark - OpenCL - result 1](/images/2019/10/geekbench-5-gpu-opencl-results-1-min.png)](/images/2019/10/geekbench-5-gpu-opencl-results-1-min.png)

**GPU Benchmark - Metal**

[![GPU Benchmark - Metal - result 1](/images/2019/10/geekbench-5-gpu-metal-results-1-min.png)](/images/2019/10/geekbench-5-gpu-metal-results-1-min.png)

Osobiście przyznam, że na aktualizację do macOS Catalina czekałem z niecierpliwością, no i w końcu, 7-go Października 2019 Apple wypuścił najnowszy system dla wszystkich użytkowników ze sprzętem, który spełnia minimalne wymagania, tj.:

*   **MacBook:** 2015 and later
*   **MacBook Pro:** 2012 and later (mój klasyfikuje się tutaj)
*   **MacBook Air:** 2012 and later
*   **Mac Mini:** 2012 and later
*   **iMac:** 2012 and later
*   **iMac Pro:** 2017 and later
*   **Mac Pro:** 2013 and later, with a Metal-capable GPU

{{% ads-in-article %}}

**macOS Catalina 10.15**

[![macOS Catalina 10.15 overview](/images/2019/10/macos-10-15-overview-1-min.png)](/images/2019/10/macos-10-15-overview-1-min.png)

Po aktualizacji i szybkim przejrzeniu co się zmieniło ponownie uruchomiłem Geekbench 5 i tutaj ukazały się zaskakujące wyniki!

**CPU Benchmark**

[![CPU Benchmark - result 1-1](/images/2019/10/geekbench-5-cpu-results-1-min-1.png)](/images/2019/10/geekbench-5-cpu-results-1-min-1.png)

**GPU Benchmark - OpenCL**

[![GPU Benchmark - OpenCL - result 1-1](/images/2019/10/geekbench-5-gpu-opencl-results-1-min-1.png)](/images/2019/10/geekbench-5-gpu-opencl-results-1-min-1.png)

**GPU Benchmark - Metal**

[![GPU Benchmark - Metal - result 1-1](/images/2019/10/geekbench-5-gpu-metal-results-1-min-1.png)](/images/2019/10/geekbench-5-gpu-metal-results-1-min-1.png)

Jak można zauważyć, moc obliczeniowa procesora zwiększyła się o 27% dla pojedynczego rdzenia i do 5% z wykorzystaniem kilku rdzeni. W przypadku GPU zyskaliśmy ok. 5% w przypadku OpenCL oraz prawie 7% z wykorzystaniem Metal.

Wyniki okazały się zaskakujące. Nie oczekiwałem poprawy, a raczej na pozostaniu w okolicach poprzednich wyników.

**Krótkie zestawienie macOS Mojave 10.4.6 oraz macOS Catalina 10.15**

[![10.14.6 vs 10.15 CPU](/images/2019/10/10-14-6-vs-10-15-cpu-min.png)](/images/2019/10/10-14-6-vs-10-15-cpu-min.png)
[![10.14.6 vs 10.15 GPU](/images/2019/10/10-14-6-vs-10-15-gpu-min.png)](/images/2019/10/10-14-6-vs-10-15-gpu-min.png)

Jak widać po wynikach, Apple zaktualizował BIOS komputera, optymalizując go pod kątem nowego systemu, dzięki czemu mogliśmy osiągnąć lepsze wyniki a niżeli przed aktualizacją. To się nazywa wsparcie producenta! Napawa mnie to optymizmem oraz upewnia, że w momencie jak za rok lub dwa (o ile nie wyzionie ducha wcześniej), mój komputer nie otrzyma już aktualizacji do kolejnego systemu, z przyjemnością powiem, że nastał już czas na zmianę na nowszy model!

**Pozdrawiam**


---
## Jak zmienić operatora komórkowego w Wielkiej Brytanii
- **URL:** https://dariusz.wieckiewicz.org/jak-zmienic-operatora-komorkowego-w-wielkiej-brytanii/
- **Date:** 2019-07-30
- **Tags:** GiffGaff, Ofcom, okres wypowiedzenia, PAC, PAC Code, porting authorization code, STAC, STAC Code, service termination authorisation code, sieć komórkowa, SIM CARD, SMS, text message, Wielka Brytania, zmiana operatora

### Content

Czy widzieliście ostatnio na bilbordach reklamy w stylu “_It’s not me, its you_” od Sky Mobile?

Otóż w ostatnich tygodnia nastąpiła nie lada zmiana na korzyść konsumentów, szczególnie użytkowników telefonów komórkowych.

Telefony komórkowe to codzienność. W Wielkiej Brytanii ten sektor to potężny biznes, szczególnie że na wyspie zarabia się nieco inaczej i stać cię na nieco lepsze telefony w ramach miesięcznego abonamentu.

Osobiście nie jestem i nigdy nie byłem zwolennikiem abonamentu w Wielkiej Brytanii. W związku z tym, wprowadzenie wymagania, jakim jest łatwa zmiana operatora i jeszcze łatwiejsze przeniesienie numeru za pomocą tylko wiadomości SMS stało się czymś przełomowym, więc postanowiłem się temu przyjrzeć.

<!--more-->

> Niektórzy operatorzy, tacy jak Three UK, mimo wymogu Ofcom, wymagają alogowanie się na konto przez stronę internetową w celu otrzymania kodu do przeniesienia.

Nie wiem jak wy, ale ja spędziłam, lub raczej straciłem, sporo czasu za każdym razem, gdy chciałem przenieść mój numer do innego operatora. W prawie każdym przypadku obsługa klienta, z ich łamanym angielskim, próbowała za wszelką cenę przekonać cię do zostania, używając czasami bzdurnych argumentów, obiecując gruszki na wierzbie.

**Czasy się zmieniły…**

Skoro teraz jest łatwiej podjąć decyzję, dlaczego nie warto zmienić sieć komórkową na lepszą?

O ile wiesz z mojej strony, jestem użytkownikiem [GiffGaff](/giffgaff/)’a (O2) i w ramach tego wpisu zachęcę cię do przemyślenia przejścia do sieci zbudowanej i prowadzonej przez jej użytkowników.

**A więc zobaczmy o co w tym wszystkim chodzi.**

## Text-to-Switch

W związku z problemami, jakie konsumenci doświadczają podczas zmiany operatora, brytyjski regulator Ofcom poinformował z końcem **czerwca 2019**, że od teraz (**1-ego Lipca 2019**) **wystarczy wiadomość SMS, aby zmienić operatora**.

Nie znaczy to, że możemy zmienić ot tak sobie, nawet jeżeli jesteśmy związani kontraktem. Wszystko, na co się zgodziliśmy i podpisaliśmy umowę, musimy uregulować, nim będziemy mogli zrobić krok w przód.

To nie znaczy jednak, że nie możemy rozpocząć procesu już teraz.

Zaczynamy od sprawdzenia co możemy zrobić wysyłając SMS na numer\
**85075** o treści **INFO**

W odpowiedzi otrzymamy informację, czy nadal zobowiązani jesteśmy z naszym obecnym operatorem jakimkolwiek kontraktem. Jeżeli tak, operator, w wiadomości zwrotnej poinformuje nas na jaki okres mamy zawarty kontrakt, oraz ile by nas kosztowało jego wcześniejsze zakończenie.

> Jeżeli w ramach naszego konta posiadamy więcej niż jedną kartę sim (np. u operatora Sky, O2), wówczas, aby przenieść numer, również należy zalogować się na konto przez stronę internetową, gdyż SMS-em nic nie załatwimy.

I tutaj Ofcom ma się czym szczycić. Wraz z wprowadzeniem możliwości załatwienia formalności z operatorem za pomocą wiadomości SMS (w Angli nazywa się to **text message**), operatorzy zostali pozbawieni możliwości dodatkowego karania konsumentów za tak zwany **okres wypowiedzenia**, który niby musisz dać swojemu operatorowi, nim będziesz mógł się przenieść (z reguły 30 dni).

W obecnej chwili, jeżeli będziemy chcieli zerwać nasz kontrakt, operator poinformuje nas, ile opłat abonamentowych nam zostało do końca, a ich suma, to kwota, którą musimy zapłacić, jeżeli chcemy zakończyć nasze zobowiązanie wcześniej. Oczywiście, w zależności od umowy, operator może naliczyć dodatkowe opłaty - kary. Co do tego nic nie można zrobić, dlatego sprawdźcie swój kontrakt.

W przypadku abonamentu na wyspie, większościowa kwota, jaką użytkownicy płacą miesięcznie to raty za telefon, a tylko cząstka to wartość usług dodanych. Prosta matematyka i fakt, ile możemy zyskać na przejściu do innego operatora ([GiffGaff](https://giffgaff.com/orders/affiliate/itdarek?ggSMS=app)), pomoże nam szybko zrekompensować poniesione koszta.

* * *

W przypadku kart na doładowanie otrzymamy informacje o naszym planie taryfowym i saldzie konta, które stracimy (o ile nie wykorzystamy przed) w momencie przejścia do nowego operatora.

* * *

![Text-to-switch](text-to-switch-process-ofcom-org-uk-bg.png "Text-to-Switch - Źródło: Ofcom")

Jeżeli jesteśmy poinformowani, ile będzie nas to kosztować i jesteśmy zdecydowani na zmianę, aby rozpocząć proces przenoszenia numeru potrzebujemy tak zwany **PAC Code** (porting authorization code). Kod ten przekazujemy naszemu nowemu operatorowi, jeżeli zdecydujemy się na przeniesienie naszego numeru.

Aby uzyskać ten kod, wysyłamy wiadomość na numer\
**65075** o treści **PAC**

Ta wiadomość rozpocznie proces przenoszenia numeru.

W wiadomości zwrotnej otrzymamy nasz kod (ważny 30 dni) wraz z informacją ile musimy zapłacić, aby zakończyć nasze obecne zobowiązanie z operatorem (tak jak opisane w kroku powyżej).

Pamiętaj, że niektórzy operatorzy stosują haczyki w kontrakcie. W przypadku zakończenia zobowiązania wcześniej, mimo, że nie musisz im dać 30-dni wypowiedzenia, mogą oni mieć klauzule z dodatkową opłatą, jak wspomniałem - karą - którą niestety będziemy musieli ponieść. Dlatego jeszcze raz, **przeczytaj kontrakt!**

Po otrzymaniu kodu możemy rozpocząć proces przenoszenia numeru.

* * *

![giffgaff logo](giffgaff.png)

W przypadku sieci GiffGaff przenoszenie numeru poleciłbym zacząć od zamówienia darmowej karty SIM. [Zamów kartę z niniejszego odnośnika a otrzymasz dodatkowe £5 przy pierwszym doładowaniu](https://giffgaff.com/orders/affiliate/itdarek?ggSMS=app).

Twoją kartę musisz aktywować przed przeniesieniem numeru. Na początku otrzymasz numer tymczasowy. Wypełniając formularz, tak zwany [transfer form](https://www.giffgaff.com/support/transfer/pac) rozpoczniesz cały proces. Po przeniesieniu numeru, obecny numer na karcie zostanie zastąpiony właściwym numerem.

* * *

{{% ads-in-article %}}

Oczywiście, jeżeli nie jesteś zbytnio związany ze swoim numerem możesz rozpocząć proces rozstawania się ze swoim operatorem poprzez wysłanie wiadomości na numer\
**75075** o treści **STAC**

Kod ten odpowiada za zakończenie naszej usługi z obecnym operatorem (**service termination authorisation code**).

Cały proces jest podobny, jak w przypadku przenoszenia number, jednakże używanie nowego numeru -  informowanie znajomych o nowym numerze - możesz zacząć w momencie wybrania oferty i aktywowania karty.

Tutaj również możesz zamówić kartę z **GiffGaff za darmo** otrzymując **dodatkowe £5** przy pierwszym doładowaniu korzystając [z tego odnośnika](https://giffgaff.com/orders/affiliate/itdarek?ggSMS=app).

* * *

Cały proces w teorii powinien przejść bezproblemowo. Należy jednak pamiętać, aby ostatni rachunek od naszego obecnego operatora nie był dla nasz zaskoczeniem, zacznijmy od zapoznania się ile nas to będzie kosztować (**INFO** na **85075**).

Jeżeli chodzi o samą sieć GiffGaff, zachęcam do [przeczytania mojego osobnego artykułu](/giffgaff/), oraz zapoznanie się z kilkoma przydatnymi odnośnikami związanymi ze zmianą operatora przez wiadomość SMS.

* [https://www.giffgaff.com/help/articles/how-do-i-keep-my-current-mobile-number-when-i-join-giffgaff](https://www.giffgaff.com/help/articles/how-do-i-keep-my-current-mobile-number-when-i-join-giffgaff)
* [https://www.theguardian.com/money/2019/jun/28/mobile-phone-switch-network-text-pac-code](https://www.theguardian.com/money/2019/jun/28/mobile-phone-switch-network-text-pac-code)

Pozdrawiam.


---
## Mikro oszczędności metodą na duże oszczędzanie
- **URL:** https://dariusz.wieckiewicz.org/mikro-oszczednosci-metoda-na-duze-oszczedzanie/
- **Date:** 2019-07-26
- **Tags:** Finanse, budżet, ifttt, mikro oszczędności, mikro oszczędzanie, Monzo, oszczędności, oszczędzanie, planowanie budżetu, pot, Round up transactions, skarbonka, świnka skarbonka

### Content

Nikt z nas nie zarabia, nie wiadomo to jakich kokosów. Każdy z nas musi liczyć się z budżetem i planowaniem w przód, aby opłacić rachunki, zrobić zakupy i żeby jeszcze zostało.

<!--more-->

Metod na oszczędzanie jest mnóstwo, jednakże najsłabszym ogniwem w każdej metodzie jesteśmy my sami. To nasza “silna” wola sprawia, że z wielkim bólem musimy przelać większą sumę pieniędzy na nasze konto oszczędnościowe, patrząc, jak dostępne środki na koncie głównym maleją nam drastycznie. Jednocześnie z łatwością sięgamy po nie, gdy tylko przyjdzie na to ochota/możliwość.

O ile by było łatwiej, gdybyśmy oszczędzali mimo-woli.

![Pount Coins](/images/2019/07/pound-coint-by-william-warby-lic-cc-2-0-via-flickr-min.jpg "Pound Coint by William Warby lic. CC 2.0 via Flickr")

W czasach operowania fizycznymi pieniędzmi ludzie wymyślili skarbonki, do których odkładało się pieniądze i zapominało. Jest to poniekąd dobra metoda na odłożenie — oszczędzanie. Bardzo szybko zapominamy o tych “drobnych” wrzuconych do skarbonki a pod koniec roku może uzbierać się niezła sumka, która będzie niemałą niespodzianką dla nas samych.

![MasterCard](/images/2019/07/mastercard-credit-card-by-hakan-dahlstrom-lic-cc-2-0-via-flickr-min.jpg  "MasterCard credit card by Håkan Dahlström lic. CC 2.0 via Flickr")

W obecnych czasach operujemy fizycznymi pieniędzmi znacznie rzadziej. Osobiście chciałbym się pozbyć fizycznych pieniędzy raz na zawsze. Na co dzień płacę niemal za wszystko kontaktowo lub elektronicznie. Odkładanie grosików z każdej transakcji, jeżeli jest to transakcja elektroniczna, nie jest takie łatwe jak w przypadku fizycznych pieniędzy.

Tutaj z pomocą przychodzą rozwiązana na marę XXI wieku, które pomagają uporać się z tym problemem.

O ile łatwiej jest nam oszczędzić, jeżeli “grosiki/pensiki” odkładają się same przy każdej płatności, oraz w przypadku gdy “grosz/pens” po “groszu/pensie” odkładamy każdego dnia w roku.

Dla oka oraz naszego portfela nie jest to takie bolące, a patrząc pod koniec roku, możemy uzbierać niezłą sumkę.

![monzo logo](/images/2019/07/monzo-logo-crop-min.png)

Osobiście mieszkam w Wielkiej Brytanii, gdzie używam na co dzień banku zwanego [**Monzo**](https://join.monzo.com/r/nn2we2r), który pozwolił mi pomóc samemu sobie wyrobienie nawyku do oszczędzania. Wraz ze współpracą mojego banku z aplikacją **[IFTTT](https://ifttt.com)**, umożliwiłem sobie na rozszerzenie metod na oszczędzanie.

Jeżeli nie mieszkasz w Wielkiej Brytanii (lub Stanach Zjednoczony — [gdyż Monzo zaczął podbijać tę część globu](https://monzo.com/usa/)) to nic straconego. Mimo że twój stacjonarny bank nie jest dostosowany do tego, aby wspierać oszczędzanie, zawsze są inne rozwiązania.

Skupię się jednak na tym, jak sam Monzo pomógł mi w oszczędzaniu oraz IFTTT dodatkowo pozwolił na odkładanie drobnej sumy w ramach dziennego planu oszczędzania.

![pots](/images/2019/07/pots_4-min.jpg "Monzo Pots lic. monzo.com")

Jak już wspomniałem. Wyobraź sobie, że przy każdej płatności kartą, twoja kwota zaokrąglana jest w górę do pełnego “złotego/funta”. Sprzedawca otrzymuje swoją kwotę, a “grosze/pensy” lecą automatycznie do naszej świnki skarbonki — lub jak kto woli, słoika.

Z Monzo jest to bardzo proste. Wystarczy założyć Pot (można powiedzieć, że jest to konto w koncie — osobne od naszego głównego konta, ale nadal będące jego częścią) i uruchomić opcję zaokrąglania zwaną “Round up transaction”.

Dzięki temu osiągniemy to, co kiedyś osiągało się z fizycznymi pieniędzmi. Nasze “drobne” przy każdej transakcji będą leciały do naszego Pota (skarbonki).

Jeżeli robimy sporo zakupów w miesiącu, to możecie się miło zaskoczyć, jak dużo można tą metodą odłożyć pieniędzy.

Pot oczywiście jest dla was. Nie jest to konto oszczędnościowe (choć takie też istnieją), które blokują wasze pieniądze. W każdej chwili, jeżeli chcecie, macie do nich dostęp.

Co więcej, w Monzo możecie nazwać swój Pot, chociażby “Świnka Skarbonka”, jak również dodać obrazek/wizualizację, który pomoże wam w realizacji celu.

* * *

Jeżeli chodzi o realizację celu, Mozno oferuje również opcję stałych przelewów na osobne Pot’y (możemy założyć ich tyle ile nam potrzeba). Chociażby, gdybyście chcieli automatycznie przelewać “złotówkę/funta” dziennie na swój pot przeznaczony na wakacje. Jest taka możliwość.

Jak wiadomo, wizualizacja działa na nas motywująco. Jeżeli ustawimy w naszym Pot’cie obrazek egzotycznej lokalizacji, gdzie chcielibyśmy pojechać na wakacje, pozwoli nas to motywować dodatkowo, aby osiągnąć ten cel. O ile bardziej strawne jest to dla naszego oka, serca i rozumu a niżeli konto oszczędnościowe z cyferkami. Daje to nam zarazem do myślenia, jeżeli zechcemy wypłacić z niego przed osiągnięciem planowanego celu.

![ifttt](/images/2019/07/ifttt_wordmark-black.png "ifttt wordmark lic. ifttt")

**Monzo** to bank zbudowany z myślą o nowych technologiach, a nie “starych” systemach stosowanych przez “konglomeraty bankowe”. W związku z tym pozwala on na rozszerzenie jego możliwości, chociażby poprzez połączenie z aplikacją IFTTT.

**IFTTT**, czyli If This Then That (_luźne tłumaczenie, Jeżeli To Wtedy Tamto_) pozwala na wykorzystanie zautomatyzowanych zadań do naszych potrzeb. Oczywiście, ideologia IFTTT to nie tylko bank i pieniądze, gdyż jego możliwości jest multum, to jednak chciałbym zwrócić uwagę na to, co pomoże nam w realizacji prostego celu, jakim jest oszczędzanie.

Tutaj IFTTT daje nam możliwość na rozwinięcie stwierdzenia “mikro oszczędności”, jeżeli chodzi o oszczędzanie.

![1p savings challenge](/images/2019/07/monzo-1p-savings-challenge-min.png)

Osobiście używam elementu stworzonego oficjalnie przez mój bank (_Monzo_) na platformie IFTTT zwanego “[1p Savings Challenge](https://ifttt.com/applets/GutUrxFv-take-on-the-1p-savings-challenge)”, czyli tzw. wyzwanie na oszczędzanie.

To “wyzwanie” pozwala nam zdefiniować zadanie, które będzie przelewało nam “grosika”, w tym przypadku “pensa” każdego dnia w roku na ustalony pot w Monzo.

Działa to tak, że każdy dzień w roku to liczba “groszy/pensów” przelewana do naszego Pot’a.

1-wszego stycznia mamy 1 pens, 2-ego stycznia mamy 2 pensy, 3-ego 3 pensy i tak do końca roku, gdzie 31-ego grudnia przelewamy 365 pensów, czyli **£3.65**.

Używając prostej matematyki, możemy zobaczyć, że jeżeli dotrwamy z naszym oszczędzaniem do końca roku, możemy uzbierać aż **£667.95**!

To jest pokaźna kwota, którą ciężko byłoby nam dobrowolnie odkładać. Powiedzmy sobie szczerze, oszczędzanie jest jak dieta. Na początku diety jesteśmy dumni, z tego co robimy, widzimy postępy, ale z czasem, jak to każdy człowiek, stajemy się leniwi i cały nasz plan (upór) maleje, a z tym maleje kwota, jaką chcemy przeznaczyć na oszczędności.

Jak wspomniałem wcześniej, “jeżeli dotrwamy” do końca roku z naszym oszczędzaniem, to uzbieramy niezłą sumkę. A o ile cały zabieg odbywa się automatycznie (w tym przypadku element z IFTTT uruchamiany jest codziennie o godzinie 8 rano), oszczędzanie dzieje się rownież automatycznie. Oczywiści, jedynie co musimy pamiętać, to by mieć wystarczającą liczbę środków na koncie, aby przelew mógł nastąpić.

Może “mikro oszczędności” nie sprawią, że będziemy, mniej leniwi, ale zrobią z nas osobę, która oszczędza, nawet jeżeli jest to bardziej lub mniej “mimowolnie”.

![Budgeting](/images/2019/07/budgeting-by-morgan-lic-cc-2-0-via-flickr-min.jpg "Budgeting by Morgan lic. CC 2.0 via Flickr")

Na marginesie warto wspomnieć, że oprócz mikro oszczędności powinniśmy mieć na uwadze planowanie budżetu, szczególnie tego na wydatki. W tym też Monzo jest nam w stanie pomóc. Osobiście kieruję się metodą 50/30/20, czyli 50% zarobków na rachunki i zobowiązania, 30% na potrzeby i wydatki, 20% na oszczędzanie. Pozwala mi to przeanalizować, na co mogę sobie w danym miesiącu pozwolić a na co nie.

Jeżeli jesteś zainteresowany Monzo i mieszkasz na wyspach lub w Stanach, zachęcam do [poczytania dalej](/monzo/) i założenia konta. To w końcu nic nie kosztuje.

Mam nadzieje, że zachęci to was do spróbowania i pozwoli ustabilizować wasze finanse i wypracować mimowolny nawyk do oszczędzania.

Pozdrawiam.

{{% ads-in-article %}}


---
## Microsoft Edge Insider w praktyce
- **URL:** https://dariusz.wieckiewicz.org/microsoft-edge-insider-w-praktyce/
- **Date:** 2019-05-17
- **Tags:** Windows, 76.0.159.0, Chrome Web Store, edge, Google Chrome, insider, Insider Addons, Microsoft, Microsoft Edge, Microsoft Edge Insider, Windows 10

### Content

Jak już pisałem [tutaj](/the-edge-of-the-chrome/), **Microsoft** zmierza w dobrym kierunku i ma okazje sprawić, ze Edge (na Chromium, nie ten, co aktualnie jest pre-instalowany jest w Windows 10) zacznie być **domyślną przeglądarką** dla użytkowników Windows 10 i nie tylko. 

<!--more-->

Od połowy Maja (zaledwie kilka dni temu) zacząłem aktywnie używać deweloperskiej wersji przeglądarki w środowisku firmowym. W firmie rzeczy muszą po prostu działać, ale postanowiłem (gdyż mam taka możliwość) zrobić z siebie królika doświadczalnego. Zainstalowałem Edge [z kanału Deweloperskiego Insider](https://www.microsoftedgeinsider.com/en-us/download/).

Jako że moją domyślną przeglądarką był Google Chrome, w pierwszej kolejności zaimportowałem zakładki - Ulubione (_Favorites_). Wszystko przeniesione zostało bez problemów, w co nie wątpiłem. Następnie zalogowałem się na konto Microsoftu (Chrome używa konta Google) i odkryłem pierwsza różnice w synchronizacji. Jako że przeglądarka jest w fazie rozwojowej, synchronizacja działa tylko dla Ulubionych (_Favorites_). Microsoft załączył stosowną notatkę, że reszta zostanie włączona **wkrótce**.

**Następnie przeszłem do rozszerzeń (extensions).**

Nim sięgnąłem do [Chrome Web Store](https://chrome.google.com/webstore/category/extensions), zobaczyłem co Microsoft oferuje w swoim [Edge Insider Addons](https://microsoftedge.microsoft.com/insider-addons/category/EdgeExtensions). Ku mojemu zdziwieniu, deweloperzy zadbali oto, aby popularne rozwiązania **już były dostępne** natywnie. Rozszerzenia typu [LastPass](https://microsoftedge.microsoft.com/insider-addons/detail/bbcinlkgjjkejfdpemiealijmmooekmp), [Grammarly](https://microsoftedge.microsoft.com/insider-addons/detail/cnlefmmeadmemmdciolhbnfeacpdfbkd), [uBlock Origin](https://microsoftedge.microsoft.com/insider-addons/detail/odfafepnkmbhccpbejgmiehpchacaeak), [PrintFriendly and PDF](https://microsoftedge.microsoft.com/insider-addons/detail/nhiebejbpolmpkikgbijamagibifhjib) czy [Pocket](https://microsoftedge.microsoft.com/insider-addons/detail/jicacccodjjgmghnmekophahpmddeemd) **są już dostępne**. I tak z 10 rozszerzeń, które używałem, tylko 3 jeszcze nie są obecne na stronie Microsfotu, w tym bardzo popularny [Favorites New Tab](https://chrome.google.com/webstore/detail/favorites-new-tab-page/kjkbcegjfanmgocnecnngfcmmojheiam), [Google Translate](https://chrome.google.com/webstore/detail/google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb) i [Disconnect](https://chrome.google.com/webstore/detail/disconnect/jeoacafpbcihiomhlakheieifhpjdfeo). Inne zastąpiłem dostępnym rozwiązaniem, a po resztę sięgnąłem do Chrome Web Store.

**I tak zacząłem serfowanie.**

Puki co wszystko działa tak samo, jak w Google Chrome. Microsoft zadbał co nieco, aby domyślny motyw był jak najbardziej zbliżony do Edge który jest już na rynku, co w rezultacie sprawia, że pasek zakładek (_Tabs_) oraz adresu jest jakoś bardziej przejrzysty o czytelny a niżeli ten w Google Chrome.

Jedyne co zmieniłem, to domyślną wyszukiwarkę z Bing na Google. W wersji Edge 76.0.159.0 zmiana wyszukiwarki na Google dostępna jest w opcjach bez konieczności kombinowania ([tak jak opisałem w poprzednim wpisie](/the-edge-of-the-chrome/)).

Oczywiście, zrobiłem kilka domyślnych zmian w postaci pytania, gdzie zapisuje pobierane pliki, czy też wyłączenie zapamiętywania haseł (do tego mam LastPass).

Miałem okazje otworzyć kilka PDF-ów w przeglądarce, jak również wydrukować kilka stron. Okno drukowania wyglada nieco lepiej. Nie wiem, czy to zasługa Microsfotu, czy tylko różnica w wersji 76 (Edge) do 74 (w stabilnym Chromie), ale napewno wyglada lepiej.

Aby nie kusiło mnie wrócenie do Google Chrome podczas testów, odinstalowałem przeglądarkę od Google oraz ustawiłem **Edge Dev** jako **domyślną przeglądarkę** w ustawieniach Windows 10.

**Od teraz zobaczymy jak się wszystko potoczy...**

{{% ads-in-article %}}


---
## Wiosenne porządki - Facebook
- **URL:** https://dariusz.wieckiewicz.org/wiosenne-porzadki-facebook/
- **Date:** 2019-04-27
- **Tags:** Blog, cambridge analytics, facebook, kontakty, Messagener, Twitter, upload contacts, wiosenne porządki

### Content

Coraz to rzadziej korzystam z Facebook'a na rzecz, chociażby Twitter'a. Im rzadziej z niego korzystam, bardziej rzucają mi się na oczy śmieci publikowane przez strony, które polubiłem, osoby, które mam w kontaktach, jak również przeróżne grupy, w których uczestniczę.

**Postanowiłem zrobić z tym porządki.**

<!--more-->

O ile z osobami, które mam w kontaktach radzę sobie na bieżąco. Niektórych wywalę, a innych po prostu wyciszę na wieki wieków, o tyle ze stronami, które polubiłem na przełomie kilku lat, nie jest już tak łatwo.

* * *

Wszystko zaczęło się od faktu, gdy przeróżne strony opisały, jak Facebook, bez twojej zgody pobierał kontakty z twojego telefonu oraz z twoich maili. O ile nie mam nic przeciwko, że Facebook widzi, kto jest w moich znajomych, o tyle nie jestem w pełni szczęśliwy z faktu, że cała moja skrzynka adresowa z telefonu kopiowana jest na stronę.

O ile na początku nie zastanawiasz się, gdy otrzymujesz powiadomienie, że Facebook chce uzyskać dostęp do twoich kontaktów, to odkrycie, że Facebook na przełomie lat zebrał prawie tysiąc kontaktów z mojej strony (w telefonie mam tylko nieco ponad 300), nie jest fajne. Wszyscy nadal pamiętają **[Cambridge Analytica](/facebook-cambridge-analytica/)**, która tworzyła profile (akta, teczki, lub jak kto woli to nazwać) o osobach, bazując na pełnym dostępie do serwerów Facebook, to pozwalanie Facebookowi na ingerowanie w nasze kontakty, które powinny być poza portalem, nie jest fajne.

Nie dojrzałem jeszcze do tego, aby zrezygnować z Facebooka, gdyż wraz z Google są to strony, dzięki którym zdobywa się największy odzew. Natomiast postanowiłem raz jeszcze przejrzeć informację, które Facebook zbiera o mnie.

* * *

**Zacząłem od kontaktów.**

W aplikacji Facebooka oraz w Messagener wyłączyłem synchronizowanie kontaktów. Szczerze nie jest to potrzebne. Messagener powinien służyć do kontaktowania się z osobami, które mamy w kontaktach na Facebook'u. Do wszystkich innych są inne usługi tj. SMS, WhatsApp czy iMessages.

[![Facebook > Settings](/images/2019/04/facebook_app_settings-min.png)](/images/2019/04/facebook_app_settings-min.png)*Facebook > Settings*
    
[![Facebook > Settings > Upload contacts](/images/2019/04/facebook_app_settings_upload_contacts-min.png)](/images/2019/04/facebook_app_settings_upload_contacts-min.png)*Facebook > Settings > Upload contacts*
    
[![Facebook > Settings > Upload contacts > Off](/images/2019/04/facebook_app_settings_upload_contacts_off-min.png)](/images/2019/04/facebook_app_settings_upload_contacts_off-min.png)*Facebook > Settings > Upload contacts > Off*
    
[![Messagener > Settings > People](/images/2019/04/messagener_app_settings_people-min.png)](/images/2019/04/messagener_app_settings_people-min.png)*Messagener > Settings > People*
    
[![Messagener > Settings > People > Upload Contacts > Off](/images/2019/04/messagener_app_settings_people_upload_contacts_off-min.png)](/images/2019/04/messagener_app_settings_people_upload_contacts_off-min.png)*Messagener > Settings > People > Upload Contacts > Off*

I tak przeszłem na Facebook'a i stronę, na której moje kontakty zostały zimportowane: [https://www.facebook.com/mobile/facebook/contacts/](https://www.facebook.com/mobile/facebook/contacts/)

Po czym wybrałem opcję **Usuń wszystkie**.

Nie musicie się obawiać. Usuwając kontakty, nie usuniecie swoich znajomych, jak i kontaktów z telefonu (o ile nie przechowujecie ich domyślnie na Facebook, co by było wręcz dziwne, żeby nie powiedzieć głupie). Od tej poty, to wy będziecie mieli kontrolę nad tym, do których kontaktów, adresów e-mail i numerów telefonów Facebook będzie miał dostęp.

> Jeżeli nie wyłączyliście synchronizacji w aplikacjach na waszych urządzeniach mobilnych, to otrzymacie komunikat, że usunięcie jest możliwe, jednakże zostaną one zimportowane ponownie przy pierwszej synchronizacji. A więc upewnijcie się, że wyłączyliście je w aplikacjach.

Osobiście, z poziomu ustawień na iPhone wyłączyłem dostęp do kontaktów, który dodatkowo zablokuje aplikację przed ingerowaniem w nie bez mojej zgody.

[![iPhone Settings > Facebook > Contacts > Off](/images/2019/04/iphone_settings_facebook_contacts_off-min.png)](/images/2019/04/iphone_settings_facebook_contacts_off-min.png)*iPhone Settings > Facebook > Contacts > Off*
    
[![iPhone Settings > Messagener > Contact > Off](/images/2019/04/iphone_settings_messagener_contacts_off-min.png)](/images/2019/04/iphone_settings_messagener_contacts_off-min.png)*iPhone Settings > Messagener > Contact > Off*

* * *

{{% ads-in-article %}}

**Następnie rozpocząłem czystkę w stronach, które polubiłem przez okres kilku lat.**

Ku mojemu zdziwieniu było tam prawie 600 pozycji. Każda z tych stron publikuje przeróżne informacje, które nie zawsze mnie interesują.

Aby przejrzeć, co polubiliśmy na przełomie czasu, idziemy na **Facebooka >** (klikamy na) **wasz profil**, i tam z opcji **Więcej** (z poziomego pasku menu) wybrałem **Polubienia** (Likes).

[![Facebook Menu Likes](/images/2019/04/facebook_menu_likes-min.png)](/images/2019/04/facebook_menu_likes-min.png)

Sporą część z tych stron już dawno się nie interesuję, jak również moje upodobania, szczególnie polityczne zmieniły się na przełomie czasu i fakt, że będę wyświetlany na danej stronie jako osoba, która ją lubi, w momencie gdy któryś z moich znajomych na nią wejdzie, będzie nieco niezręcznie.

Po spędzeniu pół godziny nad powyższą listą pozostawiłem tylko to, co mnie aktualnie interesuje. Jako że Twitter przejął rolę informacyjną, z listy prawie 600 stron, które lubię lub śledzę pozostało około 100.

**Zmiany zauważyłem już po dwóch dniach.**

Facebook stał się bardziej przejrzysty. Pozwoliło mi to zobaczyć co dzieje się u moich znajomych a co niektórych to wyciszyć, gdyż widząc, że nie mają nic lepszego do roboty tylko zachęcanie do kolejnego matematycznego łańcuszka jest lekko poniżej krytyki.

Dla tych, co nie wiedzą, jak wyciszyć twojego znajomego, ale nadal pozostać znajomymi na Facebook, wystarczy kliknąć trzy kropki `(...)` w prawym górnym rogu posta znajomego i wybrać opcję **Unfollow...** (Przestań obserwować użytkownika...jpg).  

Pozdrawiam.


---
## The Edge of the Chrome
- **URL:** https://dariusz.wieckiewicz.org/the-edge-of-the-chrome/
- **Date:** 2019-04-13
- **Tags:** Windows, Bing, chrome, chromium, edge, firefox, google, insider, Microsoft, Windows 10

### Content

Po latach zmuszania użytkowników do Internet Explorera (szczególnie przez banki zmuszające użytkowników korporacyjnych do używania jedynie słusznej (dziurawej) przeglądarki), Microsoft postanowił zacząć od nowa. Niestety, wraz z Windows 10 nastała kolejna **przeglądarka — bubel**, która mijała się z tym, czego użytkownicy potrzebują. Na szczęście, nawet Microsoft poszedł po rozum do głowy.

<!--more-->

Po tym, jak Firefox próbował aktywnie walczyć z rosnącą dominacją Chrome, nawet on musiał się ugiąć i przyznać rację temu rozwiązaniu włączając po nieco elementy z chrome do własnej przeglądarki. Dzięki temu użytkownicy mieli możliwość instalowania rozszerzeń z chrome w Firefoxie. Mimo tego, ponad połowa użytkowników internetu przeszła na Chrome jako domyślną przeglądarkę.

Microsoft, po kilku latach panowania Windows 10 również przekonał się, że nie ma możliwości w walce o rynek ze swoją “innowacyjną” wersją Internet Explorera w postaci Edge. Po tym, jak firma przyznała rację i oddała rynek Androidowi po nieudanym, krótkim rozdziale z Windows Mobile, przyszła pora na Edge.

Edge nie przyjął się (mimo że był domyślną przeglądarką), wśród użytkowników. Microsoft postanowił jednak nie tracić nadziei i wykorzystać dominację Chrome na runku, dołączając aktywnie do projektu Chromium. Dzięki temu, Edge jaki znamy, już niedługo pójdzie w odstawkę i zastąpione zostanie przez Edge bazujący na Chromium.

Chromium jest przeglądarką z otwartym źródłem (open source), dzięki któremu deweloperzy mogą aktywnie korzystać i wspierać jej rozwój. Można po nieco powiedzieć, że Chromium to prawie co Chrome.

Chrome jednak posiada dodatkowe, opatentowane, zamknięte rozwiązania od firmy Google, dzięki których to w stanie bya zyskać taką popularność. Jednym z tych rozwiązań jest trwające wsparcie dla obumierającej technologii Flash oraz wbudowanemu systemowi automatycznych aktualizacji.

Google, jak i obecnie Microsoft, aktywnie uczestniczą w rozwoju Chromium.

W ostatnim czasie wszystkich w świecie komputerowym obiegła informacja o wycieku przeglądarki Edge bazującą na Chrome. Nie minęło sporo czasu, gdy Microsoft [udostępnił](https://www.microsoftedgeinsider.com) ten projekt dla szerszej grupy użytkowników programu Insider (ps. nie będę tłumaczył słowa “Insider”, bo nie wiem jaki idiota wymyślił odpowiednik tego słowa jako “Udział w Niejawnym programie testów systemu Windows”).

![Microsoft Edge Chromium Start Tab](/images/2019/04/microsoft_edge_chromium_start_tab-min.png)

Wszystko sugeruje na to, że Edge bazujący na Chrome będzie w stanie podjąć aktywną walkę o użytkowników. Patrząc na to oczyma użytkownika macOS, który na co dzień, na prywatnym komputerze używa Safari, myślę, że może to doprowadzić, że już niedługo będziemy polecali Edge a niżeli Chrome. W zależności, w którym kierunku rozwój się posunie, będziemy mieli coraz to mniej argumentów nad przekonaniem użytkowników do przejścia z Chromowego Edge do Chrome.

![Microsoft Edge Chromium Settings](/images/2019/04/microsoft_edge_chromium_settings-min.png)

Osobiście sprawdziłem Edge bazującego na Chrome [i ty też możesz](https://www.microsoftedgeinsider.com/download/). Wszystko zapowiada się na tle optymistycznie, że przechodząc [na stronę rozszerzeń do Chrome](https://chrome.google.com/webstore/category/extensions) jesteś poinformowany, że możesz je bez problemu zainstalować w Edge. To, co było na początku naświetlane w Firefox, teraz jest — a raczej będzie dostępne w Edge. Dzięki temu migracja zaawansowanych użytkowników Chrome nie będzie takie bolesne.

![Microsoft Edge Chromium Settings Chrome Extensions](/images/2019/04/microsoft_edge_chromium_settings_chrome_extensions-min.png)

Wszystko na razie dostępne jest jedynie w języku angielskim.

Oczywiście, Microsoft będzie starał się wykorzystać swoje usługi zamiast tych od Google. Dlatego też logowanie do konta w Edge, które umożliwi nam synchronizację, odbywać się będzie przy pomocy konta Microsoft, a nie Google. Domyślną wyszukiwarką w Edge również będzie to spod skrzydła Microsoft, czyli Bing.

Osobiście, nie jestem zwolennikiem Binga. I o ile w Chrome możesz to łatwo zmienić, w Edge bazującym na Chromium masz do wyboru tylko Bing, no chyba, że dodasz sobie Google ręcznie w następujący sposób:

**Settings > Privacy and service > Address bar > Manage search engines**

{{% gallery %}}
[![Microsoft Edge Chromium Settings Privacy Services](/images/2019/04/microsoft_edge_chromium_settings_privacy_services-min.png)](/images/2019/04/microsoft_edge_chromium_settings_privacy_services-min.png)
[![Microsoft Edge Chromium Settings Manage Search Engines](/images/2019/04/microsoft_edge_chromium_settings_manage_search_engines-min.png)](/images/2019/04/microsoft_edge_chromium_settings_manage_search_engines-min.png)
{{% /gallery %}}

![Microsoft Edge Chromium Settings add search engine](/images/2019/04/microsoft_edge_chromium_settings_add_search_engine-min.png)

```
Search Engine: Google
```
```
Keyword: google.com
```
```
URL with %s in place of query:
{google:baseURL}search?q=%s&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:iOSSearchLanguage}{google:searchClient}{google:sourceId}{google:contextualSearchVersion}ie={inputEncoding}
```

{{% ads-in-article %}}

Na razie, Edge bazującym na Chromium dostępny jest w trybie deweloperskim oraz “canary”. Oba te tryby są daleko od bardziej stabilnego trybu Beta, więc jeżeli jesteś zainteresowany przetestowaniem, ale nie aktywnym, codziennym użytkowaniem przeglądarki Edge, już teraz możesz ją zainstalować z oficjalnej strony Microsoftu.

![Microsoft Edge Insider Channels](/images/2019/04/microsoft_edge_insider_channels-min.png)

[https://www.microsoftedgeinsider.com](https://www.microsoftedgeinsider.com)

W momencie, gdy przeglądarka trafi do stadium Beta, będziemy mieli nadzieję, że rozwój ruszy pełną parą i Edge bazujący na Chrome zawita na stałe przy kolejnej [dużej aktualizacji do Windows 10](/obraz-iso-windows-10/).

Osobiście czekam z niecierpliwością na rozwój wydarzeń.

Pozdrawiam.


---
## W poszukiwaniu ulubionej strony startowej
- **URL:** https://dariusz.wieckiewicz.org/w-poszukiwaniu-ulubionej-strony-startowej/
- **Date:** 2019-03-27
- **Tags:** Blog, Bookmarks, chrome, Fast Dial, Favorites, Incredible StartPage, macOS, New Tab Page, Safari, Speed Dial, Szybkie wybieranie, Windows, Zakładki

### Content

Od lat przeróżne **_speed diale_** czy **_fast diale_** wiodły prym wśród użytkowników, którzy chcieli rozpocząć serfowanie po internecie od czegoś innego niż wyszukiwarka Google (lub strona główna WP, lub Onetu).

Trendy się zmieniały a wraz z nimi dodatki, które używało się w przeglądarkach. Odkąd Chrome stał się dominatorem na komputerach, o tyle **_fast diale_** nie ewaluowały wystarczająco, aby wpasować się w społeczeństwo.

<!--more-->

Poważnym problemem **_fast dialów_** było to, że ich ustawienia zostały gubione po przeinstalowaniu systemu lub przeglądarki. O ile miały one opcje eksportu (i o ile o tym ktoś pamiętał na czas) lub synchronizację (z reguły płatną), o tyle za każdym razem trzeba było je ustawiać na nowo.

W momencie, gdy przesiadłem się na macOS i Safari jako moja domyślną przeglądarkę polubiłem bardzo rozwiązanie typu **_fast dial_** od Apple. 

[![Fast Dial Safari](fast_dial_safari.png)](fast_dial_safari.png)

Safari oferuje wyświetlanie kafelków, miniaturek naszych stron zapisanych w zakładkach. O tyle to jest dobre, gdyż zakładki synchronizują się wraz z kontem Apple, tak jak to jest w przypadku Chrome i konta Google. Nie ma co tutaj ustawiać i wszystko wygląda jak jedna całość.

Jako użytkownik Chrome w systemie Windows zaprzestałem używania **_fast diali_**_,_ które nie oferowały podobnej funkcjonalności i pozostałem przy **[Incredible StartPage](https://chrome.google.com/webstore/detail/incredible-startpage-prod/ncdfeghkpohnalmpblddmnppfooljekh)**. Nie było to idealne rozwiązanie, ale spełniało ideę posiadania zakładek w chmurze, które były następnie wyświetlane (niezależnie) jako strona startowa po zainstalowaniu dodatku.

Cały czas jednak poszukiwałem rozwiązania na Chrome, które polubiłem z Safari i **w końcu znalazłem**.

{{% ads-in-article %}}

Ostatnimi czasu odkryłem **[Favorites - New Tab Page](https://web-accessories.com)**, które do złudzenia przypomina rozwiązanie z Safari.

[![Fast Dial Chrome](fast_dial_chrome.png)](fast_dial_chrome.png)

Integruje się ono idealnie z naszymi zakładkami i pozwala na ich organizacje i zarządzanie przy pomocy przesuwania ikon lub menu ukrytego pod prawym przyciskiem myszy. Mamy pełną dowolność organizowania zakładek w folderach i który folder ma być wyświetlony domyślnie jako nasz **_fast dial_**.

Co więcej, choć nie jest to coś niezbędnego, dodatek pozwala nam na sprecyzowanie gęstości ikon oraz układu szachownicy, aby wykorzystać jak największa przestrzeń, szczególnie przy ekranach wysokiej rozdzielczości. 

W końcu znalazło się coś, co jest lekkie i funkcjonalne. **Favorites - New Tab Page** możesz pobrać dla swojej przeglądarki Chrome **[tutaj](https://chrome.google.com/webstore/detail/favorites-new-tab-page/kjkbcegjfanmgocnecnngfcmmojheiam)**.

Jako że lubię od czasu do czasu sprawdzić coś nowego, w tym nową przeglądarkę, pod ręką mam i stałe obserwuje rozwój Firefoxa. Niestety, do tej przeglądarki nie znalazłem godnego dodatku. I, mimo że Firefox po części obsługuje (lub obsługiwał) dodatki z Chrome, to powyższy niestety nie działa, wiec nadal szukam. Jeżeli znasz jakieś rozwiązanie podobne do powyższych dla Firefoxa, daj znać w komentarzu.

Pozdrawiam


---
## Zrzut ekranu - monolog użytkownika macOS i Windows 10
- **URL:** https://dariusz.wieckiewicz.org/zrzut-ekranu-macos-windows-sharex/
- **Date:** 2019-03-26
- **Tags:** Windows, animacja ekranu, aplikacja, macOS, nagrywanie ekranu, paint, print screen, screen shot, sharex, Windows 10, zrzut ekranu

### Content

Odkąd przesiadłem się na stałe na system macOS (a minęło już 5 lat), doceniłem, dlaczego jest on najczęściej wybieranym systemem przez profesjonalistów. Graficy, muzycy, filmowcy, programiści, ale również standardowi użytkownicy docenili stabilność, niezawodność a przede wszystkim jakość systemu z nadgryzionym jabłkiem. 

<!--more-->

Osobiście doceniłem to, robiąc przeróżne zrzuty ekranowe z wykorzystaniem intuicyjnych rozwiązań, które nie są tak popularne w systemie Windows. Mimo że Windows dysponuje podobnymi rozwiązaniami to daleko im do wygody i intuicyjności. 

Chodzi o to, jak w systemie macOS (na obecną chwilę Mojave) robi się zrzuty ekranowe. Niby nic, ale szczególnie dla mnie, gdy publikuje przeróżne wpisy na bloga ze zrzutami ekranowymi, to jest to rozwiązane w macOS jest o wiele wygodniejsze a niżeli w systemie Windows.

* * *

Aby zrobić **zrzut ekranu**, w MacOS wciskamy **cmd** **⌘** **+ Shift + 3** i nasz zrzut ekranu zapisuje się na pulpit (możesz powiedzieć, że Windows jest po prostu **klawisz Print Screen**, a dokładniej **Windows + Print Screen** aby automatycznie zapisać zrzut ekranowy).

Aby zrobić **zrzut aktywnego okna** po prostu wciskamy **cmd** **⌘** **+ Shift + 4**, a następnie przełączamy tryb **klawisz Spacji**, by w wygodny graficzny sposób wybrać pożądane okno (możesz powiedzieć, że w Windows jest do tego kombinacja **Alt + Print Screen**, ale poniekąd nie masz nad nią kontroli poza ostatnio wybrane okno, następnie musisz przejść, chociażby do painta, wkleić i zapisać, hmm…)

[![Zrzut ekranu okno](/images/2019/03/zrzut_ekranu_okno-min.jpg)](/images/2019/03/zrzut_ekranu_okno-min.jpg)

Aby zrobić **zrzut fragmentu ekranu** wystarczy wcisnąć **cmd** **⌘** **+ Shift + 4** i zaznaczyć cześć ekranu za pomocą dedykowanego kursora (możesz powiedzieć, że w Windows możesz to zrobić, eee... chwila, do tego musisz już użyć Painta - no chyba że masz Windows 10 zaktualizowaną do wersji October 2018 wówczas możesz użyć **Snip & Sketch** i kombinacji klawiszy **Windows + Shift + S**).

[![Zrzut ekranu fragment](/images/2019/03/zrzut_ekranu_fragment-min.jpg)](/images/2019/03/zrzut_ekranu_fragment-min.jpg)

Aby **nagrać film/animacje pulpitu** wystarczy wcisnąć **cmd** **⌘** **+ Shift + 5** i wybrać odpowiednia opcje z menu, które nam się ukazało aby nagrać albo cały ekran albo zaznaczony fragment (możesz powiedzieć, że w Windows możesz to zrobić, eee... chwila, do tego musisz użyć zupełnie innego narzędzia).

[![Zrzut ekranu narzędzia zaawansowane](/images/2019/03/zrzut_ekranu_narzedzia_zaawansowane-min.jpg)](/images/2019/03/zrzut_ekranu_narzedzia_zaawansowane-min.jpg)

A może tak **nagrać lub zrobić zrzut ekranu z kursorem**? Ta opcje tez znajdziemy w wyżej wymienionym menu (możesz powiedzieć, że w Windows też się da… przy pomocą dodatkowej aplikacji, hmm…)

A może tak **przyciąć zrobiony zrzut ekranowy**, dodać strzałki, efekty. W przypadku macOS po prostu klikamy spacją na naszym pliku ze zrzutem ekranowym i dodajemy Markup (możesz powiedzieć, że to można zrobić w paincie lub innym tego typu programie, ale czy wygląda to tak elegancko jak na macOS?).

Podobnie jak z edycja zrzutu ekranowego, ma to również miejsce w przypadku zrobionych filmów/animacji. Edycja ukryta pod spacja ;) jest bardzo przydatną funkcją.

**No dobra, nie bądźmy aż tak ironicznym**. Ostatnio trafiłem na narzędzie, które podejrzewam, że niektórzy już używają od jakiegoś czasu. Narzędzie to nazywa się **[ShareX](https://getsharex.com/)** i pozwala osiągnięć to, za co doceniałem rozwiązanie wbudowane w macOS i jest o niebo lepsze i bardziej intuicyjne od **Snip & Sketch** wbudowany w system Windows 10.

Jako ze w pracy używam Windows 10, robienie zrzutów ekranowych jest prawie na porządku dziennym, wiec postarałem się sprawdzić jak to narzędzie się spisuje.

* * *

{{% ads-in-article %}}

## ShareX
[Pobierz](https://getsharex.com/)

Otóż narzędzie to dodaje intuicyjne skróty ekranowe do robienia zrzutów wraz z graficznym interfejsem.

[![ShareX 12.4.1 Windows 10](/images/2019/03/sharex_12_4_1_windows_10-min.png)](/images/2019/03/sharex_12_4_1_windows_10-min.png)

Po uruchomieniu mamy od razu wyświetlone skróty klawiszowe, które ułatwią nam pracę i są one w miarę intuicyjne.

*   Klawisz **Print Screen** do zrobienia zrzutu całego ekranu - nic nowego;
*   Klawisz **Ctrl + Print Screen** do zrobienia zrzutu elementu ekranu (element możemy wybrać za pomocą dedykowanego kursora);
*   Klawisz **Alt + Print Screen** w celu zrobienia zrzutu aktywnego okna (aktywne okno możemy wybrać po aktywowaniu komendy i jest ono dość precyzyjne);
*   Klawisz **Shift + Print Screen** rozpoczyna nagrywanie wybranej części ekranu;
*   Klawisz **Ctrl + Shift + Print Screen** rozpoczyna nagrywanie animacji (GIF) wybranej części ekranu.

W przypadku laptopów tak bywa, że do powyższej kombinacji niezbędne może być dodanie klawisza funkcyjnego **Fn**.

Co więcej, program posiada szereg innych narzędzi (zobacz na poniższej animacji), które znacząco wzbogacają umiejętności Windows 10 w tym zakresie, a co za tym idzie, przeganiają wbudowane narzędzie w macOS.

[![ShareX animation getsharex.com](/images/2019/03/sharex_animation_getsharex-com.gif)](/images/2019/03/sharex_animation_getsharex-com.gif)*Źródło: [https://getsharex.com/](https://getsharex.com/)*

Jako że narzędzie to udostępnione jest za darmo, aby wesprzeć autora za jego ciężką pracę (będąc precyzyjnym, 11 lat ciężkiej pracy), możesz wysłać mu datek na jego stronie [https://getsharex.com/donate/](https://getsharex.com/donate/)

Pozdrawiam


---
## CCleaner do odstawki
- **URL:** https://dariusz.wieckiewicz.org/ccleaner-oczyszcznie-dysku-bleachbit/
- **Date:** 2019-03-24
- **Tags:** Oprogramowanie, Avast, BleachBit, CCleaner, Oczyszczanie dysku, Windows 10, windows defender

### Content

Tak to bywa na rynku oprogramowania, gdy kto wypuści coś dobrego służące wszystkim, a następnie zostanie ono przejęte przez większy konglomerat, dalszy jego rozwój nie zmierza w dobrym kierunku. Tak jak było w przypadku **Skype** po przejęciu przez Microsoft, **tak jest w przypadku CCleaner**, który już jakiś czas temu został przejęty przez firmę odpowiedzialną za oprogramowanie antywirusowe Avast.

<!--more-->

Nie pamiętam już jak długo polecałem używanie CCleaner’a. Jeżeli ktoś miał problem z komputerem, zaczynałem pomoc od czyszczenia śmieci przy pomocy tego właśnie narzędzia.

Coraz to nowsze wersje wprowadzały mniej innowacyjności a więcej śmieci namawiających do zakupu pakietu premium lub straszących ile to program znalazł problemów na naszym komputerze. CCleaner w obecnej formie, nawet gdy wszystko działa dobrze, zawsze znajdzie powód, aby wcisnąć ciemnotę klientowi. 

Podobnie jak z Avast’em w przeszłości, który polecałem i instalowałem, do czasu aż **[Windows Defender](/moj-antywirus-windows-defender/)** w Windows 10 wrócił do łaski, tak samo stało się z CCleaner’em.

Jeżeli masz go zainstalowanego, przedstawię ci kilka powodów, dla których powinieneś natychmiast przestać go używać a w zamian użyć innych dostępnych narzędzi (w tym wbudowanych w system Windows 10).

Wszystko zaczęło się od faktu, gdy instalator CCleaner’a został skompromitowany i instalował na komputerach nieświadomych użytkowników złośliwe oprogramowanie, a skończyło na tym, gdy użytkownik stracił kontrolę nad samą aplikacją. W momencie, gdy użytkownik ma zaznaczone, że nie chce automatycznej aktualizacji aplikacji, twórcy nadal mają pełny dostęp do programu. Pozwalają oni zmusić aplikację do aktualizacji bez twojej zgody. Otwiera to kolejną furtkę na rozprzestrzenienie złośliwego oprogramowania bez wiedzy użytkownika, nie mówiąc już o niedbaniu o prywatność.

CCleaner od wersji 5.45 wprowadził tzw. monitoring, który w tle monitoruje twój komputer i “straszy” cię ile on to znalazł błędów lub śmieci, co nie zawsze jest prawdą. Nie mówiąc o tym, jakie informacje tego typu monitoring zbiera o użytkowniku i wysyła je bez twojej wiedzy i zgody na serwery Avast.

Czym zastąpić CCleaner’a?

*   **Oczyszczanie dysku** (wbudowane w Windows 10)
*   **BleachBit**

## Oczyszczanie dysku

System Windows 10 (jak i wcześniejsze wersje) posiada dość wygodne narzędzie do oczyszczania dysku. Jest ono niezmiernie przydatne, szczególnie po dużej aktualizacji systemu, gdyż pozwala bezpiecznie usunąć zbędne pliki, które mogą zajmować dość sporo ([tak jak pisałem o tym tutaj](/windows-10-przyspieszenie-dostosowanie/)).

Oczyszczanie dysku usuwa nie tylko pozostałości po aktualizacjach, ale również inne systemowe pliki tymczasowe. Aby z niego skorzystać wystarczy wejść do:

Menu **START** > **Narzędzia administracyjne systemu Windows** > **Oczyszczanie dysku**

[![Start Narzędzia Administracyjne Systemu Windows Oczyszczanie Dysku](/images/2019/03/01-start-narzedzia-administracyjne-systemu-windows-oczyszczanie-dysku.png)](/images/2019/03/01-start-narzedzia-administracyjne-systemu-windows-oczyszczanie-dysku.png)

Po czym naszym oczom ukarze się poniższe okno.

[![Oczyszczanie dysku ekran główny](/images/2019/03/02-oczyszczanie-dysku-ekran-glowny.png)](/images/2019/03/02-oczyszczanie-dysku-ekran-glowny.png)

Nim zaczniemy coś robić, powinniśmy przejść do bardziej zaawansowanej części tej aplikacji, poprzez kliknięcie przycisku **Oczyść pliki systemowe**. Podnosząc nieco uprawnienia aplikacji do poziomu administratora, będziemy mogli usunąć elementy, które nie są widoczne dla typowego użytkownika. Nie zmienia to faktu, że jest to w pełni bezpieczne dla naszego systemu, więc bez obaw.

W niniejszym oknie wybieramy praktycznie wszystko (no może bez folderu **Pobrane**). W prawym dolnym rogu możemy zobaczyć, ile miejsca jesteśmy w stanie odzyskać.

[![Oczyszczanie dysku Oczyść pliki systemowe](/images/2019/03/03-oczyszczanie-dysku-oczysc-pliki-systemowe.png)](/images/2019/03/03-oczyszczanie-dysku-oczysc-pliki-systemowe.png)

Szczerze, taki zabieg polecam wykonać conajmniej raz w miesiącu.

## BleachBit

Kolejną aplikacją jest BleachBit. Aplikacja na pierwszy rzut oka przypomina tryb oczyszczania z programu CCleaner’a i nie bez powodów. Służy ona głównie w tym celu, ale nim zaczniemy coś w nim robić, zalecał bym dodanie jednej opcji, przez co zasięg programu ulegnie znacznemu polepszeniu.

BleachBit można pograć bezpośrednio [ze strony twórcy](https://www.bleachbit.org). _Na chwilę pisania tego wpisu najnowszą wersją jest wersji 2.2_.

Program [pobieramy](https://www.bleachbit.org/download/windows) albo w trybie instalatora albo jako program przenośny (**portable**). Program przenośny możemy wrzucić na pendrive i mieć zawsze pod ręką nie tylko dla naszego komputera, ale również dla innych komputerów.

[![BleachBit Ekran Główny](/images/2019/03/04-bleachbit-ekran-glowny.png)](/images/2019/03/04-bleachbit-ekran-glowny.png)

**Nim zaczniemy go używać** rozszerzymy jego funkcjonalność przechodząc do **Edycja > Preferencje** i zaznaczając opcję **Pobierz i zaktualizuj instrukcje czyszczenia przygotowane przez społeczność (winapp2.ini)**.

[![BleachBit Preferencje winapp2.ini](/images/2019/03/05-bleachbit-preferencje-winapp2_ini.png)](/images/2019/03/05-bleachbit-preferencje-winapp2_ini.png)

Po zamknięciu tego okna, oraz zamknięciu całego programu i uruchomieniu go na nowo zostaniemy poinformowani w prawej części programu, że **została pobrana nowa wersja pliku winapp2.ini**.

[![BleachBit z Winapp2.ini](/images/2019/03/06-bleachbit-z-winapp2_ini.png)](/images/2019/03/06-bleachbit-z-winapp2_ini.png)

W lewej części programu lista opcji do wyczyszczeniu zostanie rozszerzona, w zależności jakie aplikacje mamy zainstalowane w naszym systemie.

{{% ads-in-article %}}

Teraz wystarczy wybrać opcje, które chcemy wyczyścić. Tutaj pozostawiam to dla ciebie do zdecydowania, jednakże jeżeli nie jesteś pewien co zaznaczyć, a chcesz zrobić generalne porządki, **zaznacz wszystko**, a w miejscach, gdzie aplikacja ostrzeże cię, że ta operacja może potrwać dość długo lub może usunąć elementy, które nie koniecznie chcemy żeby zostały usunięte, anulujemy je przyciskiem **Cancel**. Program wybierze wszystkie pozostałe opcje, do których nie ma zastrzeżeń, a pozostawi odznaczone te, które wymagają nieco wiedzy w tym co użytkownik chce zrobić.

[![BleachBit Ostrzeżenie](/images/2019/03/07-bleachbit-ostrzezenie.png)](/images/2019/03/07-bleachbit-ostrzezenie.png)

Jeżeli w naszym system używamy dodatkowo **Windows Defender** ([przeczytaj tutaj dlaczego warto](/moj-antywirus-windows-defender/)), to nie zaznaczaj opcji **Windows Defender > Historia**, gdyż wyczyści to dodatkowo informację, kiedy aplikacja przeskanowała ostatnio nasz komputer w kierunku zagrożeń (szybkie skanowanie) i po ponownym uruchomieniu komputera będzie informowała cię, że należy takie skanowanie ponownie wykonać. Jednorazowo to nie problem, ale przy każdorazowym czyszczeniu (powiedzmy raz w tygodniu) może to być niepotrzebne.

Jak już wszystko wybraliśmy, klikamy na przycisk **Wyczyść** i czekamy na zakończenie.

[![BleachBit po oczyszczaniu](/images/2019/03/08-bleachbit-po-oczyszczaniu.png)](/images/2019/03/08-bleachbit-po-oczyszczaniu.png)

**BleachBit** zyskał po nieco sławę, szczególnie w stanach, podczas gdy Hilary Clinton, gdy startowała na prezydenta, została zapytana “czy oczyściła swój serwer email?”, po czym odpowiedziała “ściereczką lub czymś takim?”. Po roku śledztwa okazało się, że tą “ściereczką” był właśnie BleachBit. I jak widzimy, do tej pory nikt jej o nic nie oskarżył ([więcej tutaj](https://www.bleachbit.org/cloth-or-something)).

* * *

**I tak doszliśmy do końca.**

Jeżeli dbasz o swoje bezpieczeństwo, a kwestie prywatności nie są tobie obce, używanie tych dwóch narzędzi pozwoli ci się uporać z tym w pełni zastępując to, co oferował kiedyś CCleaner. Dodatkowo, wykonując te zabiegi na komputerze, który nie zachowuje się tak jak powinien pozwolą nam pozbyć się podstawowych problemów i ułatwią znalezienie tego, który powoduje większe zamieszanie.

Pozdrawiam.


---
## Blokowanie reklam w Safari na iOS, iPadOS oraz macOS
- **URL:** https://dariusz.wieckiewicz.org/blokowanie-reklam-safari-ios-iphone-ipad/
- **Date:** 2019-03-23
- **Tags:** Mac, AdSense, Google AdSense, AppStore, Content Blockers, Firefox Focus, Safari, DuckDuckGo, DuckDuckGo Privacy Essentials, iOS, iPad, iPhone, Safari, Adblock Plus, Blokady zawartości, blokowanie reklam

### Content

Żyjemy w świecie, w którym wszyscy starają się skomercjalizować praktycznie wszystko. Jeśli sprzedaż produktów i usług nie przynosi pożądanych dochodów, a użytkownicy mają już za dużo abonamentów, aby zapłacić za kolejny, to pojawiają się reklamy.

Nikt nie lubi reklam. Mogą zrujnować wrażenia z czytania na stronie, spowodować zadławienie się naszego komputera z powodu nadmiernego wykorzystania zasobów lub narazić Twoje urządzenie lub nas na ryzyko ze względu na kwestie prywatności.

Kiedyś moja strona, jeszcze w 2020 roku, wyświetlała dynamiczne reklamy za pośrednictwem Google AdSense. Nie przynosiło to niestety dochodu na tyle, aby pokryć koszta, które w nią włożyłem. Co więcej, korzystanie z Google Ads miało negatywny wpływ na wydajność mojej witryny. Ironicznie, moja witryna została ukarana przez Google, w ich własnym rankingu, z powodu używania ich rozwiązania!

Gdy przeniosłem się do Hugo i zacząłem korzystać z Netlify w ich darmowym planie, znacznie obniżyłem koszta i dlatego zdecydowałem się całkowicie wyeliminować reklamy z mojej strony. Moja witryna nie ma milionów odwiedzających miesięcznie, dlatego jej utrzymanie nie kosztuje mnie (obecnie) dużo. W czasie, gdy zostanę jakoś zauważony, zdobędę przyzwoitą liczbę odwiedzających, wyobrażam sobie, że będę miał inne możliwości zarobku i miejmy nadzieję, że nie będzie to z reklam.

Doceniam systemy reklamowe, takie jak [EthicalAds, sieć reklamowa zachowująca prywatność](https://www.ethicalads.io) lub [BuySellAds](https://www.buysellads.com), jednakże nadal istnieją systemy reklamowe, które doprowadzają mnie do bólu głowy. Jeśli one mnie irytują, to zapewne irytują również ciebie.

Na moich urządzeniach używam Safari jako domyślnej przeglądarki. Możesz powiedzieć, co ci się podoba, ale na pewno nie to nowy Internet Explorer.

W Safari używam podwójnego podejścia. Aby zachować prywatność i usunąć irytujące elementy (reklamy) ze stron internetowych, które odwiedzam każdego dnia. Oto jak to robię na moich urządzeniach.

<!--more-->

## iOS (iPhone) i iPadOS (iPad)

Na tych urządzeniach używam **Firefox Focus** *(darmowy)* oraz **Adblock Plus** *(darmowy)*.

> Firefox Focus jest samodzielną przeglądarką internetową, ale korzystam tylko z jej integracji z Safari, co pozwala mi blokować trackery i zachować prywatność.

### Firefox Focus

[![Firefox Focus AppStore iOS](firefox_focus_appstore_ios.png)](firefox_focus_appstore_ios.png)

1. [Pobierz **Firefox Focus** z **AppStore**](https://apps.apple.com/app/firefox-focus-privacy-browser/id1055677337)

2. Po pobraniu aplikacji otwórz ją i postępuj zgodnie ze wstępną konfiguracją/samouczkiem.

[![Firefox Focus iOS – gotowy](firefox_focus_ios_ready.png)](firefox_focus_ios_ready.png)

Ponieważ nie będziemy używać Firefox Focus jako przeglądarki, możemy go zamknąć i wrócić do ekranu głównego na naszym urządzeniu.

3. Przejdź do **Ustawienień** twojego urządzenia i sekcji **Safari**

4. W sekcji **Ogólne** przejdź do **Rozszerzenia**, następnie w **Zezwalaj na blokowanie treści** zaznacz (włącz) **Firefox Focus**. I to wszystko.

### AdBlock Plus

[![Adblock Plus Appstore iOS](adblock_plus_appstore_ios.png)](adblock_plus_appstore_ios.png)

1. [Pobierz **Adblock Plus dla Safari (ABP)** z **AppStore**](https://apps.apple.com/app/adblock-plus-for-safari-abp/id1028871868)

2. Po pobraniu aplikacji otwórz ją i postępuj zgodnie ze wstępną konfiguracją/samouczkiem.

{{% gallery %}}
[![Adblock Plus iOS – pierwszy krok](adblock_plus_ios_1st_steps.png)](adblock_plus_ios_1st_steps.png)
[![Adblock Plus iOS – gotowy](adblock_plus_ios_ready.png)](adblock_plus_ios_ready.png)
{{% /gallery %}}

Oprócz części **Blokuj reklamy**, które muszą być włączone (zaznaczone), nie musimy robić nic więcej.

3. Przejdź do **Ustawień** twojego urządzenia i sekcja **Safari**

4. W sekcji **Ogólne** przejdź do **Rozszerzenia**, następnie w **Zezwalaj na blokowanie treści** zaznacz (włącz) **Adblock Plus**. I to wszystko.

[![Rozszerzenia Safari dla iOS Firefox Focus Adblock Plus](safari_ios_extensions_firefox_focus_adblock_plus.png)](safari_ios_extensions_firefox_focus_adblock_plus.png)

Tak to wszystko będzie wyglądać.

Teraz możesz przeglądać tak, jak to zwykle czyniłeś w Safari. W tle Firefox Focus i AdBlock Plus zrobią to, do czego są przeznaczone.

## macOS (komputery Mac)

Ponieważ **Firefox Focus** nie jest dostępny dla komputerów Mac (wstyd!), jako alternatywę używam rozszerzenia **DuckDuckGo Privacy Essentials** *(darmowy)* wraz z **Adblock Plus**.

> Ironicznie, DuckDuckGo jest dostępny na urządzeniach mobilnych jako samodzielna przeglądarka internetowa z funkcjami prywatności, podobnie jak Firefox Focus, jednak nie można używać jej funkcji jako rozszerzenia do Safari (wstyd!).

### DuckDuckGo Privacy Essentials

[![DuckDuckGo AppStore macOS](duckduckgo_appstore_macos.png)](duckduckgo_appstore_macos.png)

1. [Pobierz **DuckDuckGo Privacy Essentials** z **AppStore**](https://apps.apple.com/us/app/duckduckgo-privacy-essentials/id1482920575?mt=12)

2. Po pobraniu aplikacji otwórz ją i postępuj zgodnie ze wstępną konfiguracją/samouczkiem.

{{% gallery %}}
[![Pierwszy krok DuckDuckGo macOS](duckduckgo_macos_1st_step.png)](duckduckgo_macos_1st_step.png)
[![DuckDuckGo macOS 2-gi krok](duckduckgo_macos_2nd_step.png)](duckduckgo_macos_2nd_step.png)
{{% /gallery %}}

W samouczku zostaniesz poproszony o **Uruchomienie preferencji Safari**, a na karcie **Rozszerzenia** włączysz (zaznacz) **Panel prywatności** i **Ochronę prywatności**.

Po wykonaniu tej czynności konfiguracja jest gotowa.

> Co ważne, używanie rozszerzenia DuckDuckGo na Macu nie zmienia naszej wyszukiwarki w przeglądarce ani tego, jak zachowuje się pasek adresu podczas używania go do przeszukiwania sieci. Przeczytaj tutaj, [jak zmienić domyślną wyszukiwarkę w przeglądarce internetowej](/en/how-to-change-default-search-engine-internet-browser/).

{{% ads-in-article %}}

### Adblock Plus dla Safari ABP

[![Adblock Plus AppStore macOS](adblock_plus_appstore_macos.png)](adblock_plus_appstore_macos.png)

1. [Pobierz **Adblock Plus** z **AppStore**](https://apps.apple.com/app/adblock-plus-for-safari-abp/id1432731683?mt=12)

2. Po pobraniu aplikacji otwórz ją i postępuj zgodnie ze wstępną konfiguracją/samouczkiem.

[![Rozszerzenia Safari macOS Adblock Plus DuckDuckGo](safari_macos_extensions_adblock_plus_duckduckgo.png)](safari_macos_extensions_adblock_plus_duckduckgo.png)

Podczas **jednoetapowej** konfiguracji zostaniesz poproszony o **Uruchomienie preferencji Safari** i włączenie (zaznaczenie) **ABP** i **Panelu sterowania ABP** na karcie **Rozszerzenia**.

[![Adblock Plus – gotowy](adblock_plus_ready_macos.png)](adblock_plus_ready_macos.png)

Po wykonaniu tej czynności konfiguracja jest gotowa.

**Miłego przeglądania!**

> W analogiczny sposób możemy dodać [Lockdown - Firewall na iPhone (oraz macOS)](/firewall-iphone-ipad-mac-lockdown-privacy/).


---
## PuTTY
- **URL:** https://dariusz.wieckiewicz.org/putty/
- **Date:** 2019-03-19
- **Tags:** Blog, 0.71, Bounty, EU, game over, luka bezpieczeństwa, man in the middle, patched, Putty, RSA, security, terminal, Unia Europejska, Windows, załatany

### Content

![Putty Icon](/images/2019/03/putty_icon_128px-min.png)

**Terminal** to jedno z potężniejszych narzędzi zaawansowanego użytkownika. O ile w przypadku Windows’a linię poleceń (_command line_) oraz _power shell_ nie można nazwać terminalem, o tyle osoby, które mają styczność z Linux’em lub chociażby macOS wiedzą o co chodzi.

<!--more-->

W przypadku użytkowników Windowsa przywołując pojęcie terminal, każdy sięgał po najbardziej sprawdzone narzędzie, jakim jest **PuTTY**.

**PuTTY** jest niepozornym, a zarazem bardzo dobrym, darmowym narzędziem pozwalającym na połączenie czy to z lokalnym urządzeniem, czy też zdalnym serwerem za pomocą przeróżnych protokołów, chociażby takich jak Telnet czy SSH.

O ile nie ma się tutaj co rozwodzić się nad samym programem, gdyż na przełomie dosłownie “lat” nic się wielkiego nie zmieniło, o tyle ostatnimi czasy w PuTTY załatano dosyć poważną lukę bezpieczeństwa, która została znaleziona przez sponsorowany przez Unię Europejską program poszukiwania "dziur" w przeróżnych aplikacjach - w tym PuTTY ([czytaj więcej tutaj](https://threatpost.com/eu-offers-bug-bounties-for-14-open-source-projects/140473/)).

**W związku z tym, jeżeli czytasz ten wpis - a przede wszystkim używasz PuTTY, zaktualizuj go jak najszybciej.**

Dlaczego o tym piszę?

Otóż sam program składa się z jednego pliku **.exe**, który każdy kto go używa, ma gdzieś zapisany. Nikt tak naprawdę nie wie do końca jakiej wersji używa, gdyż program wygląda cały czas tak samo, a dopóki działa dopóty nikt się nie rozgląda dalej. **W tym przypadku jednak trzeba.**

_W skrócie_ problem polega na tym, że część programu odpowiedzialna za przechowywanie/przetwarzanie kluczy RSA służących do zabezpieczenia transmisji danych w trakcie bezpiecznego połączenia mógł zostać skompromitowany oraz najpoważniejszy błąd, który pozwalał osobie (czytaj haker), będącej tzw. osobą “pomiędzy” tobą a serwerem, do którego się łączysz (_man in the middle_), na ominięcie klucza kryptograficznego uwierzytelniającego komputer przy połączeniu SSH. 

**Sam autor programu przyznał**, że znaleziony problem był na tyle poważny (nazwał go wręcz **“game over”** - koniec gry), że nie można go w żadnym razie zignorować i każdy powinien wziąć sobie to do siebie i zaktualizować program jak najszybciej. 

Na szczęście, problem ten został znaleziony w ramach programu europejskiego i dzięki temu, do czasu jego załatania, Unia Europejska utrzymała w ścisłej tajemnicy to, co zostało znalezione, aby chronić użytkowników, który mogą zostać narażeni do czasu wypracowania rozwiązania. **I niech mi ktoś powie, że Unia Europejska to zło konieczne, a co niektórzy nawet zechcą z niej wyjść** (_sic!_).

Bez zbędnego gadania, przejdź na stronę autora i pobierz najnowszą wersję (_w chwili pisania tego spisu jest to wersja 0.71 wydana 16 marca 2019_)

> [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) 

Czytaj więcej w [The Register](https://www.theregister.co.uk/AMP/2019/03/19/putty_patched_rsa_key_exchange_vuln/).

{{% ads-in-article %}}


---
## Quidco - odbierz swoje £5
- **URL:** https://dariusz.wieckiewicz.org/quidco/
- **Date:** 2019-03-02
- **Tags:** cashback, claim, cookies, polecenie, Premium, quidco, refer a friend, trustpilot

### Content

Nigdy nie byłem zbytnio przekonany do stron, które oferują tzw. **Cashback**, czyli częściowy zwrot kosztów poniesionych na zakupy u wybranych sprzedawców. W momencie, gdy przeniosłem się na [Monzo](/monzo/), zacząłem śledzić ich forum ([community](https://community.monzo.com)), czytając opinię innych użytkowników czy to działa, a jeżeli tak, to ile da się na tym odzyskać pieniędzy, robiąc zakupy, które i tak by robił.

<!--more-->

I tak pod koniec **Stycznia 2019** postanowiłem sprawdzić Quidco, jednego z dwóch głównych graczy na runku w Wielkiej Brytanii. Jako że podstawowe członkostwo nic nie kosztuje (Premium to tylko **£5** na rok odejmowane od wypracowanego cashback’a), niczym nie ryzykuję.

Jeżeli robisz zakupy, chociażby na eBay, Argos, zamawiasz pizzę z Dominos, planujesz zmianę firmy dostarczającej prąd, lub planujesz wykupienie pakietu Disney+ dlaczego by nie otrzymać dodatkowych pieniążków za coś, co i tak będziesz robić.

[![Quidco - Przykład](quidco-przyklad-2023.png "Quidco - Przykład")](quidco-przyklad-2023.png)

Według zapewnień Quidco, ich członkowie średnio otrzymują **£300 rocznie**. Osobiście, po zaledwie miesiącu używania nie mam wątpliwości, że jest to realne, chyba że polecisz dużo ludzi. Dodatkowo na [TrustPilot](https://uk.trustpilot.com/review/www.quidco.com) ponad 125 tysięcy osób dało Quidco ocenę **4.3 na 5** (74%, 5-gwiazdek), co też jest imponujące.

W pierwszym miesiącu dokonałem tylko kilku zakupów planowanych, z których niektóre nie załapały się na Cashback, ale nie z winy Quidco tylko tego, jak dokonałem tych zakupów, dlatego na wstępie chcę się z wami podzielić moim doświadczeniem.

* * *

Na wstępie musisz być świadomy, że aby wszystko działało, Quidco potrzebuje śledzić transakcję od początku do końca, a do tego celu wykorzystuje przede wszystkim **ciasteczka** (**cookies**). Quidco nie jest instytucją charytatywną. Oni też otrzymują cashback od sprzedawców, którzy z nimi współpracują. Z ich cashback’a dzielą się oni porcją ze swoimi użytkownikami.

W momencie, gdy wyszukałeś sprzedawcę (na stronie głównej Quidco), u którego chcesz dokonać zakupu, korzystając z odnośnika zostaniesz przeniesiony na stronę sprzedawcy, na której będziesz mógł dokonać planowanego zakupu.

To, ile zwrotu otrzymamy (w **%** lub w kwocie **£££**), jak szybko zakup jest śledzony oraz kiedy środki będą dla nas zwolnione dowiecie się przed rozpoczęciem zakupu jeszcze na stronie Quidco.

I tutaj, jeżeli dokonaliśmy poprawnie zakupu (to znaczy, nie spowodowaliśmy nic, co mogłoby unieważnić nasz Cashback tj. użyliśmy dodatkowego kodu zniżkowego niezwiązanego z Quidco), nasza transakcja powinna się pojawić w części **Tracked** (_Śledzone_). Z reguły trwa to od kilkunastu minut do kilku godzin lub dni. Teraz wystarczy, że poczekamy okres, po którym środki te zostaną zwolnione i będą dostępne do wypłaty (**Account balance**).

Otóż środki, które zbieramy, nie są wypłacane od razu. Quidco weryfikuje transakcje ze sprzedającymi i jeżeli nie ma uwag, np. dokonaliście zakupu, a później anulujecie go i zwrócicie towar, środki są zwalniane i możecie je wypłacić. W zależności od typu transakcji, wysokości cashback'a oraz samego sprzedającego, środki mogą być dostępne już po kilku dniach, a czasami dopiero po kilku miesiącach (np. przy zmianie dostawcy prądu).

## Nie wszystkie transakcje są śledzone poprawnie

Wszystko jest pięknie, gdy wszystko działa. W obecnych czasach, szczególnie gdy robimy zakupy z poziomu telefonu komórkowego, w momencie przejścia na stronę sprzedawcy możemy być przekierowani do dedykowanej aplikacji zainstalowanej na naszym telefonie, na której możemy dokonać zakupu w wygodny sposób.

Ten _“wygodny sposób”_ ma to do siebie, że Quidco nie ma możliwości śledzenia tego typu transakcji. Mówią oni o tym na każdym kroku, więc lepiej jest dokonać zakupu w przeglądarce internetowej, w której otworzył nam się odnośnik z Quidco.

Osobiście przekonałem się o tym na własnej skórze tracąc kilka cashback’ów. Na tym właśnie polega "uczenie się" jak z tego korzystać. Tak naprawdę niczego nie straciłem, gdyż dokonując zakupu w sposób tradycyjny i tak bym nic nie otrzymał ekstra.

## Nawet zakupy z przeglądarki mogą nie zostać wyśledzone poprawnie

_Schodów ciąg dalszy._

Nawet jeżeli użyliśmy odnośnika na stronie Quidco w sposób prawidłowy i przeszliśmy na stronę sprzedawcy, nie zawsze transakcja może zostać wyśledzona. Tutaj "winą" są przeróżne rozszerzenia i ustawienia prywatności w przeglądarce.

Jeżeli używacie **AdBlock’a** lub innego podobnego dodatku do przeglądarki (lub też blokujecie ciasteczka w przeglądarce), mającego na celu blokowanie przede wszystkim reklam, możecie zauważyć, że oprócz blokowania reklam, blokują one również kody śledzenia / ciasteczka, które są niezbędne w celu wypłacenia tobie cashback’a. 

Osobiście nie zalecam przeglądania internetu bez **AdBlock Plus**, ale w przypadku Quidco musiałem zmienić sposób, jak robię zakupy na komputerze, aby mieć pewność, że dostanę należny cashback. Przekonałem się również o tym, gdy moje zakupy nie zostały wychwycone i przeszło mi wszystko koło nosa.

Jako że na co dzień używam Safari, na boku mam zainstalowany Chrome i tą właśnie przeglądarkę (_bez Adblock Plus_) przeznaczyłem do zakupów z cashback’iem.

## Co zrobić gdy transakcja nie została wyśledzona?

Na szczęście, gdy nasz transakcja nie została wyśledzona nie wszystko stracone, zawsze możemy złożyć _“skargę”_ (**Claim**), podczas której wybierzemy sprzedającego (będzie on dostępny w momencie, gdy użyliśmy odnośnika ze strony Quidco), datę transakcji oraz podamy kilka dodatkowych detali pozwalających zidentyfikowanie transakcji przez obie strony. Jeżeli wszystko poszło po naszej myśli, niedługo zobaczymy brakujące transakcję i cashback na naszej stronie **Tracked** (_Śledzone_).

## Członkowstwo Premium

Quidco oferuje również członkostwo **Premium**. Nie trzeba jednak za nie płacić. Opłata w wysokości **£5** odejmowana jest od pierwszego wypracowanego cashback’a **raz na 12 miesięcy**. Dzięki członkostwu premium, użytkownikowi oferowany jest portal bez reklam oraz z dodatkowymi opcjami pozwalającymi na zwiększenie wartości cashback, która możemy otrzymać od wyszczególnionych sprzedawców. Osobiście stwierdziłem, że spróbuję tej opcji, a po roku sprawdzę, czy jest to opłacalne.

> O ile pierwszy rok był intensywny i wyciągnąłem sporo z moich zakupów, to na kolejne lata nie zdecydowałem się na kontynuowanie pakietu premium.

{{% ads-in-article %}}

## Odbierz £5 z polecenia

Przechodząc teraz do sedna, czyli **£5 dla ciebie**.

Otóż oprócz możliwości dostania zwrotu z zakupów, Quidco oferuje program polecający. Zachęcając znajomego do dołączenia do Quidco z linka polecającego (poniżej) otrzymuje on £5 doliczone do pierwszych potwierdzonych £5 cashback’a. Jako, że nic to nie kosztuje, dlaczego by nie skorzystać?

> [https://www.quidco.com/raf/8982863/](https://www.quidco.com/raf/8982863/)

Osoba polecona dostaje **£5** natomiast ty, jako osoba polecająca **£15**.

[![Polecaj znajomym. Dostajesz 15 funtów. Twój znajomy otrzyma 5 funtów.](quidco_refer_your_friends_2023.png)](quidco_refer_your_friends_2023.png)

Po dołączeniu do Quidco możesz zachęcać swoich znajomych korzystając z twojego indywidualnego odnośnika w [**"Refer a friend"**](https://www.quidco.com/referrals/), dzięki czemu sam możesz zacząć zarabiać.

Nic tylko korzystać.

**Pozdrawiam.**



---
## Monzo
- **URL:** https://dariusz.wieckiewicz.org/monzo/
- **Date:** 2019-02-17
- **Tags:** bank, bank mobilny, current account, Direct Debit, golden ticket, ifttt, Monzo, polecenie, pot, standing order, TransferWise, Wise

### Content

Jeżeli mieszkasz na stałe w UK, na co dzień korzystasz zapewne z banków, którym daleko do innowacyjności rodem z **XXI wieku**. Dlaczego nie pójść z duchem czasu i nie skorzystać z dodatkowej okazji otwierając konto w **Monzo**.

<!--more-->

**[Monzo](https://monzo.com)** jest nowym (obok [Starling](https://www.starlingbank.com) i [Atom bank](https://www.atombank.co.uk)), prężnie rozwijającym się bankiem internetowym w UK demotywującym w swoich innowacyjnościach nie jeden konglomerat bankowy tj. Lloyds czy Barclays.

Jak napisałem, **Monzo jest bankiem mobilnym**. W swojej historii miałem okazję używać Barclays'a oraz TSB i każdy z tych banków miał jeden poważny problem. Niektóre rzeczy można było zrobić w aplikacji mobilnej a inne tylko przez stronę internetową. Wiązało się to z koniecznością lawirowania, szczególnie że ich strony internetowe często nie są dostosowane do małych ekranów, więc w tym celu musiałeś używać komputera. Nie mówiąc o tym, że niektóre banki wymagają jeszcze **(sic!)** [Internet Explorera](https://www.theverge.com/2019/2/8/18216767/microsoft-internet-explorer-warning-compatibility-solution)_ aby działały niektóre rzeczy. W momencie żeby pobrać wyciąg (**statement**) w postaci **PDF** i zapisać go na Dysku Google mogłem to tylko zrobić z postaci komputera, zacząłem szukać innego rozwiązania.

Duże bank rozwijają się znacznie wolniej, niż użytkownik by chciał. Wprowadzanie nowych technologii trwa dłużej i prawie zawsze wiąże się, z tym że klient będzie musiał zapłacić więcej — chociażby w opłatach bankowych przy przelewaniu pieniędzy za granicę lub też używaniu karty poza granicą UK.

Monzo zaczęło pomału, a w momencie, gdy otrzymali licencję bankową, zaczęli prężnie się rozwijać, a przede wszystkim słuchać co użytkownicy chcą i wprowadzać to w miarę potrzeb i możliwości. W momencie, gdy przekroczyli oni 1 milion użytkowników, ich rozwój jest jasno określony w kierunku ich użytkowników a postęp szczegółowo publikowany (**[blog](https://monzo.com/blog/)**) oraz dyskutowany (**[community](https://community.monzo.com)**).

Wszystko, czego na chwilę obecną osoba otwierająca konto potrzebuje, jest dostępne i co najważniejsze **za darmo**. Otwarcie konta zajmuje kilka minut, a weryfikacja użytkownika odbywa się przy pomocy aplikacji w zaciszu twojego domu. 

Nie posiadają oni oddziałów (**branch**), ale dzięki temu masz ich dostępnych pod telefonem lub w każdej chwili możesz rozpocząć chat z konsultantem z aplikacji. Powiedzmy sobie szczerze, kto jeszcze korzysta z oddziałów bankowych, gdy wokoło jest ich coraz mniej, a otwarte są one w takich godzina, że by coś załatwić musiałbyś brać wolne w pracy.

Wygoda i przyszłościowe funkcje zachęcające do oszczędzania (**[Aplety w IFTTT](https://ifttt.com/monzo)**) to jest to, czego szukałem. Co więcej, możliwość powiązania Monzo z Wise (dawniej TransferWise), które opisałem na swojej stronie w kilku miejscach, przy przelewaniu pieniędzy za granicę to był kolejny powód, dlaczego chciałem spróbować. 

> **Poczytaj również:**
>
> \- [Wise – przelej £500 za darmo](/wise)  
> \- [PayPal i Wise Borderless Account](/paypal-wise-borderless-account/)  
> \- [Przelewy pieniężne z Anglii do Polski – kolejne podejście](/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/)**_._**

Jako że **Monzo jest bankiem**, nasze pieniądze zabezpieczone są do £85,000. Mamy możliwość założenia konta (**Current Account**), jak również [przeniesienia naszego konta z innego banku](https://monzo.com/features/switch/) wraz ze wszystkimi poleceniami zapłaty (**standing orders** i **direct debits**).

Nie sposób jest przedstawić wszystkich zalet Monzo, gdyż musiałbym aktualizować ten wpis co najmniej raz w miesiącu (w tym celu odsyła do ich **[bloga](https://monzo.com/blog/)**). Jest też kilka opcji, które jeszcze są nie dostępne, ale pracują oni na tym aby je wprowadzić jak najszybciej z głównym naciskiem na fakt, **aby użytkownicy nie musieli za to dodatkowo płacić**.

Jeżeli posiadasz i używasz **Wise** wraz z kartą debetową, zainteresuje cię fakt, że korzystając z Monzo, otrzymujemy te same korzyści co daje TW, gdy podróżujemy po świecie. Możemy wypłacać pieniądze z bankomatów (pierwsze £200 funtów nie kosztuje nasz nic\*), jak i płacić w sklepach bez dodatkowych opłat bankowych przy bardzo dobrych kursach przewalutowania.

> **Aktualizacja 18 Grudnia 2019**
>
> Monzo Bank poinformował [na swoim blogu](https://monzo.com/blog/cash-withdrawals-in-the-european-economic-area-eea-are-now-free), że wraz ze zmianą w regulacjach Unii Europejskiej dotyczących płatności pomiędzy państwami członkowskimi, od 18 grudnia 2019, wypłaty z bankomatów (tych obsługiwanych przez banki) będzie bezpłatne. To znaczy, że w każdym kraju [należącym do EEA](https://pl.wikipedia.org/wiki/Europejski_Obszar_Gospodarczy) (wszystkie kraje unii jeszcze kilka innych), nie będzie już limitu £200 na miesiąc bez opłat.  
>   
> Pamiętać jedynie należy, aby nie używać bankomatów typu DCC, które przewalutowują transakcję na ekranie informując cię o kursie itp. [Więcej możecie poczytać tutaj](https://www.bankier.pl/wiadomosc/DCC-i-karta-wielowalutowa-uwazaj-to-bedzie-kosztowne-7712845.html).

* * *

> **Poczytaj również:**
>
> \- [Monzo + Wise](/monzo-wise/)

Co jest dla mnie jest osobiście ważne to sposób, w jaki **Monzo zachęca do oszczędzania**. Jednym ze sposobów jest zaokrąglanie twoich wydatków i przesyłanie **“reszty”** na osobne konto (**Pot**) - tak jak _świnka skarbonka_. Płacą w sklepie **£11.56**, na wyciągu będziesz miał obciążenie £12 a w szczegółach transakcji zobaczysz, że **£11.56** poszło na zapłatę a **£0.44** przelane zostało do twojej **świnki skarbonki**.

**Chcąc nie chcąc, dzięki temu można uzbierać niezłą sumkę.**

Co więcej, Monzo można zintegrować z [IFTTT](https://ifttt.com) (aplikacji do automatyzacji), dzięki czemu możesz ustawić sobie przeróżne aplety wspomagające twoje oszczędzanie. Osobiście mam ustawione _Zadania oszczędzania 1p dziennie_ (**[1p Challenge](https://ifttt.com/applets/GutUrxFv-take-on-the-1p-savings-challenge)**), które polega na tym, że **1-ego Stycznia** z twojego konta przelewane jest **£0.01** do Pota, **2-go Stycznia £0.02**, **3-go Stycznia £0.03** i tak do końca roku gdzie **31-go Grudnia** będzie **£3.65**. Jak by nie patrzeć, uzbiera się przy tym niezła sumka.

To jest tylko jeden z przykładów wspomagania oszczędzania, gdyż opcji jest multum w zależności od tego, co kto potrzebuje.

![monzo golden ticket](/images/2019/02/dariusz-monzo-golden-ticket-min.png)

> Od **6-go września 2019**, Monzo zaprzestał wypłacania **£5** w ramach polecenia, ale to nie znaczy, że nie warto z niego skorzystać.

**Poleć Monzo znajomym  i  odbierz £5**

Monzo oferuje program polecający zwanym **[Golden Tickets](https://join.monzo.com/r/nn2we2r)** (jak w Charlie i fabryka czekolady). Od **Stycznia 2019** program ten płaci za polecenie nowego użytkownika. Ty — jako osoba polecająca oraz (od połowy sierpnia 2019) Twój znajomy, w momencie pierwszego użycia karty Monzo dostanie **£5 jako podziękowanie za dołączenie do rodziny**.

Nic ciebie to nie kosztuje, a Korzyści, jakie z sobą niesie używanie Monzo mogą zachęcić cię do lepszego zarządzania pieniędzmi (dzięki wbudowanemu narzędziu do śledzenia i podsumowywania wydatków), jak i oszczędzenia (Poty — świnki skarbonki).

**Jeżeli się zdecydujesz, skorzystaj z mojego linku polecającego:**  
[https://join.monzo.com/r/nn2we2r](https://join.monzo.com/r/nn2we2r)

Po skorzystaniu z powyższego odnośnika postępuj zgodnie z instrukcjami na ekranie.

**W razie pytań pisz śmiało w komentarzach.**

Pozdrawiam

{{% ads-in-article %}}


---
## Wise - przelej £500 za darmo
- **URL:** https://dariusz.wieckiewicz.org/wise/
- **Date:** 2019-02-17
- **Tags:** Borderless Account, darmowy przelew, paypal, polecenie, przelewy, TransferWise, Wise

### Content

O samym Wise (dawniej TransferWise) pisałem już kilkukrotnie na mojej stornie:

*   tutaj: [Monzo + Wise](/monzo-wise/)
*   tutaj: [PayPal i Wise Borderless Account](/paypal-wise-borderless-account/)
*   i tutaj: [Przelewy pieniężne z Anglii do Polski – kolejne podejście](/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/).

Nie zamierzam się powtarzać, a jednocześnie **skupić na tym, jak otrzymać jak najwięcej z używania Wise** (Wise).

<!--more-->

Jako że **Wise** jest to jedna z najrozsądniejszych obecnie opcji do przesyłania pieniędzy z UK to Polski (i nie tylko), chciałem szerzej opisać, w jaki sposób **nowi użytkownicy Wise** mogą dokonać **pierwszego przelewu do £500** całkowicie **bez opłat** a dodatkowo, **każdy użytkownik** może otrzymać **£75 za każde 3 kolejne polecone osoby** (*zmiana z £50 na £75 od 28/08/2020*), które aktywnie będą używały Wise.

> **Użyj poniższego odnośnika, aby odebrać swój darmowy przelew:**  
> [wise.com/u/dariuszw46](https://wise.com/u/dariuszw46)
>  
> *lub skorzystaj z niego aby założyć konto na Wise*

## Pierwszy przelew do £500 za darmo

Otóż jeżeli jeszcze nie korzystałeś z Wise, a zamierzasz, **wstrzymaj się z zakładaniem konta bezpośrednio na ich stronie internetowej, zanim przeczytasz poniższy tekst**.

Wise oferuje program lojalnościowy, dzięki któremu możesz zachęcać znajomych do spróbowania Wise. Jako że jestem w 100% przekonany do tej usługi, która w ostatnich miesiącach zyskała dodatkowo pozytywny rozgłos w mediach w UK (**The mistake that led to a £1.2bn business**), nie pozostaje mi nic innego jak polecić ją dalej.

**Otóż** czy chcesz przelać pieniądze jednorazowo, czy zamierzasz dokonywać tego od czasu do czasu, oraz korzystać z dobrodziejstw, jakie daje posiadanie konta **Borderless Account** oraz **Karty bankomatowej**, warto skorzystać z oferty jaką Wise oferuje. **£500** to nie mała kwota, a oszczędność, szczególnie przy porównaniu z dużymi bankami w UK jest bardzo duża.

> **Użyj poniższego odnośnika, aby odebrać swój darmowy przelew:**  
> [wise.com/u/dariuszw46](https://wise.com/u/dariuszw46)  
>  
> *lub skorzystaj z niego aby założyć konto na Wise*

Jeżeli w danej chwili nie chcesz dokonać przelewu, użyj go aby założyć konto. W momencie, gdy będziesz gotowy, twój darmowy przelew będzie na ciebie czekał.

**Co więcej,** jeżeli posiadasz kartę do twojego konta Wise, daje ci ona możliwość wypłacania z bankomatów na całym świecie (z posiadanego tam salda) do **£200 bez opłat w miesiącu** (powyżej tej kwoty pobierany jest opłata w wysokości 2% od transakcji) oraz wygodę płacenia w dowolnym kraju, tak jak być miał kartę z lokalnego banku, z wykorzystaniem przewalutowania po **najlepszych możliwych** kursach w momencie, gdy tego potrzebujesz.

## Czy twoje pieniądze są bezpieczne?

**Tak.** Mimo że Wise nie jest bankiem, są oni regulowani przez _Financial Conduct Authority_, który dba o to, aby biznes obrotu pieniędzmi był jak najbardziej prawidłowy a co przede wszystkim bezpieczny dla użytkowników.

## Wise - odbierz swoje £75

> 28/08/2020: kwota uległa zmianie z £50 na **£75**.

![Zamiast £50 odbierz £75](/images/2020/08/TransferWise_75GBP_from_28082020-min.png)

Jeżeli będziesz pozytywnie przekonany do używania Wise, nie stoi nic na przeszkodzie jak podzielenie się twoim pozytywnym doświadczeniem (**share the love**) z innymi, a dodatkowo zyskując na tym **£75** za każdym razem, gdy 3 twoich znajomych zacznie aktywnie korzystać z Wise. **Aktywnie, to znaczy**, że wyślą oni przez Wise pieniądze o wartości przekraczającej £200 poza granicę kraju w którym normalnie przebywają.

Zakładając, że każdy z twoich znajomych otrzyma od ciebie z polecenia **darmowy przelew do £500** otrzymanie **£75** jest całkiem realnie.

Na 3 znajomych się nie kończy. Każde kolejne 3 osoby to kolejne **£75** za polecenie. Nie ma tutaj limitu.

Osobiście, na chwilę obecną (28/08/2020) mam 54 osoby polecone, z czego 16 osób już aktywnie korzystają z Wise, przez co dostałem już swoje pierwsze **£50**, a teraz (od 28/08/2020) będę dostawał za każde trzy osoby **£75**.

**Dlaczego nie miałbyś skorzystać z tej okazji i ty?**

> **Użyj poniższego odnośnika, aby odebrać swój darmowy przelew:**  
> [wise.com/u/dariuszw46](https://wise.com/u/dariuszw46)  
>  
> *lub skorzystaj z niego aby założyć konto na Wise*

## Przesyłaj i odbieraj pieniądze tak jak w normalnym banku

Wise to nie tylko przelew pieniędzy pomiędzy jego użytkownikami. Jedna ze stron wcale nie musi go używać, aby otrzymać od ciebie pieniądze, oraz wcale nie musi go posiadać, jeżeli chce ci przelać walutę, taką jak (EUR…) bez opłat!

**Jeżeli chcesz przelać pieniądze do kogoś na świecie**

Wystarczy, że dodasz go jako Odbiorcę (Recipients), wybierając jego lokalną walutę oraz podając jego numer konta, w takim samym formacie, jak używa się w danym kraju. W momencie przesyłania pieniędzy, przewalutowanie następuje po twojej stronie, a odbiorca otrzymuje przelew w lokalnej walucie i kwocie, jaką przedstawił ci Wise. Zero kruczków, podwójnego przewalutowania i ukrytych opłat bankowych!

[![Wise Add Recipient](/images/2019/08/transferwise_add_recipient-min.png)](/images/2019/08/transferwise_add_recipient-min.png)

[![EUR Wise Bank Details](/images/2019/08/eur_transferwise_bank_details-min.png)](/images/2019/08/eur_transferwise_bank_details-min.png)

**Jeżeli chcesz otrzymać pieniądze od kogoś na świecie…**

{{% ads-in-article %}}

Wystarczy, że podasz swoje dane do konta w Wise osobie, która chce zrobić ci przelew. Jeżeli przelew odbywa się w Funtach (GBP), Dolarach (amerykańskich USD, australijskich AUD czy nowo-zelandzkich NZD) czy Euro (EUR) wystarczy, że podasz dane bankowe "utworzone dla ciebie" przez Wise drugiej osobie. Ta natomiast dokonuje przelewu tak jak to robie z każdym innym lokalnym przelewem. Zero opłat, zero przewalutowania. Otrzymujesz dokładnie tyle, ile zostało ci przelane i sam już po stronie Wise, kiedy przewalutować i w jakiej walucie wypłacić.

[![Wise Polish Bank Details](/images/2019/10/transferwise_polish_bank_details_promo-min.png)](/images/2019/10/transferwise_polish_bank_details_promo-min.png)

**Dane bankowe dla polskiego salda!** (dodane 23 października 2019)

23-go Października Wise zrobił niemałą niespodziankę wprowadzając obsługę indywidualnych numerów bankowych dla Polskiej waluty. Tak jak to miało miejsce w przypadku Euro (innych walut), gdzie posiadaliśmy własny numer konta w banku w Niemczech, tak teraz posiadamy własny indywidualny numer konta dla polskiego salda. Dzięki czemu możemy otrzymywać płatności w Polskich Złotych, a osoba, która nam tę płatność przesyła robi to w tradycyjny sposób - czyli przelew bankowy. Polskie saldo bankowe obsługiwane jest we współpracy PKO Bank Polski.

Jeżeli ustawialiście już polskie saldo w Wise, wówczas wystarczy na nie przejść i za pomocą jednego kliknięcia otrzymać swój indywidualny numer konta. 

[![Wise Polish Bank Details Animation](/images/2019/10/transferwise_polish_bank_details.gif)](/images/2019/10/transferwise_polish_bank_details.gif)

Jest to o tyle fajnie dla osób, które nie przebywają w Polsce a przydałoby im się posiadać konto w polskim banku, chociażby aby otrzymywać w łatwy sposób pieniążki od rodziny na prezenty dla wnuków. Teraz jest to bardzo proste, bez konieczności udawania się do Polski w celu otworzenia konta w banku i kombinowania z przelewaniem. **Nie ma również potrzeby posiadania zameldowania (adresu) w Polsce!**

> **Użyj poniższego odnośnika, aby odebrać swój darmowy przelew:**  
> [wise.com/u/dariuszw46](https://wise.com/u/dariuszw46)  
>  
> *lub skorzystaj z niego aby założyć konto na Wise*

{{< youtube MLKKzRvOsLQ >}}



---
## My Polacy
- **URL:** https://dariusz.wieckiewicz.org/my-polacy/
- **Date:** 2019-01-20
- **Tags:** Blog, polacy, polska

### Content

My Polacy, naród, który walczył w najdalszych zakątkach świata oddając życie za obce nacje nie potrafimy zrobić porządku na własnej ziemi. Nasi przodkowie i wszyscy polegli w wojnach przekręcają się w grobach widząc, do czego to doszło.

<!--more-->

My Polacy, lubimy siedzieć w bagnie po uszy, bo jakie spokojne, sielankowe życie byśmy mieli, gdyby nie tacy ludzie pokroju Pawłowicz, Kaczyński czy Macierewicz.

My Polacy... o przepraszam. Według osoby z moich kręgów rodzinnych ja „nie powinienem nazywać się Polakiem, jak mieszkam za granica”, a co do tego nie powinienem się wypowiadać na temat polski i co się w tym kraju nienormalnego dzieje.

Przykre, ale trzeba wyjechać i zobaczyć to z boku, jakie nienormalności dzieją się w tym kraju.

Patologia, nienawiść, rasizm jest na porządku dziennym. Media publiczne ze swoją propagandą napędzają idiotów do zabijania niewinnych ludzi, ludzi, którzy przez całe swoje życie chcieli zrobić, żeby było lepiej.

My Polacy nie chcemy, żeby było lepiej. Lubimy się burzyć, protestować, ale nie działać. Po '89 zmiękliśmy. Ciepłe kluchy to za mało powiedziane. Nie mamy liderów, którzy pchnęliby kraj do normalności. Ludzie się burza przez chwile, a potem wrócą do swojego szarego życia i będą szerzyć stereotypy, że co my możemy.

Lech, stoczniowcy i Karol jakoś mogli, wiec, dlaczego tak lubimy teraz smród pod naszym nosem. Tego szczerze nie rozumiem. Może dlatego, że jest nam tak wygodnie, nie wiedząc, jak dobrze mogłoby być.

Gdybyśmy tak przewrócili nasz kraj do góry nogami i skończyli z szerzeniem nienawiści stalibyśmy się druga wyspą Europy - krajem winem i miodem płynącym. Jesteśmy narodem który „potrafi”. Jesteśmy inteligentni i choć nie zawsze wyedukowani, potrafimy nauczyć się z własnej ciekawości i być lepszym w swoim fachu niż nie jeden Profesor.

Im dłużej obserwuje się to zza miedzy, tym ciężej wrócić na gospodarstwo. Do tej nienormalności, patologii i nienawiści.

Ludzie z wielkim czerwonym sercem mają dość, wiec jak my, szarzy ludzie mamy żyć dalej. Potrzebujemy liderów, którzy nie patrząc na to, czy dostaną samochód od bezdomnego tylko będą zasuwali do urzędu rowerem.

Czy kochasz chłopaka lub dziewczynę, papugę lub chomika. To nieważne. Ważne jest to, jakim jesteś człowiekiem. Tylko człowiek z wielkim sercem i przysłowiowymi „jajami” może zmienić nasz kraj na prawdziwie Europejski.

Zrobiliśmy krok do przodu i wstąpiliśmy do Unii Europejskiej, a teraz robimy dwa kroki w tył, dając tym darmozjadom na wiejskiej niszczyć nasz kraj.

Opłakujemy poległych, a nie karzemy tych, którzy się do tego przyczynili i dali przyzwolenie.

My Polacy, dziwny z nas naród.

![Ladybird book of Brexit](Ladybird_book_of_Brexit.jpg)[^1]

[^1]:@Andrew_Adonis (via. Twitter) - Ladybird book of Brexit

{{% ads-in-article %}}


---
## Monzo + Wise
- **URL:** https://dariusz.wieckiewicz.org/monzo-wise/
- **Date:** 2018-10-11
- **Tags:** Finanse, android, Apple Pay, Barclays, EuroNet, FSCS, Google Pay, iOS, MasterCard, Monzo, PayPoint, TransferWise, Wise

### Content

Z [**Wise**](https://wise.com) (dawniej TransferWise) korzystam już od jakiegoś czasu i jestem z niego bardzo zadowolony, a w szczególności z **karty płatniczej**, która obsługuje tyle walut ile mamy do dyspozycji.

<!--more-->

O ile posiadanie **prawdziwego konta** **w czterech walutach** bez żadnych opłat jest bardzo fajne, o tyle posiadanie **kont “wirtualnych”** (płatniczych) jest jeszcze lepszym rozwiązaniem. **Konta wirtualne**, tzw. **balans (balance)** służy do płacenia, a nie do otrzymywania na nie pieniędzy. Dzieje się to tak z prostego powodu, gdyż nie posiadają one odpowiedniego Nr konta (jak w banku), które można podać innej osobie, aby otrzymać przelew. Dzięki kontom wirtualnym mogę prze-walutować dowolną kwotę na walutę w kraju, do którego będę podróżował, a tam korzystać z karty, na tych samych warunkach (**z wyjątkiem idiotycznej sieci bankomatów EuroNet w Polsce**), co karty wydane dla konta w lokalnym banku.

Jednym problemem jest to, że Wise nie jest bankiem. Różnica jest w tym, że wszelkie pieniądze przechowywane na kontach w ich firmie nie są ubezpieczone na wypadek, gdy ich przedstawiciel finansowy (w tym przypadku duży bank w UK jakim jest [**Barclays**](https://www.barclays.co.uk)) niespodziewanie by upadł. W przypadku prawdziwych banków nasze pieniądze są ubezpieczone do £85.000 przez [**FSCS**](https://www.fscs.org.uk/).

Takim prawdziwym, choć nietypowym i w dodatku dość nowym (przyszłościowym) bankiem jest [**Monzo**](https://monzo.com).

[![Welcome to Monzo!](/images/2018/10/Welcome-to-Monzo-min.png)](/images/2018/10/Welcome-to-Monzo-min.png)
    
**Monzo** zainteresowałem się w momencie, gdy [napotkałem artykuł odnośnie integracji Monzo z TransferWise](https://monzo.com/blog/2018/06/25/monzo-international-transfers/). Tak naprawdę słyszałem o nich już ponad dwa lata temu, jeszcze wówczas gdy oferowali oni karty przedpłacone i nazywali się Mondo. Od tego czasu sporo się zmieniło.

Monzo jest typowym bankiem na urządzenie mobilne. Nie znajdziecie tutaj opcji zalogowania się na konto z poziomu komputera i ich strony internetowej. Wszystko odbywa się na smartfonach i tabletach. Co więcej, nie posiadają oni rozwiązań, które spotykane są w tradycyjnych bankach, czyli fizyczne oddziały zlokalizowane przeważnie w centrach miast. Kontakt z klientem odbywa się za pomocą chatu, e-mail lub telefonu.

Ktoś, kto lubi porozmawiać z kimś fizycznym w fizycznym oddziale bankowym, będzie zawiedziony, ale powiedzmy sobie szczerze, jak często chodzimy do naszego banku? Sam ostatni raz temu byłem na początku 2015 roku, gdy urodził się mój syn i do tej pory nie miałem większej potrzeby. Nie bez powodu słyszymy, że coraz więcej banków zamyka swoje oddziały, tłumacząc się redukcją kosztów. Takich osób, które nie potrzebuj fizycznych oddziałów tak jak jak jest naprawdę dużo.

**Wracając do artykułu dotyczącego integracji Monzo z Wise**

Otóż każdy bank w UK narzuca sobie absurdalne opłaty za przelewy międzynarodowe. Zaczynając na £5 idąc nawet do £20 za przelew dowolnej kwoty i więcej! Monzo, na miarę banku przyszłościowego nie chciał iść tą drogą i pozwolił jego klientom na wykorzystanie potencjału jaki płynie właśnie z Wise.

> **O samym Wise pisałem już:**
> 
> [Przelewy pieniężne z Anglii do Polski – kolejne podejście](/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/)
> 
> [PayPal i Wise Borderless Account](/paypal-wise-borderless-account/)

**Otóż, gdy chcemy przelać pieniądze z konta w Monzo poza granicę, referowani jesteśmy do Wise.** Jeżeli nie mamy u nich konta, możemy założyć, a jeżeli już mamy, wystarczy się zalogować i wyrazić zgodę na pełny dostęp Monzo do naszego Wise. Aby to zrobić, wystarczy zainicjować przelew międzynarodowy w aplikacji Monzo (**oczywiście nie musimy nic przelewać, posłuży to tylko w ustawieniu aplikacji**). Po pozytywnym sparowaniu obu usług mamy możliwość, bezpośrednio z poziomu naszego konta w naszym banku na wysłanie pieniędzy poza granicę kraju szybko i bez zbędnych operacji.

{{% gallery %}}
[![Monzo TransferWise 2019 Payments Pay](/images/2019/12/01_monzotransferwise_2019_payments_pay-min.png)](/images/2019/12/01_monzotransferwise_2019_payments_pay-min.png)
[![Monzo TransferWise 2019 Pay by Bank Transfer](/images/2019/12/02_monzotransferwise_2019_pay_by_bank_transfer-min.png)](/images/2019/12/02_monzotransferwise_2019_pay_by_bank_transfer-min.png)
[![Monzo Transferwise 2019 International Transfer](/images/2019/12/03_monzotransferwise_2019_international_transfer-min.png)](/images/2019/12/03_monzotransferwise_2019_international_transfer-min.png)
{{% /gallery %}}

Jest to o tyle dobre rozwiązanie, jeżeli nasze konto Monzo zaczniemy używać jako główne, na które wpływają nasze zarobki (Monzo pozwala na przeniesienie konta z innego banku, wraz ze wszystkimi poleceniami zapłaty itp. tak jak każdy inny bank), wówczas wszystko mamy razem w jednym miejscu.

Aktualnie, jako że moje konto główne jest jeszcze w innym banku, gdy chcę przelać pieniądze poza granicę, muszę użyć Apple Pay (co wiąże się z dodatkową opłatą) lub też zainicjować przelew z mojego konta GBP na konto GBP w Wise. **Pomijając ten krok zaoszczędzamy, na dodatkowych opłatach oraz czasie.**

Co jest fajnie, Monzo obsługuje Apple Pay (oraz Google Pay, jak kto woli). Dla przykładu, karta do Wise (jeszcze) nie obsługuje Apple Pay, a co by było miłym rozwiązaniem szczególnie za granicą. Wg zapewnień Monzo, kartę od nich możemy używać za granicą dokładnie tak, jak kartę do Wise, gdyż nie pobierają oni opłaty za transakcję a kursy prze-walutowania są dokładnie takie, jakie ogłoszone na stronie MasterCard, które również (plus/minus) są w użyciu przez Wise. Bardzo ciekawa alternatywa.

Oczywiście, samego Wise nam to nie zastąpi, gdyż to rozwiązanie posiada również inne zalety.

Czego **tylko** Monzo ~~**brakuje**~~ (już nie brakuje, ale czytaj dalej), a co będzie zaskoczeniem dla Polskich czytelników, Monzo aktualnie nie obsługuje **fizycznych wpłat gotówkowych** na konto. O ile w Polsce wpłatomaty pojawiły się bardzo dawno, o tyle w UK, kilkanaście lat później nadal nie są one w codziennym użytku. Nawet w przypadku innych banków, należy udać się do placówki, gdzie musimy wpłacić pieniądze w okienku, zdeponować w postaci depozytu lub jeżeli jest to dostępne, użyć wewnętrznych (tylko, i nie jest to popularne) urządzeń **działających na zasadzie wpłatomatu**.

Na szczęście Monzo aktywnie nad tym rozwiązaniem pracuje i mogę się założyć, że już niedługo wprowadza oni rozwiązanie na ten problem, który jeżeli dobrze rozegrany, może okazać się kamieniem milowych w ich rychłym zdobyciu nowych klientów. Przegrają na tym, co jedynie tradycyjne banki, które z wielkim opóźnieniem wprowadzają zmiany w ich systemach. Możecie nie wierzyć, ale nadal w UK większość bankomatów działa na przestarzałym, dziurawym Windows’ie XP.

> Monzo wprowadził już pod koniec 2018 roku możliwość [wpłaty pieniędzy na konto](https://monzo.com/blog/2018/11/21/deposit-cash) z wykorzystaniem punktów **PayPoint**.

Wpłaty fizycznych pieniędzy na konto możemy dokonać z wykorzystaniem sieci **PayPoint** ([obecnie posiadają oni 28 tysięcy punktów w całym UK](https://consumer.paypoint.com)). Dla mieszkających w UK nie jest ona obca, jeżeli doładowują oni prąd lub gaz za pomocą karty, lub klucza płatniczego. Zabawa ta jednak kosztuje **£1** przy każdym depozycie i musimy upewnić się, że osoba obsługująca terminal PayPoint wie, o co chodzi i jak tę opcję wykorzystać. Z tym bywa różnie.

Wpłaty jednocześnie obarczone są limitami. Minimalna kwota to jaką możemy wpłacić to **£5** a maksymalna **£300** jednorazowo, oraz w przeciągu sześciu miesięcy nie możesz wpłacić więcej niż **£1000** (w przypadku osób w wieku 16-17 lat limit ten jest **£500**). Pieniądze powinny być widoczne na koncie w ciągu 10 minut.

---

{{% ads-in-article %}}

**Jesteś zainteresowany Monzo? Nic prostszego.**

Zainstaluj aplikację z [**AppStore (iOS)**](https://itunes.apple.com/gb/app/monzo-bank/id1052238659?mt=8) lub [**Google Play (Android)**](https://play.google.com/store/apps/details?id=co.uk.getmondo) i postępuj zgodnie z instrukcjami na ekranie. **Nic to nie kosztuje, a korzyści może być multum.**

> Zobacz również: **[Monzo](/monzo/)**  

Jak już otworzysz swoje konto, dostaniesz swoja **“kolorową”** kartę i aktywujesz wszystko, możesz rozpocząć przenoszenie twojego konta z “tradycyjnego” banku, do banku przyszłościowego korzystając z Current Account Switch Service (link dostępny w aplikacji, w zakładce Account, po kliknięciu na swoje nowe konto).

**Mam nadzieje, że wzbudziłem twoje zainteresowanie i zachęciłem do spróbowania czegoś nowego.**

Pozdrawiam.


---
## Mój Antywirus - Windows Defender
- **URL:** https://dariusz.wieckiewicz.org/moj-antywirus-windows-defender/
- **Date:** 2018-09-30
- **Tags:** Windows, antivirus, antywirus, av-test, Avast, Google Chrome, malwarebytes, Microsoft, ochrona, security, windows defender, windows defender browser, Windows Update

### Content

**Piekło zamarzło po raz kolejny.**

Przez lata byłem użytkownikiem [**Avast**](https://www.avast.com) na komputerach z Windowsem i to rozwiązanie spisywało się wyśmienicie. Nie napotkałem się z żadną infekcją, jak również ochroniło mnie to przed kilkoma napotkanymi zagrożeniami.

<!--more-->

Od momentu wypuszczenia **Windows 10 (1607) Anniversary Update** wbudowany system ochrony zaczął nabierać całkowicie innego znaczenia. Na bieżąco aktualizowana lista wirusów oraz skanowanie plików bez potrzeby bycia podłączonym do internetu zaczęło stawiać pod znakiem zapytania inne darmowe rozwiązania antywirusowe. Co więcej, powiadamiani jesteśmy o wszelkiego typu zagrożeniach w centrum notyfikacji systemu Windows.

**W pewnym momencie zacząłem zastanawiać się na ile Windows Defender stał się porządnym antywirusem.**

Jeszcze kilka lat wstecz, jeżeli ktoś wspomniał o **Windows Defender** można było usłyszeć śmiech na sali. Jednakże teraz, idealnie zintegrowany z systemem program chroniący nie tylko przed wirusami, ale również innego typu zagrożeniami. Notabene posiada on więcej opcji niż darmowa wersja Avast i sprawił, że ludzie przestali się śmiać.

Oczywiście, nie jest łatwo wymazać negatywną opinię, na którą zasłużył ten program w przeszłości (która również u mnie się utarła) dlatego również ja próbuje to przezwyciężyć. Microsoft przekształcił cały program na **Windows Defender Security Center** (centrum bezpieczeństwa Windows Defender), jednakże początkowy człon nadal nawołuje do rozwiązań, które nie do końca były trafione w przeszłości.

Renomowane firmy oceniające programy antywirusowe dają temu rozwiązaniu bardzo wysokie noty, deklasując inne, czasem bardzo kosztowne rozwiązania (w teście firmy [**AV-Test** Windows Defender osiągnął bardzo dobry wynik jak na Grudzień 2017](https://www.av-test.org/en/antivirus/home-windows/windows-10/december-2017/microsoft-windows-defender-4.12-174847/)). Wynik bliski 100% w ochronie przeciw wirusom przestał być wyjątkiem, a stał się regułą. Co więcej, ochrona przed programami szpiegującymi wbudowana w sam system, rozwiązane z automatycznymi aktualizacjami z Windows Update stawia pod znakiem zapytania konieczność używania innych programów antywirusowych, szczególnie na komputerach domowych, chociaż i w małej firmie radzi sobie równie dobrze.

Moją decyzją przy wyborze programu **Avast** był fakt, że nie wykorzystywał on nadmiernie zasobów komputera, szczególnie tych, niewyposażonych w min. 4 GB RAM i dysku SSD. Jednakże, po co instalować coś, co posiada mniej opcji w wersji darmowej (bezpłatnej) w porównaniu z rozwiązaniem wbudowanym w system Windows.

Nie bez znaczenia jest fakt, że polecam to rozwiązanie każdej osobie której, chociaż na chwilę "zerknę" do komputera.

![Malwarebytes](Malwarebytes_Logo_and_Wordmark_2016.png)

Co więcej, ochrona przeciw wirusowa na żywo działa przy współpracy z rozwiązaniami firmy **Malwarebytes**, która jest poniekąd liderem, jeżeli chodzi o rozwiązania na inne platformy tj. **macOS**.

Idąc o krok do przodu, Microsoft nadal próbuje przekonać ludzi do EDGE (która jest nędzną przeglądarką) postanowił ochronić wszystkich tych, którzy korzystają z przeglądarki **Google Chrome**, [**udostępniając dodatek**](https://chrome.google.com/webstore/detail/windows-defender-browser/bkbeeeffjjeopflfhgeknacdieedcoml), który rozszerzy możliwości ochrony podczas przeglądania stron internetowych. Szczerze zalecam jego instalację.

Jednakże powiedzmy sobie szczerze. Nawet najlepsze, najdroższe i najbardziej renomowane rozwiązanie nie zabezpieczy nas przed wirusami, hakerami czy programami kradnącymi dane, gdyż najsłabszym elementem jest tutaj **sam użytkownik komputera**.

To my bezmyślnie instalujemy programy z niezaufanych źródeł, klikamy bez czytania, na wszystko jak leci, a później narzekamy, że coś jest nie tak. Jakoś ja, w przeciągu ostatnich co najmniej 15 lat nie byłem zainfekowany żadnym wirusem. To nie znaczy, że nie spotkałem się z nimi w codziennej pracy. Programy antywirusowe zabezpieczyły mnie przed tym, jak również rozwaga oraz logiczne myślenie w tym, co robię na komputerze i jakie strony odwiedzam.

Jeżeli masz zainstalowany swój **"ulubiony"** program antywirusowy, nie każe ci go zmieniać. Jednakże, jeżeli płacisz za rozwiązanie, które nie wiesz, czy do końca spełnia swoje zadanie, pomyśl na użyciem tego co masz dostępne od ręki.

Pamiętaj jednak, że twój Windows musi być zaktualizowany do najnowszej wersji (**[aktualnie wersja 1803 z Kwietnia 2018](https://support.microsoft.com/en-us/help/4099479)**).

Jeżeli jednak stwierdzicie, że warto zainwestować w płatne rozwiązanie antywirusowe, pomyślnie o rozwiązaniu **Premium** od firmy **Malwarebytes** ([dostępne dla Windows jak i macOS](https://www.malwarebytes.com/pricing/)).

Pozdrawiam.

{{% ads-in-article %}}


---
## Niet-flix (czyli Nie dla Netflixa)
- **URL:** https://dariusz.wieckiewicz.org/niet-flix-czyli-nie-dla-netflixa/
- **Date:** 2018-08-26
- **Tags:** Blog, Amazon Prime, Netflix, Netflix UK, Netflix US

### Content

Wszyscy wokoło zachwycają się tym, czym jest [**Netflix**](https://www.netflix.com) i jak dużo rzeczy jest na nim emitowanych. Poniekąd muszę się z tym zgodzić, gdyż oglądam liczne Netflixowe produkcje dostępne z innych źródeł i stwierdzam, że wygląda on na **dominatora usług streamingowych**.

Podążając duchem czasu postanowiłem sprawdzić **jak bardzo pokocham Netflixa**. Zatem aktywowałem mój okres testowy i zacząłem budować moją bibliotekę filmów i seriali z pozytywnym nastawieniem.

<!--more-->

Co miesiąc, czytając jakie rzeczy wchodzą na Netflixa, a jakie z niego wychodzą stwierdziłem, że zostając płatnym użytkownikiem, będzie to dobrym rozwiązaniem. Jako że mieszkam w UK, wiedziałem, że moja kolekcja dostępnych materiałów będzie co nieco wzbogacona o lokalne materiały. **Nie sądziłem jednak, że będzie ona uboższa.**

W pierwszej kolejności skupiłem się na serialach. Jeszcze przed rozpoczęciem okresu testowego znalazłem je (większość) na stronie Netflixa. Po zalogowaniu się przyszło niemiłe rozczarowanie.

Tekst, że “wszystko wchodzi na Netflixa w tym miesiącu” stał się tekstem nieco na wyrost.

**Zaczynając:**

- **Quantico** - **niedostępny**
- **Grey’s Anatomy** - **niedostępny**
- **Mr. Robot** - **niedostępny**
- **X-Files** - **niedostępny**
- Californication (nadal został mi 7 sezon) - **niedostępny**
- Ghost Whisperer - **niedostępny**
- Person of Interes - **niedostępny**
- Prison Break - **niedostępny**

I tak, z wszystkie co oglądałem, oglądam lub będę oglądać zostało mi:

- Limitless (który skończył się po pierwszym sezonie)
- Luke Cage
- Lost in Space
- **Altered Carbon**
- **Sense8**
- Star Trek Discovery
- Jessica Jones

Idąc dalej z biblioteki mojej małżonki:

- **Game of Thrones** - **niedostępny**
- **DC Legends of Tomorrow** - **niedostępny**
- **Supergirl** - **niedostępny**
- **The 100** - **niedostępny**
- **Arrow** - **niedostępny**
- Beauty and the Beast - **niedostępny**
- Body of Proof - **niedostępny**
- Bones - **niedostępny**
- Code Black - **niedostępny**
- Hands of God - **niedostępny**
- Humans - **niedostępny**
- Lost Girl - **niedostępny**
- The Finder - **niedostępny**
- The Flash - **niedostępny**

I tak zostało tylko:

- **Orange is the New Black**
- Orphan Black

**To jakiś żart?** Rozumiem, że niektóre tytuły mogą być już niedostępne, ale ograniczenia regionalne do takiego stopnia to czysta żenada.

Idea serwisów streamingowych jest taka, że płacisz i oglądasz to, co chcesz, a nie to co jest dostępne. Nic dziwnego, że poszczególne tytuły są bardziej popularne na innych serwisach, z których ich twórcy nie otrzymują żadnych pieniędzy.

Co najśmieszniejsze to **rzetelność polskich serwisów**, które jak tylko **Netflix US** ogłosi co wprowadzają na swoją platformę obficie się rozpisuje, jaka to gratka mieć Netflixa, gdzie liczba tytułów w Polsce jest jeszcze gorsza niż w UK. To tak, jak robienie recenzji samochodu, który nigdy nie będzie dostępny w danym kraju.

No cóż, póki co mam jeszcze trochę dni do anulowania okresu próbnego. Następnym w kolejce będzie **Amazon Prime**. Zobaczymy czy ten drugi przyniesie znaczącą zmianę.

**Pozdrawiam**

{{% ads-in-article %}}


---
## Streaming Box
- **URL:** https://dariusz.wieckiewicz.org/streaming-box/
- **Date:** 2018-07-22
- **Tags:** Sprzęt, Alexa, Amazon, Amazon Fire TV Stick, android, APKpure, App Store, Apple, Apple TV, AppStore, Aptoide TV, Echo, Fire TV, Fire TV Stick, google, HomePod, Infuse Pro, KODI, Raspberry Pi, Roku, Roku Streaming Stick, Siri, Sklep Play, smart tv, Stick, streaming, Streaming box, Streaming Stick, TV Licence, Virgin Box, Virgin V6, youtube

### Content

Od jakiegoś już czasu używam **“jakiejś”** przystawki do mojego leciwego już, **“nie-inteligentnego”** panelu Samsunga (Kupionego w Grudniu 2012 roku).

Na początku było **Raspberry Pi** z **KODI** (przy użyciu przeróżnych wersji oprogramowania tj. XMBC, OpenElec, LibreElec, OSMC itp.jpg).

<!--more-->

Tego typu rozwiązania były dobre do celów, które miałem założone. Z czasem jednak apetyt rośnie w miarę jedzenia. W Wielkiej Brytanii, wraz z popularyzacją usług streamingowych coraz częściej chciałoby się odwiedzić **BBC iPlayer**, **All 4** czy **ITV Hub** (_notabene mistrzostwa w piłce nożnej w Rosji, które się właśnie zakończyły, były dostępne na tych aplikacjach do streamowania całkowicie za darmo - oczywiście, musimy opłacać TV Licence_). Aby to zrobić, można by było polegać na **wtyczkach do Kodi**, jednakże ich zawodność i nieprzyjazny interfejs tylko zniechęcał. Nie chciałbym rezygnować z KODI i możliwości oglądania materiałów z dysku sieciowego, w związku z tym zamiana Raspberry Pi na jakąś przystawkę streamingową nie było prostym rozwiązaniem.

Wstępnie zawężałem moje poszukiwania do **Apple TV**, **Amazon Fire TV Stick** oraz **Roku Streaming Stick+**.

> Dla wnikliwych - nie rozważam Google Chromecast, gdyż nie chcę być zależy od telefonu. Miałem, używałem, sprzedałem, nie dziękuję.

Postanowiłem zacząć od wychwalanego wszem i wobec **Apple TV**. Była to najdroższa opcja, jednakże używane urządzenie można kupić w przystępnej cenie, jak również w przystępnej cenie sprzedać - jeżeli nie spełni ono naszych oczekiwań.

![Apple TV](/images/2018/07/apple-tv-min.png)

I tak stałem się posiadaczem **Apple TV 4-tej generacji**, który zastąpił mój KODI box.

W pierwszej kolejności zainstalowałem **Infuse Pro**, które używałem na telefonie i tablecie. Dzięki temu otrzymałem coś na miarę KODI do odtwarzania lokalnie zgromadzonych plików, tyle że w ładniejszej oprawie graficznej. Tak to jest w ekosystemie Apple, że wygląd się liczy.

**Jeszcze raz powtórzę. Apetyt rośnie w miarę jedzenia.**

Zainstalowałem Infuse oraz aplikacje typu BBC iPlayer, Demand 5, ITV Hub, **po czym przyszło niemiłe rozczarowanie i niedosyt**.

**AppStore na Apple TV jest biedny.** Podobnie jak AppStore na macOS. Można wręcz przecierać oczy ze zdumienia z rozmachu aplikacji na iOS oraz garstkę tych, które dostępne są na inne platformy z tego samego ekosystemu.

**W AppStore brakowało niemal wszystkiego**, co byś chciał spróbować. Nawet takiej aplikacji jak All 4 (Channel 4). Nie mówiąc już o aplikacjach dostarczających treści polskojęzyczne.

W rezultacie Apple TV wprowadził niewiele innowacyjności do mojego domu w porównaniu z boxem KODI.

**I tak po trzech miesiącach postanowiłem spróbować czegoś innego.**

Z mojej listy został **Amazon Fire TV Stick** oraz **Roku Streaming Stick+**.

![ROKU](/images/2018/07/roku-streaming-stick-plus-min.png)

Faworytem był **Roku**, jednakże brak realnej alternatywy na oprogramowanie do odtwarzania plików z dysku sieciowego co nieco mnie zniechęcił. Jest oczywiście Roku Video Player (czy jak to tam zwał), ale patrząc na wypociny poniektórych osób na YouTube, nie napawało mnie to optymizmem.

Z drugiej strony, szerszym okiem zacząłem patrzeć na **Fire TV Stick** od **Amazona**.

![Fire TV](/images/2018/07/amazon-fire-tv-stick-min.png)

Wszakże box od Amazona oparty jest na **zmodyfikowanym Androidzie** bez sklepu Play, to i tak nadal jest to Android (na chwilę tego wpisu Android 5.1.1).

Amazon, mimo że stosując swoją nakładkę mocno ograniczył możliwość skorzystania z pełnej gamy oprogramowania ze sklepu od Google, to nadal **pozwolił użytkownikom na dowolne dogrywanie aplikacji** za pomocą ADB lub poprzez instalowanie aplikacji z nieznanych źródeł.

Krok ten wysoce się chwali, gdyż dzięki temu niedrogi stick można wykorzystać do różnych celów i to bez potrzeby bawienia się w **root**.

I tak, rozpocząłem od instalowania aplikacji streamingowych od lokalnych operatorów, gdzie znalazłem ich więcej, niż się spodziewałem. Mam również All 4, którego brakowało na Apple TV. Dodatkowo, wszystko działa naprawdę przyzwoicie.

Jako że posiadam również box of **Virgin (V6)**, to używanie tych samych aplikacji na nim a na sticku to niebo i ziemia. Wszyscy zachwalają V6, jednakże, jak dla mnie jest on **przereklamowany i wolny**.

**Następnie przeszłem na kolejny poziom, a mianowicie Google Play Store.**

Chciałem zainstalować Sklep Play, aby móc pobrać, chociażby **KODI** no i **Cyfrowy Polsat GO** (który działa również za granicą bez konieczności używania VPN).

**Tutaj niestety napotkałem schody.**

**Sklepu Play nie da się zainstalować** w taki sposób, aby można było go używać. Można go zainstalować tylko w tym celu, aby działały inne aplikacje, które są od niego zależne. Nie da się go bezpośrednio uruchomić.

**Pozostały inne opcje.**

W sklepie Amazona pobrałem program **Downloader**, dzięki któremu mogłem pobrać pliki APK do instalacji na sticku. Oczywiście, wcześniej włączyłem opcje deweloperskie - ADB oraz możliwość instalowania aplikacji z nieznanych źródeł.

Wszyscy wokoło zachwycają się **Aptoide TV** jako alternatywny luncher z dostępem do aplikacji z Google Play.

Jest to poniekąd dobre rozwiązanie, jednakże, jak zauważyłem, niektóre aplikacje są w dość starych wersjach w porównaniu z tymi dostępnymi w Google Play Store.

Jako, że nie chciałem mieć dodatkowego lunchera, postanowiłem że zainstaluje tylko to co potrzebuję przy pomocy **Downloader** i strony **APKpure**, na której znalazłem nawet instalkę APK do Cyfrowego Polsatu GO oraz KODI.

Dostęp do tych aplikacji mam z ekranu startowego (Home) w oficjalnym luncherze od Amazona, zaraz obok innych aplikacji streamingowych. Dzięki temu nie tracę nic z oryginalnego doznania z obsługi Fire TV Stick.

**Wszystko działa jak należy.** Puki co, jestem zadowolony. Tym bardziej, że najnowszą wersję Fire TV Stick kupiłem na Prime Day za jedyne **£24.99** a moje Apple TV poszło na eBay gdzie odzyskałem praktycznie całą kwotę, jaką wydałem na jego zakup (używanego), a było to 50% ceny nowego urządzenia, lub 25% refurbished bezpośrednio od Apple. **W sumie osiągnąłem to, co zamierzałem i jeszcze zostało mi co nieco pieniążków.**

**Jeżeli chodzi o Amazona**, to wysoce chwali się zawartość boxa ze stickiem. Nie dosyć, że dostajemy stick, to dodatkowo jeszcze przedłużkę HDMI, która dodatkowo umożliwi nam łatwiejsze zamontowanie naszego urządzenia (aby nie wystawało za telewizorem) oraz poprawi zasięg WiFi. Co więcej, w boxie dostaniemy oprócz pilota i baterii, również ładowarkę sieciową oraz kabel USB. **Przy tej cenie, całość wychodzi bardzo tanio.**

**Pamiętajcie jednak**, że kupiłem Fire TV Stick 2-giej generacji dodatkowo z pilotem Alexa (wersja 2017). Posiada on cztero-rdzeniowy procesor oraz układ graficzny MALI, dzięki czemu wszystko działa znacznie lepiej. Pierwsza generacja posiada dwu rdzeniowy procesor i układ graficzny jak z Raspberry Pi.

Oczywiście, możecie kupić w tej samej cenie przystawkę pierwszej generacji, zrootowaną z **“dogranym”** oprogramowaniem do oglądania **“wszystkiego”**, jednakże szybkość szybko da się wam we znaki. Co więcej, nie ma potrzeby rootowania, co jednocześnie zamyka nam drogę do niektórych aplikacji, które w związku z DRM+ROOT przestaną działać. W tym przypadku zamierzany efekt możemy osiągnąć z wykorzystaniem oficjalnie dostępnych narzędzi na najnowszym sticku.

**Dodatkowo polecam zainstalowanie przeglądarki Firefox.**

**W związku z trwającą wojną Amazona z Google** nie ujrzycie **YouTube** w oficjalnej wersji na Fire TV. Z wykorzystaniem Firefoxa, dostajemy Youtube, które wyglądem przypomina nam bardziej aplikację a niżeli stronę **youtube.com**.

Poza samym stickiem, pod wrażeniem jestem z pilota z wbudowanym dostępem do Alexa.

**Muszę przyznać, że rozumiem całą tą famę z Alexa**. System AI od Amazona jest o niebo lepszy od Asystenta Google czy nawet Siri od Apple. Te dwa rozwiązania od konkurencji nie dorównują możliwością Alexa. Z przyjemnością zacząłem testować ją w aplikacji na moim telefonie. Mimo że nie jestem fanem gadania do urządzenia, to rozumiem, dlaczego Alexa i urządzenia typu Echo zdobywają taką popularność.

**Jeżeli rozważacie inwestycję w rozwiązanie AI - może myślicie nawet o HomePod od Apple, zatrzymajcie się na chwilę i spróbujcie Alexa.**

**Pozdrawiam.**

{{% ads-in-article %}}


---
## Ogonki w odnośnikach i .htaccess
- **URL:** https://dariusz.wieckiewicz.org/ogonki-polskie-znaki-htaccess-accented-characters/
- **Date:** 2018-04-02
- **Tags:** accented characters, błąd 404, drupal, error 404, Google Search Console, htaccess, linki, odnośniki, ogonki, page not found, polskie znaki, RewriteEngine, RewriteRule, Safe Redirect Manager, SEO, strona nie znaleziona, wordpress

### Content

Jakiś czas temu pomagałem w przywróceniu do życia strony **[antybariera.pl](https://antybariera.pl)**.

Domyślnie strona oparta była na **[Drupal](https://www.drupal.org)**, jednakże sam sktypt nie był automatycznie aktualizowany do najnowszej wersji jak to ma miejsce w innych rozwiązaniach. Jako że Drupal nie jest czymś, czym chciałbym się zajmować, postanowiłem przy tej okazji przenieść stronę na [**Wordpress**](https://wordpress.org).

Wszystko przebiegło poprawnie - mimo że starsze posty wymagają poprawy (ale to wina wklejania z Word).

Na kolejnym etapie przystąpiłem do spraw SEO oraz usunięcia śmieci, które zostały zindeksowane przez Google.

O ile **śmieci nie stanowiły problemu**, sposób w jaki Drupal działał (był ustawiony) w języku polskim już tak - a mianowicie **ogonki**.

Drupal, języku polskim używał **polskie znaki w odnośnikach** do wpisów na stronie, natomiast Wordpress usuwa wszelkie ogonki (_accented characters_). W związku z tym odnośniki opublikowane za czasu Drupal na portalach społecznościowych (jak i te zindeksowane przez Google) **przestały działać**.

> _Na przykład:_ [**/czy-jestes-kofeinistą/**](https://antybariera.pl/czy-jestes-kofeinistą/) nie przekierowywał na [**/czy-jestes-kofeinista/**](https://antybariera.pl/czy-jestes-kofeinista/) lecz zwracał **błąd 404** - strona nie znaleziona.

Spędziłem dwa tygodnie szukając rozwiązania, **przeplatając się przez nie kilkukrotnie**, ale dopiero pomoc ze strony użytkownika [**@nsabol (Neil Sabol)**](https://wordpress.org/support/users/nsabol/) pozwoliły nakierować mnie i pokazać, gdzie popełniałem błąd.

Jak się okazało, **rozwiązanie było proste**, **jednakże wykonanie** - a dokładnie wklejenie odpowiedniego kodu w pliku `.htaccess` odgrywało kluczową rolę.

Otóż niezbędne było to, aby kod przekierowania ogonków z adresów użytkownika dokonany był **jako pierwsza komenda w pliku** `.htaccess`.

O ile samo przekierowanie znalazłem w Google bardzo szybko, nie wpadłem na pomysł uprzywilejowania go i wklejenia na samym początku. Stąd też wcześniejsze próby nie działały.

Aby zaoszczędzić wam nerwów, wklejam poniższy **kod do polskich znaków** (jednakże można go użyć/zmodyfikować pod dowolny język z ogonkami).

```
RewriteEngine On
RewriteRule ^(.*)ą(.*)$ /$1a$2 [L,R=302]
RewriteRule ^(.*)ć(.*)$ /$1c$2 [L,R=302]
RewriteRule ^(.*)ę(.*)$ /$1e$2 [L,R=302]
RewriteRule ^(.*)ł(.*)$ /$1l$2 [L,R=302]
RewriteRule ^(.*)ń(.*)$ /$1n$2 [L,R=302]
RewriteRule ^(.*)ó(.*)$ /$1o$2 [L,R=302]
RewriteRule ^(.*)ś(.*)$ /$1s$2 [L,R=302]
RewriteRule ^(.*)ź(.*)$ /$1z$2 [L,R=302]
RewriteRule ^(.*)ż(.*)$ /$1z$2 [L,R=302]
```

{{% ads-in-article %}}

> Link do [Gist](https://gist.github.com/idarek/f51ebd15f085a2c179987fb8ceb3485e)

I **przypominam**, powyższe linijki wstawiamy jako **pierwsze w naszym pliku**.

Dla mniej wtajemniczonych, plik `.htaccess` znajduje się w naszym głównym katalogu gdzie wrzucona jest nasza strona i jest on domyślnie ukryty (szczególnie w systemach macOS i Linux). Należy zadbać, aby nasz klient FTP wyświetlił pełną zawartość, szczególnie gdy plik posiada _“kropkę”_ jako pierwszy znak w nazwie.

Program [**FileZilla**](https://filezilla-project.org) radzi sobie z tym wyśmienicie i dodatkowo jest wieloplatformowy.

**I to by było na tyle.**

Resztę musiałem przekierować, w zależności od potrzeb (i wskazań [Google Search Console](https://www.google.com/webmasters/tools/home)) rozwiązałem z wykorzystaniem wtyczki [**Safe Redirect Manager**](https://wordpress.org/plugins/safe-redirect-manager/).

**Pozdrawiam** 

Źródło: [wordpress.org/support/topic/redirect-old-accented-url-drupal-to-match-new-wordpress/](https://wordpress.org/support/topic/redirect-old-accented-url-drupal-to-match-new-wordpress/)


---
## Facebook Cambridge Analytica
- **URL:** https://dariusz.wieckiewicz.org/facebook-cambridge-analytica/
- **Date:** 2018-03-23
- **Tags:** Blog, brexit, Cambridge Analytica, dane osobowe, facebook, GDPR, google, MoviePass, Pocket, prywatność, RODO

### Content

Obecny tydzień spowodował spore zamieszanie wokół **Facebooka** w związku z nadużyciem wykorzystywania danych zbieranych przez firmę **Cambridge Analytica**.

<!--more-->

Jak to zwykle bywa, przeróżne strony anglojęzyczne, a później polskie, zaczęły naświetlać całą sprawę. Co niektóre zaczęły nawet **nawoływać do zamknięcia konta na Facebooku**, pokazując jednocześnie jak to zrobić. **Wszystko to, aby wywołać strach w oczach użytkowników**.

O ile sam problem z **Cambridge Analytica** jest dość poważny, nie jest on powodem do rezygnowania z naszej aktywności w internecie. Co niektóre **mądrzejsze strony** mówią otwarcie, że **nie musimy usuwać konta na Facebooku**, wystarczy, że zadbamy o to, które dane są publicznie dostępne.

Nie dajmy się oszukać. **Jeżeli ktoś daje nam coś za darmo, będzie chciał na tym zarobić w inny sposób.** Dane osobowe oraz personalne zachowania użytkowników, ich orientacje i predyspozycje są warte więcej niż pieniądze wpłacane na konto. Przykładem tego są reklamy wpływające na to, jak ludzie będą głosować - patrz chociażby **Brexit**. Ludziom naobiecywano gruszki na wierzbie, a im bliżej wyjścia Wielkiej Brytanii z Unii Europejskiej, tym bardziej wszystkim zbiera się na wymioty. Już wiadomo, że po wyjściu Wielkiej Brytanii z Unii, niebieskie paszporty dla Brytyjczyków będą wytwarzane **przez firmę z Europy** (_sic!_).

**Wracając do głównego tematu.** Nim zaczniemy panikować, powinniśmy poznać prawdę i rozsądnie podjąć decyzję. Nie sugerujmy się przeróżnymi polskimi stronami, które nie mają pojęcia o całym skandalu i tylko bzdurnie przepisują - błędnie tłumaczą artykułu z zagranicy.

Język angielski otwiera oczy na świat. Jeżeli chcemy poznać prawdę, należy udać się do źródła a niżeli polegać na tłumaczeniach. Nie bez powodu, tłumacze porównywani są do saperów, szczególnie ci pracujący w rządach. Jedno błędne tłumaczenie może wywołać konflikt na miarę całego świata.

Niestety, mimo że większość polskich stron pisze bzdury, wprowadzając swoją niepotwierdzoną interpretację tego co ktoś powiedział, angielskie strony nie są inne. W Wielkiej Brytanii masz dla przykładu **szmatławiec typu The Sun**. Jeżeli chcesz sobie robić kogel mogel z mózgu, proszę bardzo - jeżeli jednak chcesz poznać prawdę, skup się na renomowanych źródłach, chociażby **The Guardian**.

**Moja początkowa reakcja na Cambridge Analytica?** Wstrzymanie się z decyzją i zbieranie informacji.

Przeróżne strony zalewają nasz przeróżnymi informacjami. W moim przypadku dodaję je do mojego [**Pocket**](https://getpocket.com) aby później, ze świeżą głową przeczytać i racjonalnie podjąć decyzję.

Myślicie, że w życiu coś jest za darmo? Zobaczcie, chociażby **na waszą pocztę na wp.pl** gdzie wasze wiadomości przeplatane są przez personalizowane reklamy, które nie często bazują na tym, co przeplata się przez waszą skrzynkę odbiorczą.

**Po pierwsze, nie popadajmy w paranoję.** Jeżeli nie mamy nic do ukrycia, nie powinniśmy się zbytnio martwić. **Mimo tego** zadbanie o nasze bezpieczeństwo i prywatność nadal powinniśmy traktować bardzo poważnie. Pamiętajmy, że z naszych czynów uczyć się będą kolejne pokolenia (co w przypadku Polski i tego, co się dzieje w tym dziwnym kraju nie wróży nic dobrego - **ciemnogród**).

**A więc, o co w tym wszystkim chodzi?**

**O dostęp do informacji.** Informacja jest droższa nić cokolwiek namacalnego. Nie jeden z nas oglądał filmy z James Bond’em. Nie łudźmy się, codziennie życie agentów MI6 nie wygląda jak w filmie. Cała ich praca opiera się na informacjach płynących z innych resortów.

O tym, że Facebook wie o nas bardzo dużo, oraz że śledzi nas nawet poza własną stroną było wiadomo od dawna. Nie jedna strona, co roku nawołuje do porzucenia Facebooka. **[MakeUsOf](https://www.makeuseof.com/tag/stop-using-facebook/)** w swoim artykule z **2-go Marca** tego roku ponownie przywołał ten temat, a było to jeszcze przed wybuchem skandalu.

> Tak na marginesie, autor powyższego wpisu posiada certyfikaty między innymi z Uniwersytetu z Cambridge. Ciekawy zbieg okoliczności.

Praktyki, które stosuje Facebook stosują również inne firmy.

Czy zastanawiałeś się, jak może opłacać się firmą takim jak Google dawać w ręce użytkowników takie narzędzia jak [Google Photo](/google-photo/) z nieograniczoną przestrzenią na zdjęcia i filmy w wysokiej rozdzielczości? No chyba nie uważasz, że Google nic z tego nie ma? **Popatrz tylko na algorytm automatycznego rozpoznawania twarzy**. Dane, jakie ten algorytm zbiera, aby “nauczyć się” w lepszy sposób wyszukiwać osoby na świecie są niezbędne do jego funkcjonowania. Wszystkie algorytmy AI nie mogą istnieć i rozwijać się bez szeregu danych, które muszą zostać zebrane i wykorzystane.

Nie trzeba daleko patrzeć, aby przeczytać o tym, jak **CEO MoviePass** potwierdził, że oprócz dawania swoim użytkownikom biletów na filmy w kinach w postaci opłaty abonamentowej (która nijak się opłaca dla całej kinomatografii), śledzi ruch użytkowników w drodze na seans jak i po seansie aby poznać ich zachowania. Nie trzeba było długo czekać, gdy **ten sam CEO wykręcił się z tego co powiedział** twierdząc, że aplikacja nikogo nie śledzi (_jasne!_). Bez względu jak jest, na czymś ta firma musi zarobić i w tym przypadku chodzi również o dane.

Facebook, jak i również inne platformy społecznościowe można uważać za bezpieczne jeżeli chodzi o naszą prywatność, jednakże to bezpieczeństwo w głównej wierze zależy od nas samych. Klikając na wszystko jak popadnie oraz zezwalając postronnym stroną, programom i grą łączyć się z naszym profilem na Facebooku umożliwia przetwarzanie naszych danych nie tylko przez samego Facebook’a, ale również tysiące innych firm na świecie.

Jeżeli dzielimy się czymś na platformie, pamiętajmy że, coś co jest udostępnione publicznie, może zostać wykorzystane przez przeróżne osoby do różnych celów. Nawet jeżeli udostępniamy coś tylko dla znajomych, pamiętajmy że, nasi znajomi mają innych znajomych, a inni znajomi jeszcze innych. Gdy któryś z naszych znajomych udostępni nas wpis dalej, tracimy kontrole nad tym co dalej się dzieje.

Oczywiście, **możemy popaść w paranoję** i usunąć w Facebook’a, lub podejść do tego bardziej racjonalnie i zacząć myśleć przed udostępnieniem czegokolwiek. Zawszę warto jednak poświęcić trochę czasu i przebrnąć przez opcję Facebook’a, szczególne jeżeli chodzi o nasz profil i **zweryfikować ustawienia prywatności**. Nie jest to trudne, jednakże wymaga od nas nieco zachodu.

[**LifeHacker**](https://lifehacker.com/dont-delete-facebook-just-be-smarter-on-facebook-1823922407) ostatnio zatytułował swój wpis bardzo mądrze: **“Nie usuwaj Facebooka - Po prosty bądź mądrzejszy na Facebook’u”**.

Nie trzeba zagłębiać się w cały artykuł, aby przyznać rację, że wszystko zależy od nas samych.

Pamiętajmy również, że nawet jeżeli usuniemy “dzisiaj” konto na Facebook'u, z internetu informacje nie znikają z dnia na dzień. Łatwiej jest informacje wprowadzić do internetu a niżeli je usunąć, stąd też zabiegi typu **GDPR** (**w Polsce zwane RODO**) o prawo do bycia zapomnianym, które według mnie jest jak walka z wiatrakami otwierające drogę co jedynie dla kolejnych troli patentowych, których niedługo będziemy nazywać trolami GDPR lub RODO.

Problem z Cambridge Analytica jest rzeczywiście poważny, gdyż firma otrzymała zbyt duży mandat zaufania przy dostępie do danych i działania na przyszłość ze strony Facebook'a (jak i innych firm) muszą być stanowcze (i będą, zarówno stanowcze, jak i kosztowne!).

Przede wszystkim, powtórzę jeszcze raz. **Nie popadajmy w paranoję.**

{{% ads-in-article %}}


---
## Spadaj Skype!
- **URL:** https://dariusz.wieckiewicz.org/spadaj-skype/
- **Date:** 2018-03-08
- **Tags:** Blog, chrome, facebook, Google Hangouts, Messagener, Microsoft, millennials, Orange, skype, Spadaj, Viber, WhatsApp, Windows Phone

### Content

I tak jakoś wyszło, że w nawiązaniu do strony **[Łukasza z Majsterkowo](https://majsterkowo.pl)** dotyczącej [**Spadaj Orange!**](http://spadajorange.pl) przelała się u mnie szala goryczy.

Słowo **Skype** już w 2017 sprawiało, że krew mnie zalewała. 

Mamy 2018 i miarka się przebrała - pora na porzucenie Skype i niepatrzenie za siebie.

**Dość!**

<!--more-->

Skype, odkąd został **kupiony przez Microsoft** stał się praktycznie bezużyteczny. Jego droga bardzo wyraźnie zmierza w kierunku jakim obrał **Windows Phone**, czyli tzw. **śmierci klinicznej**.

**Microsoft nie ma pojęcia co zrobić ze Skype i próbuje uszczęśliwić użytkowników na siłę.**

W moim przypadku miarka się przebrała gdy musiałem zadzwonić na Skype. Mimo że użytkownik był aktywny, podczas wykonywania połączenia informowany byłem, że użytkownik nie jest aktywny. 

**Prawdziwa parodia, gdyż w druga stronę można było się do mnie dodzwonić.**

Jest to nie pierwsza tego typu sytuacja gdy powierzasz temu oprogramowaniu tak prostą rolę jaką jest wykonanie wideokonferencji. Prostą a jednocześnie krytyczną w danej chwili, gdyż **jak chcę jej użyć to nie działa!**

Przeróżne zabiegi reinstalacji, przesiadki na starsze wersje, użycie Skype Web, Skype na iOS nic nie dało.

**Nie działa zawsze wtedy, gdy go potrzebujesz.** 

**Dodatkowo,** jak wspomniałem, jesteśmy uszczęśliwianie na sile nowym interfejsem, który po nikąd nie jest intuicyjny, ikony nie odzwierciedlają tego, czego mógłbyś oczekiwać. Wszystko wygląda tak, jak byśmy wracali do epoki kamienia łupanego, gdzie pismo obrazkowe wiodło prym. Tylko w tym przypadku ktoś zapomniał o wytłumaczeniu, **"co autor miał na myśli?"**.

Ikony, ikony i jeszcze raz ikony. Totalna żenada.

W erze popularności Facetime, WhatsApp i Viber nic dziwnego ze Skype przestaje się liczyć.

> ps. Facebook Messagener bazuje na Skype wiec to żadne rozwiązanie. Równie dobrze mogę napisać, Spadaj Messagener...

Szkoda tylko, że główna przewaga Skype to to, że posiada on natywną, niezależna od urządzenia przenośnego, aplikacje na komputery i to z różnymi systemami operacyjnymi. Tylko dla tego jest on nadal w użytku.

Patrząc na **realne alternatywy**, jedyne co pozostaje niezależne i multi-systemowe to **Google Hangouts**. W tym przypadku niestety to Google nie ma pojęcia jak zrobić z niego użytek na miarę Skype. Powiadomienia o nadchodzącej rozmowie nie działają tak jak trzeba a całość by pracować w tle zależna jest od przeglądarki Chrome!

Następnym problemem jest **popularność**. Ludzie przyzwyczaili się do Skype i stanowi on podstawowe narzędzie do rozmów wideo na komputerze (szczególnie dla ludzi z przed epoki "millennials"). Nic dziwnego, że Skype instalowany jest wraz z Windows 10 odkąd jest własnością Microsoftu.

**Na szczęście nie tylko ja przestaję widzieć Skype jako podstawowe rozwiazanie do rozmów wideo.**

Jeszcze nie tak dawno, spośród wszystkich użytkowników na mojej liście Skype miałem średnio 1/3 aktywnych to teraz jak widzę 2-3 osoby to góra!

Ludzie zaczynają dostrzegać inne rozwiązania. **Hura!**

Miejmy tylko nadzieje, że w 2018 inni producenci dostrzegą potencjał dla komputerów i stworzą jakaś realna alternatywę, bo tych alternatyw na platformy mobilne jest multum a na komputery tylko kilka. Ja mówię Spadaj Skype i mam nadzieje ze do końca roku te słowo wypadnie z mojego słownika na zawsze.

Grr...

{{% ads-in-article %}}


---
## PayPal i Wise Borderless Account
- **URL:** https://dariusz.wieckiewicz.org/paypal-wise-borderless-account/
- **Date:** 2018-03-08
- **Tags:** Artykuły, Borderless Account, paypal, TransferWise, Wise

### Content

W [moim artykule z przed kilku lat](/przelewy-pieniezne-z-anglii-do-polski-i-nie-tylko/) pisałem już o metodzie przelania pieniędzy z jednego kraju do drugiego przy pomocy **dwóch kont na PayPal'u**. [Ostatnio wspomniałem](/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/) o nowej usłudze, jaką oferuje **Wise** (dawniej TransferWise), a która umożliwia w nieco łatwiejszy sposób i przy dogodniejszych stawkach przelać pieniądze do odbiorcy w dowolnym kraju na świecie.

Wise oferuje również tzw. [**borderless account**](https://wise.com/gb/borderless) (czyli **konto bez granic**).

<!--more-->

Usługa ta ma pomóc w rozliczaniu usług, w szczególności dla osób, otrzymujących płatności z różnych krajów na świecie (freelancerów).

**Borderless account** umożliwia otwarcie wirtualnego konta w kilku walutach, które wygląda i działa jak konto w normalnym banku w danym kraju.

Jeżeli chcemy otworzyć **konto w funtach (GBP)**, otrzymamy konto **w banku w UK** wraz z **sort code** oraz **numerem konta**, zupełnie tak jak w normalnym banku **tj. Barclays**. Dodatkowo, konto możemy otworzyć **w Euro** (bank i konto **w Niemczech**), w **dolarach (USD)**(bank i konto **w Stanach Zjednoczonych**) oraz **w dolarach australijskich (AUD)**.

Dzięki temu, możemy otrzymywać pieniądze w wyżej wymienionych walutach bez dodatkowych opłat bankowych. Oprócz tego, mamy do dyspozycji przechowywanie i konwertowanie pieniędzy w 29 walutach świata w tym **w polskich złotych (PLN)**, ale bez dedykowanego konta bankowego (może w przyszłości). W zależności od naszych potrzeb możemy później balans przelać tam, gdzie chcemy na bardzo korzystnych warunkach.

**Dodatkowo,** **Wise oferuje** w ramach programu Beta **kartę do bankomatów**. Ostatnio zostałem zaproszony do skorzystania z okazji i otrzymania karty, którą będę testował w najbliższych miesiącach.

Jeżeli chodzi o **konto borderless**, oprócz głównego założenia jako konto rozliczeniowe dla freelancerów, zastosowań może myć multum.

W moim [artykule z 2011 odnośnie PayPal](/przelewy-pieniezne-z-anglii-do-polski-i-nie-tylko/) wytłumaczyłem, **jak przelać pieniądze z konta w UK na konto w Polsce**. Nie jest to operacja prosta, **jeżeli chodzi o pierwsze ustawienie**, jak i jednocześnie nie jest zbytnio opłacalna (**PayPal nie jest tanią firmą**). W związku z tym wpadłem na pomysł wspólnego wykorzystania **Wise i PayPal**.

**Załóżmy, że mamy pieniądze na PayPal’u**, które chcielibyśmy przelać na nasze konto w Polsce, lub też zapłacić za ich pomocą rachunek w dowolnym kraju na świecie.

**PayPal pozwala na dowiązanie konta bankowego**, na które możemy **wypłacić pieniądze** bez dodatkowych opłat, **ale tylko w lokalnej walucie**.

Jeżeli mamy **konto PayPal w Polsce** to konto bankowe musi być **w polskich złotych**. Nic z tego, że na koncie w PayPalu mamy ustawione kilka walut, **nie ma możliwości ich wypłacenia bez przewalutowania**. Również, jeżeli podepniemy konto w Polskim banku prowadzone w walucie, **wówczas stracimy najwięcej**, gdyż PayPal przewalutuje nasze środki (dla przykładu funty) na lokalną walutę (polski złoty) przed przekazaniem do banku, a bank ponownie przewalutuje na walutę, w której jest nasze konto (na przykład funty). **Lekka paranoja!**

**W tym przypadku Wise przychodzi z odsieczą.**

Jeżeli posiadamy **konto PayPal w Wielkiej Brytanii**, dlaczego by nie podpiąć **konta Wise w funtach** i na nie wypłacić pieniądze z PayPala?

Dzięki temu, z Wise możemy przelać pieniądze, gdzie chcemy i to bardzo szybko. Nawet na konto w Polsce w 24 godziny _(wypłata z PayPal na konto Wise może potrwać również do 24 godzin)_.

Oczywiście, konto Wise nie jest przeznaczone do zasilania konta PayPal, więc będzie **działać to tylko jednostronnie**, ale o to nam w założeniu chodzi.

Wystarczy **wejść na nasze konto PayPal**, po czym przejść do naszego **portfela (Wallet)** i **dodać konto bankowe (Add bank account)**.

![PayPal wallet](/images/2018/03/paypal-wallet-min.png)
![PayPal add account](/images/2018/03/paypal-add-account-min.png)

Nim to zaczniemy robić, powinniśmy mieć zweryfikowane konto w Wise oraz dodane **konto w walucie (Balances)**. Dzięki czemu, klikając na nasze konto w GBP otrzymamy informacje na temat naszego **Sort Code** oraz **Numeru konta**, które potrzebujemy, aby dodać konto do PayPal.

![TransferWise Balances](/images/2018/03/transferwise-balances-min.png)
![TransferWise Balances GBP](/images/2018/03/transferwise-balances-gbp-min.png)

**W momencie, gdy dodamy konto do PayPal**, firma PayPal wyśle na nasze konto drobną kwotę wraz z kodem potwierdzającym. **Kod ten należy odczytać na stronie Wise** a następnie na PayPalu **w naszym portfelu (wallet)** **potwierdzić** nowo dodane konto poprzez wprowadzenie otrzymanego kodu.

![PayPal Account Verification Code](/images/2018/03/paypal-account-verification-code-min.png)
![TransferWise Account Confirmed at PayPal](/images/2018/03/transferwise-account-confirmed-at-paypal-min.png)

**I to by było na tyle.** **Jednakże,** PayPal zakłada, że konto, które właśnie dodaliśmy będzie służyć nam również do doładowania środków na PayPalu. W tym celu **PayPal będzie chciał wysłać polecenie o Direct Debit** do naszego banku (wirtualny bank Wise). W toku potwierdzenia konta, nie znalazłem metody pominięcia tego kroku, więc nie pozostaje nam nic innego jak potwierdzenie tej procedury.

**Tutaj, po kilku dniach dostaniemy informację od PayPal, że nie udało się ustawić Direct Debit** na koncie Wise (sic!, bo nie zostało ono do tego zaprojektowane), **gdyż bank (Wise) odrzucił tą prośbę**.

**Nie musimy się tym zbytnio przejmować**, gdyż konto mamy już dodane. Jedyną opcję, którą będziemy używać, jest **wypłata (Withdraw money)** w celu wypłaty pieniędzy.

![PayPal withdraw settings](/images/2018/03/paypal-withdraw-setting-min.png)
![PayPal withdraw confirmation](/images/2018/03/paypal-withdraw-confirmation-min-1.png)
![PayPal withdraw TransferWise](/images/2018/03/paypal-withdraw-transferwise-min.png)
![PayPal Transferwise withdraw security delay](/images/2018/03/paypal-transferwise-withdraw-security-delay-min.png)
![PayPal paid 1GBP to TransferWise](/images/2018/03/paypal-paid-1gbp-to-transferwise-min.png)

Aby, posiadanie dwóch kont bankowych podpiętych do PayPal nie spowodowało nam większych problemów, gdy będziemy płacić przez PayPal następnym razem, musimy upewnić się, że **nasze inne konto** (**nie Wise**) wybrane jest jako domyślna metoda dodania pieniędzy i tyle (przy pierwszym płaceniu przez PayPal na dowolnej stronie).

W momencie, jak wypłacimy nasze środki **z PayPal na nasze konto w Wise** nie pozostaje nam nic innego jak przelać je tam, gdzie chcemy [nawiązując do mojego poprzedniego artykułu](/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/).

**Oczywiście,** jeżeli posiadamy konto w UK, Niemczech, Stanach lub Australii, możemy wypłacić pieniądze z PayPal na konto w danym kraju (konto, które mamy podpięte do PayPal) i dokonać przelewu **na Wise bez opłat** (w standardowy sposób poprzez przelew na konto). Powyższe rozwiązanie dedykowane jest dla osób, które chcą uniknąć tej operacji (z różnych względów).

**Pozdrawiam**

{{% ads-in-article %}}


---
## Przelewy pieniężne z Anglii do Polski - kolejne podejście
- **URL:** https://dariusz.wieckiewicz.org/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/
- **Date:** 2018-01-29
- **Tags:** Artykuły, Borderless, FCA, Financial Conduct Authority, HMRC, KNF, paypal, przelew, transfer, Transfer24, TransferGo, TransferWise, Wise

### Content

W 2011 roku napisałem **[artykuł z przykładami](/przelewy-pieniezne-z-anglii-do-polski-i-nie-tylko/)**, jak przy pomoc **PayPal UK** oraz **PayPal Polska** przelać pieniądze **z Anglii do Polski** przy dość przystępnych opłatach i kursach przewalutowania. Od tego czasu na rynku przybyło dużo innych, nieco prostszych rozwiązań. Każdy stara się zarobić na tym, że poza granicami polski są nasi rodacy, którzy od czasu do czasu przesyłają pieniądze do rodzinnego kraju. Im wyższa konkurencja, tym bardziej zyskuje na tym klient.

<!--more-->

Przez lata z powodzeniem używałem PayPal, jednak nadal szukałem lepszej alternatywy. Podstawowym celem było zaoszczędzeniem na opłatach jak i przewalutowaniu (które, nie jest już takie dogodne jak sześć lat temu).

Mimo, że przelew z PayPal UK na PayPal Polska dokonywany jest niemal błyskawicznie, to **wypłata po polskiej stronie na konto trwa od 3 do 5 dni roboczych** (nie tak jak w drugą stronę na wyspy, gdzie trwa to maksymalnie do godziny).

**W tym celu postarałem się sprawdzić kilka alternatywnych stron:**

- **Transfer24** ([transfer24.eu](http://transfer24.eu)) - Polska firma z Kielc posiadająca zezwolenie Komisji Nadzoru Finansowego
- **TransferGo** ([www.transfergo.com](https://www.transfergo.com)) - Angielska firma nadzorowana przez tutejszy urząd skarbowy (HMRC) i odpowiednik polskiego KNF (_Financial Conduct Authority,_ FCA).
- **Wise** (dawniej TransferWise ([wise.com](https://wise.com)) - Firma pochodząca z Estonii z siedzibą w Wielkiej Brytanii, zbudowana w oparciu o wsparcie takich przedsiębiorstw jak Virgin, PayPal, Skype czy Betfair. Firma ciekawa ze względu na usługę “konta bez granic” (Borderless account), pozwalająca otworzyć konto “jak w banku” w kilku walutach z możliwością przesyłania w ponad 300 walutach na całym świecie (_ale o tym kiedy indziej_). Firma nadzorowana jest przez FCA.

**Skupiając się na podstawowym celu, jakim jest przesłanie pieniędzy z Anglii do Polski, postanowiłem sprawdzić, gdzie mogę zaoszczędzić najwięcej.**

Postanowiłem przelać **£62.50** na moje konto w Polsce (**w Piątkowy poranek**).

**Aby porównać miarodajnie poszczególne strony, przelew dokonywałem z jednoczesnym przewalutowaniem na polską walutę.**

![PayPal logo](/images/2018/01/PayPal-min.png)

**I tak zacząłem od metody z PayPal.**

![PayPal Kalkulacja](/images/2018/01/paypal_calculation-min.png)

PayPal pokazał, że odbiorca otrzyma **283.39 zł** po kursie **1 GBP = 4.5342 PLN**

Jak poszło by wszystko pomyśli, to pieniądze pojawiły by się na polskim koncie **do następnego Piątku!**

![Transfer24 logo](/images/2018/01/Transfer24_eu-min.png)

Następnie spróbowałem **Transfer24**

[![Transfer24 Kalkulacja](/images/2018/01/Transfer24_Kalkulator-min-1.png)](/images/2018/01/Transfer24_Kalkulator-min-1.png)

I tak otrzymamy **287.50 zł** po kursie **1 GBP = 4.60 PLN**.

**Dodatkowo, zostaniemy obciążeni opłatą 1.30% od transakcji, ok. 0.81 GBP**

Pomniejszając końcową kwotę otrzymamy ok. **283.77 PLN**

[![TransferGo logo](/images/2018/01/TransferGo_logo-min.png)](/images/2018/01/TransferGo_logo-min.png)

Pora na **TransferGo**.

Tutaj kurs przewalutowania oraz opłat wyświetlany jest sposób bardziej przejrzysty a niżeli w przypadku powyższych rozwiązań.

[![TransferGo Kalkulacja](/images/2018/01/TransferGo_Kalkulator-min.png)](/images/2018/01/TransferGo_Kalkulator-min.png)

I tak otrzymamy **284.41 PLN** po kursie **1 GBP = 4.62378** oraz wliczonej opłacie manipulacyjnej **0.99 GBP**.

**Póki co, jest to najlepsze rozwiązanie.**

W przypadku tego rozwiązania możemy również zlecić (i zapłacić za to), jak szybko chcemy otrzymać nasz przelew. Przy standardowym przelewie pieniądze pojawiły by się na koncie **w Poniedziałek**.

[![TransferWise logo](/images/2018/01/transferwise_logo_detail-min.png)](http://wise.com/u/dariuszw46)

Następnie chciałem spróbować **Wise** (TransferWise).

### **[wise.com/u/dariuszw46](http://wise.com/u/dariuszw46)**

W przypadku tego rozwiązania również jesteśmy w sposób przejrzysty informowani co i ile kosztuje.

[![TransferWise Kalkulacja](/images/2018/01/TransferWise-Calc-min.png)](/images/2018/01/TransferWise-Calc-min.png)

I tak otrzymałem **290.12 PLN** po kursie **1 GBP = 4.72817** oraz wliczonej opłacie manipulacyjnej **1.14 GBP**.

**Mimo tego, że opłata jest znacznie wyższa rekompensuje to kurs przewalutowania.**

Również w tym przypadku nie zależało mi na szybkim przelaniu, więc **teoretycznie pieniądze powinny być w poniedziałek**.

Przelew dokonałem o godzinie **7:00 UK rano** (**8:00 w PL**) i jak się okazało, pieniądze wpłynęły na moje konto po **17:00 czasu UK** (**18:00 PL**) **tego samego dnia!** Bardzo przyjemne zaskoczenie!

**Oczywiście,** w przypadku powyższych rozwiązań należy ustawić dane odbiorcy przed dokonaniem przelewu aby wszystko przeszło jak najszybciej.

I tak, **Wise** okazał się zwycięzcą w tym przypadku.

Dodatkowo, **Wise oferuje program lojalnościowy**, dzięki któremu możemy zaprosić **3 znajomych** i **zyskać £75**. **Dodatkowo polecone osoby zyskują pierwszy transfer bez opłat**.

Jeżeli chcesz skorzystać z mojego polecania, użyj poniższego linku a w zamian otrzymasz **pierwszy przelew do £500 całkowicie za darmo**:

### **[wise.com/u/dariuszw46](http://wise.com/u/dariuszw46)**

Zachęcam również do obejrzenia filmu promocyjnego Wise.

**Pozdrawiam.**

{{% ads-in-article %}}

{{< youtube MLKKzRvOsLQ >}}

> _Niniejszy artykuł nie jest sponsorowany przez żadną z powyższych firm._


---
## Google Photos - miejsce na twoje zdjęcia
- **URL:** https://dariusz.wieckiewicz.org/google-photos/
- **Date:** 2017-12-26
- **Tags:** Artykuły, 2FA, 4K, android, backup, filmy, Google Photos, Google Takeout, iOS, kopia zapasowa, Lightroom, Mac, macOS, Picasa, Windows, zdjęcia

### Content

Jakiś czas temu [na moim blogu](/moja-alternatywa-dla-programu-picasa/) poruszałem temat związany z przechowywaniem i zarządzaniem kolekcją zdjęć. Przy okazji zamknięcia rozwoju programu **Picasa** zdecydowałem się na **Lightroom**.

Moja przygoda z Lightroom’em trwała przez jakiś czas, ale zawsze czułem się niepewnie, jeżeli chodzi o przechowywanie zdjęć.

<!--more-->

Dyski twarde potrafią nawalić, tak samo, jak komputery. Kradzieże również zdarzają się na porządku dzienny, a nikt nie chciałby stracić cennej kolekcji zdjęć z ostatnich 15 lat. Jednocześnie, dostępność zdjęć tylko na jednym komputerze stwarza kolejny problem, jeżeli chcesz komuś je pokazać lub się nimi podzielić.

Tutaj, **[Google Photos](https://photos.google.com)** (**Zdjęcia Google**) stało się rozwiązaniem prawie idealnym.

Nim przesiadłem się na **Google Photos** stanąłem przed **bardzo ważnym pytaniem**. Do czego potrzebuję moje zdjęcia i jak bardzo potrzebna mi jest ich oryginalna rozdzielczość.

Jest to niby błahe pytanie, jednakże wybór ostatecznego rozwiązania wpłynie na całą przyszłość składowania zdjęć.

**Google Photos** oferuje dwie opcje składowania zdjęć. **Pierwsze** to oczywiście, składowanie tak, jak zostały przesłane — czyli w pełnej, **oryginalnej rozdzielczość**. Każde zdjęcie zajmuje miejsce na naszym koncie Google. Przy mojej kolekcji **200GB zdjęć i filmików**, 15GB pakiet podstawy nie pozostawał złudzeń, że przyjdzie mi płacić.

**Dyski przenośne też kosztują**. I mimo tego, że jest to jednorazowy wydatek, to nie należą one do najbezpieczniejszych form składowania danych. Szczególnie, nie powinny być one jedyną formą kopii zapasowej.

**Nie jestem fotografem**. Nie robię zdjęć, aby na nich zarobić. W swoim życiu miałem zabawy z półprofesjonalną lustrzanką, jednakże nie jest to mój sposób na życie. W momencie, gdy w moim życiu pojawiły się dzieci, liczba zdjęć zaczęła narastać w sposób logarytmiczny, a podstawowym aparatem stał się telefon komórkowy.

Moją rodzinę i dziadków dzielą setki kilometrów, w związku z tym łatwe dzielenie się zdjęciami wnuków stało się priorytetem. Przesyłanie zdjęć przez pocztę e-mail stało się bardzo uciążliwe.

Po głębszych przemyśleniach nad **drugą opcją Google Photos** - **nielimitowana przestrzeń** na zdjęcia w wysokiej rozdzielczości — podjąłem decyzję, że **to jest to, czego potrzebuję**.

{{% ads-in-article %}}

**Google Photos** w wysokiej rozdzielczości daje nam do dyspozycji **nielimitowaną przestrzeń na nasze zdjęcia i filmy** wraz z możliwością szybkiego dzielenia się z innymi. Brak limitu idzie jednak z ceną. Nasze zdjęcia i filmy są dodatkowo kompresowane.

Nie jest to nic strasznego, gdyż w tym pakiecie, zdjęcia do **16Mpix** nie zostaną zmniejszone, co bez problemu umożliwi nam ich późniejszy wydruk na kartce A4 lub w większym formacie. **Zdjęcia są jednakże kompresowane** używając specjalnego algorytmu. **Kompresja jest praktycznie niewidoczna**, jeżeli chodzi o przestrzeń widzialną. Jeżeli jednak potrzebujemy przechować oryginały, zawsze możemy to zrobić z wykorzystaniem innych nośników. **Nasze filmy są kompresowane do maksymalnej rozdzielczości 1080p**. Jeżeli nasz telefon, aparat lub kamera nagrywa zdjęcia w **4K** to niestety, tutaj stracimy conieco.

Mimo tego, co niesie ze soba nieograniczona przestrzeń na filmy i zdjęcia, stwierdziłem, że tak naprawdę **95% użytkowników będzie z tego bardziej niż zadowolona**.

**Google Photos** posiada dodatkowo aplikację na **Androida**, **iOS** oraz dedykowane programy na **Windows** lub **macOS** do łatwego robienia kopii zapasowych z komputera i urządzenia przenośnego.

**Nasze zdjęcia są zawsze dostępne online**. Jeżeli zdecydujemy się na zmianę telefony lub komputera, nie ma konieczności ich przenoszenia — wystarczy **zalogować się na swoje konto Google** i mamy wszystko to, co wysłaliśmy.

**I tak przesłałem moje 200GB do Google Photos**. Co więcej, co jakiś czas robię niezależną kopię zdjęć i filmów z Google Photos przy użyciu **[Google Takeout](https://takeout.google.com/)**, którą przechowuję na zewnętrznym dysku USB. I tak przy pierwszym razie, moje **200GB zajmowało nieco ponad 85GB**. Jak widać, kompresja robi swoje, ale jakość wizualna na tym nie cierpi.

Mimo tego, że osobiście zdecydowałem się na dodatkowy **100GB pakiet** dla mojego Dysku Google, który wykorzystuję również do innych celów, dla większości użytkowników przyjdzie korzystać z tego rozwiązania bez konieczności wydawania dodatkowych pieniędzy.

Ważne jest jednak, aby pamiętać, że **nasze zdjęcia są tak bezpieczne, jak nasze konto Google**. W tym przypadku posiadanie prostego hasła nie gwarantuje nam bezpieczeństwa i powinniśmy zastanowić się nad zastosowaniem [**dwuetapowego uwierzytelnienia (2FA)**](https://support.google.com/mail/answer/185839), które Google zapewnia. Dodatkowo powinniśmy ustawić **alternatywny adres email**, **numer telefonu** oraz **zapisać (lub wydrukować) i przechowywać w bezpiecznym miejscu hasła bezpieczeństwa (związane z 2FA)** umożliwiające nam odzyskanie dostępu do konta, w przypadku, gdy coś pójdzie nie tak.

Mam nadzieję, że pomogę wam podjąć dobrą decyzję, jeżeli chodzi o zdjęcia i filmy.

**Oczywiście, w życiu nie ma nic za darmo**. Usługa Google, mimo że darmowa, nie pozwoli nam na składowanie, chociażby filmów ściągniętych z internetu, aby Google nie stało się narzędziem do szerzenia piractwa. Jednocześnie, coś, co jest darmowe, musi w pewnym stopniu być kompensowane w postaci Prywatności użytkownika.

Nie pozostawiajmy sobie złudzeń - **nie ma nic za darmo**, a w tym przypadku naszą zapłatą jest nasza Prywatność. I, mimo że **nasze zdjęcia i filmy są nasze**, pamiętajmy, że po coś firmy takie jak Google potrzebują tego typu danych do własnych celów — chociażby do szkolenia wewnętrznego własnych algorytmów AI do rozpoznawania twarzy itp.

Mimo tego rozwiązanie Google jest tym, czego szukałem od dawna.

**Pozdrawiam.**


---
## Porządki na macOS
- **URL:** https://dariusz.wieckiewicz.org/porzadki-na-macos/
- **Date:** 2017-11-22
- **Tags:** Mac, CCleaner, Login items, macOS, Preferencje systemowe

### Content

Każdy użytkownik Windowsa od czasu do czasu musi zrobić porządek na swoim komputerze w celu pozbycia się śmieci pozostawionych chociażby przez przeglądarkę internetowa lub też przeróżne programy.

W przypadku użytkowników komputerów z nadgryzionym jabłkiem jest podobnie. Mac nie jest wcale aż tak inny od komputerów z innym systemem operacyjnym.

<!--more-->

## Programy startujące

[![Users Groups Login Items](/images/2017/11/01-Users-Groups-Login-Items-min.png)](/images/2017/11/01-Users-Groups-Login-Items-min.png)

Na wstępie powinniśmy przejrzeć listę aplikacji, które domyślnie startują wraz z włączeniem komputera. W tym celu udajemy się do **Preferencje systemowych** (System Preferences) > **Użytkownicy i Grupy** (Users & Groups), po czym wybieramy zakładkę **Logowanie** (Login items) i przeglądamy listę programów tam wyświetlonych. Jeżeli uznamy, że coś nie jest potrzebne aby startowało wraz z uruchamianym komputerem, zaznaczamy odpowiednio i wybieramy przycisk “-“ (minus) w celu jego usunięcia.

## CCleaner
[Pobierz](https://www.piriform.com/ccleaner-mac)

[![CCleaner Mac](/images/2017/11/02-CCleaner-Mac-min.png)](/images/2017/11/02-CCleaner-Mac-min.png)

**CCleaner** stał się niezbędnym narzędziem na każdym komputerze. Mimo swojego wieku, nadal spisuje się tak jak za młodu. CCleaner na Maca posiada nieco mniej opcji, ze względu na różnice systemowe, to i tak robi porządki tam gdzie potrzeba. Po uruchomieniu, wystarczy **Uruchomić Cleaner** (Run Cleaner) i poczekać na skończenie. Ważne jest przy tym, aby zamknąć wszelkie okna przeglądarek internetowych i zapisać wszelkie niezapisane prace (pliki) itp. Możemy się naprawdę zdziwić, jak dużo miejsca możemy odzyskać.

## OnyX / Maintenance
[Pobierz OnyX](https://www.titanium-software.fr/en/onyx.html)

[Pobierz Maintenance](https://www.titanium-software.fr/en/maintenance.html)

[![Onyx](/images/2017/11/03-OnyX-min.png)](/images/2017/11/03-OnyX-min.png)

**OnyX** jest zaawansowanym narzędziem do czyszczenia systemu (i nie tylko). Z pośród multum opcji, osobiści używam **Automation**.

Czyszczenie z reguły trwa kilka minut, podczas których komputer może przestać reagować. Po zakończeniu wysoce wskazane jest ponowne uruchomienie komputera.

[![Maintenance](/images/2017/11/04-Maintenance-min.png)](/images/2017/11/04-Maintenance-min.png)

[Autor](https://www.titanium-software.fr/en/index.html) tego oprogramowania przygotował program OnyX dla bardziej zaawansowanych użytkowników, którzy wykorzystają dodatkowe opcje. Z myślą o typowym użytkowniku Maca wyposzczona została “okrojona" wersja OnyX pod nazwą **Maintenance** zawierająca wszystkie opcje z **Automation** w OnyX.

## Dr. Cleaner
[Pobierz](https://www.drcleaner.com/dr-cleaner/)

[![Dr Cleaner](/images/2017/11/05-dr-cleaner-min.png)](/images/2017/11/05-dr-cleaner-min.png)

**Dr. Cleaner** potrafi dodatkowo znaleźć śmieci, których CCleaner i OnyX nie wychwycił. Oprócz tego posiada również inne opcje przydatne na codzień, takie jak znajdowanie duplikatów plików czy oczyszczanie pamięci RAM (z ikony koło zegarka).

[![Dr Cleaner Menu Bar](/images/2017/11/06-dr-cleaner-menu-bar-min.png)](/images/2017/11/06-dr-cleaner-menu-bar-min.png)

{{% ads-in-article %}}

## AppCleaner
[Pobierz](https://freemacsoft.net/appcleaner/)

[![AppCleaner](/images/2017/11/07-appcleaner-min.png)](/images/2017/11/07-appcleaner-min.png)

Nie można oczywiście zapomnieć o **AppCleaner**, którego używam za każdym razem, jak chcę usunąć program z komputera.

O [**AppCleaner pisałem już co nieco tutaj**](/appcleaner-dodaj-usun-programy-macos/), wiec poza czystą rekomendacją nie ma co dalej się rozpisywać a jedynie używać.

Dodatkowo, warto pamiętać o wbudowanej a **AppCleaner** opcji **SmartDelete** (którą włączymy w opcjach programu) gdybyśmy zapomnieli go użyć, a przeniesiemy aplikację do kosza, tak jak zawsze to robiliśmy. Wówczas AppCleaner uruchomi się automatycznie i wykryje pozostałości po właśnie usuniętym programie.

## UninstallPKG
[Pobierz](https://www.corecode.io/uninstallpkg/)

[![UninstallPKG](/images/2017/11/08-UninstallPKG-min.png)](/images/2017/11/08-UninstallPKG-min.png)

Niektóre programy instalują się jako pakiety PKG (chociażby **TeamViewer**). Przeniesienie ich do kosza lub usunięcie z wykorzystaniem AppCleaner nadal może pozostawić kilka elementów, które mogą powodować problemy w przyszłości. Ten program, mimo że **płatny** (aplikacja pozwala na usunięcie 5 pakietów przed koniecznością zakupu licencji) jest warty swojej ceny, szczególnie gdy jesteśmy bardziej zaawansowanym użytkownikiem i na codzień spotykamy się z aplikacjami w formie pakietów PKG.

**I to by było na tyle.**

Mam nadzieję, że powyższe programy pozwolą wam odzyskać trochę cennego miejsca na dysku (szczególnie, gdy mamy do czynienia z dyskiem SSD).

**Pozdrawiam**


---
## Jak pobrać obraz Windows 10 (ISO)
- **URL:** https://dariusz.wieckiewicz.org/obraz-iso-windows-10/
- **Date:** 2017-10-22
- **Tags:** Windows, chrome, Developer tools, firefox, ISO, Microsoft, Narzędzia dla deweloperów, Obraz ISO, User-Agent, Wersja Edukacyjna, Windows 10, Windows 10 dla klientów edukacyjnych, Windows 10 Education, Windows 10 ISO

### Content

O tym, jak pobrać Obraz ISO bezpośrednio z serwerów Microsoftu, oficjalnie, bez ryzyka i zbędnego kombinowania.

<!--more-->

Jedną z metod aktualizacji jest udanie się na stronę Microsoftu w celu pobrania oprogramowania, które ułatwi nam ten proces.

> Co jednak, jeżeli chcemy zainstalować Windows 10 w najnowszej wersji od zera, lub chcemy pobrać obraz ISO do wypalenia na płycie DVD?

Jeżeli dysponujemy komputerem z systemem **Windows**, proces ten jest **nieco utrudniony** _(sic!)._

O ile, na **Mac, Linuxie lub Chromebook’u**, po przejściu na poniższą stronę nie ma problemu, w przypadku **Windows nie ujrzymy opcji pobrania obrazu ISO**, a jedynie narzędzia, które pozwoli nam zaktualizować system do najnowszej wersji.

[![Pobierz Windows 10](01-Pobierz-Windows-10.png)](01-Pobierz-Windows-10.png)

> [https://www.microsoft.com/software-download/windows10ISO](https://www.microsoft.com/software-download/windows10ISO)

Sytuacja jest nieco łatwiejsza, jeżeli posiadamy komputer z systemem operacyjnym **innym niż Windows**, gdyż wówczas strona wygląda tak jak poniżej:

[![Pobieranie Obrazu ISO Windows 10](02-Pobieranie-obrazu-dysku-systemu-Windows-10-pliku-ISO.png)](02-Pobieranie-obrazu-dysku-systemu-Windows-10-pliku-ISO.png)

**A co w przypadku, gdy nie posiadamy komputera z innym systemem operacyjnym a nadal chcemy pobrać obraz ISO?**

Nic prostszego, wystarczy zastosować poniższy **trick** i rozpocząć pobieranie.

Strona **Microsoftu** domyślnie rozpoznaje z jakiego systemu operacyjnego odwiedzamy ich stronę (w tym języka). W tym przypadku należy poinformować, że nasz system operacyjny nie jest systemem Windows, który można zaktualizować (Windows 7 lub nowszy). Jeszcze prościej jest poinformować, że nasz system operacyjny to macOS lub Linux i sprawa rozwiązana.

**Jak to zrobić?**

## Google Chrome / Microsoft Edge (Chromium)

**Do tej pory wystarczyło** zainstalować rozszerzenie w przeglądarce, umożliwiające wirtualną zmianę Systemu Operacyjnego, którego informacja jest wysyłana, w momencie odwiedzenia strony Microsoftu.

Najlepszym narzędziem **było** to prosto od Google ([**User-Agent Switcher for Chrome**](https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg)) zmieniając identyfikację naszej przeglądarki na **Safari > Mac Safari 7**.

**Niestety,** Microsoft ostatnio zmienił nieco swoją stronę i w związku z tym rozszerzenia do przeglądarek przestały spełniać swoje zadanie. **Ale nic straconego**, gdyż **metoda zmiay "User-Agent" nadal działa** i można ją wykorzystać bezpośrednio z przeglądarki z wykorzystaniem wbudowanych opcji deweloperskich. **Już opisuję jak to zrobić**.

Będąc na stronie Microsoftu uruchamiamy opcje deweloperskie:

*   Za pomocą skrótu klawiszowego **Ctrl+F12** (lub **Ctrl+Fn+F12**).
*   Za pomocą skrótu klawiszowego **Ctrl+Shift+I**
*   Z menu przeglądarki (**trzy poziome kropki**) > **Więcej narzędzi** (More tools) > **Narzędzia programistyczne** (Developer tools)

Po prawej stronie przeglądarki otworzy się okno, zawierające różne elementy, które dla laika będą czarną magią. **Ale bez obaw, to nic trudnego!**

W oknie opcji deweloperskich:

*   klikamy na ikonę **trzech kropek**
*   wybieramy **More tools** > **Network conditions**

Na samym dole okna deweloperskiego otworzy nam się zakładka z **Network conditions** gdzie:

*   odznaczmy ptaszka przy **Use browser default**
*   wybieramy z listy **Firefox - Mac**

**Nie zamykając** jeszcze narzędzi programistycznych **odświeżamy** naszą stronę Microsoftu. Dzięki temu powinna pokazać się nam strona z możliwością pobrania obrazu ISO systemu Windows 10. W tym momencie możemy zamknąć narzędzia programistyczne i postępować stronie z instrukcjami na ekranie.

Nie musisz przejmować się przywróceniem ustawień w narzędziach programistycznych do stanu z przed zmiany. Po ich zamknięciu i odświeżeniu strony, wszystko wraca do ustawień domyślnych.

**A teraz nieco pisma obrazkowego - czyli zrzuty ekranu, jak wykonać powyższe czynności.**

{{% gallery %}}
[![Edge Chromium Menu more tools developer tools](01_edge_chromium_menu_more_tools_developer_tools.png)](01_edge_chromium_menu_more_tools_developer_tools.png)
[![Edge Chromium developer tools more tools network conditions](02_edge_chromium_developer_tools_more_tools_network_conditions.png)](02_edge_chromium_developer_tools_more_tools_network_conditions.png)
[![Edge Chromium network conditions user agent](03_edge_chromium_network_conditions_user_agent.png)](03_edge_chromium_network_conditions_user_agent.png)
[![Edge Chromium user agent Firefox Mac](04_edge_chromium_user_agent_firefox_mac.png)](04_edge_chromium_user_agent_firefox_mac.png)
{{% /gallery %}}

![Edge Chromium Windows 10 iso download](05_edge_chromium_windows_10_iso_download.png)

* * *

{{% ads-in-article %}}

## Mozilla Firefox

**Na szczęście**, w **przypadku przeglądarki Firefox, rozszerzenia nadal spełniają swoje zadania**. Wystarczy pobrać poniższe rozszerzenie.

[![Firefox: User-Agent Switcher (revived)](06-1-firefox-user-agent-switcher.png)](https://addons.mozilla.org/en-GB/firefox/addon/user-agent-switcher-revived/?src=search)

Następnie, z prawego-górnego rogu wybieramy System Operacyjny inny niż Windows. Odświeżamy stronę Microsoftu i gotowe.

[![firefox user agent switcher 2](06-2-firefox-user-agent-switcher.png)](06-2-firefox-user-agent-switcher.png)

* * *

Jeżeli wszystko wykonaliśmy prawidłowo, ukaże nam się opcja do wyboru wersji systemu, języka, a na końcu uzyskamy odnośniki do pobrania tak jak poniżej (ważne przez 24 godziny).

[![Odnośniki do pobrania](07-Odnosniki-do-pobrania-Windows-10-Polski.png)](07-Odnosniki-do-pobrania-Windows-10-Polski.png)

Co najważniejsze, całość jest w pełni legalna, a pobrany obraz możemy nagrać na płycie DVD lub utworzyć instalator na USB przy pomocy programu [Rufus](https://rufus.ie).

> Od wersji **1803** (_Windows 10 April 2018 Update_), obraz ISO pobrany z powyższej strony może być stosowany również do kluczy edukacyjnych (**Windows 10 dla klientów edukacyjnych**). Nie ma potrzeby pobierania obrazu z instytucji edukacyjnej (uczelni) w celu instalacji.

**Pozdrawiam.**


---
## VLC - kombajn stacjonarny, Infuse - mobilny
- **URL:** https://dariusz.wieckiewicz.org/vlc-kombajn-stacjonarny-infuse-mobilny/
- **Date:** 2017-10-15
- **Tags:** Oprogramowanie, android, AppStore, Google Play, Infuse Pro, iOS, macOS, skype, vlc, Windows

### Content

Kiedyś, po kupnie komputera z Windosem, pierwszymi krokami w celu jego dostosowania było zainstalowanie przeróżnych śmieci - w tym kodeków, aby było można oglądać na nim filmy w przeróżnych formatach. Były to czasy z przełomu lat 2000-2010 w moim przypadku.

<!--more-->

Komputery były mało wydajne, a nie każdego było stać na najnowszy sprzęt. **Kodeki**, aby poprawnie dekodowały film i nie wyswietlały go w postaci **4-ech klatek na sekundę**, porzebowały niezłego kopa w postaci sprzętu (pamięci i procesora, a nie wspominając już o karcie graficznej). Wybór przeróżnych kodeków był nie lada, a jak już go dokonaliśmy mogliśmy cieszyć się płynnym obrazem, a czasem nawet obraz odtwarzał się razem ze świeżką dziękową w tym samym czasie - **ach ta magia XXI wieku**.

Te czasu przeszły w zapomnienie, w momencie gdy na rynku pojawił się VLC. Odtwarzacza, który posiadał zintegrowane kodeki w niezbędnej ilości, aby móc odtworzyć wszystkie najpopularniejsze formaty filmów.

W tym momencie kodeki stały się zbędne, chyba że było się osobą, która robiła obróbkę filmów, chociaż i do tego znajdą się dobre rozwiązania, które mają w sobie wszystko co trzeba.

Przez lata VLC się rozwijał, ale nie stracił swojej glory i mogę śmiało powiedzieć, że jaki był kilka lat temu, nadal taki jest. **W tym przypadku jest to bardzo duży komplement.**

Niektóre programy, szczególnie gdy zmienią właściciela próbują z **samochodu osobowego** nagle stać się **samochodem dostawczym** lub **tirem**. Mamy tego typu przykłady oprogramowania na rynku, którego używa się w niektórych wypadkach bardziej z przymusy a niżeli wygody użytkowania (**Skype**).

W momencie, jak **smartphony** zaczęły odgrywać ważną rolę w społeczeństwie, a później **tablety**, coraz to częściej używamy ich w zastępstwie. Większość rzeczy robimy mobilnie i tam gdzie jest nam wygodnie - w tym oglądanie filmów.

Nie zawsze mamy możliwość walnięcia się na kanapę w celu obejrzenia kilku filmów, ale przeważnie mamy pod ręką nasz telefon lub tablet.

Tak się stało, żę mniejsze ekrany ułatwiają nam życie i czasami na nich chcielibyśmy obejrzeć jakiś film. Nie będę tutaj pisał o **usługach streamingowych** czy **YouTube**, ale o chęci obejrzenia czegoś **z innego źródła**.

**VLC** dominuje w stacjonarny sposób, na komputerach PC czy komputerach przenośnych, jednakże, jeżeli chodzi o urządzenia przenośnie, jest nieco z tyłu.

Mimo, że jego mobilna wersja jest dostępna na Androida i iOS, to pozostawia ona wiele do życzenia, ale przedewszystkim rozczarowuje. O ile na komputerze wrzucałeś plik do odtwarzacza i działał, o tyle na komórce nie jest tak wygodnie. Nie ma co się dziwić, gdyż **projekt finansuje się ze wsparcia jego użytkowników**, a jak wiemy, jak ktoś jest przyzwyczajony że dostaje coś **za darmo**, to dlaczego ma za to płacić. **Takie realia w każdym kraju**.

Z tego prostego powodu, VLC nie rozwija się w tym kierunku tak szybko **jak jego płatna, nastawiona bardziej na zysk konkurencja**.

[![vlc download](/images/2017/10/vlc-min.png)](https://www.videolan.org/vlc/)*Pobierz VLC na komputer*

Tutaj mówię o **Infuse**.

{{% ads-in-article %}}

**Infuse** jest jedną z lepszych aplikacji jaką zainstalowałem do odtwarzania plików na urządzeniach przenośnych. Obecnie używam płatnej wersji **Infuse Pro 4**. Na moje szczęście, nie musiałem za nią płacić, gdyż udało mi się ją upolować w dniu, w którym była **przeceniona do zera w Apple Store**. I mimo, że jest już nowa wersja dostępna, za którą trzeba zapłacić (_aktualizacja to Infuse Pro 5 jest płatna_), to póki co, mój kombajn mobilny działa tu i tam (iPhone i iPad), wiec nic mnie nie zmusza do aktualizacji.

Piszę tutaj o **Infuse Pro** a nie o jego bezpłatnej wersji, gdyż że sprawdziłem na własnej skórze, w momencie wyjścia **nowej wersji 5**, że nie wszystkie opcje, które używam (lub moje dzieci używają) są dostępne w wersji darmowej.

**Infuse** radzi sobie bardzo dobrze z większością plików, **tak jak to VLC** radzi sobie na komputerze. Płynnie, bez problemu pozwala na odtworzenie lokalnych plików, jak i tych zgromadzonych na dysku sieciowym.

I mimo tego, że nadal śledze rozwój VLC na urządzeniach mobilnych (w tym uczestniczę w platformie **TestFlight** dla VLC), to póki co, **VLC** pozostaje dla mnie kombajnem stacjonarnym a **Infuse** kombajnem mobilnym.

[![pobierz w AppStore](/images/2017/10/appstore-button-min.png)](https://itunes.apple.com/app/infuse-pro-5/id1136220915)*Pobierz Infuse w AppStore*

[![Pobierz w Google Play](/images/2017/10/google-play-button-min.png)](https://play.google.com/store/apps/details?id=org.videolan.vlc)*Pobierz VLC w Google Play

I to by było na tyle. Jeżeli masz ochotę na głębszą dyskusję, zostaw komentarz.

**Pozdrawiam.**



---
## iOS 11 i Karta Medyczna na ratunek
- **URL:** https://dariusz.wieckiewicz.org/ios-11-karta-medyczna-medical-id/
- **Date:** 2017-09-22
- **Tags:** Mac, Alarmowe SOS, Emergency, Emergency SOS, Face ID, iOS 11, Karta Medyczna, Medical ID, Touch ID

### Content

**iOS 11** w końcu wprowadza użytek dla **Karty Medycznej** (ang. Medical ID), w sposób taki, który może uratować ci życie lub pomóc w sytuacjach kryzysowych. O ile **Karta Medyczna** istniała w programie **Zdrowie** (ang. Health) od jakiegoś czasu, o tyle **iOS 11** wykorzystał ją w sposób, który ułatwi kontakt **z osobą kontaktową w nagłych wypadkach** (emergency person) wówczas, gdy będziemy tego potrzebowali. Otóż, w iOS 11, gdy wciśniemy przycisk zasilania (power) 5-razy, nasz telefon wyświetli menu do nagłych wypadków. **Celów tego menu jest kilka.** 

<!--more-->

[![lock screen](/images/2017/09/IMG_7403-min.png)](/images/2017/09/IMG_7403-min.png)

## Po pierwsze - prywatność

Uruchomienie tego menu automatycznie wyłącza możliwość odblokowania telefonu przy użyciu czytnika linii papilarnych (**Touch ID**) a w przypadku przyszłego iPhone X, skanera twarzy (**Face ID**). O ile w Europie nie jest to jeszcze nagminnie stosowane, w przypadku Stanów Zjednoczonych, policja ma prawo zmusić (sic!) cię do odblokowania telefonu przy pomocą odcisku palca, ale nie ma prawa wymusić podanie przez ciebie kodu pin do odblokowania. W momencie wyłączenia Touch ID (Face ID), aby przywrócić jego działanie niezbędne jest odblokowanie telefonu przy pomocy kodu blokady.

## Po drugie - ważne skróty

Szybki dostęp do wyłączenia telefonu oraz kontaktu ze służbami alarmowymi tj. policja, pogotowie czy straż pożarna - **Alarmowe SOS** (ang. Emergency SOS). Menu **Alarmowe SOS** powiązane jest natomiast z następnym punktem.

## Po trzecie - karta medyczna (Medical ID)

Wówczas, gdy mamy ustawioną naszą kartę medyczną, po pięcio-krotnym wciśnięciu przycisku zasilania możemy ją przywołać. 

[![medical id](/images/2017/09/IMG_7406-min.png)](/images/2017/09/IMG_7406-min.png) 

Karta medyczna zawiera m.in. informacje o tym kim jesteśmy, datę urodzenia, grupę krwi czy sprecyzowaną osobę kontaktową w nagłych wypadkach. **Wyobraźmy sobie**, że mamy wypadek i straciliśmy przytomność z niewiadomego powodu. Nasz telefon, zablokowany kodem nie zda się nikomu. Nie ma możliwości wykonania połączenia czy powiadomienia osoby bliskiej. Dzięki kombinacji 5-ciu kliknięć, możemy przywołać kartę medyczną. Jeżeli mamy sprecyzowaną osobę kontaktową, możemy, **bez konieczności odblokowania telefonu** skontaktować się z nią. Jest to o tyle dobre, gdyż osoba kontaktowa może udzielić informacji odnośnie alergii lub chorób na które cierpimy, pozwalające w szybszy sposób pomóc osobie poszkodowanej. **Nie czekajcie! Ustawcie swoją Kartę medyczna już dziś, gdyż może ona już jutro uratować wam życie.** 

[![medical id pl](/images/2017/09/Medical_ID_PL-min.png)](/images/2017/09/Medical_ID_PL-min.png)

## Ale to nie wszystko

Wraz z **kartą medyczną** powiązana jest opcja **Alarmowe SOS** (Emergency SOS). W sytuacji kryzysowej, gdy musimy użyć powyższej opcji alarmowej, zdefiniowana osoba kontaktowa powiadamiana jest natychmiast o tym fakcie. Nie ma potrzeby odblokowywania telefonu. W raz z powiadomieniem osoby kontaktowej w nagłych wypadkach wysłane zostanie również twoje położenie na mapie. Wyobraźcie sobie teraz w jakich sytuacjach, te minimum informacji może uratować komuś życie. **A więc nie zwlekajcie.** **Kartę medyczną** (Medical ID) ustawicie w aplikacji **Zdrowie** (Health). 

[![health app](/images/2017/09/IMG_7405-min.png)](/images/2017/09/IMG_7405-min.png)

Oby nigdy nie była ona potrzebna.

Pozdrawiam.

{{% ads-in-article %}}


---
## iOS 11 na ratunek mało pojemnym iPhone'om
- **URL:** https://dariusz.wieckiewicz.org/ios-11-na-ratunek-offload-app/
- **Date:** 2017-09-22
- **Tags:** Mac, iOS, iOS 11, iPhone, Odinstaluj aplikację, Offload App, pamięć, Usuń aplikację, Za mało miejsca

### Content

Jeżeli jesteś właścicielem iPhone’a z mała ilością pamięci, tj. **16GB**, napewno nie jeden raz spotkałeś się z problemem braku miejsca na nowe zdjęcia, programy lub gry.

**iOS 11 przychodzi w tym celu z pomocą.** Najnowsza aktualizacja systemu od Apple pozwala na rozwiązanie tego problemu.

<!--more-->

**Offload App** to nowa opcja pozwalając na poradzenie sobie z problemem braku pamięci. Po polsku ta opcja jest bardzo myląca, gdyż kryje się po nazwą **Odinstaluj aplikację.**

Aby zwolnić miejsce na telefonie, z reguły mówiliśmy o **usunięciu aplikacji** lub też o jej **odinstalowaniu**. Tutaj zaczynają się schody.

**Usunięcie** i **Odinstalowanie** (w iOS 11, _ang. Offload App_), to dwa różne pojęcia.

### **Zacznijmy od przykładu**

Przy 16GB iPhone, każdy _giga_ jest na wagę złota. Jeżeli nagle potrzebujemy nakręcić film i otrzymujemy komunikat **"Za mało miejsca. (...)"** nie pozostaje nam nic innego jak wyrzucić co nieco.

Powiedzmy, że mamy aplikację, która zajmuje nam **2GB**. Aby odzyskać te miejsce musielibyśmy ją **usunąć**. Usunięcie, niestety wiąże się z utratą wszelkich postępów w grze (o ile aplikacja nie synchronizuje się z portalem społecznościowym tj. Facebook).

W iOS 11, zamiast **usunąć** aplikację możemy ją **odinstalować** - czyli użyć opcji _**Offload App**_ (po angielsku).

O ile **usunięcie** aplikacji wywalało wszystko, o tyle **odinstalowanie** pozwala na zachowanie wszelkich danych tej aplikacji w telefonie, **włącznie ze skrótem do aplikacji** (o tym za chwile).

Opcja ta, jak dla mnie jest bardzo fajna, szczególnie, gdy mam zainstalowaną aplikację, którą używam raz do roku, lub też taką, którą włączamy raz na miesiąc, a aktualizacje (które notabene ważą również swoje) robią się praktycznie raz w tygodniu.

Aby **odinstalować aplikację** nie należy jej usunąć z ekranu startowego (przytrzymanie palca na apliacji aż zacznie migotać, a następnie użycie **_iksa_** w celu jej usunięcia), ale zrobić to z poziomy Ustawień (_Settings_).

A więc wchodzimy w **Ustawienia > Ogólne > iPhone (Pamięć)**.

{{% gallery %}}
[![Ustawienia Ogólne](/images/2017/09/IMG_7411.png)](/images/2017/09/IMG_7411.png)
[![Ustawienia Ogólne iPhone (pamięć) wczytywanie](/images/2017/09/IMG_7412.png)](/images/2017/09/IMG_7412.png)
[![Ustawienia Ogólne iPhone (pamięć) wczytane](/images/2017/09/IMG_7413.png)](/images/2017/09/IMG_7413.png)
{{% /gallery %}}

Po chwili, jak wczyta się nasza lista aplikacji, będziemy mogli przejść do **odinstalowania** tego, czego w tej chwili niepotrzebujemy przywracając cenne miejsce w naszym telefonie.

Z listy aplikacji wybieramy naszą, która zajmuje dużo miejsca, a której, w danej chwili nie potrzebujemy (dla przykładu **Ski Jump**).

[![Ski Jump iOS](/images/2017/09/IMG_7414.png)](/images/2017/09/IMG_7414.png)

Jak zauważymy, mamy tutaj dwie opcje. **Niebieską** z napisem _Odinstaluj aplikację_, oraz **Czerwoną** z napisem _Usuń aplikację_.

W momencie wybrania opcji **Odinstaluj aplikację**, zwolnimy miejsce zajmowane przez aplikację, ale dokumenty i dane pozostaną.

{{% gallery %}}
[![Ski Jump - O Aplikacji](/images/2017/09/IMG_7414.png)](/images/2017/09/IMG_7414.png)
[![Ski Jump - Odinstaluj aplikację](/images/2017/09/IMG_7415.png)](/images/2017/09/IMG_7415.png)
[![Ski Jump - Zainstaluj ponownie](/images/2017/09/IMG_7418.png)](/images/2017/09/IMG_7418.png)
{{% /gallery %}}

Jednocześnie zauważymy, że Dokumenty i Dane będą posiadały różną wielkość przed i po odinstalowaniu. Jest to dlatego, że w momencie odinstalowania aplikacji, skrót, który widniał na naszym ekranie głównym telefonu pozostanie tam gdzie był. Aplikacja będze wyglądała tak, jakby nadal była zainstalowania, jednakże obok jej nazwy będzie widniał symbol chmurki. Symbol ten symbolizuje aplikację **dostępną na życzenie**. Dlatego właśnie Dokumenty i Dane aplikacji się powiększają, gdyż ikona gry lub programu jest tam przenoszona.

Jeżeli zechcemy ponownie zagrać w naszą grę, wówczas klikamy na ikonę **z chmurką** i rozpoczyna się jej pobieranie.

[![games](/images/2017/09/IMG_7419.png)](/images/2017/09/IMG_7419.png)

Metoda ta posiada różnież inna ważną **zaletę**. Otóż, jeżeli mamy aplikację tj. **Need For Speed**, która zajmuje ponad 2GB, każda jej aktualizacja z AppStore to kolejne giga do poprania. Jeżeli używamy ją naprawde sporadycznie, po co nam pobieranie aktualizacji?

**Odinstalowana** aplikacja (Offload App) nie potrzebuje się aktualizować, a w momencie, gdy będziemy chcieli jej użyć, pobierzemy jej najbardziej aktualną wersję z AppStore. Dzięki temu zaoszczędzamy nie tylko **miejsce** w telefonie a również **transfer**.

Nie jeden raz widziałem problem z zaktualizowaniem telefonu do najnowszej wersji, tylko dla tego, że brakowało miejsca na pliki tymczasowe, które musz zostać pobrane przed instalacją. Wraz z iOS problem ten jest nieco zniwelowany.

Opcje **odinstalowania oplikacji** możemy włączyć ręcznie, wchodząc na wybraną aplikację z listy, lub tez użyć opcji **automatycznej**, która dokona to za nas, w momencie, gdy będziemy potrzebować miejsca. Tak jak to ma miejsce ze zdjęciami w telefonie, które usunęliśmy, ale nie opróżniliśmy z kosza - zostaną one usunięte automatycznie, gdy zacznie nam brakować miejsca.

> Tak na marginesie, na problem ze zdjęciami i miejscem przez nie zamjowanym polecam [**Google Photo**](https://itunes.apple.com/gb/app/google-photos/id962194608?mt=8).

**I to by było na tyle.** Mam nadzieje, że to ulży posiadaczą mało pojemnych iPhone'ów. Niestety, ale realnie rzecz ujmując, 64GB to teraz jest opcja podstawowa a wszystko mniejsze jest marnowaniem pieniędzy.

Pozdrawiam

{{% ads-in-article %}}


---
## Jak dodać dzwonek do iPhone w iTunes 12.7 lub nowszym
- **URL:** https://dariusz.wieckiewicz.org/dzwonek-ringtone-iphone-itunes-12-7/
- **Date:** 2017-09-13
- **Tags:** Mac, dzwonek, iPhone, iTunes, iTunes 12.7, Ringtones

### Content

iTunes 12.7 wraca do swoich korzeni aby skupić się na muzyce, filmach i ogólnie rzeczach audiowizualnych. Jednocześnie z nowym iTunes nasz telefon przestanie synchronizować Aplikacje i Dzwonki.

<!--more-->

W iTunes 12.7+ opcji tej po prostu nie ma. Nie ma możliwości instalowania aplikacji na telefonie z poziomu iTunes na komputerze.

Nie ma co płakać, bo i tak mało osób z tego korzystało. Jednakże, jeżeli chodzi o dzwonki, to nie każdy chce kupować je w iTunes Store.

Jakoś czas temu napisałem jak zrobić dzwonek do iPhone ([Windows](/iphone-ringtone-converter-for-windows/) | [Mac](/iphone-ringtone-converter-mac/)). Osobiście używam [.na Mac](https://itunes.apple.com/gb/app/.id95327.?mt=12) (płatny).

### A więc, jak teraz wgrać dzwonek do iPhone?

Podobnie, jak to miało miejsce poprzednio, tyle że nie dodajemy dzwonków do naszej biblioteki a później ją synchronizujemy, a jedynie przeciągamy nasz dzwonek do telefonu (z pulpitu, lub, jeżeli jest w naszej bibliotece, to bezpośrednio z niej). Ewentualnie przechodziny do naszych dzwonków (Tones) na telefonie (w lewym panelu w iTunes) i przeciągamy nasz plik z dzwonkiem tak jak poniżej.

[![iTunes 12.7 macOS](/images/2017/09/iTunes-12.7-Ringtones-macOS-2018-min.png)](/images/2017/09/iTunes-12.7-Ringtones-macOS-2018-min.png)
    
[![iTunes 12.7 macOS Tones](/images/2017/09/iTunes-12.7-Ringtones-macOS-2018-into-Tones-min.png)](/images/2017/09/iTunes-12.7-Ringtones-macOS-2018-into-Tones-min.png)
    

Od tak, jest to opcja na którą osobiście czekałem, bo nie jestem fanem synchronizacji iTunes.

Apple odświeżyło również [stronę pomocy](https://support.apple.com/pl-pl/HT207. w tym celu.

### Aktualizacja

Jeżeli chodzi o macOS, to przeciągnięcie i upuszczenie dzwonka nie stanowi większego problemu. Mimo tego, istnieje również inna metoda, a mianowicie z wykorzystaniem [**skrótów klawiszowych**](https://support.apple.com/pl-pl/HT201236) - **Kopiuj / Wklej**. Tak jak to robimy chociażby z tekstem w Word'zie, możemy to zrobić również pomiędzy **oknem Finder'a** a **oknem iTunes'a**.

[![iTunes 12.7 cmd+C cmd+V](/images/2017/09/iTunes-12.7-Ringtones-macOS-2018-cmdC-cmdV-min.png)](/images/2017/09/iTunes-12.7-Ringtones-macOS-2018-cmdC-cmdV-min.png)

### Użytkownicy Windows mają tylko jedną metodę do wyboru

Jeżeli chodzi o przeciągnięcie i opuszczenie, **w przypadku Windows ta metoda nie działa**. Windows Explorer zamiast przenieść plik, system próbuje **utworzyć jego skrót**, lub też w sposób przejżysty, z wykorzystaniem **czerwonego przekreślonego okręgu** odmawia wykonania zadania.

[![iTunes 12.7 Windows przeciągnij i upuść](/images/2017/09/iTunes-12.7-Ringtones-Windows10-problem-drag-drop-2018-min.png)](/images/2017/09/iTunes-12.7-Ringtones-Windows10-problem-drag-drop-2018-min.png)
    
[![iTunes 12.7 Windows czerwona ikona](/images/2017/09/iTunes-12.7-Ringtones-Windows10-problem-tunes-drag-drop-2018-min.png)](/images/2017/09/iTunes-12.7-Ringtones-Windows10-problem-tunes-drag-drop-2018-min.png)
    

Nie pozostaje nic innego jak **metoda Kopiuj / Wklej.**

W przypadku **macOS** używamy kombinacji  
**cmd ⌘ + C **(kopiuj) **cmd ⌘ + V **(wklej).

W systemie **Windows **używamy analogicznie  
**Ctrl + C **oraz **Ctrl + V**.

**Pozdrawiam**

{{% ads-in-article %}}


---
## Aktualizacja do Windows 10 za darmo
- **URL:** https://dariusz.wieckiewicz.org/aktualizacja-do-windows-10-za-darmo/
- **Date:** 2017-08-25
- **Tags:** Windows, aktywacja, eBay, free, instalacja, licencja, OEM, Windows 10, za darmo

### Content

Darmowa aktualizacja do Windows 10 oficjalnie *dawno* się zakończyła. Do pewnego czasu, była ona nadal możliwa "dla użytkowników technologii pomocniczych" (**Assistive Technology Users**), jednakże i to zostało zakończone.

**Mało kto wie,** że Windows 10 można mieć za darmo bez zbędnego kombinowania. Wystarczy mieć **legalny klucz** do Windows 7, 8 lub 8.1 (lub **komputer z zainstalowanym i legalnie aktywowanym** Windows 7/8/8.1) i nadal (*sprawdzone w maju 2020*) można zainstalować (zaktualizować) i aktywować Windows 10 bez przeszkód.

Otóż dysponujemy dwoma metodami.

<!--more-->

---

**Metoda 1**

## **Instalacja czystego systemu Windows 10 (z wykorzystaniem licencji Windows 7/8/8.1)**

Wystarczy [**pobrać obraz ISO z Windows 10**](/obraz-iso-windows-10/) z oficjalnej strony internetowej Microsoftu.

Następnie zainstalować system od zera używając klucza z Windows 7, 8 lub 8.1 podczas instalacji.

Po zakończeniu instalacji i połączeniu się z internetem system aktywuje się automatycznie i poinformuje, że jest aktywowany z **użyciem licencji elektronicznej**.

W **skrajnych przypadkach** aktywacja się nie powiedzie, wówczas należy zadzwonić do Microsoftu i z użyciem automatycznie linii aktywacyjnej, aktywować nasz produkt z użyciem klucza instalacji, który wyświetli nam się na ekranie w odpowiednim kroku.

Polska: **+48 22 594 19 99**  
UK (Free): **0800 028 8354**  
UK: **+44 20 3147 4930**

Jeżeli nie posiadamy oryginalnego klucza do Windows 7 lub nowszego, zawsze możemy go kupić, chociażby przez eBay.

**Dla przykładu,** przechodząc na **eBay UK** szukamy **[windows key licence](https://www.ebay.co.uk/sch/windows+pro+scrap)** lub prościej, **[windows 10 key](https://www.ebay.co.uk/sch/windows+10+key)** i wybieramy najtańszą opcję.

**Bez znaczenia** czy wybierzemy Windows 7, czy inny nowszy, bo każdy pozwoli na instalacje i aktywowanie Windows 10.

Klucz z reguły otrzymany na maila w przeciągu 24h - **i tutaj najważniejsze** - należy go użyć i aktywować jak najszybciej, aby został przypisany do komputera i nie został stracony (o czym sprzedający z reguły poinformują).

Windows 10 możemy również zainstalować od zera i podczas instalacji **pominąć wprowadzenie klucza** (jednakże musimy wybrać wersję systemu). Po zainstalowaniu będziemy mieli 30 dni na wprowadzenie zakupionego klucza i aktywacje (klucz musi pasować z wersją systemu, czyli Pro=Pro, Home=Home).

---

**Metoda 2**

## **Aktualizacja Windows 7/8/8.1 do Windows 10**

Otóż mimo że osobiście polecam instalację **Windows 10 od zera**, z prostego względu – stare sterowniki do elementów komputera z Windows 7/8/8.1 mogą nie działać *poprawnie* w Windows 10 i doprowadzić do niestabilnego systemu, który będzie się wieszał i działał bardzo wolno.

**Jeżeli jednak zdecydujesz się na aktualizację**, zalecam przed wykonaniem tego zabiegu pozbycie się programów, które nie używamy oraz odinstalowanie wszelkich drukarek itp. Zaleciłbym jeszcze zaktualizowanie sterowników z użyciem programu **[Driver Booster](https://www.iobit.com/pl/driver-booster.php)**. Wówczas będziemy gotowi na w miarę bezproblemową aktualizację.

> Zalecam również, na tym etapie odinstalować wszelkie programy antywirusowe, gdyż z reguły powodują one problemy przy aktualizacji (nawet te od Microsoftu tj. Security Essentials).

A więc aktualizacja nie wymaga zbędnej wiedzy, a jedynie stabilnego połączenia z internetem i kilku kliknięć i komend.

Do całego procesu potrzebować będziemy **PowerShell** wbudowany w system Windows.

*   Klikamy na **menu Start** i wpisujemy (z klawiatury) **PowerShell**
    *   Po wyszukaniu programu, klikamy na niego **prawym przyciskiem myszy (lub trackpada)** i wybieramy **Uruchom jako administrator** (to jest bardzo ważne!)
    *   Następnie wpisujemy poniższą komendę i zatwierdzamy klawiszem **Enter**

```
Set-ExecutionPolicy Unrestricted
```

I to by było na tyle, jeżeli chodzi o **PowerShell**. Możemy go zamknąć. Po zainstalowaniu Windows 10 przywrócimy powyższą opcję do stanu sprzed zmiany.

*   Następnie pobieramy na pulpit plik **[aktualizacja.ps1](/pobierz/aktualizacja.ps1_.7z)**
    *   Plik zapisujemy na pulpicie i rozpakowujemy (z wykorzystaniem programu **[7zip](https://www.7-zip.org)**).
    *   Klikamy na rozpakowanym pliku **prawym przyciskiem myszy (lub trackpada)** i wybieramy opcję **Uruchom w PowerShell**

Po chwili otworzy nam się okno PowerShell z naszym skryptem, który następnie pobierze program bezpośrednio ze strony Microsoftu w celu dokonania Aktualizacji.

[![Win10Upgrade.exe](/images/2020/08/Win10Upgrade-min.png)](/images/2020/08/Win10Upgrade-min.png)

Gdy program się pobierze (domyślnie zapisze się w `c:\temp`), otrzymamy komunikat czy chcemy go uruchomić z podwyższonymi uprawnieniami (administratora). Oczywiście klikamy **Tak**. I to by było na tyle.

{{% ads-in-article %}}

Okno **PowerShell** zamknie się i tak naprawdę nic więcej nie zobaczysz do czasu, aż rozpocznie się instalacja (aktualizacja). Cały proces pobierania aktualizacji odbywać się będzie w tle. Program pobierze niezbędne pliki i w momencie, gdy wszystko będzie gotowe, rozpocznie instalację systemu.

> Jeżeli chcemy sprawdzić, czy napewno wszystko działa i pracuje w tle, możemy uruchomić **Menadżer Zadań** (Task Manager) za pomocą skrótu klawiszowego (**Shift-Ctrl-Esc**) i zobaczyć na aktywność Programów (powinniśmy tam zobaczyć program 'Windows10UpgradeApp.exe' lub tak jak powyżej 'Win10Upgrade.exe') oraz ruch w sieci (aktualizacja powinna pobrać kilka GiB danych, więc obciążenie będzie znaczące).

Najlepiej w tym momencie zostawić komputer w spokoju (polecam zlecenie tego na noc). Po poprawnej instalacji otworzy nam się na pełnym ekranie niebieska plansza z umową licencyjną, którą musimy zaakceptować.

[![Tekst Prawny - Windows 10](/images/2020/01/tekst_prawny_windows_10-min.jpg)](/images/2020/01/tekst_prawny_windows_10-min.jpg)

W tym momencie nasz system (o ile wszystko przeszło jak zaplanowane) został zaktualizowany do Windows 10. Pozostanie nam przejście przez kilka standardowych kroków instalacyjnych (co nie powinno nam zająć więcej niż kilka minut) i wszystko powinno być gotowe (w zależności jak szybki jest nasz komputer).

Po tym czasie poleciłbym jeszcze raz uruchomić **[Driver Booster](https://www.iobit.com/pl/driver-booster.php)** w celu zaktualizowania sterowników, ponownie zainstalować program antywirusowy (o ile potrzebujemy, gdyż polecam używanie **[Windows Defender](/moj-antywirus-windows-defender/)** wbudowany w Windows 10) oraz zainstalować programy, które odinstalowaliśmy.

> Jeżeli będziesz instalować drukarkę, którą miałeś w poprzedniej wersji Windows, a odinstalowałeś przed aktualizacją, nie używaj płyty instalacyjnej dostarczonej z urządzeniem, lecz pobierz najnowsze z oficjalnej strony producenta.

* * *

**Kilka ostatnich kroków**

Nim zaczniemy dostosowywać system do naszych potrzeb, warto przywrócić domyślną opcję, którą zmieniliśmy na początku w **PowerShell**, abyśmy mogli rozpocząć proces aktualizacji.

A więc uruchamiamy **PowerShell** z uprawnieniami administratora (jak opisano powyżej) i wprowadzamy poniższą komendę i akceptujemy klawiszem Enter.

```
Set-ExecutionPolicy Restricted
```

Możemy teraz zamknąć **PowerShell** i to by było na tyle.

* * *

Aktualizacja do Windows 10 pozostawia sporo GiB danych z poprzedniego systemu (w przypadku gdy chcielibyśmy wrócić do poprzedniego systemu). Aby się tego pozbyć, zachęcam do przeczytania tego wpisu w pierwszej kolejności (**[Windows 10 - Przyśpieszenie i dostosowanie](/windows-10-przyspieszenie-dostosowanie/)**) - w szczególności część zatytułowaną **[Porządki – usuwanie pozostałości po aktualizacjach](/windows-10-przyspieszenie-dostosowanie/)**.

* * *

**I to by było na tyle.**

Windows jest w pełni aktywowany i może zostać przeinstalowany na tym samym komputerze (i ponownie aktywowany) bez przeszkód.

Oczywiście, jak zepsuje nam się komputer, nie będziemy mogli przenieść licencji na inny (jak w przypadku zakupienia Windowsa w wersji pudełkowej, nie OEM), ale jeżeli płacimy za licencje od £2 do £5, nie powinno to stanowić dużego problemu, porównując do ceny pełnej licencji na sklepowych pułkach.

> Aktualizację do Windows 10 zalecam każdemu, w szczególności z tego faktu, że Windows 7 przestał być oficjalnie wspierany 15 Stycznia 2020 roku.

**Pozdrawiam.**[^1]

[^1]: Credits: [LifeHacker.com](https://lifehacker.com/quickly-upgrade-windows-7-to-windows-10-for-free-with-t-1840843214)



---
## O mnie
- **URL:** https://dariusz.wieckiewicz.org/o/
- **Date:** 2017-08-22


### Content

<!--more-->

<img alt="Dariusz Więckiewicz" src="https://avatars.githubusercontent.com/u/271114" width="260" height="260" class="avatar">

{{< tldr >}}
Zawodowo Menadżer Jakości w [firmie konstrukcyjnej](https://www.andrewsfasteners.uk), magister inżynier (mgr inż). Prywatnie ojciec dwójki, mąż oraz karate-ka 🥋 (ダリユシュ) w [AKASHI](https://www.akashishotokan.co.uk) (3 dan), samouk w tworzeniu stron internetowych, pomocy w zakresie informatyki (IT) oraz bloger. Obywatel brytyjski oraz polski mieszkający na stałe w Leeds, hrabstwie West Yorkshire, Wielka Brytania. Zobacz więcej na [LinkedIn](https://www.linkedin.com/in/wieckiewicz/).
{{< /tldr >}}

## Prywatnie

Urodzony w Polsce, naturalizowany obywatel Wielkiej Brytanii, która stała się moim domem.

Ojciec dwójki dzieci, córki [Anny](https://anna.wieckiewicz.org) oraz syna Edmunda (obdarzonego [specjalnymi umiejętnościami](https://pl.wikipedia.org/wiki/Autyzm)).

Gdy nie pracuję, spędzam czas z rodziną oraz trenuje Shotokan karate w [Akashi Shotokan Karate Association](https://www.akashishotokan.co.uk) (w skrócie, Akashi lub ASKA). Obecnie na poziomie drugiego czarnego pasa (3 dan).

W wolnym czasie pomagam przeróżnym osobą w zakresie informatyki oraz buduję strony internetowe. Jestem entuzjastą statycznych generatorów stron internetowych takich jak [Hugo](https://gohugo.io), gdzie posiadam pełną kontrolę na rzeczami, które tworzę przy użyciu [markdown](/markdown/). 

## Blog

Mój język ojczysty to język polski, dlatego moja [strona główna](/) (bez /en) pisana jest po polsku, jednakże zdecydowałem się również na uruchomienie części mojej strony pisanej [w języku angielskim](/en/).

Jak zauważysz, piszę w bardzo specyficzny sposób. Nie jestem stronniczy, a nim cokolwiek komuś polecę, muszę sam to sprawdzić i zatwierdzić.

W życiu wszystko się zmienia. To, co polecam dzisiaj, nie znaczy że się nie zmieni za kilka lat. Pozostając przy jednym rozwiązaniu, bez spróbowania czegoś nowego się nie rozwijamy.

## Pomoc w zakresie informatyki (IT)

Po mimo że nie posiadam [^1] udokumentowanej wiedzy w zakresie informatyki, duża grupa ludzi, w tym mój pracodawca może sporo powiedzieć na temat moich umiejętności. Pomogłem dużej liczbie osób na przełomie ostatnich dwóch dekad i staram się cały czas rozwijać w zakresie obecnej technologii.

[^1]: Certyfikat ECDL [Europejski Certyfikat Umiejętności Komputerowych]

Wiem, że ludzie cenią sobie udokumentowaną wiedzę, dlatego posiadam:
- Certyfikat ECDL [Europejski Certyfikat Umiejętności Komputerowych] Core (08/2010) obejmujący:
  - Podstawy technik informatycznych i komunikacyjnych
  - Użytkowanie komputerów
  - Przetwarzanie tekstów
  - Arkusze kalkulacyjne
  - Bazy danych
  - Grafika menadżerska i prezentacyjna
  - Przeglądanie stron internetowych i komunikacja

Jestem dobry z systemem Windows, macOS oraz Linux. Z moich przeróżnych wpisów możesz zobaczyć, jak wykorzystuję środowisko linuksa na przeróżnych urządzeniach takich jak routery czy Raspberry Pi. W zależności od tego, co potrzebuję, zawsze jest sposób, aby to osiągnąć. Po prostu musisz lubić co nieco majsterkować, aby stworzyć wspaniałe rzeczy.

Masz problem z komputerem, sprzętem lub oprogramowaniem? Jestem osobą, która może podzielić się sporą częścią wiedzy w tym zakresie zarówno osobiście, jak i zdalnie.

Jako że pochodzę z polskiego środowiska, gdzie pieniądze były (nadal są) nie tak łatwe do zarobienia, lubię wykorzystywać darmowe usługi tak bardzo, jak to możliwe, oraz tak długo, jak się da. To podejście dotyczy również przeróżnego sprzętu. Jeżeli na przykład coś (weźmy dla przykładu laptop) ma już kilka lat i przy lekkim podrasowaniu może służyć kilka kolejnych, więc dlaczego by nie spróbować?

Jeżeli chcesz się ze mną [skontaktować](/kontakt/) i podyskutować, co mogę ci zaoferować, pisz śmiało.

Pamiętaj jednak, że jestem bardzo zajętą osobą. Moja rodzina jest zawsze na pierwszym planie, następnie karate. Po tym wszystkim (oraz zobowiązaniach związanych z pracą zawodową), mogę znaleźć co nieco czasu dla ciebie, więc bądź cierpliwy.

## Tworzenie stron internetowych

Jestem samoukiem w zakresie tworzenia stron internetowych. Rozpocząłem moje doświadczenie pod koniec lat 90. Wówczas tworzyłem strony z wykorzystaniem tak prostych narzędzi, jak notatnik. Używałem również Microsoft FrontPage, co było dużym błędem. Po powrocie do podstaw używałem również rozwiązań do zarządzania treści takich jak WordPress. Strony stworzone po 2006 roku używał tego typu rozwiązanie. W 2021 roku przeniosłem wszystkie (pozostałe pod moim zarządzaniem) strony z WordPress do Hugo, porzucając go raz i na zawsze (i nie żałuję!).

Strony, które aktualnie tworzę lub współpracuję to:
- Mój blog po polsku [dariusz.wieckiewicz.org](/) oraz po angielsku – [dariusz.wieckiewicz.org/en/](/en/)
- Strona mojej córki – [anna.wieckiewicz.org](https://anna.wieckiewicz.org)
- Strona mojego pracodawcy – [www.andrewsfasteners.uk](https://www.andrewsfasteners.uk) – komercyjna
- Moja dobra znajoma, pani pilot, oferująca komercyjne loty balonem – [www.paraplan.com.pl](https://www.paraplan.com.pl) – komercyjna
- [www.turboklinika.com.pl](https://www.turboklinika.com.pl) – komercyjna
- [www.aqua-tech.net.pl](https://www.aqua-tech.net.pl) – komercyjna
- [yummyrecipes.uk](https://yummyrecipes.uk) - osobista

Po mimo że nie posiadam oficjalne rozpoznanych umiejętności w zakresie tworzenia stron internetowych, oprócz stron, które stworzyłem, ciągle doskonale moje umiejętności na przeróżny sposób.

Obecnie uczestniczę w różnych kursach, aby zdobyć dokument potwierdzających, jako że wiem, że jest spora część ludzie, którzy cenią sobie to, gdyż daje im to pewność, nim przekażą swój biznes w cudze ręce.

Moje umiejętności obejmują HTML, CSS, Podstawy JavaScript (potrafię przy pomocy JavaScript zbudować kalkulator oparty o HTML tak jak na przykład [tutaj](https://www.andrewsfasteners.uk/quality/technical-support/bolt-length-hr-calculator/) lub też zmodyfikować te obecnie dostępne w sieci). Potrafię wykorzystać również PHP oraz SQL połączając wszystko razem, tworząc coś użytecznego.

> Na przykład:
>
> Wykorzystując moje umiejętności komputerowe, zbudowałem dla mojego pracodawcy cyfrowe tablice pobierające informacje z bazy danych PostgreSQL, przetwarzając je z wykorzystaniem różnych formuł oraz z użyciem mojej wiedzy z zakresu tworzenia stron internetowych wyświetliłem je, w przejrzysty i czytelny sposób, dla naszych pracowników w magazynie, jak i w biurze sprzedaży. Całość działa na żywo razem z oprogramowaniem firmowym służącym do zarządzania zasobami magazynu oraz sprzedażą.

Mogę nie wiedzieć jak coś zrobić dzisiaj, ale to nie zmienia faktu, że będę chciał się nauczyć jak to zrobić jutro.

Zawsze próbuję stworzyć coś nowego, aby zapewnić ciągły rozwój moich umiejętności w zakresie stron internetowych. Stale pracuję nad polepszeniem mojej, jak i innych, strony internetowej wprowadzając najnowsze dostępne rozwiązania.

Jesteś zainteresowany stworzeniem strony internetowej? [Skontaktuj się](/kontakt/) ze mną, aby podyskutować co mogę ci zaoferować.

## Zastrzeżenie

### Zawodowe

Co najmniej raz w tygodniu dostaję e-mail z LinkedIn (lub innej sieci społecznościowej), informujący mnie, że ktoś chce dodać mnie do swoich kontaktów, listy znajomych lub sieci społecznościowej.

Jestem otwarty na współpracę w zakresie informatyki oraz tworzenia stron internetowych. Jeżeli masz problem z komputerem, oprogramowaniem lub sprzętem, mogę zaoferować ci pomocną dłoń, jednakże odpowiedź na powyższy paragraf jest **nie**, oto dlaczego.

Jeżeli ciebie nie znam, nie wymieniłem z tobą, chociażby jednego słowa, nie wysyłaj mi zaproszenia do listy znajomych. Najpierw spróbuj skontaktować się ze mną w inny sposób, a dopiero wtedy zobaczymy, jak to wszystko się potoczy.

Większość powyższych prób otrzymuję z firm tworzących śruby lub też tych, którzy chcą je sprzedać. Do tej grupy mogę dodać również wszelkiego rodzaju firmy reklamowe oraz rekrutacyjne, które chcą zaoferować usługi dla mojego pracodawcy, co nie ma nic związanego ze mną osobiście.

Ponieważ jestem menadżerem jakości w firmie konstrukcyjnej, to nie znaczy, że chcę mieć w znajomych "wszystkich" z branży. W mojej firmie są osoby, które zajmują się różnymi aspektami, więc lepiej skontaktować się z nimi.

**Jeżeli nadal czytasz tą stronę, nie próbuj skontaktować się ze mną, tylko po to aby sprzedać coś mojemu pracodawcy**.

### W odniesieniu do mojego bloga

Jeżeli zdecydujesz się skrytykować moje pisanie lub mnie osobiście, **daruj sobie**, chyba że twoja krytyka jest konstruktywna i oparta o tekst, który napisałem. Jestem otwarty na dyskusję oraz współpracę. Użyj sekcję komentarzy zlokalizowaną pod każdym wpisem, jeśli chcesz dodać twoje 3 grosze do dyskusji.

---

Czytasz po angielsku? [Odwiedź moją anglojęzyczną stronę](/en/).



---
## Jak uruchomić aplikację od niezidentyfikowanego (niezweryfikowanego) autora na macOS
- **URL:** https://dariusz.wieckiewicz.org/uruchomic-aplikacje-niezidentyfikowanego-autora-macos/
- **Date:** 2017-08-11
- **Tags:** Mac, App Store, macOS, plik dmg, Big Sur, Monterey, unidentified developer, developer cannot be verified, macOS cannot verify the developer

### Content

**macOS**, tak jak Windows, nie ogranicza się do instalacji aplikacji tylko z **App Store** (Windows Store w Windows). O ile _App Store_ jest pierwszym źródłem poszukiwania programów dla naszego komputera, niektóre programy dostępne są do pobrania tylko ze strony ich twórców (lub też z GitHub), w sposób tradycyjny jako **plik .dmg** (lub **.pkg**).

<!--more-->

Podobnie jak jest to już zaimplementowane w Windows, macOS sprawdza pobrane aplikacje spoza App Store pod kątem pochodzenia, oraz to, czy są one podpisane prawidłowym podpisem cyfrowym.

Niektórzy twórcy, ze względu na ograniczony budżet nie umieszczają swoich aplikacji w App Store, lub też nie chcą bawić się w podpis cyfrowy, zatwierdzony przez Apple, gdyż wszystko kosztuje. Dla twórcy aplikacji, którą udostępniona jest za darmo, nawet te $99 rocznie to nie lada suma, szczególnie gdy tworzy ją jako hobby, a nie sposób na życie.

{{% gallery %}}
[![Niezidentyfikowany autor w macOS Big Sur](cannot_be_opened_notice_mac.png "Niezidentyfikowany autor w macOS Big Sur")](cannot_be_opened_notice_mac.png)
[![Niezweryfikowany autor w macOS Monterey](cannot_be_opened_because_the_developer_cannot_be_verified.png "Niezweryfikowany autor w macOS Monterey")](cannot_be_opened_because_the_developer_cannot_be_verified.png)
[![Niezweryfikowany autor w macOS Sequoia](Not_Opened_macOS_Sequoia.png "Niezweryfikowany autor w macOS Sequoia")](Not_Opened_macOS_Sequoia.png)
{{% /gallery %}}

Wówczas, gdy **pobieramy** aplikację, **odpalamy** plik .dmg, **przeciągamy** przygotowany plik do naszego folderu z Aplikacjami, to przy pierwszym uruchomianiu mamy problem. System macOS, ze względów bezpieczeństwa, nie pozwoli na jej uruchomienie. O ile jest to dobre rozwiązanie, o tyle, jeżeli wiemy, skąd pochodzi dany program (zaufane źródło), nadal chcemy go uruchomić, a nie możemy.

## Po pierwsze

Najpierw musimy włączyć możliwość uruchomienia aplikacji od **zidentyfikowanych autorów (twórców)**. Tak, dobrze zrozumiałeś — **zidentyfikowanych**.

Tak jak wspomniałem powyżej, aplikacje mogą być, ale nie muszą podpisane z certyfikatem zaufanym. Najlepiej włączyć tę opcję w pierwszej kolejności, a następnie, jeżeli mamy dalej problemy przejść do następnego kroku.

Aby włączyć możliwość instalacji aplikacji od **zidentyfikowanych autorów**, przechodzimy do **Preferencji systemowych** (System Preferences) > **Prywatność i Ochrona** (Privacy & Security).

{{% gallery %}}
[![Privacy & Security — macOS Big Sur](security_privacy_mac.png "Privacy & Security — macOS Big Sur")](security_privacy_mac.png)
[![Privacy & Security — macOS Sequoia](security_privacy_macOS_Sequoia.png "Privacy & Security — macOS Sequoia")](security_privacy_macOS_Sequoia.png)
{{% /gallery %}}

Tam, po odblokowaniu możliwości dokonania zmian (kłódka w lewym dolnym rogu w starszych wersjach macOS), zmieniamy **Zezwalaj na aplikacje z** (Allow applications from), na **App Store i od zidentyfikowanych autorów (twórców)** (App Store & Known Developers).

## Po drugie

> W przypadku macOS Sequoia to podejście nie będzie działać — [czytaj dalej](#macos-sequoia).

Gdy system nadal twierdzi, że pobrana przez nas aplikacja jest od **niezidentyfikowanego autora** (lub niezweryfikowanego, w macOS Monterey), a ustawienia systemowe zezwalają tylko na uruchomienie aplikacji z **App Store i od zidentyfikowanych autorów**, nic straconego, chociaż musimy wykonać dwa-trzy kliknięcia więcej.

Musimy **otworzyć nasz folder z Aplikacjami**.

[![applications folder](applications_folder_mac.png)](applications_folder_mac.png)

*   W nowym oknie **Findera**, z lewego menu wybieramy folder **Aplikacje** (do tego folderu przenieśliśmy aplikację z pliku .dmg).
*   Odszukujemy nasz program (w tym przykładzie **Epichrome**) i klikamy na niego **prawym przyciskiem myszy/touchpada** (oczywiście, musimy mieć uruchomiony w systemie prawy przycisk — _Preferencje Systemowe > Gładzik > Dodatkowe kliknięcie_).

[![secondary click trackpad](right_click_open_mac.png)](right_click_open_mac.png)

*   Wybieramy opcję **Otwórz**.
    *   Otóż, jak klikaliśmy normalnie na naszą aplikację, nie mieliśmy żadnego innego przycisku oprócz **Anuluj**, tym razem mamy również przycisk **Otwórz**.

{{% gallery %}}
[![Unidentified Developer Open Nutton](cannot_be_opened_notice_open_button_mac.png "Niezidentyfikowany autor w macOS Big Sur z przyciskiem Otwórz")](cannot_be_opened_notice_open_button_mac.png)
[![macOS cannot verify the developer Open Button](macOS_cannot_verify_the_developer_open_it.png "Niezweryfikowany autor w macOS Monterey z przyciskiem Otwórz")](macOS_cannot_verify_the_developer_open_it.png)
{{% /gallery %}}

*   I tyle. Nasza aplikacja powinna się otworzyć.
    *   A co jest najlepsze w tym wszystkim, powyższe czynności wykonujemy tylko raz, gdyż później, normalne kliknięcie w daną aplikację otworzy ją bez zbędnego komunikatu i ostrzeżenia.

{{% ads-in-article %}}

### macOS Big Sur

> 14 Listopada 2020

A **macOS Big Sur** sprawdzanie aplikacji odbywa się jeszcze przed odpaleniem pliku DMG. Jeżeli nasz system nie jest w stanie zweryfikować autora aplikacji ani przeskanować jej na tym etapie pod kątem złośliwego oprogramowania, próba otwarcia zakończy się niepowodzeniem.

[![macOS Big Sur Otwarcie pliku DMG](macOS_Big_Sur_Open_DMG_file.png)](macOS_Big_Sur_Open_DMG_file.png)

Tutaj ponownie, prawym przyciskiem myszy lub na gładziku klikamy na naszym pliku DMG i wybieramy opcję **Otwórz** (_Open_), po czym zobaczymy podobne ostrzeżenie z dodatkowym przyciskiem, aby otworzyć nasz plik.

[![macOS Big Sur Otwarcie pliku DMG poprzez opcję Otwórz](macOS_Big_Sur_Open_DMG_file_right_click_Open.png)](macOS_Big_Sur_Open_DMG_file_right_click_Open.png)

Po odpaleniu naszego pliku DMG i przeciągnięciu do folderu **Aplikacje**, przy próbie jego otworzenia natrafimy na kolejne ostrzeżenie. Z dostępnych opcji mamy możliwość przeniesienia aplikacji do kosza lub anulowanie uruchomienia.

[![macOS Big Sur Otwarcie aplikacji](macOS_Big_Sur_Open_App.png)](macOS_Big_Sur_Open_App.png)

Podobnie jak wcześniej, jeżeli otworzymy nasz folder **Aplikacje** w nowym oknie Findera i klikniemy prawym przyciskiem myszy na naszym programie, po czym wybierzemy **Otwórz** (_Open_), będziemy mieli dodatkową opcję pozwalającą nam na uruchomienie programu.

[![macOS Big Sur Otwarcie aplikacji poprzez opcję Otwórz](macOS_Big_Sur_Open_App_right_click_Open.png)](macOS_Big_Sur_Open_App_right_click_Open.png)

Oczywiście, wszystko wykonujemy na własne ryzyko, gdyż tego typu zabezpieczenia wprowadzone zostały w celu ochrony użytkowników przed potencjalnie szkodliwym oprogramowaniem. Jeżeli jednak jesteśmy pewni pochodzenia programu, wówczas wystarczy kliknąć przycisk Otwórz (Open) i gotowe.

{{% ads-in-article %}}

### macOS Monterey

> 3 Marca 2022

Oprócz powyższych, analogicznych kroków w macOS Monterey, jeżeli nasza aplikacja została zablokowana w związku z brakiem możliwości zweryfikowania jego twórcy, z poziomu **Prywatność i Ochrona** (Privacy & Security) powinniśmy mieć zapytanie, czy chcemy zezwolić na otwarcie aplikacji mimo to (Open Anyway).

[![Security & Privacy, Open Anyway, Warning before Opening](security_and_privacy_open_anyway.png)](security_and_privacy_open_anyway.png)

Po dodatkowym ostrzeżeniu potwierdzamy, że tak, chcemy uruchomić naszą aplikację (**Open**).

[![macOS cannot verify the developer Open Button](macOS_cannot_verify_the_developer_open_it.png)](macOS_cannot_verify_the_developer_open_it.png)

I tak nasza aplikacja powinna uruchomić się bez problemu teraz, jak i przy kolejnym uruchomieniu.

{{% ads-in-article %}}

### macOS Sequoia

> 22 Października 2024

Kolejna wersja macOS, **Sequoia**, usunęła ostatecznie możliwość kliknięcia prawym przyciskiem myszy w celu uruchomienia niezweryfikowanej aplikacji od niezidentyfikowanego autora.

[![Niezweryfikowany autor w macOS Sequoia](Not_Opened_macOS_Sequoia.png "Niezweryfikowany autor w macOS Sequoia")](Not_Opened_macOS_Sequoia.png)

Jedyną opcję, jaką będziemy mieli przy próbie uruchomienia to potwierdzenie (**Done**) lub usunięcie do kosza (**Move to Bin**).

[![Privacy & Security — macOS Sequoia](security_privacy_macOS_Sequoia.png "Privacy & Security — macOS Sequoia")](security_privacy_macOS_Sequoia.png)

Ponownie musimy przejść do sekcji **Prywatność i Ochrona** (Privacy & Security) w ustawieniach systemu (Settings) gdzie będziemy mogli kliknąć przycisk **Open Anyway**, aby otworzyć bez sprawdzania, czy aplikacja jest wolna od szkodliwego oprogramowania.

Wówczas otrzymamy kolejny dialog, na którym ponownie wybieramy **Open Anyway**, aby otworzyć naszą aplikację.

[![macOS Sequoia — Open App Anyway](macOS_Sequoia_Open_Anyway.png)](macOS_Sequoia_Open_Anyway.png)

> Jeżeli mamy ustawiony TouchID, będziemy musieli jeszcze potwierdzić naszą czynność odciskiem palca, lub gdy nie posiadamy takowego, hasłem.

Takim sposobem możemy ominąć zabezpieczenia systemu i uruchomić naszą aplikację.

**Pozdrawiam.**


---
## Windows 10 i problem z aktualizacjami (0x8024001e)
- **URL:** https://dariusz.wieckiewicz.org/windows-10-problem-z-aktualizacjami-0x8024001e/
- **Date:** 2017-08-11
- **Tags:** Windows, 0x8024001e, Aktualizacje Windows, błąd 0x8024001e, błąd usługi Windows Update, Creators Update, DataStore, Problem, Rozwiązywanie problemów, SoftwareDistribution, usługa Windows Update, Windows 10, Windows Update, wu_scripts, wuauserv

### Content

O ile **Windows 10** jest o niebo lepszy od swoich poprzedników, o tyle nęka go cały czas ta sama choroba co poprzednie edycje - **problem z aktualizacjami**.

Czasami nie chcą się one pobrać, a gdy się pobiorą, podczas instalacji wyrzucają błąd (chociażby **0x8024001e**), lub też instalują się w kółko przy każdym uruchomieniu komputera i zawsze wywalają błąd.

<!--more-->

Rozwiązań na tą bolączkę można znaleźć w Google multum. Ja jednakże polecam zacząć od postaw (czyli wyczyścić usługę Windows Update), a dopiero, jak to nie pomoże, szukać dalej i próbować przeróżne inne metody.

**Otóż, w skrócie należało by:**

1.  Wyłączyć automatyczne aktualizacje (usługę)
2.  Usunąć pliki tymczasowe pobrane przez Windows Update (SoftwareDistribution)
3.  Włączyć ponownie automatyczne aktualizacje
4.  Wymusić wyszukanie aktualizacji oraz rozpoczęcie instalacji (lub powiadomnienie o dostępnych aktualnizacjach).

Otóż, te wszystkie kroki można wykonać jednym Plikiem BAT **uruchomionym jako Administrator.**

[![right click](/images/2017/08/right_click_run_as_administrator-min.png)](/images/2017/08/right_click_run_as_administrator-min.png)

W skrócie **Plik BAT** zawiera powyższe punkty w sposób następujący:

```
net stop wuauserv
del /f /s /q C:\Windows\SoftwareDistribution\DataStore\*.*
del /f /s /q C:\Windows\SoftwareDistribution\Download\*.*
net start wuauserv
wuauclt /detectnow /reportnow
```

Aby wszystko uprościć, **pobieramy** przygotowany plik [**wu_scripts**](/pobierz/wu_scripts.7z).

Po pobraniu, **rozpakowujemy plik na pulpit** i uruchamiamy plik **repair_wu.bat**.

> Należy pamiętać, że nie klikamy dwa razy na powyższy plik aby go uruchomić, bo nic się nie stanie lub ujżymy informację typu **Access Denied**. Należy natomiast kliknąć na pliku **prawym przyciskiem myszy/touchpada** a następnie wybrać opcję **Uruchom jako Administrator**. Wówczas komenda zacznie robić swoje.

[![repair_wu_user](/images/2017/08/repair_wu_user-min.png)](/images/2017/08/repair_wu_user-min.png)

[![repair_wu_admin](/images/2017/08/repair_wu_administrator-min.png)](/images/2017/08/repair_wu_administrator-min.png)


Oprócz powyższej komendy (**repair_wu.bat**), znajdziemy również pliki pośrednie, które możemy wykorzystać do innych celów tj. **stop_wu.bat** (do wyłączenia usługi Windows Update), **start_wu.bat** (analogicznie, do włączenia) oraz **check_updates_now_wu.bat** (do sprawdzenia i rozpoczęcia instalacji - lub powiadomienia o dostępności - najnowszych dostępnych aktualizacji).

[![windows update up to date](/images/2017/08/your-device-is-up-to-date-min.png)](/images/2017/08/your-device-is-up-to-date-min.png)

**Nie muszę chyba przypominać, że Windows'y zawsze należy mieć zaktualizowane.**

Pozdrawiam

{{% ads-in-article %}}


---
## Darmowa kompresja plików PDF na MacOS
- **URL:** https://dariusz.wieckiewicz.org/darmowa-kompresja-plikow-pdf-na-macos/
- **Date:** 2017-06-06
- **Tags:** Mac, bash, ghostscript, homebrew, kompresja, macports, pdf, pdf/a, terminal

### Content

Format PDF, tak jak złącze USB, zrewolucjonizował pracę na każdym szczeblu infrastruktury IT.

O ile pliki PDF są dobre do przechowywania dokumentów, szczególnie skanowanych, o tyle problem narasta, gdy zaczynają one zajmować coraz to więcej miejsca.

<!--more-->

Jeżeli posiadamy dobry skaner oraz oprogramowanie, które wygeneruje plik PDF w rozdzielczości 600dpi zajmujący 200-300kb, nie mamy się co martwić. Niestety, nie wszystkie sprzęty i oprogramowanie poprawnie "kompresuje" pliki PDF z zachowaniem koniecznych detali, umożliwiających późniejszy wydruk.

Jako, że na codzień skanuję dokumenty używając [Samsung SCX-5835NX](http://www.samsung.com/pl/business/business-products/printers-multifunction/mono-multi-function-printers/SCX-5835NX/SEE) w rozdzielczości 300dpi z poziomu urządzenia, jedna kartka A4 może zajmować nawet 1MB.

W poszukiwaniu dobrego oprogramowania do kompresji, przejrzałem uch całe multum, od darmowych do płatnych. Niestety, żadne nie spełniło moich oczekiwań i postanowiłem spróbować innego podejścia do kompresji plików.

## Terminal i Ghostscript

Po pierwsze - **terminal**

Wiem, że nie jest to najwygodniejsza metoda, gdyż każdy wolał bym metodę przeciągnij i upuść, jednakże, za tzw. **GUI** (Graphic User Interface) trzeba zapłacić lub jak nie jest dostępne, należy zrobić samemu, a do tego celu należy mieć nieco zdolności programistycznych.

Po drugie - **Ghostscript**

Ghostscript jest potężnym narzędziem do renderowania plików - w tym kompresji. Więcej o samym Ghostscript możecie poczytać [tutaj](https://pl.wikipedia.org/wiki/Ghostscript).

Jako, że pakiet Ghostscript nie jest domyślnie dostępny na MacOS (jak i inne systemy), należy go doinstalować. O ile osoby obcujące z linuksem nie widziały by tutaj problemu, o tyle MacOS idąc w kierunku postawowego użytkownika, usunął zaawansowane opcje, które mogą doprowadzić do dużego zamętu w systemie.

Tutaj przychodzi z pomocą [Homebrew](https://brew.sh) lub [MacPorts](https://www.macports.org). Jako, że homebrew wybrałem jako pierwszy i przypadł mi do gustu, drugiej opcji już nie próbowałem.

## Homebrew

A więc _"nawarzmy sobie piwa"_.

Instalacja homebrew jest dziecinnie prosta. Przechodzimy na [stronę główną](https://brew.sh/index_pl.html) i wykonujemy jedną opcję w terminalu.

Następnie, aby zainstalować jakiś pakiet, wydajemy komendę:

```
brew install {nazwa pakietu}
```

Zupełnie jak **apt-get** w linuksie. Bułka z masłem.

No to jedziemy z **Ghostscript**:

```
brew install ghostscript
```

## Kompresja plików PDF

Mając zainstalowany Ghostscript w systemie, należy dodać do systemu odpowiednią opcję, którą będziemy kompresować nasze pliki.

Jako, że Ghostscript posiada multum opcji do wyboru, ja skupiłem się na następujących rzeczach:

**1)** Plik skompresowany posiada taką samą nazwę jak plik przed kompresją, z dodanym elementem "+compressed.pdf". Dzięki temu unikam konieczności wybrania pliku wejściowego i deklarowania pliku wyjściowego. Im prostsza komenda, tym lepiej, szybciej i bez problemów.

**2)** Moje pliki PDF służą do archiwizacji papierowych wersji dokumentów. W tym calu wybrałem format PDF służący do archiwizacji - [PDF/A](https://pl.wikipedia.org/wiki/PDF/A) w wersji 3, zgodnie ze standardem ISO 19005-3 (bazujący na PDF 1.7 ISO 32000-1:2008).

**3)** W zależności od stopnia kompresji, otrzymamy mniejszy, lub większy plik który różni się jakością. Dla moich potrzeb wybrałem opcję kompresji **printer** pozwalającą na późniejszy wydruk pliku bez większej utraty jakości i detali. Dostępne są również opcje **screen** (do wyświetlania PDF na ekranie monitora), **ebook** (dla czytników), oraz najmniej skompresowana wersja **prepress** (służąca głównie do druków profesjonalnych). Oczywiście, możecie wybrać opcję pasującą wam najlepiej.

Kod kształtuje się następująco:

```bash
cpdf [plik wejsciowy] cpdf() { gs -sDEVICE=pdfwrite -dPDFA=3 -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/${3:-"printer"} -sOutputFile="$1"+"compressed.pdf" "$1" }
```

Powyższą komendę należy dodać do naszego pliku `.bash_profile` (z kropką z przodu) znajdującego się w naszym katalogu domowym

```
nano .bash_profile
```

Aby komenda **cpdf** była widziana w systemie po dodaniu do powyższego pliku, należy odświeżyć plik w systemie następującą komendą

```
. .bash_profile
```

Następnie, aby skompresować plik, wydajemy komendę:

```
cpdf "nasz plik.pdf"
```

Pamiętając o symbolu ( **"** ) przed i na końcu nazwy pliku. będąc w katalogu, w którym znajduje się nasz plik.

{{% ads-in-article %}}

### Przykład

```
cd ~/Desktop/ cpdf "nasz plik.pdf"
```

I tak otrzymujemy **nasz plik.pdf+compressed.pdf**, który zajmuje znacznie mniej miejsca.

### Do zrobienia

Oczywiście, można by było usunąć dodatkowy przedrostek **.pdf** z nazwy pliku, jak również dodać skrypt do **Automator**'a, aby pozbyć się terminala i wykonać opcję z poziomy prawego przyciska myszy, oraz zrobić **hurtową kompresję**. To moje zadanie na później. Puki co, wszystko działa i spełnia moje oczekiwania.

Pozdrawiam.


---
## Certyfikat SSL dla twojej strony WWW
- **URL:** https://dariusz.wieckiewicz.org/certyfikat-ssl-dla-twojej-strony-www/
- **Date:** 2017-03-01
- **Tags:** Artykuły, Wordpress, Better Search Replace, Bing Webmaster Tools, cache, CCleaner, certyfikat SSL, CloudBlead, Cloudflare, DirectAdmin, dns, domenomania.pl, freedns.42.pl, Google Analytics, Google Search Console, https, nameservers, Origin Certificate, Page rules, Private Key, SEO, SSL, wordpress, Yandex Webmaster, za darmo, zielona kłódka

### Content

## Pora na Certyfikat SSL dla twojej strony internetowej!

Dużo się ostatnio mówi o zabezpieczeniu stron WWW **certyfikatem SSL** - czyli tzw. **zieloną kłódką**. O ile sam pomysł jest wysoce wskazany, nie tylko ze względu na bezpieczeństwo ale również ze względu na pozycjonowanie (SEO), to wiele stron, tworząc artykułu na ten temat odwołuje się przede wszystkim do **płatnych rozwiązań**, podczas gdy istnieją **bardzo dobre darmowe rozwiązania**.

Jeżeli masz małą stronę prywatną, firmową, rozpoczynasz sprzedaż przez internet za pomocą twojej strony, mam dla ciebie jedną radę. Nie marnuj pieniędzy - **nie kupuj certyfikatu SSL zanim nie spróbujesz darmowych opcji**. Jeżeli na końcu uznasz, że potrzebujesz czegoś lepszego, wówczas inwestycja będzie wysoce wskazana.

<!--more-->

Przez cały rok 2016 wdrażałem aktywnie oraz przede wszystkim testowałem w praktyce działanie stron poprzez HTTPS (SSL) przy pomocy rozwiązania, które **nie kosztowało mnie nic** (darmowy Certyfikat SSL). Strony, którymi zarządzam lub pomagam w zarządzaniu zorientowane są na sprzedaży swoich usług, które z reguły nie pasują się w schemat typu “Kup Teraz > Zapłać > Oczekuj na dostawę”.

I tak, w 2016, wszystkie moje strony, gdy się je odwiedza, są serwowane ściśle przez **HTTPS (SSL)** lub jak zwał, tak zwał… **zieloną kłódeczkę**.

Każda wizyta na stronie kierowana jest przez bezpieczne połączenie SSL, zabezpieczone za równo **po stronie domeny** jak i **konta hostingowego**.

W rezultacie, cały ruch jest na tyle bezpieczny, na ile może być z tego typu rozwiązaniem.

**A więc, dlaczego by nie spróbować tego na twojej stronie WWW przed wydaniem pieniędzy na coś, co nie wiemy czy nam się zwróci?**

Mam nadzieje, że powyższy wstęp cię zainteresował i jesteś ty, jak i twoja strona gotowa na zmiany szykujące się w rok 2017, w którym to roku, strony serwowane przez HTTPS (SSL), będą **(zobaczymy!)** traktowane bardziej priorytetowo od tych, serwowanych w mniej bezpieczny sposób, jak to miało miejsce do tej pory.

Nim zaczniemy, jest jedna wada rozwiązania serwowania strony ściśle przez SSL (ściśle, czyli żaden ruch nie jest serwowany przez HTTP, natomiast jest przekierowywany na HTTPS). Jeżeli jakiś kraj narzuca cenzurę na obywateli i podsłuchuje ich na każdym kroku **(sic!)**, czasem możliwe jest, że tego typu strony są po prostu **niedostępne**, z prostego względu - **SSL blokuje poniekąd możliwość permanentnej inwigilacji**. Ma to miejsce przede wszystkim w krajach komunistycznych oraz m.in. Chinach. Mam tylko nadzieje, że **“mądrzy”** politycy u władzy w Polsce nie zastosują tego typu **“inwigilacji Macierewicza”** i nie będziemy kolejnym zacofanym krajem w środku Europy.

**A więc zacznijmy.**

Moje rozwiązanie, na którym bazuję to przede wszystkim [**Cloudflare**](https://www.cloudflare.com) oraz koncie hostingowym z **DirectAdmin**, które możecie [kupić tutaj](https://nazwa.pl).

Dodatkowo, poniższe działania **wymagają co nieco wiedzy** związanej z hostingiem, domenami, DNS’ami oraz certyfikatami SSL.

> Dużo się w ostatnich dniach mówi o Cloudflare ze względu na wyciek danych (tzw. CloudBlead). Niestety, serwując 5 milionów stron, może się zdażyć nawet najlepszym prosty błąd w kodzie, który spowoduje że 150 stron będzie indeksowana w wyszukiwarkach tj. Google zawierając dane, które nigdy nie powinny się tam znaleźć.
>
> Więcej o CloudBlead możesz poczytać [tutaj](https://en.wikipedia.org/wiki/Cloudbleed).
>
> Nie polecam czytania polskich tłumaczeń, gdyż są one z reguły bardzo stronnicze i polecam odwołanie do źródła - chociażby [na blogu Cloudflare](https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/).

Na wstępie musimy [**założyć konto na Cloudflare**](https://www.cloudflare.com/a/sign-up) i **dodać naszą domenę** (którą musimy już posiadać). Domenę możecie kupić [**tutaj**](https://dhosting.pl), będąc w Polsce, lub [**tutaj**](https://www.names.co.uk), będąc w Wielkiej Brytanii.

Podczas dodawania domeny, Cloudflare przeszuka dotychczasowe **wpisy DNS** związane z aktualnym wskazaniem na adres IP serwera ze stroną, serwerami poczty MX itp. Po zakończeniu **wstępnego dodawania**, należy przejrzeć bierzące ustawienia i poprawić/dodać brakujące elementy. Czasami wpisy **TXT** się nie przeniosą, więc należy dodać je z konfiguracji DNS dla domeny u naszego aktualnego operatora.

![add website](/images/2017/02/add-website.png)
![add website scanning](/images/2017/02/add-website-scanning.png)
![add website scan complete](/images/2017/02/add-website-scan-complete.png)
![add website verify your dns records](/images/2017/02/add-website-verify-your-dns-records.png)

Dalej mamy do wyboru **Plan**, który zawiera również **opcję darmową**, którą **wybieramy**.

Ostatnim krokiem jest **przekierowanie naszej domeny** na nowe serwery nazw, tzw. **Namservers**.

![add website select plan](/images/2017/02/add-website-select-plan.png)
![add website change nameservers](/images/2017/02/add-website-change-nemeservers.png)

Od dej pory, wszelkie zmiany w **ustawieniach DNS** będzie dokonywać się **z poziomu Cloudflare**. Jest to konkurencyjne rozwiązanie do naszego rodzimego, darmowego rozwiązania **[freedns.42.pl](https://freedns.42.pl)**. Dodatkowo, aktualizacja wpisów DNS trwa znacznie szybciej pomiędzy dużymi serwerami nazw (tj. Google, 8.8.8.8) a niżeli przy zastosowaniu innego rozwiązania.

Na początku nasza domena będzie ze statusem **Pending** (Oczekującym) do momentu, aż zmiany w serwerach nazw, DNS dla domeny zostaną rozpropagowane na światowych serwerach nazw.

W momencie, gdy domena pomyślnie przeniesiona, jeżeli chodzi o serwer nazw do Cloudflare, nasza usługa będzie **Active** (aktywna).

![add website status pending](/images/2017/02/add-website-status-pending.png)
![add website active](/images/2017/02/add-website-active.png)

Jeżeli poprawnie ustawiliśmy wpisy DNS dla domeny, wówczas możemy nawet nie zauważyć żadnej zmiany w funkcjonowaniu poszczególnych elementów wpisów DNS a co za tym idzie domeny, strony WWW, poczty w domenie itp.

**Cloudflare to nie tylko Certyfikat SSL**. SSL to po niekąd **usługa dodatkowa**. Cloudflare służy przede wszystkim do buforowania ruchu do strony oraz samej strony (tzw. cache). Powoduje to, że strona, poczas wizyty przez odwiedzającego serwowana jest ze znacznie szybszych serwerów - szczególnie, gdy treść nie zmieniła się w stosunku z tą, dostępną na właściwym koncie hostingowym.

Dodatkowo, **Cloudflare ma również dużo innych opcji**, o których należy po prostu poczytać. Nie będę ich tutaj omawiał, ale jeśli masz jakieś pytanie, możesz śmiało wysłać do mnie maila.

Cloudflare pozwala wybrać, **które wpisy DNS** mają być serwowane przez ich serwer buforujący, a które nie. Wpisy, które chcemy aby były objęte certyfikatem SSL **muszą** być serwowane przez Cloudflare i ustawienie DNS musi być z tzw. “chmurką”.

![dns setting cloud](/images/2017/02/dns-setting-cloud.png)

Następnie co nas interesuje to zakładka **Crypto**.

![cloudflare menu bar crypto](/images/2017/02/cloudflare-menu-bar-crypto.png)

W polu **SSL** mamy do wyboru kilka rozwiązań. Domyślnie Cloudflare serwuje stronę przez **SSL** w trybie **Flexible** (elastycznym).

Ruch kierowany od odwiedzającego do twojej domeny przez HTTPS (ale nie HTTP), kierowany jest na serwer Cloudflare. Tam **“zakładana jest kłódeczka”** i dalej serwowana do odwiedzającego w postaci zaszyfrowanej - zawierającej Certyfikat SSL.

Czasami, to rozwiązanie nie jest idealne, jeżeli Cloudflare nie posiada zbuforowanej strony, wówczas kieruje ruch bezpośrednio do serwera i Certyfikat SSL (“kłódeczka”) żądany jest ze strony konta hostingowego - gdzie nie zawsze może to być ustawione, lub być użyty samo-podpisywalny certyfikat powodujący wyświetlenie ostrzeżenia w przeglądarce.

O ile to rozwiązanie jest dobre, **Full** - lub w moim przypadku **Full (Strict)**, jest o wiele leprze.

![cloudflare crypto flexible](/images/2017/02/cloudflare-crypto-flexible.png)
![cloudflare crypto ssl list](/images/2017/02/cloudflare-crypto-ssl-list.png)
![cloudflare crypto full strict](/images/2017/02/cloudflare-crypto-full-strict.png)

W przypadku **Full (strict)**, certyfikat serwowany przez Cloudflare dodany jest również na serwerze / na koncie hostingowym. Dzięki temu, zarówno Cloudflare jak i serwer może zweryfikować ruch z prawidłowym certyfikatem bez niepotrzebnych ostrzeżeń.

Opcja **Full (strict)** jednocześnie sprawdza, czy certyfikat serwowany przez Cloudflare jest zgodny z certyfikatem na koncie hostingowym. Oba muszą pasować do siebie, aby wszystko działało, dlatego dalej pokażę jak to zrobić.

![cloudflare flexible full strict differences](/images/2017/02/cloudflare-flexible-full-stict-differences.png)

Po pierwsze w zakładce **Crypto** > **SSL** wybieramy **Full (Strict).**

Może to chwilowo **"popsuć"** ruch do naszej strony poprzez HTTPS. Ruch HTTP pozostanie bez zmian (o ile wasza strona jest serwowana przez HTTP).

Następnie potrzebujemy **Origin Certificate** - czyli certyfikat, który będzie serwowany po stronie serwera / konta hostingowego. Certyfikat ten należy utworzyć.

**Crypto** > **Origin Certificate** > **Create certificate**

Pozostawiając domyślnie wybrane opcje, upewniamy się, że nasz certyfikat będzie zawierał naszą **główną domenę** (bez WWW itp.jpg) oraz **tzw. Wildcard**, czyli wszystko, co znajdzie się przed (tj. WWW).

Ważność certyfikatu **15 lat**, aby nie zawracać sobie tym głowy.

{{% ads-in-article %}}

Po czym przechodzimy dalej (**Next**).

![cloudflare crypto origin certificate](/images/2017/02/cloudflare-crypto-origin-certificate.png)
![cloudflare crypto origin certificate create](/images/2017/02/cloudflare-crypto-origin-certificate-create.png)
![cloudflare crypto origin certificate create 2](/images/2017/02/cloudflare-crypto-origin-certificate-create-2.png)
![cloudflare crypto origin certificate error safari](/images/2017/02/cloudflare-crypto-origin-certificate-error-safari.png)

Na następnej stronie kreatora otrzymamy **certyfikat** (Origin Certificate) oraz **klucz prywatny** (Private key).

![cloudflare crypto origin certificate pem](/images/2017/02/cloudflare-crypto-origin-certificate-pem.png)
![cloudflare crypto origin certificate pem2](/images/2017/02/cloudflare-crypto-origin-certificate-pem2.png)
![cloudflare crypto origin certificate private key](/images/2017/02/cloudflare-crypto-origin-certificate-private-key.png)

**Kopiujemy oba, certyfikat i klucz do notatnika, jeden pod drugim.**

Następnie pora na ustawienie certyfikatu na naszym koncie hostingowym.

Logujemy się do naszego konta hostingowego z dostępem do panelu **DirectAdmin**.

Wybieramy naszą domenę (jeżeli mamy więcej niż jedną).

Następnie przechodzimy do **Opcji Zaawansowanych** (na samym dole) > **Certyfikat SSL**.

![directadmin](/images/2017/02/directadmin.png)
![directadmin select domain](/images/2017/02/directadmin-select-domain.png)
![directadmin main screen](/images/2017/02/directadmin-main-screen.png)
![directadmin opcje zaawansowane certyfikat ssl](/images/2017/02/directadmin-opcje-zaawansowane-certyfkat-ssl.png)

Tutaj będziemy mieli kilka opcji do wyboru.

Domyślnie będzie wybrany **certyfikat serwera** (Używaj certyfikatu serwera), ale nas interesuje opcja “Wklej wstępnie wygenerowany certyfikat i klucz”.

W puste pole wklejamy wcześniej skopiowany do notatnika **Certyfikat SSL i klucz prywatny** po czym wybieramy opcję **Zapisz**.

I tak, nasz serwer będzie serwował certyfikat dla ruchu HTTPS zgodny z Cloudflare.

![directadmin certyfikat ssl default](/images/2017/02/directadmin-certyfikat-ssl-default.png)
![directadmin certyfikat ssl blank](/images/2017/02/directadmin-certyfikat-ssl-blank.png)
![directadmin certyfikat ssl paste](/images/2017/02/directadmin-certyfikat-ssl-paste.png)
![directadmin certyfikat ssl success](/images/2017/02/directadmin-certyfikat-ssl-success.png)

Jeżeli macie problem z dodaniem certyfikatu / klucza, lub wasz dostawca nie udostępnia tej opcji, **musicie się z nim skontaktować**.

**Kiedyś**, tego typu zabieg wymagał **wykupienie Stałego adresu IP dla konta**, co generowało dodatkowe koszta, jednakże już od jakiegoś czasu **nie ma potrzeby posiadania własnego adresu IP** aby dodać **certyfikat SSL**.

**Teraz należało by sprawić, aby nasz ruch na stronę odbywał się tylko przez SSL.**

Jeżeli używamy Wordpress, należy zmienić adres naszej strony z **http://** na **https://** w Opcjach.

**Ustawienia** > **Ogólne** > **Adres Wordpress** oraz **Adres witryny**

![wordpress ogolne](/images/2017/02/wordpress-ogolne.png)

Jeżeli nasza strona była serwowana przez jakiś czas przez **HTTP**, wówczas niektóre nasz posty mogą zawierać odwołanie do **http://** w linkach nawet po zmianie adresu strony na **https://**.

Niestety, nie ulegnie to automatycznej zmianie i może powodować występowanie błędów związanych z tzw. **insecure content**, czyli podczas serwowania strony przez **HTTPS** część **elementów będzie serwowana przez HTTP** - nie dobrze.

**Aby to naprawić, można przejść do każdego z postów na stronie i zrobić to ręcznie, lub zmienić wpisy w bazie danych SQL.**

Wszystkie wpisy **http://** należy przepisać na **https://**

**Nic strasznego**, gdyż w tym celu przychodzi nam na pomoc wtyczka [**Better Search Replace**](https://en-gb.wordpress.org/plugins/better-search-replace/).

Po jej zainstalowaniu i uruchomieniu, należy wybrać **Search for** (czyli nasz adres strony z **http://**) oraz **Replace with** (czyli nasz adress strony z **https://**).

Zaznaczmy **wszystkie tabele naszej bazy danych** (Ctrl na pierwszej tabeli, Ctrl+Shift na ostatniej tabeli) i wybieramy **Run Search/Replace**.

![wordpress better search replace](/images/2017/02/wordpress-better-search-replace.png)
![wordpress better search replace settings](/images/2017/02/wordpress-better-search-replace-settings.png)

**Nie obawiajcie się!** Plugin jest ustawiony domyślnie na tak zwany **“dry run”**, czyli wyszukanie i symulowanie zmiany.

Jeżeli jesteśmy pewni, że chcemy dokonać ww. zmiany, wówczas musimy **odznaczyć Run as dry run** i wybrać jeszcze raz **Run Search/Replace**.

**Tyle jeżeli chodzi o Wordpress.**

**Wracając do Cloudflare**, warto w zakładce **Crypto** włączyć:

*   **HSTS**
*   **Authenticated Origin Pulls**
*   **Opportunistic Encryption**
*   **TLS 1.3**

![cloudflare crypto hsts](/images/2017/02/cloudflare-crypto-hsts.png)
![cloudflare crypto hsts1](/images/2017/02/cloudflare-crypto-hsts1.png)
![cloudflare crypto hsts2](/images/2017/02/cloudflare-crypto-hsts2.png)
![cloudflare crypto other options](/images/2017/02/cloudflare-crypto-other-options.png)

Bez względu na to, czy używamy Wordpress i zmieniliśmy **http://** na **https://**, możemy **wymusić serwowanie strony przez https://** (wówczas, gdy wersja **http://** naszej strony nadal jest dozwolona) poprzez ustawienie odpowiedniej reguły w **Page Rules **(wybieramy z głównego menu).

Tworzymy **nową regułę** dla adresu **http://** zawierającego **dwa WildCard’y** wraz z opcją **Always Use HTTPS**. Zapisujemy i aktuwujemy (**Save and Deploy**).

![cloudflare page rules](/images/2017/02/cloudflare-page-rules.png)

**I to by było na tyle.**

Nasza strona powinna być serwowana przez **HTTPS odrazu**, ale warto pozwolić na pełne zmiany **do 24h**.

Oczywiście, należy wyczyścić również **dane podręczne przeglądarki** (chociażby z użyciem [**CCleaner**](http://www.piriform.com/ccleaner)) lub otworzyć naszą stronę w trybie **Incognito** aby zobaczyć czy wszystko działa tak jak należy.

Jeżeli mamy ustawione **Google Analytics**, należy zadbać o modyfikację ustawień z uwzględnieniem **https://**

Jeżeli używamy **Google Search Console** (**Bing Webmaster Tools**, **Yandex Webmaster**), należy dodać dodatkową wersję naszej strony dla adresu **https://** jak również mapy strony w adresie z **https://**

**I to by było już napewno na tyle.**

Mam nadzieje że pomogłem. Jeżeli tak, daj znać w komentarzu. Jeżeli masz jakiś problem, również napisz w komentarzu, a postaram się pomóc, o ile będę mógł, gdyż różni usługodawcy różnie implementują poszczególne opcje, dla tego ja polecam sprawdzone rozwiązanie.



---
## Chciałem zepsuć macOS ale mi się nie udało
- **URL:** https://dariusz.wieckiewicz.org/chcialem-zepsuc-macos-ale-mi-sie-nie-udalo/
- **Date:** 2017-01-18
- **Tags:** Blog, Mac, macOS, monolingual, recovery, Time Machine, verbose

### Content

I tak prawie **3 lata minęły** od kiedy **macOS** i komputer z nadgryzionym jabłkiem jest ze mną. Po trzech latach mogę śmiało powiedzieć **że moja decyzja była słuszna i nie żałuje jej na żadnym kroku**.

<!--more-->

Jako, że moja ciekawość czasem doprowadza do tego, że coś się psuje, nauczyła mnie ona jak daną rzecz później naprawić. Dzięki temu potrafię sobie poradzić z niejednym problemem natury komputerowej.

**Mój mac,** to oprócz mojego podstawowego komputera jest polem do eksperymentów (jak każdy mój komputer w przeszłości). Muszę sprawdzić coś u mnie, żeby wiedzieć jak pomoc innym.

Czasami instaluje różne rzeczy, po czym je usuwam, a następnie robię porządki różnymi programami typu CCleaner, Onyx i inne.

**Ostatnio zdarzyło mi się w końcu coś zepsuć :)**

Odpaliłem [**Monolingual**](http://ingmarstein.github.io/Monolingual/) i oprócz czyszczenia ze zbędnych języków postanowiłem po raz pierwszy użyć opcji **czyszczenia systemu z niepotrzebnej architektury**, której nie używam - takiej jak PowerPC czy ARM zostawiajac Intel w wersji 32 i 64-bit.

Mimo, że czyszczenie przeszło **w miarę Ok** (kilka komunikatów wyskoczyło, które zignorowałem), komputer nie uruchomił się po restarcie. Utknął na jakimś ciekawym błędzie (w trybie Verbose) przy 90% paska postępu (w trybie normalnym).

**Hah, udało się... eh... no nie do końca.**

Mając pod ręka **kopie Time Machine** nie zlękłem się zbytnio, ale pierwsze co zawędrowałem do **Recovery** i zrobiłem dodatkowa kopie partycji systemowej na zewnętrzny dysk USB w postaci obrazu dysku.

Co ciekawe, tryb Recovery nie zobaczył mojej kopii Time Machine, ale chyba tylko dla tego, że mam ja zrobioną [w postaci wirtualnego dysku DMG](/pobierz/Using-Time-Machine-on-unsupported-volumes-Mac-OS-X-Hints.pdf) na dysku przenośnym na partycji ExtFAT.

**A co tam, jak komplikować to komplikować.**

Stwierdziłem, że w takim razie postanowię przeinstalować system od zera i wtedy przywrócić system z kopii.

**Rozpocząłem wiec reinstalacje systemu z Recovery**. Po nieco godzinie - wliczając pobieranie, komputer uruchomił się ponownie.

Po uruchomieniu poprosił o moje hasło do iCloud i dalej zaczął się włączać.

**Nastawiając się już**, że będę musiał trochę posiedzieć poustawiać co nieco **zrobiłem sobie kawę**.

Po chwili komputer kazał mi się zalogować na moje konto (?). Trochę dziwne, bo myślałem ze będę musiał ustawić nowego użytkownika.

**Po zalogowaniu ujrzałem wszystko tam gdzie było**. Pulpit, pliki, aplikacje. Wszystko tak jak zostawiłem nieco ponad godzinę temu.

Co ciekawe, Recovery nie rozpoczął instalacji od początku (tak jak to Windows ma w zwyczaju) a jedynie naprawił to ci zepsułem.

**Heh... a miało być hardcorowo, tak jak z Windows.**

**Widać że macOS  nie łatwo zepsuć. Może następnym razem.**

Pozdrawiam

{{% ads-in-article %}}


---
## Android 6.0 i powiększenie wewnętrznej pamięci
- **URL:** https://dariusz.wieckiewicz.org/android-6-powiekszenie-wewnetrznej-pamieci/
- **Date:** 2016-12-18
- **Tags:** Android, adb, adb tools, Android 6.0, ASUS, Asus ZenPad 10, Moto E, Moto G, Motorola, Samsung Galaxy J5, sandisk, U1, Z300M

### Content

**Android 6.0** przynosi zbawienie dla użytkowników telefonów a Androidem, których producent nie wyposażył w bogatą przestrzeń jeżeli chodzi o **pamięć wewnętrzną**. Oczywiście, pod warunkiem, że nas sprzęt otrzyma aktualizację to Android 6.0 - _bo z tym jest różnie_.

<!--more-->

Mimo, że poprzednie wersje Androida pozwalały na **przeniesienie zainstalowanych aplikacji na kartę SD**, nie działało to zawsze tak jak trzeba. Niektóre aplikacje przenosiły tylko ułamek miejsca które zajmowały, a inne nie chciały się przenieść w ogóle.

**Te czasu na szczęście mamy za sobą…** _no prawie!_

Ostatnio kupiłem kilka telefonów i tablet z androidem z przeznaczeniem na prezent. Kierując się ograniczonym budżetem, patrzyłem tylko na modele z mniejszą pamięcią wewnętrzną tj. 8GB, gdyż rozpiętość cenowa modeli z 16-32GB lub więcej pozwalała mi kupić 2 mniejsze w cenie jednego z dużą pamięcią.

Mój wybór ukierunkowany był równięż posiadaniem przez telefon/tablet złącza karty pamięci oraz **oficjalnym** wsparciem/uaktualnieniem do **Android 6.0**.

I tak padło na kilka modeli **Motorola Moto G** (3-ciej generacji), **Moto E** (2-giej generacji) oraz tablet **Asus ZenPad 10** (Z300M).

Jeżeli chodzi o telefony, wybrałem modele 8GB. W przypadku tabletu, 16GB.

W obu przypadkach **wiedziałem**, że **pamięci jest stanowczo za mało** więc odrazu zakupiłem karty pamięci **microSD SanDisk U1 32GB**.

Przy wyborze karty pamięci kierowałem się prędkością, dla tylko klasa prędkości U1 lub wyższa jest wysoce wskazana.

W przypadku obu modeli Moto dostałem od razu zapytanie, zaraz po włożeniu karty do telefonu, jak chcę jej użyć.

[![set up your sd card](/images/2016/12/03-android-6.0-adoptable-storage-set-up-your-sd-card-min.png)](/images/2016/12/03-android-6.0-adoptable-storage-set-up-your-sd-card-min.png)*Wybierz jak chcesz użyć kartę pamięci. Pamięć przenośna lub pamięć wewnętrzna.*

Odrazu wybrałem **Użyj jako pamięć wewnętrzna** (_Use as internal storage_).

I tak z **8GB pamięci wewnętrznej**, powiększyłem pamięć telefonu do prawie **40GB do wykorzystania na wszystko**.

**I oto chodzi!**

> Oczywiście, ta metoda ma swoje plusy i minusy. Chociażby, nie możemy wyjmować karty pamięci oraz używać kabla USB i telefonu jako pamięć przenośna. Ale przecież nie oto nam chodzi.

Przy formatowaniu karty pamięci, ku mojemu zdziwieniu otrzymałem komunikat, że moja **karta pamięci jest wolna** i może mieć to odzwierciedlenie w prędkości otwieranych aplikacji. **Dziwne**, bo wybrałem specjalnie karty pamięci klasy **U1**.

[![slow sd card warning](/images/2016/12/04-android-6.0-adoptable-storage-slow-sd-card-warning-min.png)](/images/2016/12/04-android-6.0-adoptable-storage-slow-sd-card-warning-min.png)*Informacja przy formatowaniu, że nasza karta pamięci jest wolna i może to wpłynąć na wydajność aplikacji.*

Po głębszym zastanowieniu, możliwe, że jest to spowodowane faktem, że złącze karty pamięci - kontroler - nie jest tak szybki jak powinien. Mimo to postanowiłem kontynuować. **Przy dalszej pracy telefonów nie zauważyłem żadnych problemów**.

I tak, teraz **pamięć wewnętrzna stanowi sumę obu pamięci** - wbudowanej oraz karty SD tak jak poniżej.

{{% gallery %}}
![android 6.0 addoptable storage before](/images/2016/12/01-android-6.0-adoptable-storage-before-min.png)
![android 6.0 addoptable storage after](/images/2016/12/02-android-6.0-adoptable-storage-after-min.png)
{{% /gallery %}}

Wszystko było by fajnie, gdyby nie to, że **niektórzy producenci** - _specjalnie czy nie_ - **wyłączyli tą opcję w** **Android 6.0** (**chamstwo!**).

Tablet **Asus ZenPad 10 (Z300M)**, który domyślnie dostarczany jest z pre-instalowanym **Android 6.0**, po włożeniu karty pamięci **nie zaszczycił opcją wyboru**, jak chcemy ją użyć, oraz w opcjach nie było możliwości prze-formatowania karty jako pamięci wewnętrznej.

[![missing format as internal](/images/2016/12/06-android-6.0-adoptable-storage-missing-format-as-internal-min.png)](/images/2016/12/06-android-6.0-adoptable-storage-missing-format-as-internal-min.png)*Opcje karty pamięci - Brak opcji formatowania jako pamięć wewnętrzna*

Trochę mnie to zmartwiło, gdyż 16GB tablet na długo nie posłuży bez przypomnienia o sobie i jego ograniczonej pamięci.

Postanowiłem co nieco pogrzebać i odkryłem, że mimo że opcji te domyślnie nie ma widocznej, nadal jest ona dostępna tylko **została ukryta przez producenta**.

Trochę głupie zagranie, ale niestety - **marketing to marketing** - sprzedać jak najwięcej, a jak użytkownicy będą chcieli więcej (w tym przypadku więcej pamięci), będą musieli zainwestować w nowy sprzęt. Totalna głupota, ale teraz w takich czasach żyjemy.

Z pomocą [**wujka Google**](https://www.google.com) znalazłem prosty sposób na przywrócenie brakującej funkcji **bez potrzeby modyfikowania oprogramowania**, **bez root'owania** lub **innych chocków-klocków**.

**Jedynie co nam potrzeba, to:**

- tablet/telefon z włączonymi opcjami programistycznymi
- włączonym debugowaniem USB,
- kabel USB
- komputer z przeinstalowanym środowiskiem ADB
- 5 minut wolnego czasu

**Przed rozpoczęciem poniższego procesu, należy dokonać kopii karty pamięci, gdyż wszelkie dane na niej zgromadzone zostaną skasowane.**

{{% ads-in-article %}}

**A więc zaczynamy:**

1\. Pobieramy **ADB Tools ([Windows](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) / [Linux](https://dl.google.com/android/repository/platform-tools-latest-linux.zip) / [Mac](https://dl.google.com/android/repository/platform-tools-latest-darwin.zip))** 2. Aktywujemy **Opcję Programistyczne** w telefonie/tablecie (_Developer Option_)

- **Ustawienia** (_Settings_) > **O tablecie / O telefonie** (_About_) > **Oprogramowanie** (_Software_)
- Klikamy _7 razy_ **Numer kompilacji** (_Build number_), aż ujżymy informację, że jesteśmy programistą

[![developer options](/images/2016/12/08-android-6.0-adoptable-storage-developer-options-min.png)](/images/2016/12/08-android-6.0-adoptable-storage-developer-options-min.png)*Włączenie opcji programistycznych*

- Przechodzimy do **Ustawienia** (_Settings_) > **Opcje programistyczne** (_Developer Option_) i włączamy **Debugowanie USB** (_USB Debugging_)

3\. Instalujemy **ADB Tools** pobrane wcześniej (wraz ze sterownikami) 4. Podczas instalacji, wybieramy instalację **w całym systemie operacyjnym** 5. **Podłączmy tablet do kmputera** za pomocą kabla USB

- Uruchamiamy wiersz poleceń (**cmd.exe**)
    - Logo _Windows+R_ > **cmd.exe**, lub
    - (_Windows 10_) prawym przyciskiem myszy na menu **Start** > wybieramy **Tryb wiesza poleceń z uprawieniami Administracyjnymi**, lub
    - Na pulpicie lub w dowolnym katalogu klikamy **Prawym przyciskiem myszy/touchpada** wraz z wciśniętym przyciskiem **Shift** > wybieramy **Otwórz wiersz poleceń tutaj**.
- Sprawdzamy, czy system widzi nasz tablet/telefon w **ADB** poniższą komendą

```
adb devices
```

Przy pierwszym uruchomieniu powyższej komendy, na tablecie/telefonie ujżymy zapytanie w celu przyznania pozwolenia na wykonanie operacji developerskich. **Oczywiście akceptujemy**.

Następnie powinniśmy ujrzeć numer seryjny podłączonego urządzenia.

[![adb devices](/images/2016/12/09-android-6.0-adoptable-storage-adb-devices.png)](/images/2016/12/09-android-6.0-adoptable-storage-adb-devices.png)*Wiersz poleceń*

- Wydajemy poniższą komendę w celu włączenia opcji brakującej opcji

```
adb shell sm set-force-adoptable true
```

i czekamy chwilkę na jej zakończenie.

- Odłaczamy tablet/telefon i przechodzimy do
    - **Ustawienia** (Settings) > **Pamięć i USB** (_Storage and USB_)
    - Wybieramy naszą kartę pamięci
    - Klikamy na menu (**3 kropki**) > **Ustawienia** (_Settings_)

Naszym oczom powinna pokazać się opcja, której nam brakowało poprzednio

[![format as internal](/images/2016/12/07-android-6.0-adoptable-storage-format-as-internal-min.png)](/images/2016/12/07-android-6.0-adoptable-storage-format-as-internal-min.png)*Opcje karty pamięci z możliwością formatowania karty pamięci jako pamięć wewnętrzna*

**Formatujemy jako pamięć wewnętrzna** (_Format as internal_) i gotowe.

Podczas formatowania, ujżymy dodatkowe zapytanie co zrobić z danymi, które są domyślnie przechowywane w telefonie.

[![move data to new storage](/images/2016/12/05-android-6.0-adoptable-storage-move-data-to-new-storage-min.png)](/images/2016/12/05-android-6.0-adoptable-storage-move-data-to-new-storage-min.png)*Przenieś dane na nową pamięć*

Możemy je zachować tam gdzie są, lub przenieś na kartę pamięci. **Wybieramy opcję przenieś teraz** (_Move now_).

Dzięki temu, mimo, że domyślnie producent (**w tym wypadku Asus**) ukrył nam opcję wbudowaną w system, możemy się cieszyć powiększoną pamięcią wewnętrzną.

Cała ta operacja - zakup urządzenia z małą pamięcią + karta microSD 32GB wyjdzie nam nieco taniej w porównaniu do modelu z większą pamięcią wbodowaną.

**Mam nadzieję, że komuś pomogłęm.**

_Jako, że na codzień jestem użytkownikiem iPhone, mogę nie być w stanie pomóc w przypadku zaawansowanych problemów, jednakże, zawsze możesz zapytać._

**Pozdrawiam**

> **Aktualizacja 08/01/2017**
>
> Niestety, myślałem że tylko ASUS jest taki niefajny blokując powyższą opcję. Niestety nie! Samsung jest o wiele gorszy. Ostatnio aktualizowałem Samsung Galaxy J5 (8GB) do wersji Android 6.0 i owej opcji brakuje. Na nic powyższe rozwiązanie, jako że Samsung dokonał głębszej modyfikacji w systemie blokując ją w sposób permanentny. Bez root się nie obejdzie, chyba że znajdę jakąś inną metodę.



---
## Jak zaoszczędzić na zakupie iPhone 7 (w UK)
- **URL:** https://dariusz.wieckiewicz.org/jak-zaoszczedzic-na-zakupie-iphone-7/
- **Date:** 2016-09-13
- **Tags:** Mac, Apple, AppleCare, Barclays, Barclays Bank, braxit, GiffGaff, iPhone, iPhone 7, iPhone Payments, iPhone Upgrade Programme, MacBook Pro, TechPack

### Content

Odkąd związałem się z nadgryzionym jabłkiem, podkreślałem, że mimo cen swoich produktów **Apple** oferuje również dogodne warunki płatności - szczególnie w Wielkiej Brytanii.

<!--more-->

Mało kogo stać, aby kupić **iPhone** za **£619** lub **MacBook Pro** za **£1249** płacąc całość **jednorazowo**. Dzięki **współpracy Apple z Barclays Bank** zakup drogiej elektroniki stał się łatwiejszy dla przeciętnego użytkownika a płatności miesięczne można dostosować w zależności od budżetu (ilość rat).

**Niestety**, po tym jak Apple opublikował iPhone 7, oraz poniekąd poprzez zawirowania związane z **brexit**'em - niestabilne kursy walut, oraz działania Unii Europejskiej przeciwko płatności podatku od przychodu, **Apple podniosło ceny**.

Wzrost cen jest zauważalny i zaboli on każdego z nas, gdyż wacha się od £30 (za obudowy) do średnio £100+ za ten sam (porównywalnie ten sam) produkt jeszcze kilka tygodni wcześniej.

Porównywalny **iPhone**, który kosztował **£619**, teraz kosztuje **£699**.

Na początku myślałem że to jakiś problem na oficjalnej stronie Apple. Następnie była irytacja, gdy okazało się że nie, bo trzeba będzie zapłacić tyle co Amerykanie, ale w lokalnej walucie w przeliczniku 1 do 1 (1$ = £1).

Następnie przyszło rozsądne zrozumienie polityki rynku oraz samej firmy Apple (i nie tylko). Nikt nie chce przecież dopłacać do interesu, tylko dla tego, że w Unii Europejskiej urzędnicy wtrącają się **(tak, póki co Wielka Brytania jest jeszcze w Unii)** w sprawy, na które na początku pozwolili - takie jak **niezależność podatkowa krajów członkowskich**. Wszystkie te zawirowania spowodowały, że ceny zmieniły się tak a nie inaczej.

**Następnym krokiem jest zorientowanie się gdzie najlepiej kupić, by nie przepłacić.**

Zakupy u operatorów to tylko **strzał w stopę**, bo tam nigdy nie zaoszczędzimy - szczególnie że w podstawowym iPhone 7 ceny zaczynaja się **od £46 za miesiąc**! (no chyba że mamy firmową taryfę i multum telefonów, gdzie możemy dyktować ceny). Wyjątkiem może być operator taki jak [**GiffGaff**](/giffgaff/), ale póki co i on jeszcze nie oferuje najnowszego telefonu.

Można oczywiście kupić **telefon na raty**. To rozwiązanie jest najczęściej wybierane przez ludzi, którzy nie chcą być związani kontraktem, oraz którzy nie dysponują nadmiarem gotówki do wydania na raz, lub po prostu nie chcą.

Porozumienie **Apple** i **Barclays Bank** jest obustronne z prostego względu, obie firmy chcą zarobić.

**Normalnie**, biorąc na raty że strony Apple, musimy się liczyć z oprocentowaniem rzędu 17.9% rocznie. Zakładając, że nasz telefon **podrożał już o £100**, to dokładając do tego **odsetki od kredytu** na 24 miesiące **rzędu kolejnych £100** jak nie lepiej, **całość nie wyglada za wesoło**.

**Na szczęście, przy odrobinie zachodu można ten fakt nieco zniwelować.**

![iphone upgrade programme](/images/2016/09/ipgone-upgrade-programme.png)*(Source: Apple/UK)*

Apple w **UK**, tak jak conajmniej rok wcześniej w **USA** zaoferował program wymiany telefonu na nowy już po roku ([**iPhone Upgrade Programme**](http://www.apple.com/uk/shop/iphone/iphone-upgrade-program)).

Jako, że program ten wymusza (wliczony w koszta) posiadanie **AppleCare+**, **cena nie poraża**. Jednoczenie, Apple oferuje program [**iPhone Payments**](http://www.apple.com/uk/legal/sales-support/iphonepayments_uk/). Nie zezwala on na wymianę telefony po roku oraz nie wlicza AppleCare+ ale pozwala nieco zaoszczędzić. Według mnie, AppleCare+ **nie jest aż tak rewelacyjne**, jeżeli jesteśmy klientami Barclays Bank i posiadamy pakiet [TechPack](http://www.barclays.co.uk/TechPack/TechPack/P12.9.44) za £9.50 miesięcznie.

![iphone payments](/images/2016/09/iphone-payments-apple-store.png)*(Source: Apple/UK)*

Różnica jest taka, że za telefon płacimy w **20-stu **(a nie 24) nie oprocentowanych ratach (0%). Wliczając pierwsza wpłatę, po okresie kredytowym sumując płacimy tyle ile oryginalna cena produktu w sklepie Apple.

**Dla przykładu**, biorąc **iPhone 7 Plus** w opcji **128GB**, **przy 24 ratach**, miesięcznie płacimy **.31**. Prosta matematyka i mamy prawie £140 więcej.

**Kontynuując powyższy przykład**. Żeby zaoszczędzić, najbardziej opłacalna jest opcja 20 rat z pierwsza wpłata (**£49**) i wychodzimy £819... tyle co oryginalna cena. W dodatku raty wychodzą po **£38.50**. Porównując ze pakietem [**GiffGaff Goodybag £12**](https://www.giffgaff.com/sim-only-plans) (500 minut, 2GB internetu), miesięcznie mamy **podobnie jak u innych dużych operatorów**, jednakże co miesiąc to my dyktujemy warunki (odnośnie pakietu minut, internetu), a **po 20 miesiącach** mamy telefon **spłacony**.

**Jest tylko jeden mały haczyk**. Otóż, jako że pierwsze raty możemy załatwić z domy siedząc przy komputerze, to aby skorzystać z **iPhone Payments** należy udać się do Apple Store. Jako że umówić się na spotkanie w sklepie jest praktycznie **niemożliwe** (Leeds, najbliższe 3-4 tygodnie nie ma miejsc) trzeba liczyć na to, jak tłumy opadną będzie można to załatwić z tak zwanego **_walk-in_**, czyli od ręki jak wejdziemy z ulicy. **Czas pokaże.**

Jednakże, jak chcemy zaoszczędzić - **i to nie mało** - to czasem warto ruszyć nasze cztery litery i zrobić trochę kroków ku naszemu zdrowiu i portfelowi.

Pozdrawiam

{{% ads-in-article %}}


---
## iOS 10 i odblokowanie ekranu
- **URL:** https://dariusz.wieckiewicz.org/ios-10-odblokowanie-ekranu/
- **Date:** 2016-09-08
- **Tags:** Mac, Beta, Golden Master, Home Button, iOS 10, iPhone 7, iUrzadzenia, maxOS Sierra, Preview, Rest Finger to Open, Slide to unlock, Touch ID

### Content

Po konferencji _Apple 7/9_ spodziewałem się - jak to bywało w przeszłości - że najnowszy **iOS 10** zostanie wypuszczony odrazu do pobrania. Tak się jednak nie stało i musimy poczekać na niego o tydzień dłużej.

<!--more-->

Następnego dnia (_8/9_) Apple ogłosiło wydanie **iOS 10** oraz **macOS Sierra** w wersji **Golden Master**. Golden Master to nic innego, jak _"prawie"_ wersja finalna, która będzie upubliczniona 13/9 (iOS 10) / 20/9 (macOS Sierra), a mająca na celu wykryć już tylko ostateczne - drobne bolączki systemów.

Mimo, że nadal widnieje przy powyższych systemach z ostrzeżeniem programu **Beta**, to jest ona bliższa do stabilnej wersji a niżeli do niestabilnej **Preview**.

Postanowiłem zarejestrować się w programie beta i pobrać oba systemy na moje **iUrzadzenia**.

Od razu w iOS wykryłem mały bubel, który zaraz zgłosiłem, ale ogólnie wrażenia pozytywne. Jedno co mnie nieco zirytowało to _sposób odblokowywania ekranu_. Apple zrezygnował z tak zwanego **przesunięcia palcem** (Slide to unlock).

[![ios10 new lock screen](/images/2016/09/ios10-new-lock-screen.png)](/images/2016/09/ios10-new-lock-screen.png)

O ile w **iPhone 7** będziemy mieli **force touch HOME button**, to w iPhone 6 (który używam), gdy mamy ustawione odblokowywanie przy pomocy **Touch ID**, to oprócz odblokowania palcem musimy teraz przycisnąć przycisk HOME.

_Niby nic, ale jak człowiek się przyzwyczaił, to jeden dodatkowy manewr marnuje nieco czasu._

Apple pomyślał jednak i o tym, gdyż ową funkcje można przywrócić - odblokowanie ekranu poprzez tylko Touch ID.

**Wystarczy przejść w** Ustawienia (**Settings**) > Ogólne (**General**) > Dostępność (**Accesibility**)

![iso 10 accessibility rest finger to open](/images/2016/09/ios10-accessibility-rest-finger-to-open.png)
![ios10 accessibility](/images/2016/09/ios10-accessibility.png)

Przesuwamy nieco w dół, szukając opcji odpowiadającej za *przycisk HOME* (u mnie po prostu **Home Button**) i **włączamy** z powrotem ostatnia funkcje odpowiadająca za otwarcie telefony poprzez spoczynek palca na przycisku HOME (**Rest Finger to Open**). Oczywiście, pod warunkiem ze mamy ustawiony *Touch ID* który pozytywnie rozpoznał nasz odcisk palca (sic!).

**I po kłopocie :)**

Pozdrawiam

{{% ads-in-article %}}


---
## Redukcja Bounce Rate dzięki Google Tag Manager
- **URL:** https://dariusz.wieckiewicz.org/redukcja-bounce-rate-google-tag-manager/
- **Date:** 2016-08-30
- **Tags:** Internet, AMP, Bounce, Bounce Rate, Google Analytics, Google Tag Manager, SEO, wpmudev, Współczynnik odrzuceń

### Content

> Aktualizacja: 18-01-2017 (zobacz na końcu wpisu)

Wysoki **Bounce Rate** (_Współczynnik odrzuceń_) w statystykach strony internetowej stanowi prawdziwą bolączkę SEO.

W połowie _Stycznia 2016_ zacząłem obserwować, że strony zarządzane przeze mnie, a oparte o Wordpress nagle zaczęły mieć _Bounce Rate_ na poziomie **70-80%**.

<!--more-->

![bounce-rate-2016](/images/2016/08/Bounce-Rate-2016-example.png)*Bounce Rate - przykład - Rok 2016 (do 30 Sierpnia 2016)*

Jak wiadomo, każda aktualizacja silnika Google zmienia postać rzeczy i trzeba się dostosować. W związku z tym, dokonałem stosownych modyfikacji. Mimo, że zyskałem na pozycji w samej wyszukiwarce a liczba odwiedzających wzrosła, to [**Google Analytics**](https://www.google.com/analytics/) pokazywał _Bounce Rate_ nadal na tym samym poziomie.

Przez dłuższy okres czasu mnie to trapiło, póki nie znalazłem artykułu odnośnie [**Google Tag Manager**](http://tagmanager.google.com).

![bounce-rate-mth](/images/2016/08/Bounce-Rage-month-example.png)*Bounce Rate (Sierpień 2016) - Przed i Po prowadzeniu Google Tag Manager*

Jak się okazuje, _Google oszukuje samo siebie_ jeżeli chodzi o _Google Analytics_. Uniwersalny kod śledzenia nie jest wystarczający do określenia co nasi użytkownicy robią na stronie.

Według danych z _Google Analytics_, niektórzy moi odwiedzający trafiali na daną podstronę z wyszukiwarki. Zakładając, że znaleźli to co trzeba przy pierwszym podejściu, opuszczali stronę. Google traktował większość z nich jako **Bounce**. Z pomocą przychodzi tutaj narzędzie [**Google Tag Manager**](http://tagmanager.google.com), którego zadanie jest dokładniejsze śledzenie wszystkich aspektów strony podczas odwiedziń przez użytkownika.

Sam _Tag Manager_, podobnie jak _Analytics_ opiera się na wstawieniu kodu na naszej stronie, który jest ładowany na każdej stronie i pod-stronie. W tym przypadku, kod musi być bezpośrednio za sekcją otwarcia **<body>**.

Sam dodatnie Google Tag Manager **nie wystarcza**. Następnie trzeba dodać Tag (tagi), Triggers (wyzwalacze tagów) oraz Variables (zmienne).

Tutaj, na pomoc przyszedł mi bogaty artykuł z [**wpmudev**](https://premium.wpmudev.org). Zaraz po zastosowaniu większości elementów, już na następny dzień **Bounce Rate spadł do 0%.**

- **[premium.wpmudev.org/blog/google-tag-manager](https://premium.wpmudev.org/blog/google-tag-manager/)**

Nie zamierzam tutaj przepisywać artykułu na język polski, gdyż jest on na tyle zrozumiały po angielsku, że nie ma to większego sensu. A tak poza tym, każdy liczący się SEO poszukuje rozwiązania na jego bolączki właśnie w tym języku.

Zachęcam pominięcie wstępu i przejście odrazu (_pod warunkiem, że dodaliśmy już nasz kod śledzenia do naszej strony internetowej_) do **Set up Google Analytics with Google Tag Manager** i postępowanie krok po kroku aż do samego końca. Na końcu _publikujemy zmiany_ (**Publish**) i czekamy na reakcje.

W trakcie dodawania naszych elementów, potrzebujemy nasz kod z Google Analytics **UA-XXXXXXXX-X**.

![bounce-rate-August](/images/2016/08/Bounce-Rage-month-example-extended.png)*Bounce Rate (Sierpień 2016)*

W moim przypadku efekt Bounce Rate został zredukowany praktycznie do zera, bez negatywnego wpływu na inne wyniki.

![bounce rate week 34](/images/2016/08/Bounce-Rage-week-example.png)*Bounce Rate - 4 tydzień Sierpnia 2016 (Week 34)*

Jako, że z czasem, niektóre strony mogą zniknąć z internetu, zamieszczam plik PDF z powyższym artykułem.

- [**How to Track Almost Anything with Google Tag Manager and WordPress (by wpmudev)**](/pobierz/How-to-Track-Almost-Anything-with-Google-Tag-Manager-and-WordPress.pdf)

{{% ads-in-article %}}

Po opublikowaniu powyższego wpisu wziąłem się za implementacje AMP na moich stronach. Po miesiącu od implementacji AMP, szczególnie na mojej stronie zauważyłem wzrost Bounce Rate o ok. 5%. Nie jest do dużo, ale widocznie zostało to spowodowane przez sposób wyświetlania stron AMP, gdyż użytkownicy rzadko przejdą o następnych artykułów nie widząc oryginalnej strony. Tego rodzaju wizyty będą traktowane jako **Bounce** co w rezultacie tylko stron AMP spowoduje do **100% Bounce Rate**.

![bounce rate amp](/images/2016/08/bounce-on-amp.png)

Rozwiązanie znalazłem na [digitalmetrics.guru](http://digitalmetrics.guru/tag-management/amp-tracking-google-tag-manager/) - kopia artykułu poniżej na wszelki wypadek, gdyby znikła ona z internetu.

- **[Tracking AMP Pages in GTM (by digitalmetrics.guru)](/pobierz/digitalmetrics.guru-Tracking-AMP-Pages-in-GTM.pdf)**


---
## Koniec z wysyłaniem zdjęć samemu do siebie
- **URL:** https://dariusz.wieckiewicz.org/koniec-z-wysylaniem-zdjec-samemu-do-siebie/
- **Date:** 2016-06-25
- **Tags:** Blog, camera uploads, Dropbox, koniec, przesłane z aparatu

### Content

## Koniec _(ale nie Brexit)_

Czy zdażyło ci się używać telefonu prywatnego w pracy do zrobienia zdjęcia czegoś, co pózniej będzie ci porzebne na komputerze. A może współpracownik poprosił nas o zrobienie zdjęcia czegoś i przesłania mu tego na maila?

W mojej pracy zdążą się to, ze robię zdjęcie problematycznego produktu lub też gdy kurier uszkodził coś, co zostało do nas wysłane i trzeba zrobić zdjęcia do wniosku o rekompensatę.

Mimo, ze mam ustawiony e-mail firmowy na komórce, to wysyłanie zdjęcia samemu do siebie jest nieco dziwne. Mogę też użyć mojego konta gmail i wysłać na adres firmowy.

<!--more-->

Niestety, szybkość przesyłu pomiędzy serwerami do komputera ogranicza się do prędkości internetu. Niestety, prędkość internetu w mojej firmie jest 15x mniejsza, niż ta, którą mam w domu _(sic!)_ jak również w komórce _(sic!)._

Można oczywiście podłączyć telefon do komputera i zgrać w ten sposób, ale ja robię to nieco inaczej.

Każde zdjęcie zrobione na komórce automatycznie wysyła mi się na mojego Dropboxa. Na komputerze firmowym tez mam dropboxa. A wiec, dlaczego by tego nie wykorzystać.

![dropbox screenshot 2016-06-25 12.29.08](/images/2016/06/dropbox-screenshot-2016-06-25-12.29.08.png)

Jako, że zdjęcia zrobione w chmurze, po wysłaniu są automatycznie dostępne z poziomu aplikacji, postanowiłem zrobić z tego użytek.

Na moim dopboxie, na komórce udostępniłem folder dla konta Dropboxa używanego na komputerze firmowym.

Teraz, wystarczy z aplikacji Dropboxa przenieść plik z jednego folderu (Camera Uploads / Przesłane z aparatu) do udostępnionego folderu. Zdjęcie dostępne jest na komórce a jednocześnie pobierane jest tam, gdzie za chwile będzie mi potrzebne, czyli na komputerze, na którym będę pracować.

Bez wysyłania maili i oczekiwania na dotarcie, te rozwiazanie oszczędziło mi czas i przyspieszyło moja prace.

Z reguły jest tak, że niż dojdę do komputera, a zdjęcia już tam są.

**A co tam - można to zrobić w taki sposób :)**

Pozdrawiam.

{{% ads-in-article %}}


---
## Moje aplikacje na Mac'a - Top 10
- **URL:** https://dariusz.wieckiewicz.org/moje-aplikacje-na-mac-top-10/
- **Date:** 2016-06-09
- **Tags:** Artykuły, Mac, Oprogramowanie, 7-Zip dla Mac OS, diagnostyka baterii iphone, must have, night shift dla mac, Rozszerzenie możliwości tray mac, total commander dla mac, ukrywanie ikon w tray mac, usuwanie aplikacji na mac, Zapobieganie uśpieniu komputera mac, zarządzanie czasem na mac, hr, AppCleaner, Bartender 2, coconutBattery, Commander One, f.lux, iStat Menu, keepingYouAwake, Keka, Sip

### Content

I tak minęły przeszło dwa lata, odkąd przesiadłem się na Mac. Połączenie dużej ilości dostępnych aplikacje a udogodnieniami z Linuksa sprawiają, że nawet nie myślę o zmianie. Jako że na co dzień, na firmowym komputerze mam Windows 10, w domu Mac jest swojego rodzaju odskocznią — komputerem, na którym mogę polegać.

Nie ma jednak sprzętu bez aplikacji. Mimo że OS X jest wyposażony w to, co potrzeba na początek, jednakże zawsze chce się czegoś więcej.

Oto moja lista dziesięciu aplikacji typu "must have" dla każdego użytkownika Mac'a.

<!--more-->

## hr

[![HR Mac - 1](/images/2016/06/hr-mac-1.png)](/images/2016/06/hr-mac-1.png)

[![HR Mac - 2](/images/2016/06/hr-mac-2.png)](/images/2016/06/hr-mac-2.png)


**hr** (www.hrmacapp.com) - £4.49  
_Zarządzanie czasem_

> Niestety, aplikacja zniknęła z internetu. Nie wiadomo co się z nią stało. Osoby, które za nią zapłaciły niestety pozostały na lodzie, a szkoda.

Aplikacji tego typu szukałem od dawna i cały czas się zastanawiam, jak bardzo nie ceniłem swojego czasu, wówczas gdy "robiłem coś dla kogoś za coś".

Prosty monitoring czasu z możliwością podzielenia na typy wykonywanych zadań pozwala w łatwy sposób wyliczyć, ile powinno się należeć za wykonaną usługę. Na końcu musimy ustalić, ile nasza godzina jest warta i trzymać się tego.

## AppCleaner

[![AppCleaner](/images/2016/06/appcleaner.png)](/images/2016/06/appcleaner.png)

**AppCleaner** ([freemacsoft.net/appcleaner](https://freemacsoft.net/appcleaner/)) - **darmowy  
**_Usuwanie aplikacji_

Aplikacja niezbędna. Wg mnie powinna być zainstalowana jako pierwsza, zaraz po podłączeniu nowego Mac'a do internetu.

Jako, że już o niej co nieco pisałem, odsyłam tutaj:  
[AppCleaner - Dodaj/Usuń programy w MacOS](/appcleaner-dodaj-usun-programy-macos) oraz [Porządki na macOS](/porzadki-na-macos/).

## Bartender 2

[![Bartender2](/images/2016/06/bartender2.png)](/images/2016/06/bartender2.png)


**Bartender 2** ([www.macbartender.com](https://www.macbartender.com)) - **£10.69  
**_Porządem w tray'u_

Organizator naszego "tray'a". Tak w skrócie możemy powiedzieć o tym programie. Jako że podręczne aplikacje będą sprawiały, że oprócz zegarka pojawia nam się 20 innych ikon, robiąc poniekąd swego rodzaju choinkę, bratender przychodzi z pomocnym "drinkiem". Znane ukrywanie aplikacji już z Windows XP, w macOS nie jest standardem — a szkoda.

Więcej o programie Bartender: [Uporządkowany haos w Menu Bar (Mac OS)](/uporzadkowany-haos-w-menu-bar-mac-os)

## coconutBattery

[![coconutBattery](/images/2016/06/coconutBattery.png)](/images/2016/06/coconutBattery.png)


**coconutBattery** ([www.coconut-flavour.com/coconutbattery](http://www.coconut-flavour.com/coconutbattery/)) - **darmowy**_Program do "diagnostyki" baterii w iUrządzeniu_

Mimo, że nie używam go codziennie, okazał się niezbędny, gdy kupowałem z drugiej ręki iPhone na prezent. Pozwolił mi określić stan baterii iPhone bez konieczności instalowania dodatkowego oprogramowania. Dzięki temu mogłem sprawdzić żywotność bez konieczności użytkowania urządzenia i późniejszego rozczarowania. Jednocześnie pozwala mi monitorować stan baterii innych moich iUrządzeń.

## Commander One

[![Commander One](/images/2016/06/commander-pro.png)](/images/2016/06/commander-pro.png)


**Commander One** ([mac.eltima.com/file-manager.html](http://mac.eltima.com/file-manager.html)) - **darmowy/£22.99  
**_Dwu-panelowy manager plików_

Po czasach DOS'u i Norton Commandera, przez czasy Linuksa i Midnight Commander oraz Windowsa i Total Commandera przyszła pora na Mac'a. I mimo, że przyzwyczaiłem się do używania Findera, to jednak od czasu do czasu muszę coś zrobić w trybie dwupanelowym bez używania myszy lub touchpada. Tutaj ten program staje się niezbędny. Mimo, że niektóre opcje dostępne są w trybie profesjonalnym (płatnym), mi w zupełności wystarcza jego darmowa wersja.

## f.lux

[![f.lux](/images/2016/06/flux.png)](/images/2016/06/flux.png)


**f.lux** (aka. flux) ([justgetflux.com](https://justgetflux.com)) - **darmowy  
**_Redukcja natężenia jasnego światła monitora_

> Aplikacja ta po części stała się zbędna wraz z wprowadzeniem gotowego rozwiązania wbudowanego w macOS (Night Shift), a które po części spełnia główną rolę aplikacji f.lux.

Gdy nasze oczy proszą o odpoczynek od ekranu, ta aplikacja, zmieniając natężenie niebieskiego światła. Gdy ciemno za oknem, nasz ekran nie jest czymś, przyjemnym, a na pewno nie pozwala nam to spokojnie zasnąć, będąc "naładowanym" niebieską magią tuż przed spaniem.

Night Shift na iUrządzeniu oraz flux na Mac'u sprawia, że życie staje się "cieplejsze" (ang. warm).

## iStat Menu

[![iStat - 1](/images/2016/06/istat1.png)](/images/2016/06/istat1.png)

[![iStat - 2](/images/2016/06/istat2.png)](/images/2016/06/istat2.png)

[![iStat - 3](/images/2016/06/istat3.png)](/images/2016/06/istat3.png)


**iStat Menu** (bjango.com/mac/istatmenus) - **$18 (~£12.50)**  
_Rozszerzenie możliwości tray'a_

To, czego mi brakowało, gdy klikałem na zegarek, to podręczny kalendarz. Gdy klikałem na baterię, czas pozostały oraz żywotność. Dodatkowo, chciałem mieć szczegółową informację o wolnej przestrzeni na dysku oraz aktualne użycie sieci bezprzewodowej. Do każdego z tych zadań potrzebowałbym osobnej aplikacji. Na szczęście iStat Menu potrafi zapewnić wszystkie te funkcje, jak i dodać kilka ekstra.

## keepingYouAwake

[![keepingYouAwake](/images/2016/06/keepingYouAwake.png)](/images/2016/06/keepingYouAwake.png)


**keepingYouAwake** ([github.com/newmarcel/KeepingYouAwake](https://github.com/newmarcel/KeepingYouAwake)) - **darmowy  
**_Zapobieganie uśpieniu komputera_

keepingYouAwake, Caffeinee, Amphetamine, owl i wiele innych tego typu programów służących do jednego celu — zapobiec komputerowi do przejścia w tryb uśpienia, wówczas gdy tego nie chcemy.

Przez dłuższy czas używałem [Caffeine](http://lightheadsw.com/caffeine/), nieco krócej [Amphetamine](https://www.producthunt.com/tech/amphetamine), a teraz pora na **keepingYouAwake**. Mój "kubek kawy" dla mojego Mac'a dostępny pod jednym kliknięciem.

{{% ads-in-article %}}

## Keka

[![Keka - 1](/images/2016/06/keka1.png)](/images/2016/06/keka1.png)

[![Keka - 2](/images/2016/06/keka2.png)](/images/2016/06/keka2.png)


**keka** ([www.kekaosx.com](http://www.kekaosx.com)) - **darmowy  
**_Program do rozpakowywania i pakowania plików_

keka, jest tym, czy m [7-Zip](http://www.7-zip.org) dla Windows. Dodatkowo w połączeniu z The Unarchiver pozwala rozpakować, jak i spakować pliki do przeróżnych formatów.

## Sip

[![sip - 3](/images/2016/06/sip3.png)](/images/2016/06/sip3.png)

[![sip - 2](/images/2016/06/sip2.png)](/images/2016/06/sip2.png)

[![sip - 1](/images/2016/06/sip1.png)](/images/2016/06/sip1.png)


**sip** ([sipapp.io](http://sipapp.io)) - **darmowy/£7.99**_Przybornik kolorów dla webmastera i nie tylko_

> Niestety, wraz z kolejną aktualizacją, autor aplikacji zrezygnował z darmowej wersji wprowadzając okres próbny i zmuszając do zakupu. Niestety, nie jest to ekonomiczne, więc lepiej poszukać innej aplikacji jako zamiennika.

Bardzo często, tworząc lub modyfikując stronę internetową, potrzebujemy znaleźć kod dla koloru, który został użyty. Używając różnych narzędzi, może to być mniej lub bardziej czasochłonne. Sip stawia na prostotę, szybkość i wygodę, która jest potrzebna, w momencie, gdy mamy pomysł i nie chcemy go stracić.

I to by było na tyle.

**Pozdrawiam.**



---
## (Moja) Alternatywa dla programu Picasa
- **URL:** https://dariusz.wieckiewicz.org/moja-alternatywa-dla-programu-picasa/
- **Date:** 2016-06-02
- **Tags:** Oprogramowanie, Adobe Lightroom, Adobe Photoshop Elements, CyberLink PhotoDirector 7, digiKam, LightZone, Magix Photo Manager, Picasa, Zdjęcia Windows, Zoner Photo Studio

### Content

_Poniższy wpis zacząłem pisać już w Lutym 2016, gdy Internet zaczął krzyczeć o kolejnym uśmierconym projekcie Google. Tym razem padło na program, którego używają miliony, a jednak Google nie znalazło z niego bezpośredniego źródła przychodu, a więc robi to, co zawsze... ubija._

<!--more-->

## Koniec programu Picasa

Picasa, program do organizacji i podstawowej edycji zdjęć. Mimo że nie rozwijany znacząco od jakiegoś czasu, zawsze miał moje uznanie i polecałem go moim znajomym. Niestety, Google podjął decyzje o zaprzestaniu jego rozwoju i usunięciu go — możliwości pobrania — już w Maju 2016 roku.

Mimo że sam program nadal działa, to jednak warto poszukać alternatywy, gdyż jak coś zacznie się psuć, nie będzie pomocy od nikogo.

Google zachęca do przechowywania zdjęć w chmurze i korzystania z jego najnowszej aplikacji Zdjęcia Google (Google Photos). Jednak są jeszcze osoby, które chcą przechowywać zdjęcia w tradycyjny sposób — i to nie tylko amatorzy fotografii.

Jako że w Polsce ciężko będzie przekonać kogokolwiek do zakupu _**Adobe Photoshop Elements**_ lub _**ACDSee**_, a korzystanie z nielegalnej wersji nie wchodzi w ogóle w grę, rozpocząłem poszukiwania czegoś innego — równie dobrego, który nie zostanie zaprzestany w rozwoju — choć tego nigdy nie możemy by pewni.

Kolejną, równie ważną opcją jest dostępność zarówno na **Windows** jak i **Mac** - jednakże nie jest to opcja niezbędna.

A więc szukałem, szukałem i szukałem. Niestety, ale **_dobry i prosty program nie jest tak łatwo znaleźć_** - szczególnie jeżeli chce przenieść użytkownika 60+ przyzwyczajonego do obsługi **Picasa** i to w dodatku **w języku polskim**.

Nie będę tutaj pisał recenzji, gdyż najlepiej jest sprawdzić program w praktyce. Niektóre opcje, które mi będą pasować, mogą nie podobać się innym użytkownikom, z tego powodu pozostawiam dowolność.

### CyberLink PhotoDirector 7 Essential - Darmowy (Free)

[http://www.cyberlink.com/stat/product/free-zone/enu/free-software-static.jsp](http://www.cyberlink.com/stat/product/free-zone/enu/free-software-static.jsp)

**Minus:**

- Brak języka polskiego;
- W pełni funkcjonalny przez 30 dni, w wersji okrojonej, ale darmowej po tym okresie.

### digiKam (Windows/Mac/Linix) - Darmowy (Free) OpenSource

[https://www.digikam.org](https://www.digikam.org/)

**Minus:**

- pomocnicze aplikacje uruchomione w tle

### LightZone - Darmowy (Windows/Mac) (Free)

[http://www.lightzoneproject.org](http://www.lightzoneproject.org/)

**Minus:**

- rejestracja na stronie wymagana, aby pobrać program

### Zoner Photo Studio Free (Windows) - Darmowy (Free)

[http://free.zoner.com](http://free.zoner.com/)

**Minus:**

- Niezbyt znany producent
- Brak języka polskiego
- niezbędne założenie konta Zoner do używania programu **(sic!)**

### Magix Photo Manager (Windows) - Darmowy (Free)

[http://www.magix.com/us/free-download/photo-manager/](http://www.magix.com/us/free-download/photo-manager/)

**Minus:**

- Niezbyt znany producent
- Brak języka polskiego
- Niezbędny Firebird SQL Server do pracy programu **(sic!)**
- Niezbędna rejestracja na stronie producenta **(sic!)**

Na koniec coś, co polecam ze względu na jakość, wsparcie oraz dostępne opcje - **mimo że nie darmowe**.

### Adobe Photoshop Elements (Windows/Mac)

[http://www.adobe.com/uk/products/photoshop-elements.html](http://www.adobe.com/uk/products/photoshop-elements.html)

**Minus:**

- cena **(sic!)**
- aby nagrać zdjęcia na płytę, potrzeba Adobe Premiere Elements **(sic!)**

**A dla bardziej zaawansowanych użytkowników:**

### Adobe Photoshop Lightroom (Windows/Mac)

[http://www.adobe.com/uk/products/photoshop-lightroom.html](http://www.adobe.com/uk/products/photoshop-lightroom.html)

{{% ads-in-article %}}

## Mój wybór (2016)

Przetestowałem wszystkie powyższe programy (jak i kilkanaście innych) i **nie znalazłem alternatywy** prostej na tyle, aby szybko i bez zbędnego tłumaczenia przejść z programu Picasa.

Do swoich potrzeb używam **Adobe Lightroom**, jednakże dla osoby 60+ niepotrzebującej tylu opcji, skłoniłbym się do **Photoshop Elements** gdyby nie fakt, że musiałbym kupić również **Premiere Elements** (_no go!_).

**Została jeszcze jedna opcja...**

## Zdjęcia Microsoft (Photos)

Zdjęcia wbudowane w system Windows 10, proste w obsłudze jednakże daleko im do funkcjonalności z Picasa. Jak można było się przekonać, patrząc na poprzednie wersje systemu Windows, tutaj również nie możemy być pewni, że program trafi do następnej wersji, a więc nauka pójdzie na marne.

**Na końcu wybrałem Adobe Lightroom w wersji 5** Mimo swojej ceny (wersja 5 dostępna jest w dość przystępnych opcjach) wybór ten będzie wymagał ode mnie poświęcenia jeszcze trochę czasu w celu wprowadzenia i przesiadki osób z Picasa. Zobaczymy, jak pójdzie.

_Pozdrawiam_


---
## GiffGaff - odbierz swoje £5
- **URL:** https://dariusz.wieckiewicz.org/giffgaff/
- **Date:** 2016-01-17
- **Tags:** 4G, 5G, affiliate, darmowa karta sim, GiffGaff, goodybags, golden goodybags, o2, pac code, polecenie, roaming, top-up, unlimited, EU roaming

### Content

W UK przebywam od 2010 roku i jak dotąd, przebrnąłem przez kilka sieci komórkowych w poszukiwaniu tej, która będzie mi najbardziej odpowiadać, jeżeli chodzi o dzwonienie w UK, Internet w komórce, ale również rozmowy telefoniczne na świat — i to nie tylko do Polski.

Jak to wielu polaków, zacząłem od O2, przez krótki czas z Vodaphone, Three UK (3), po czym przeniosłem się na GiffGaff (który bazuje na infrastrukturze O2 jako wirtualny operator). Jako że nigdy nie byłem zwolennikiem abonamentu w UK, GiffGaff zaoferował mi pełną swobodność i nie tylko...

<!--more-->

## O sieci GiffGaff

Nie będę się za dużo rozpisywał o samej sieci. W skrócie powiem, że jest ona wirtualnym operatorem działającym na nadajnikach sieci O2 - jednakże skupiona na nieco innych klientach — tych, którzy nie tylko korzystają z telefonu do komunikacji w UK, ale również na świecie. Oraz tych, którzy **wierzą, że nie muszą wydawać dużo, żeby dostać dużo w zamian**.

Szczegółową ofertę możesz znaleźć tutaj: [https://www.giffgaff.com/offer](https://www.giffgaff.com/offer)

## Jak działa GiffGaff - w skrócie

Będąc w sieci, twój plan taryfowy podzielony jest na dwa typu - **UK (goodybags)** i reszta świata **(balance)**.

W UK używasz pakiet — podobny do abonamentu — zwany **goodybags**. Na resztę masz **balance** - czyli **saldo** w **funtach (£)**, które wykorzystujesz głównie na dzwonienia poza granicę, oraz w nielicznych przypadkach, jak dzwonisz, lub wysyłasz wiadomości na dodatkowo płatne numery.

Warto nadmienić, że większość numerów, na które dzwonisz, wykorzystujesz z minut w twoim **goodybags**, a obecnie, **wszystkie goodybagsy** mają nielimitowane minut (nawet te za £6 miesięcznie). W ramach nielimitowanych minut wliczają się numery zaczynające się od **01**, **02**, **03** (z pewnymi wyjątkami) oraz **0800** i **0808**.

Jest to szczególnie przydatne, gdy dzwonisz do państwowej instutucji, gdzie czas połączenia z konsultantem do najkrótszych nie należy.

## GiffGaff i goodybags

**Goodybags** zaczynają się od **£6** gdzie dostajesz nielimotowaną ilość minut i SMSów oraz 1GB internetu - i tak do **£35**, gdzie dostajemy 150GB internetu. Są to plany **PAYG** (Pay as you go), **ale są jeszcze lepsze oferty!**

[![GiffGaff Goodybags Plans](GiffGaff_Standard_Plans_2023-min16.png  "GiffGaff goodybags - Standardowe plany taryfowe")](GiffGaff_Standard_Plans_2023-min16.png)

Osobiście jestem na planie **£10** (**golden goodybags**, o których nieco późnie), gdzie mam nielimitowane minuty i SMSy oraz **20GB** internetu.

Co najważniejsze, **goodybags** nie działa tak jak abonament lub **top-up** w innych sieciach. Wykupujesz go na **miesiąc** ale to nie znaczy, że jak wyczerpiesz pakiet (z reguły internet), to musisz **zacisnąć pasa** i czekać do kolejnego miesiąc, tak jak w innych sieciach. W każdej chwili **możesz sobie dokupić dodatkowy, nowy goodybag**, jeżeli w danym miesiącu zużyłeś twój podstawowy wcześniej.

**Dodatkowo**, jeżeli jesteś lojalnym klientem i masz ustawione odnawianie twoich **goodybags** automatycznie, to możesz się liczyć, że jeżeli w danym miesiącu wykorzystasz internet szybciej, to dostaniesz od sieci dodatkowe **+1GB** (tak zwane **emergency**), tak na wszelki wypadek i całkowicie za darmo. Jest to szczególnie fajne, jeżeli nasz **goodybag** odnawia się za kilka dni, wtedy możemy dotrwać do końca bez problemu.

## GiffGaff i auto-odnowienie goodybags

Oczywiście, spora część ludzi chwali sobie abonamenty, gdyż nie muszą pamiętać o doładowaniu konta itp. W GiffGaff masz możliwość ustawienia sobie **auto odnowienie na goodybags**, przez co nie musisz nic robić – a co miesiąc będziesz miał nowy pakiet. Tak jak abonament, **tyle że lepiej**, bo **możesz przerwać kiedy chcesz**, **zmienić wielkość pakietu** czy **dokupić nowy**, w czasie trwania poprzedniego, _jeżeli np. skończyły ci się internet_.

Co więcej, jeżeli jesteś stałym klientem, który ma ustawione na stałe auto-odnawianie (**recurring**) do dyspozycji masz znaczne lepsze **złote** pakiety (**golden goodybags**) o czym na końcu.

### 18 miesięczny plan

Jeżeli czujesz, że sieć GiffGaff jest twoim najlepszym wyborem, możesz z nimi związać się na 18 miesięcy, dzięki czemu otrzymasz jeszcze więcej, a niżeli w **złotych** planach odnawianych co miesiąc.

Co najważniejsze, twoje zobowiązanie nie wiąże się ze stałym kosztem. W zależności od potrzeb, możesz lawirować pomiędzy planem od **£8** i 6GB internetu, aż do **£35** gdzie dostajesz nielimotowany internet. W zależności od potrzeb, każdy miesiąc może być inny.

## GiffGaff - My Balance

Balans - **czyli saldo** - służy na doładowanie waluty na takiej samej zasadzie jak **telefon na kartę**, jednakże w połączeniu z **goodybags** służą one do wszelkich płatnych usług lub dzwonienia do innych krajów:

> Polska - **1p**/min na stacjonarne, **5p**/min na komórki, **6p** sms, **30p** mms\
> ps. w dobie komunikatorów internetowych **kto jeszcze używa MMS?**

Szczegółowe stawki do krajów na świecie znajdziesz tutaj:\
[https://www.giffgaff.com/international](https://www.giffgaff.com/international)

I tutaj również jedna przewaga nad innymi sieciami. Jeżeli się "rozgadasz" z kimś na drugiej stronie globu, nie musisz się stresować, że zostaniesz rozłączony w najmniej oczekiwanej chwili. Tutaj również możesz ustawić sobie **auto-doładowanie salda** w momencie, gdy kwota spadnie poniżej **£3**.

Oczywiście, saldo będzie służyło do pokrycia naszych wydatków, gdy wyczerpiemy nasze **goodybags**m a nie zdecydujemy się na zakup kolejnych przed kolejnym okresem rozliczeniowym.

Wówczas, następujące stawki wchodzą w życie:\
[https://www.giffgaff.com/pricing](https://www.giffgaff.com/pricing)

**Ale to nie wszystko!**

## £5 dla każdego poleconego od GiffGaff

Każda osoba, która dołączy do sieci (**z polecenia**) i doładuje konto - **saldo** - lub wykupi **goodybags** za minimum **£10** przy aktywacji karty, dostanie (od razu) **£5 gratis** na wykorzystanie na dowolny cel w postaci salda (**balance**).

Jeżeli jesteś zainteresowany, skorzystaj z mojego linka i zamów sobie **bezpłatną kartę SIM z dostawą do domu** oraz **£5** gratis przy pierwszym doładowaniu:

> [https://giffgaff.com/orders/affiliate/itdarek](https://giffgaff.com/orders/affiliate/itdarek)

Lub skanując poniższy kod QR aparatem w twoim telefonie:

![Free calls to your mates on giffgaff. And £5 free credit. Get in. Scan QR Code](giffgaff-qr-code.png)

**Pamiętaj**, że jeżeli zamówisz kartę bezpośrednio ze strony, nie dostaniesz **£5**, gdyż dostajesz to tylko za przystąpienie do sieci **z polecenia przez innego użytkownika**.

**Jak już dołączysz,** będziesz również mógł polecać sieć innym i zarówno ty - jak i osoba polecona **dostanie £5**.

## Darmowe karty SIM z £5 od GiffGaff

Jak już będziesz w sieci, możesz również zamówić sobie karty i rozdać je znajomym wraz z **£5 gratis** gdy spełnią wymaganie doładowania za minimum **£10**. Wówczas nie musisz się przejmować odnośnikiem do polecenia, gdyż karty są przypisane od ciebie.

## Przenoszenie numeru do GiffGaff

Oczywiście, możesz również przenieść numer do GiffGaff z innej sieci. Wystarczy od twojego operatora uzyskać **PAC Code** ([teraz możesz to zrobić za pomocą wiadomości SMS! bez konieczności dzwonienia](/jak-zmienic-operatora-komorkowego-w-wielkiej-brytanii/)) i rozpocząć przenosiny na stronie GiffGaff po zalogowaniu - wyznaczyć dzień przeniesienia i gotowe.

**Nie dużo zachodu a spore oszczędności!**

{{% ads-in-article %}}

## Telefony od GiffGaff

Warto dodać, że GiffGaff oferuje również telefony, które **nie związują cię kontraktem** a jedynie **planem ratalnym** nie związanym z twoimi **goodybagsami**. Telefon spłacasz niezależnie, a to ile wydajesz na inne usługi, zależy od ciebie, **a nie od kontraktu z siecią komórkową**.

ps. Telefony są **bez blokady Sim**.

> Tak, tak, wiem że w Polsce "teoretycznie" wszystkie telefony są bez blokady, ale tylko "teoretycznie" a w Europie tak naprawdę nie jest to "wymaganie".

## Roaming w sieci GiffGaff

Dawniej, jak jechałem do Polski używałem tam polskiej karty w celu wykonywania połączeń. Wiązało się to z noszeniem dwóch telefonów lub lawirowaniem kartami - co nie bywało przyjemne, szczególnie, gdy czekasz na telefon a UK.

Ostatnio, szczególnie gdy jadę na krótko, przestałem się tym przejmować, gdyż mogę użyć moje goodybagsy do dzwonienie, wysyłania wiadomości SMS oraz internetu.

### Roaming w EU i internet z goodybags

Do czasu, gdy Wielka Brytania była członkiem Unii Europejskiej, podróżując do kraju w UE używaliśmy telefon tak, jak w domu. Rozmowy, SMSy i internet wliczone były z wykupiony przez nas pakiet goodybags (z ograniczeniem po przekroczeniu 20GB).

Wszystko, co dobre niestety się kończy, gdyż **"geniusze"** w UK głosowali za brexitem, aby mieć śliwki na wierzbie. Teraz jednak przyjdzie im i wszystkim nam, płacić za tą "dogodność". 

Od **9 sierpnia 2022 roku** (zmienione z 26 listopada) w ramach unii europejskiej będziemy mieli dostępne tylko maksymalnie **5GB** internetu, nawet jeżeli nasz goodybag oferuje znacznie więcej. Jeżeli przekroczymy 5GB, wówczas będziemy musieli płacić **10p/MB**, co nie jest wcale tanio!.

> Limit 5GB narzucony jest przez sieć O2. Inne sieci, takie jak Lyca Mobile (sieć EE), mogą oferować więcej transweru przy podobnych pakietach.

Jeżeli zamierzamy korzystać intensywnie z internetu w kraju docelowym, warto zapoznać się z lokalną ofertą internetu na kartę, gdyż może być ona bardziej opłacalna. Jeżeli posiadasz w miarę nowoczesny telefon, zainteresuj się kartą eSIM.

---

Tutaj możesz znaleźć [ile będzie cię kosztować korzystanie z twojego telefonu podczas podróżowania poza Wielką Brytanię](https://www.giffgaff.com/roaming-charges).

Jeżeli chcesz dowiedzieć się [ile kosztuje dzwonienie za granicę z Wielkiej Brytanii](https://www.giffgaff.com/index/international), to ta strona wszystko z łatwością wyjaśni.

## Złote Goodybagsy (golden goodybags)

Dla osób korzystających z comiesięcznego odnawiania pakietów goodybag GiffGaff przygotował specjalną ofertę pakietów zwanych **golden goodybags**. 

![GiffGaff £10 Golden Goodybag](Golden_Goodybag_10.png  "£10, 20GB data, when you repeat your goodybag")

Zaczynają się one od **£10** i oferują nielimitowane rozmowy, SMSy oraz 20GB internetu, i tak aż do **£35** gdzie wszystko jest **nielimotowane** (z zaznaczeniem tzw. [**Fair Usage Policy**](https://www.giffgaff.com/terms#giffgaff-fair-usage-policy)).

> Teoretycznie Golden goodybags zaczynają się of £6 i 2GB internetu, jednakże najbardziej optymalny pakiet wg mnie jest ten za £10.

* * *

Mam nadzieje, że zachęciłem cię co nieco do zapoznania się z siecią, która **dodatkowo, bez żadnych opłat** oferuje **5G w standardzie**.

Jeżeli tak, skorzystaj z mojego linku polecającego i zamów swoją kartę za darmo z dostawą do domu.

[https://giffgaff.com/orders/affiliate/itdarek](https://giffgaff.com/orders/affiliate/itdarek)

![Free calls to your mates on giffgaff. And £5 free credit. Get in. Scan QR code.](giffgaff-qr-code.png)

## eSIM, WiFi calling i VoLTE

### eSIM

GiffGaff od jakiegoś czasu oferuje możliwość zmiany fizycznej karty SIM na kartę wbudowaną w twój nowoczesny telefon, w technologii eSIM. Dzięki temu, bez konieczności wyjmowania i wkładania karty do telefonu, możemy w pełni wykorzystać możliwości naszego telefonu do obsługi kilku kart sim i przełączać się pomiędzy nimi w miarę potrzeb.

Jeżeli posiadasz już kartę SIM, wystarczy, że dokonasz zmiany fizycznej karty SIM na eSIM z pozycji aplikacji GiffGaff (**Account > SIM > Replace my SIM > Switch to a new eSIM**).

Jeżeli jesteś nowym użytkownikiem, możesz zamówić kartę eSIM jeszcze przed przystąpieniem do sieci, po zainstalowaniu aplikacji GiffGaff w twoim telefonie. W tym celu GiffGaff przygotował filmik pokazujący jak to zrobić.

{{< youtube acY6suWosq4 >}}

**Pamiętaj jednak**, że zamawiając bezpośrednio z aplikacji, a nie przez [link polecający](https://giffgaff.com/orders/affiliate/itdarek), **nie otrzymasz twoich £5**.

W związku z tym lepiej zamówić fizyczną kartę SIM odebrać swoje £5, a następnie przenieść się na kartę eSIM.

> Więcej na: [How do I get an eSIM on giffgaff?](https://www.giffgaff.com/help/articles/how-do-i-get-an-esim-on-giffgaff)

### WiFi calling i VoLTE

GiffGaff also offers support for calling over WiFi (as well as calling over 4G - LTE). According to [a post on the GiffGaff community forum](https://community.giffgaff.com/d/34168884-wi-fi-calling-and-volte-is-now-available-to-all-members), from 2nd October 2024, all users can enjoy this option as standard.

The new technology is noticeable when starting a phone call thanks to VoLTE. While I was "dialing" a number, the signal on the phone dropped from 5G to 3G and applications in the background experienced slowdowns, thanks to VoLTE this no longer happens.

If you are a new user, your card (number, even if temporary), is prepared to support calling over WiFi and when transferring a number from another network, you will also receive this option from the very beginning.

If you experience a weak cellular signal where you live and you have a WiFi network, thanks to this technology, a weak signal will no longer be a problem for you.

Obsługa dzwonienia po sieci WiFi (jak również VoLTE) to kolejny powód, dlaczego warto wybrać sieć GiffGaff.

---

Jeżeli masz jakieś pytania, [**napisz do mnie**](/kontakt/), a w wolnej chwili mogę ci pomóc co nieco.


---
## Windows 10 - przyśpieszenie i dostosowanie
- **URL:** https://dariusz.wieckiewicz.org/windows-10-przyspieszenie-dostosowanie/
- **Date:** 2015-12-30
- **Tags:** Windows, Aktualizacje, CCleaner, HDD, Mac, Menu Start, Microsoft, Oczyść pliki systemowe, Oczyszczanie dysku, Opcje zaawansowane, Panel sterowania, services.msc, SSD, SuperFetch, SysMain, Tesco Direct, WiFi problem, Windows 10, windows 7, WLAN problem, cleanmgr.exe, Disk Clean-Up

### Content

**Słowem wstępu**

Mimo że na co dzień używam **Mac'a** na komputerze prywatnym, to w celach firmowych nadal króluje **Windows** - na moim aktualnie **Windows 10**. Oprócz tego, zawsze mam Windows 10 dostępny w postaci wirtualnej maszyny.

<!--more-->

O tyle, co ja jestem w tej dobrej sytuacji, że mój **systemowy dysk to SSD,** to nie wszyscy mają tyle szczęścia i skazani są na **HDD SATAII**, rzadko **SATAIII** oraz tylko **5400rpm**. *Nawet w komputerach kupionych w 2020 roku co niektórzy kierują się pojemnością dysku (1TB) a niżeli prędkością*.

Jak każdy Windows, w tym **nowy Windows 10** wymaga nieco innego podejścia i dostosowania.

> Mylne komentarze krążą wśród osób, które jeszcze nie zaktualizowali do Windows 10 (*serio, w 2020 roku już wszyscy powinni być na Windows 10*), jakoby to on spowalniał starsze komputery.

**Nie do końca jest to prawda i wina nowego systemu**.

Nie mówiąc już o idiotycznych komentarzach na wszelakich polskich stronach, jakoby **Windows 10** był **"najgorszym złem"** - tylko po to, w momencie, gdy minie możliwość bezpłatnej aktualizacji — zacząć **"doić krowy aż będą muczały"**.

Każdy system, nawet jak **Windows 7** wyszedł, **wymaga dostosowania**.

Jeżeli twój komputer nie jest wyposażony w dysk SSD, poniższe rady mogą pomóc ci w przypadku **gdy twój komputer nie zachowuje się tak jak dawniej ze starsza wersja systemu**.

> Wpis został zaktualizowany **14 Sierpnia 2020** z uwzględnieniem zmian, jakie wniosły ostatnie majowe (**May 2020 Update**) oraz wcześniejsze aktualizacje systemu Windows 10.

## Indeksowanie

> Jeżeli posiadasz dysk SSD w swoim komputerze, możesz pominąć ten paragraf (**serio!**).

Indeksowanie plików powoduje duży wpływ na wydajność komputera, szczególnie w początkowym stadium **gdy indeks nie jest zbudowany**.

Tak naprawdę, indeksowanie nie jest bardzo potrzebne wśród początkujących użytkowników, jak również nieco zaawansowani znajda lepszy sposób na wyszukiwanie plików na dysku komputera.

**Aby wyłączyć indeksowanie**, można to zrobić **w dwojaki sposób**.

### Opcje Indeksowania

Z panelu sterowania **(w poprzednich wersjach)** *(prawy przycisk myszy na logo menu Start > Panel Sterowania)* – **Opcje Indeksowania** plików

[![Panel Sterowania Indeksowanie](/images/2020/08/Windows_10_Panel_Sterowania_indeksowanie-min.png)](/images/2020/08/Windows_10_Panel_Sterowania_indeksowanie-min.png)

> W przypadku **[najnowszych wersji Windows 10](/obraz-iso-windows-10/)** odnośnik do panelu sterowania został usunięty, ale nie znaczy to, że sam Panel Sterowania również został usunięty. Panel Sterowania jest nadal częścią systemu, wystarczy go wywołać z pozycji **Uruchom...** (Skrót Klawiszowy **Windows Logo + R**) i wpisując **control**.

[![Uruchomienie Control](/images/2020/08/Windows_10_Uruchomienie_control-min.png)](/images/2020/08/Windows_10_Uruchomienie_control-min.png)

Z poziomu **Ustawień systemu Windows** wyszukujemy *Opcje indeksowania* w analogiczny sposób.

[![Ustawienia systemu Windows Indeksowanie](/images/2020/08/Windows_10_Ustawienia_systemu_Windows_indeksowanie-min.png)](/images/2020/08/Windows_10_Ustawienia_systemu_Windows_indeksowanie-min.png)

W oknie *Opcje indeksowania* wybieramy opcję **Wstrzymaj** a następnie **Modyfikuj**. W kolejnym oknie odznaczamy wszystko na górze oraz klikamy na poszczególne elementy na dole, aby zostały pokazane, gdzie są zlokalizowane na dysku, po czym również je odznaczamy.

[![Opcje indeksowania](/images/2020/08/Windows_10_Opcje_Indeksowania-min.png)](/images/2020/08/Windows_10_Opcje_Indeksowania-min.png)

### Usługa Windows Search

Z poziomu Usług systemowych (**Services.msc**) *(Panel Sterowania > Narzędzia administracyjne > Usługi)*

[![Narzędzia administracyjne](/images/2020/08/Windows_10_Panel_sterowania_Narzedzia_administracyjne-min.png)](/images/2020/08/Windows_10_Panel_sterowania_Narzedzia_administracyjne-min.png)

> ...lub jak we wcześniejszym przykładzie, Skrót Klawiszowy **Windows Logo + R** i wpisując **services.msc**.

Odszukujemy **Windows Search** i klikając *Prawym przyciskiem myszy* wybieramy opcję **Zatrzymaj**.

[![Narzędzia administracyjne](/images/2020/08/Windows_10_Uslugi_Windows_Search-min.png)](/images/2020/08/Windows_10_Uslugi_Windows_Search-min.png)

Aby zapobiec ponownemu włączeniu po ponownym uruchomieniu komputera, przechodzimy do **Właściwości**. W pozycji *Tryb uruchomienia* zmieniamy na **Wyłączony**.

[![Narzędzia administracyjne](/images/2020/08/Windows_10_Uslugi_Windows_Search_Wlasciwosc-min.png)](/images/2020/08/Windows_10_Uslugi_Windows_Search_Wlasciwosc-min.png)

* * *

Zawsze używałem **tej drugiej opcji**, gdyż jest to o wiele wygodniejsze, a jak będziemy chcieli wrócić do stanu poprzedniego, to wystarczy **włączyć usługę ponownie** i tyle – bez zbędnego mieszania w ustawieniach systemu.

## Usługi dodatkowe

Jak już jesteśmy w usługach systemowych, możemy zerknąć również na usługę **Wstępne ładowanie do pamięci** (*SuperFetch*).

> Po aktualizacji **Windows 10 October 2018 Update** nazwa usługi **Wstępne ładowanie do pamięci** (*SuperFetch*) została zmieniona na **SysMain**.

[![Usługi SysMain](/images/2020/08/Windows_10_Uslugi_SysMain-min.png)](/images/2020/08/Windows_10_Uslugi_SysMain-min.png)

Jako że powyższa usługa zapisuje stan programów w postaci plików **.prefetch** w celu polepszenia wydajności uruchamianych programów – szczególnie przydatne dla tych, które używamy codziennie – **potrafi ona doprowadzić do 100% wykorzystania procesora lub pamięci**.    

Jeżeli **nie posiadamy dysku SSD** oraz **wyłączyliśmy** już **usługę indeksowania**, możemy z powodzeniem wyłączyć tą analogicznie do wcześniejszego kroku.

{{% ads-in-article %}}

## Automatyczne aktualizacje w tle

> W przypadku systemu **Windows 10 May 2020** – wersja 2004 lub nowsza nie ma możliwości ograniczenia aktualizacji w tle, a co jedynie *wstrzymania na 7 dni*.
> Całkowitego wyłączenia **Windows Update** z poziomu *Usług* nie zalecam!

[![Windows Update](/images/2020/08/Windows_10_2004_Windows_Update-min.png)](/images/2020/08/Windows_10_2004_Windows_Update-min.png)

* * *

**Automatyczne aktualizacje to kolejna bolączka** systemów z rodziny Windows, gdyż z reguły **są one instalowane w najmniej oczekiwanym przez nas momencie**. Powoduje to znaczące spowolnienie, szczególnie wtedy, gdy **potrzebujemy coś szybko zrobić lub zobaczyć** w internecie.

Windows 10 zmienił nieco podejście do aktualizacji **wyłączając poniekąd opcje informowania, kiedy aktualizacje mają być pobrane i kiedy zainstalowane** ale można sobie z tym poniekąd poradzić.

*Start > Ustawienia > Aktualizacja i zabezpieczenia > Windows Update > Opcje zaawansowane*

Zmieniamy: **Wybierz sposób instalowania aktualizacji** na **Powiadom o konieczności zaplanowania ponownego uruchomienia**.

[![Aktualizacja i Zabezpieczenia](/images/2015/12/Aktualizacja-i-zabezpieczenia-Windows-Update-Windows-10.jpg)](/images/2015/12/Aktualizacja-i-zabezpieczenia-Windows-Update-Windows-10.jpg)

[![Opcje zaawansowane Windows Update](/images/2015/12/Windows-Update-Opcje-Zaawansowane-Windows-10.jpg)](/images/2015/12/Windows-Update-Opcje-Zaawansowane-Windows-10.jpg)

> W przypadku najnowszych wersji (_build_) systemu Windows 10 (**April 2018**, **October 2018 Update**), o ile nie posiadamy naszego systemu w wersji Pro (lub Edukacyjnej), nie mamy zbytniej możliwości zmiany częstotliwości aktualizacji.
>
> Z jednej strony nie jest to głupie, gdyż powinniśmy używać zawsze najnowszą wersję systemu Windows bez względu na to, jaki komputer posiadamy.

W przypadku **wersji profesjonalnej systemu Windows 10** (*w wersji 2004 – May 2020 ta opcja również została usunięta*), możemy odroczyć co niektóre aktualizacje. W tym przypadku Microsoft podzielił je na dwa rodzaje, aktualizacje bezpieczeństwa oraz te, które dodają nowe funkcje w systemie (tj. October 2018 Update).

W tym celu musimy udać się do **Start > Ustawienia > Aktualizacja i zabezpieczenia**, a następnie przejść do **Opcji zaawansowanych**.

[![Aktulizacja i Zabezpieczenia October 2018](/images/2015/12/Windows-Update-October-2018-min.png)](/images/2015/12/Windows-Update-October-2018-min.png)

W tym przypadku, szczególnie gdy nasz komputer używany jest w firmie lub działalności gospodarczej, zalecam zmianę tego według poniższego przykładu.

[![Odroczenie aktualizacji](/images/2015/12/Windows-Update-October-2018-Opcje-zaawansowane-odroczenie-aktualizacji-min.png)](/images/2015/12/Windows-Update-October-2018-Opcje-zaawansowane-odroczenie-aktualizacji-min.png)

Zarówno w przypadku systemu w **wersji profesjonalnej** jak i **"domowej"**, w Opcjach zaawansowanych możemy również **wstrzymać aktualizację na maksymalnie 35 dni**.

[![Windows 10 Wstrzymanie Aktualizacji](/images/2015/12/Windows-10-Wstrzymanie-Aktualizacji-min.png)](/images/2015/12/Windows-10-Wstrzymanie-Aktualizacji-min.png)

> Opcja niedostępna od wersji **May 2020** *(2004)*.

## Porządki - usuwanie pozostałości po aktualizacjach

Po **wszelkich aktualizacjach** do Windows 10 oraz dużej aktualizacji Windows 10 **do najnowszej wersji**, na dysku pozostaje **sporo śmieci**, które są niepotrzebne. Czasem może ich się uzbierać **nawet 30GiB**, więc jeżeli twój systemowy dysk ma ograniczoną pojemność - _szczególnie w przypadku SSD_ - warto ją zwolnić.

Po pierwsze, używamy do tego **Oczyszczanie dysku** (_Disk Clean-up_) dostępny w systemie windows.

Po wybraniu dysku systemowego program przeanalizuje listę niepotrzebnych plików do usunięcia. Jednakże nas interesują pliki systemowe, więc wybieramy **Oczyść pliki systemowe**. Program ponownie przeanalizuje nasz dysk i wyświetli listę plików do oczyszczenia.

Zaznaczamy wszystko i wybieramy **OK**.

Jeżeli Windows **zapyta**, czy jesteś pewien, że chcesz usunąć poprzednie wersje systemu Windows - **odpowiadamy TAK**.

[![Oczyszczanie Dysku Windows 10](/images/2015/12/Oczyszczanie-Dysku-Windows-10.jpg)](/images/2015/12/Oczyszczanie-Dysku-Windows-10.jpg)

[![Oczyść pliki systemowe Oczyszczanie dysku Windows 10](/images/2015/12/Oczysc-pliki-systemowe-Oczyszczanie-dysku-Windows-10.jpg)](/images/2015/12/Oczysc-pliki-systemowe-Oczyszczanie-dysku-Windows-10.jpg)


Innym użytecznym programem jest [**CCleaner**](https://www.piriform.com/ccleaner/download), który polecam używać co najmniej raz w miesiącu, aby zrobić **porządek na dysku** oraz **w rejestrze**.

> Zobacz artykuł odnośnie [odstawienia CCleaner na rzecz BleachBit](/ccleaner-oczyszcznie-dysku-bleachbit/)

**CCleaner** pozwala nam również na zarządzanie programami, które mają się uruchamiać przy starcie komputera. Możemy **je tutaj usunąć** lub **wyłączyć** (np. Skype). Przy następnym ponownym uruchomieniu odznaczone programy nie będą uruchomione.

[![CCleaner Cleaner Window](/images/2015/12/CCleaner-Cleaner-Window-10.jpg)](/images/2015/12/CCleaner-Cleaner-Window-10.jpg)

[![CCleaner Registry Windows 10](/images/2015/12/CCleaner-Registry-Windows-10.jpg)](/images/2015/12/CCleaner-Registry-Windows-10.jpg)

[![CCleaner Tools Startup Windows 10](/images/2015/12/CCleaner-Tools-Startup-Windows-10.jpg)](/images/2015/12/CCleaner-Tools-Startup-Windows-10.jpg)

## Pamięć wirtualna i wizualizacje

W poprzednich moich wpisach odnośnie do zarządzania pamięcią wirtualną podjąłem gdybania nad tym, czy i ile jest jej potrzebne. Odsyłam [tutaj](/windows-vista-przyspiesza/).

Z moich obserwacji, domyślnie jest on ustawiony w tryb **Automatyczny** i zarówno przy dyskach HDD i SSD spisuje się tak, jak powinna. Przy dyskach SSD można zauważyć, że wielkość **pamięci wirtualnej jest znacząco mniejsza**, z tego prostego faktu, że dyski te są o wiele szybsze i użytek pamięci wirtualnej przegrywa z możliwościami dysku.

**Wizualizacje i ustawienia** również opisywałem [tutaj](/windows-vista-przyspiesza/) i [tutaj](/windows-7-wrazenia-i-dostosowanie/).

Pozostawiam to w kwestii gustu oraz faktu jak **“stary”** mamy komputer.

## Inne problemy

Bardzo często spotykane problemy są te, związane ze **sterownikami karty sieci bezprzewodowej (WLAN/WiFi)** oraz **sterownikami od drukarek**. Z reguły powodują one **niestabilne działanie Windowsa 10**.

Jeszcze raz - **nie jest to wina systemu** - bardziej wina **użytkownika** (o tym za chwile), jak również **producentów sprzętu** i samego **microsoftu.**

**Wina użytkownika**, bo z reguły użył płyty instalacyjnej do - chociażby drukarki - dostarczonej ze sprzętem, która została wydana **przed Windows 10** **lub** podłączył urządzenie do komputera i pozwolił zainstalować domyślne sterowniki zamiast przejść na stronę producenta **i pobrać kompatybilne pliki **\- tutaj akurat wina leży po stronie **microsoftu**, oraz braku przetestowania tego, co zapodają oni do użytkownika.

**Wina producentów**, gdyż nie dbają oni o aktualizacje swojego sprzętu i często nie wydają sterowników **do Windows 10** - z tego względu, że działają te z Windows 7 i 8. Co tam, że działają one niestabilnie, ale działają. Marketing w tej sytuacji jest ważniejszy - **a może użytkownik kupi nowy sprzęt kompatybilny z Windows 10**. Tutaj przychodzi z pomoc ze strony **microsoftu** serwując nam coś, co działa, choć może nie w pełni. Tutaj poniekąd **microsoft**jest **wybielony** ze wcześniejszego paragrafu.

Czasami do tego niechlubnego grona dochodzi również **antywirus** (chociażby Avast).

> Zachęcam do przeczytania [niniejszego artykułu](/moj-antywirus-windows-defender/), dlaczego wbudowany w Windows 10 – Windows Defender powinien stać się waszym domyślnym programem antywirusowym.

**Kolejnym problemem jest sama aktualizacja** z Windows 7 lub 8 to Windows 10.

Jak sam zauważyłem, aktualizując sporą liczbę komputerów - **jedyne problemy** - poza tymi wymienionymi na początku wpisu związanego z wydajnością - są te, związane z tym, że podczas aktualizacji **nie każdy sprzęt** - w tym wypadku drukarki i karty sieciowe - **jest zaktualizowany do najnowszych sterowników**. Niestety, jeżeli odczuwamy tego typu problemy, musimy zadbać o aktualizację tych urządzeń **a nie zwalać winę na Windows 10**.

Po nieudanym **Windows Vista** wszyscy **odetchnęliśmy przy Windows 7**.

**System ten na początku też nie był idealny** ale ewaluował do miana **kolejnego Windows XP.**

Potem przyszedł **Windows 8** - oraz generalna jego **poprawka** w postaci **Windows 8.1**.

Na końcu dostaliśmy **za darmo Windows 10**, który **jest połączeniem Windows 7 i 8.1 w jedno**. Z drobnymi zmianami, do których musimy się przyzwyczaić, ale z mojego punktu widzenia, aktualizacja - **tym bardziej darmowa** - **póki jest** - jest **wysoce wskazana** (i nadal jest dostępna - [czytaj tutaj](/aktualizacja-do-windows-10-za-darmo/)).

Jako że **dyski SSD staniały znacząco** najrozsądniejszym krokiem jest **inwestycja** w nową technologię (niestety, dyski magnetyczne montowane w nowych komputerach w 2020 nadal doprowadzają do szału). **Rekompensatą jest w prędkości**.

Pozdrawiam.

> Zachęcam również do przeczytania wpisu: [Porządki w Windows 10](/porzadki-w-windows-10/)



---
## LastPass - hasła z głowy... 7 lat później
- **URL:** https://dariusz.wieckiewicz.org/lastpass-hasla-glowy-7-pozniej/
- **Date:** 2015-12-11
- **Tags:** Artykuły, Oprogramowanie, 1Password, facebook, google, LastPass, Mac, OpenID, Premium, Twitter, weryfikacja dwuetapowa, YubiKey

### Content

Kiedyś (w 2008 roku) napisałem artykuł zatytułowany **Hasła z głowy… Czyli KeePassX i OpenID**, tym razem pora na coś innego - **LastPass**.

**Mamy koniec roku 2015 i przez te 7 lat dużo się zmieniło.**

<!--more-->

Po pierwsze, **OpenID** pozostał wybrykiem, którego nie zaimplementowały w jego oryginalnej formie żadne organizacje, przez co przyczyniło by się to do jego popularyzacji.

Zamiast tego, coraz powszechniejsze jest logowanie się na innych stronach z wykorzystaniem **konta Google**, **Facebooka** lub **Twittera**.

Po niekąd, jest to jakieś rozwiązanie, jednakże nie rozwiązał się problem z tysięcami haseł, z którymi musimy się zmagać na codzień.

Przez ten czas szukałem idealnego programu, z dużym naciskiem na przechowywanie haseł w chmurze oraz dostępności z poziomu przeglądarki, telefonu itp.

W momencie prześcia na komputer Mac coraz ważniesze stała się możliwość dostępu do haseł na różnych systemach operacyjnych oraz różnym sprzęcie (w domu i w pracy).

Tak naprawdę, jedynie liczące się rozwiązania spełniające oczekiwania klientów - użytkowników jest _1Password_ oraz właśnie **LastPass**.

_1Password_ według mnie, każe sobie płacić **za aplikację na komputer** w zależności od posiadanego systemu operacyjnego. Nie są to małe pieniądze, gdyż jak bym chciał go używać na Mac i Windows, to wydatek z rzędu £69.99 - sporo.

Na szczęście jest **LastPass** - a co się okazało później, jest on w kwestiach bezpieczeństwa o krok do przodu w stosunku do _1Password_. Wszystkie aplikacje są darmowe, support działa na odpowiednim poziomie, a cenowo też nie wychodzi najgorzej. $12 za rok ($1 za miesiąc) to naprawdę dobre warunki. Dodatkowo, wspierana jest **weryfikacja dwuetapowa** jak również **YubiKey**.

Istnieje również **darmowa wersja**, dla osób które nie potrzebują zaawansowanych opcji oraz synchronizacji na wielu urządzeniach.

W wersji **Premium**, możesz używać aplikacji na platformie Windows, Mac, Linux, oraz platformach mobilnych Android, iOS (iPad, iPhone), bezpośrednio w przeglądarkach na telefonie (Dolphin, Firefox) ale również na Blackberry, Windows Mobile, Firefox OS... i IE.

Producent zadbał również o przenośną wersję LastPass (portable) działającą z Firefox Portable oraz wersję kompatybilną z Microsoft Surface RT.

**Póki co, LastPass jest tym czymś, czego szukałem.**

Jeżeli to cię zainteresowało, **[spróbuj sam](https://lastpass.com/f?7736456)**, korzystając z niniejszego linku i otrzymaj **1 miesiąc Premium za darmo**.

> [https://lastpass.com/f?7736456](https://lastpass.com/f?7736456)

**Pozdrawiam**

{{% ads-in-article %}}


---
## Polska Korea Północna
- **URL:** https://dariusz.wieckiewicz.org/polska-korea-polnocna/
- **Date:** 2015-12-06
- **Tags:** Blog, Na Luzie, cyrograf, Iran, Jan Paweł II, Kaczyński, Korea Północna, Lech Wałęsa, Marcinkiewicz, mikołajki, minęła dwudziesta, PiS, Platforma, polska, Radio Maryja, Sellin, stan wojenny, Szydło, Telewizja Trwam, Ziobro

### Content

Coraz bardziej mnie – i zapewne nie tylko mnie przeraża co się dzieje w Polsce.

Ten kraj przestaje być krajem w Unii Europejskiej, cywilizowanym, normalnym... Coraz bardziej odsuwa się od normalności w kierunku paranoi i schizofrenii.

<!--more-->

Naprawdę nie widzę, czym kierowali się wyborcy głosujący na PiS.
Codziennie kolejne dzieci – wnuki wyjeżdzają, a rodzice – dziadkowie pozostają w tym kraju rozdzieleni tysiącami kilometrów.

**Nie mamy po do wracać.** Za rządu Platformy nie wielu z nas wróciło, a za rządu PiS’u jeszcze mniej wróci.

W obcym kraju czujemy się bardziej swojo, niż w kraju, który nas wychował.

PiS, „per” Kaczynski, „per” Sellin i inni tego “typu” ludzie sprawiają ze wszystkie kraje europejskie **patrzą na nas jak na idiotów**, a mnie to niestety nie dziwi.

**A tak a propos, ciekawe że obaj “per” panowie mają na imię Jarosław.** Już niedługo będzie przymus nazwać swojego syna Jarosław... **przypomina to co nieco pewien kraj komunistyczny.**

**Ministrem obrony** w rządzie PiS zostaje osoba, która w każdym innym “cywilizowanym” kraju odesłana by została na przymusowe leczenie. **Premierem** zostaje osoba, która musi mieć nie równo pod sufitem myśląc ze ona ma coś do powiedzenia. Pobędzie premierem przez kilka miesięcy i zostanie zdjęta i zastąpiona przez Kaczyńskiego.

**Historia lubi się powtarzać,** tak jak to było z rządem **Marcinkiewicza**. Jeżeli ktoś uważa ze będzie inaczej, to niech lepiej się obudzi, bo to nie sen, to **polska nienormalna rzeczywistość**. Per pani “Szydło”, czy pani już widzi zmierzch swojej kariery – czy jeszcze przed wyborami podpisała pani **cyrograf z diabłem Kaczyńskim?**

Może i w latach **80-tych** chrześcijaństwo, **Jan Paweł II i Lech Wałęsa** wygrali z komunistycznymi rządami i przywrócili po części “normalność”, jednakże te czasy minęły.

Ludzie chcą być szanowani, mieć własne zdanie i prawo do wierzenia w co chcą lub prawo do nie wierzenia w nic!

Jasne określanie że polska nie jest krajem neutralnym światopoglądowo, łamiemy podstawowe prawo zawarte w konstytucji. **Prawo do tego że każdy człowiek jest “równy”.**

Coś mi się zdaje, że Kaczyński i równi jemu “kolesie” czytają Konstytucję **tak jak niektórzy muzułmanie uczą się języka arabskiego** tylko na potrzeby czytania **Koranu**. I tak właśnie powstają terroryści.

**„Kaczyński i cały rząd PiS powinni zostać uznani za terrorystów, którzy powodują zamach na własnych ludzi”.**

Dziwię się, że **jeden człowiek w latach 80-tych** spowodował że **tysiące ludzi wyszło na ulicę** i obalili nienormalny rząd w Polsce, **a teraz**, gdy ludzie są otwarci na świat, mądrzejsi, bardziej wykształceni, **nic nie robią i pozwalają wcisną sobie ciemnotę**. Ciemnotę, taką jak fakt, że urodziny “radyjka” są traktowane jak święto narodowe, a **“wszyscy którzy są przeciwni, są przeciwko Polsce”**. To brzmi bardziej niż nienormalne.

Niedługo będziemy uważani za **Iran Europy**. Macierewicz będzie straszył Niemcy bronią atomową, której tak naprawdę nie mamy. Póki co, Amerykanie i inne kraje nie znajdą “rudy złota” w Polsce o które warto rozpętać z nami wojnę – **nie widzę przyszłości dla polski i polaków**.

Coraz bardziej zastanawiam się, czy przy kolejnej wizycie w Polsce, nie będę musiał wystosowywać **pozwolenia na wjazd do “ojca” Rydzyka**, przy celnikach **odmawiać różaniec**, a na powitanie mówić **“szczęść boże”** a **“amen”** na pożegnanie. No, chyba że odrazu wsadzą mnie do więzienia za zniesławienie – i to że mam własne zdanie i głoszę to w moim rodowym języku, na mojej stronie domowej.

I dziwić się tylko, że hymnem polski nie jest “**Duda Duda Day**“. Ale to pewnie jeszcze da się zrobić, skoro większości rządzącej przeszkadza konstytucja w obecnym wymiarze, więc wszystko da się zrobić.

{{< youtube Vvm57EWS44w >}}

Ciekawe tylko, czy w nowym roku **Religia nie będzie obowiązkowa na maturze**, a zamiast poboru do wojska, będzie przymusowy **pobór do klasztoru** – a wszystkie “gumki” sprzedawane w sklepach będą przebijane złotą igłą **otumanionych wiernych wyznawców Rydzyka i jego chorego Radia**.

No cóż, do pamiętnej grudniowej daty nie długo i może Kaczyński ogłosi kolejny **“stan wojenny”.**

**Wszystko kreśli się czarnymi barwami.**

Zawszę uważałem że TVP to skrót od „Telewizja Polityczna”, a po głośnym epizodzie programu **“minęła dwudziesta”** oraz tym, co się stało z dziennikarką potem, przypomina mi się to, co jest obecnie w chinach.

Chiny mają kanał, który **“każdy ma oglądać”**, a **“nikt nie ogląda”**.

Niedługo będzie tak, że **telewizory** sprzedawane w sklepach **będą dostarczane z zaprogramowanym na stałe kanałem Telewizji Trwam** jako **“pierwszy publiczny i przymusowy kanał dla wszystkich”**.

Prawo jest po to, żeby działało tak, **jak my – PiS’owcy chcemy**. Co tam trybunały konstytucyjne, to my jesteśmy prawem i jak będziemy chcieli, to i trybunał się zdejmie – **czyż nie panie Ziobro?**

Jak nie PiS, jak nie Kaczyński to jeszcze jest Duda… zawsze się znajdzie ktoś kto zmieni prawo, a tych co będą mówili, że zostało to zrobione niezgodnie… zesłać do łagrów… albo jeszcze lepiej, **do Torunia** i zakonu Rydzyka, **gdzie chłosta już czeka a smoła się już gotuje.**

**Naiwność wyborców PiSu nie zna granic.**

**Jeszcze raz wam gratuluje.** Oczywiści że Platforma nie była lepsza, bo żaden rząd przy władzy nie jest doby, ale teraz przeszliście samych siebie. Tylko nie narzekajcie że mało zarabiacie i że w tym kraju nie da się żyć.

**Sami zgotowaliście sobie taki los.**

Jako że mamy **mikołajki**, ciekawi mnie ilu z was znalazło **pod poduszką różaniec** zamiast **czekoladowego mikołaja**.

**Pozdrawiam.**

{{% ads-in-article %}}

> 6 Grudzień 2015
> 5 lat, 2 miesiące i 6 dni, jak moim domem stała się Wielka Brytania.

Poniższy film tylko udowadnia, że nie tylko ja uważam, że to co się dzieje jest nienormalne:

{{< youtube JreH4YDN1zQ >}}


---
## AppCleaner - Dodaj/Usuń programy w MacOS
- **URL:** https://dariusz.wieckiewicz.org/appcleaner-dodaj-usun-programy-macos/
- **Date:** 2015-11-23
- **Tags:** Mac, AppCleaner, AppTrap, Dodaj Usuń Programy, Mac, SmartDelete

### Content

Jedną z bolączek - lub jak kto woli - uproszczeniem w systemach spod znaku nadgryzionego jabłka jest prostota **instalowania** oraz **usuwania** aplikacji.

<!--more-->

Otóż, o ile instalowanie polega w głównej mierze na przeniesieniu programu do folderu **Aplikacje**, a usunięcie, na przeniesieniu programu do **kosza**, to niestety nie wszystko.

Brak typowego sposobu na odinstalowanie aplikacji powoduje to, że na dysku pozostają **śmieci** po programach, których już nie mamy.

Do pewnego czasu używałem programu **AppTrap**, który pracując w tle wykrywał, gdy przenosiłem aplikację do kosz i pytał czy chce usunąć dodatkowe pozostałości po programie.

Niestety, nie był on idealny i używałem go na przemiennie z **AppCleaner**.

**Usuwanie programu** z użyciem **AppCleaner** jest tak samo proste, jak przenoszenie do kosza. Jednakże, w tym wypadku, otwieramy okno programu a następnie program, który chcemy usunąć przenosimy do jego wnętrza.

![AppCleaner Okno Główne](appcleaner_okno_glowne.png)

AppCleaner analizuje wszelkie pozostałości, które można usunąć wraz z nim. Dzięki czemu, możemy zyskać cenną przestrzeń na dysku usuwając **śmieci**. Szczególnie przydatne to jest, gdy mamy dysk SSD, który nie jest aż tak pojemny jak dyski mechaniczne.

Ostatnia aktualizacja programu dodała opcję, jaką oferował **AppTrap** czyli SmartDelete.

![AppCleaner SmartDelete](appcleaner_smartdelete.png)

Po włączeniu opcji **SmartDelete**, program sam wykryje, gdy wrzucimy aplikację do kosza. W tym momencie, pokaże nam się okno programu **AppCleaner** z sugestią, czy chcemy usunąć pozostałe "śmieci".

Mimo tego, że mam tą opcję włączoną, to i tak przywykłem już do usuwania programów poprzez wrzucanie ich do okna aplikacji.

Program jest **darmowy** i możecie go [pobrać ze strony autora](https://freemacsoft.net/appcleaner/).

{{% ads-in-article %}}


---
## Reset układu Launchpad w macOS
- **URL:** https://dariusz.wieckiewicz.org/reset-ukladu-launchpad-os-x/
- **Date:** 2015-11-23
- **Tags:** Mac, 10.11, El Capitan, LaunchPad, Mac, macOS, macOS Catalina, OS X, Reset, terminal

### Content

Ostatnio napotkałem ciekawy problem. Otóż zainstalowałem aplikację, którą po chwili usunąłem przy użyciu [**AppCleaner**](https://freemacsoft.net/appcleaner/) (przy okazji polecam). Po jakimś czasie, gdy zajrzałem do Launchpad'a (a nie zaglądam tam zbyt często) zauważyłem, że mimo tego, że aplikacji już nie ma, wisi tam ikona ze znakiem zapytania.

<!--more-->

Nie znalazłem szybkiej możliwości jej usunięcia, więc sięgnąłem do wujka Google, w celu znalezienia sposobu na ponowne zresetowanie ikon w Launchpad'zie.

Otóż po zmienia to wszelkie ustawienia, które tam wprowadziliśmy, w tym foldery z aplikacjami, które utworzyliśmy, aby je nieco poukładać, ale w rezultacie efekt został osiągnięty — **ikona ze znakiem zapytania znikła**.

Odpalamy **Terminal** i wklejamy poniższą linijkę:

```bash
defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock
```

Powyższą komendę[^1] sprawdziłem w OS X El Capitan (2015) aż do najnowszego macOS Catalina (2020).

* * *

[^1]:Źródło: [osxdialy.com](http://osxdaily.com/2011/08/01/refresh-launchpad-in-mac-os-x-10-7-lion/)

{{% ads-in-article %}}


---
## Mac, czyli życie po Windows... rok później
- **URL:** https://dariusz.wieckiewicz.org/mac-czyli-zycie-po-windows-rok-pozniej/
- **Date:** 2015-07-29
- **Tags:** Blog, Mac, Na Luzie, Linux, Mac, OS X, ubuntu, Windows

### Content

I tak minął rok. Nawet nieco ponad rok jak zamieniłem mojego ostatniego laptopa na MacBook Pro.

Miałem już sporo przygód z rożnym sprzętem i systemami operacyjnymi. Nie raz Windows na tyle mnie wkurzył ze postanowiłem na stałe przesiąść się na alternatywę na która było mnie wówczas stać, czyli Ubuntu.

<!--more-->

Były spore nadzieje i spore obiecywania, jednakże nigdy nie zaznałem spokoju, aby móc jasno powiedzieć, że w końcu znalazłem to, czego szukałem.

Po roku na Mac'u i OS X w końcu muszę stwierdzić ze znalazłem to, co przez dłuższy czas szukałem. Połączenie Ubuntu z oprogramowaniem dostępnym na Windows. Połączeniem sprzętu dostępnego na Windows w środowisku mocno zmodyfikowanego Linuxa. Tym właśnie jest Mac.

Przychodzę i włączam komputer... i działa. Zostawiam otwarte aplikacje do których wracam jutro, pojutrze lub później a one nadal tam są gotowe pod ręka. Wszystko działa jak należy, nie wiesza się bądź nie zamyka się w najmniej potrzebnym momencie.

Kojec z re-instalacją, formatami i problemami. Codzienna "praca po pracy" to jak odpoczynek w przyjaznym środowisku. Codzienna zabawa została zastąpiona przez tupot małych stóp. Tak to jest po 30-setce, starasz się oczekiwać czegoś co jest i działa, a zabawa która sprawiała przyjemność kilka lat temu została zastąpiona przez coś co sprawia ze czuje sie jak u siebie w domu, siedząc wygodnie w fotelu z trunkiem w ręku. Już nawet zapomniałem że sprzęt ten wymaga ładowania (\*).

Nie pomyślane było jeszcze nie tak dawno temu ze obejrzę sobie film i będę miał jeszcze czas na całodzienne serfowanie bez konieczności witania się z "Mr Voltage".

I mimo ze pod ręką, w wirtualnym środowisku leży sobie od jakiegoś czasu Windows 10, to służy on bardziej już jako poligon doświadczalny dla sprzętu i oprogramowania od producentów którzy nadal tkwią w wyznaniu "jednego, jedynego systemu operacyjnego".

No cóż - Windows na Mac'u też się przydaje. Pełne dopełnienie, szczególnie gdy znajdziesz się w potrzebie powrotu do starych nawyków.

I tak, to czego nie mógł mi dać Ubuntu - i raczej patrząc co się dzieje - nigdy nie da, znalazłem w Mac'u. Skoro mnie stać na odrobinę luksusu, a do tego otrzymuje w zamian to czego oczekuje, czego chcieć więcej.

Pozdrowienia dla wszystkich tych, którzy już spróbowali jabłka z ogrodu Cupertino oraz tych którzy jeszcze się wahaj.

Zobaczymy co przyniesie kolejny rok.

Pozdrawiam

{{% ads-in-article %}}


---
## Uporządkowany chaos w Menu Bar (Mac OS)
- **URL:** https://dariusz.wieckiewicz.org/uporzadkowany-chaos-w-menu-bar-mac-os/
- **Date:** 2014-12-23
- **Tags:** Mac, Oprogramowanie, Apple, bartender, chaos, Mac, menu bar, Microsoft, OS X, Windows, yosemite

### Content

**Słowem wstępu:**

Rozpoczynając przesiadkę z Windows na Mac OS, większość użytkowników jest świadoma jednego faktu. Wydając znaczącą sumę na komputer to nie wszystko. Ekosystem Apple opiera się na typowej teorii popytu i podaży, w związku z tym, należy być nastawionym na dodatkowe wydatki.

<!--more-->

Jeżeli chodzi o Windows, użytkownicy z reguły umieli sobie poradzić nie płacąc za programy, które chcą użytkować i Mac OS nie jest w tym wyjątkiem, jednakże za niektóre elementy aż warto zapłacić.

Windows skupił wokoło siebie użytkowników nie ze względu na swoją jakość ale również dostępność na różne platformy sprzętowe i zrobione w domowym zaciszu komputery. Co więksi pasjonaci, w tym ja swojego czasu starali się wyróżnić na tle Linuxów, niestety, nawet pod koniec 2014 nie można powiedzieć, że Linux może być systemem podstawowym na komputerze domowym - **niestety**.

Apple zrobiło dużo, by przekonać do siebie największych wydawców oprogramowania, aby utwierdzić ich w tym, że na Mac OS też da się zarobić, stąd też nie brakuje tutaj Office od bezpośredniego konkurenta Microsoftu, ale również bardziej zaawansowane oprogramowanie jest natywnie dostępne out-of-the-box.

Tak więc, Mac OS to inny rozdział, który jednocześnie przekonuje, że na niektóre dobre rzeczy aż warto zapłacić. Takim przykładem jest program **Bartender**.

**Kontynuując...**

Menu Bar w Mac OS posiada tę samą funkcjonalność co w Windows. Grupuje ono programy oraz elementy systemu które działają w tle lub też po to, aby były one zawsze dostępne pod ręką.

Niestety, jak można po chwili zauważyć, instalując chociażby Dropbox, Google Drive i inne elementy rezydujące w Menu Bar, przestrzeń, którą one zajmują znacząco się powiększa i powoduje swoisty nieład, co wręcz jest nie do pomyślenia w w systemie od Apple.

Póki co, nawet przy Yosemite, Apple nie zdecydowało się zrobić nic w tym kierunku, przez co, Menu Bar niektórych użytkowników, w tym mnie, może wyglądać następująco:

[![Menu Bar Mac OS without Bartender](/images/2014/12/Screen-Shot-2014-12-23-at-07.58.08.png)](/images/2014/12/Screen-Shot-2014-12-23-at-07.58.08.png)

Jak w prosty sposób opisać Bartender? Uporządkowany chaos - zobaczcie sami:

[![Menu Bar Mac OS with Bartender](/images/2014/12/Screen-Shot-2014-12-23-at-07.58.26.png)](/images/2014/12/Screen-Shot-2014-12-23-at-07.58.26.png)

3 kropki zastępują nam tonę ikon przywracając Tray znany już w Windows XP.

[![Menu Bar Mac OS with Bartender extended](/images/2014/12/Screen-Shot-2014-12-23-at-08.01.57.png)](/images/2014/12/Screen-Shot-2014-12-23-at-08.01.57.png)

Chaos uporządkowany bez rezygnowania z funkcjonalności.

Oczywiście, wszystko jest konfigurowalne, więc możemy określić które ikony są zawsze schowane a które pojawią się na pewien czas (gdy np. Dropbox robi synchronizację) i schowają się gdy nie są już potrzebne.

[Bartender](http://www.macbartender.com/) kosztuje ok $12, ~£10 lub nieco ponad 50 zł, w zależności od kursu walut, jednakże nie jesteśmy skazani na jego zakup już pierwszego dnia. Twórca Bartender zadbał o to, abyśmy mogli [przetestować program przed zakupem przez całe 4 tygodnie!](http://www.macbartender.com/Demo/Bartender.zip "Pobierz Bartender i używaj przez 4 tygodnie za darmo!")

Według mnie to jest wystarczający czas aby przekonać się, że program jest warty uwagi i zakupienia licencji, biorąc po uwagę że jest on dość często aktualizowany.

**Pozdrawiam**

{{% ads-in-article %}}


---
## Android 5.0 spowolnił twój telefon? Jest rozwiązanie!
- **URL:** https://dariusz.wieckiewicz.org/android-5-0-spowolnil-twoj-telefon-jest-rozwiazanie/
- **Date:** 2014-12-19
- **Tags:** Android, 5.0, android, Art, bootloader, cache, cache partition, davlik, google, lollipop, nexus, recovery, wipe

### Content

Android 5.0 (lollipop) to długo oczekiwana aktualizacja wprowadzająca sporo nowych funkcji w świat zielonego robota. Google ma to do siebie, że stara się z nowym systemem zaprezentować nową platformę sprzętową jaką jest Nexus 6. Jeżeli chodzi o sam system, to wszystko jest w porządku jeżeli chodzi o urządzenia, które zostały w niego fabrycznie wyposażone, schody jednak zaczynają się na sprzętach, które zostały zaktualizowane do najnowszej wersji.

<!--more-->

## Problem Android'a 5.0

Jako użytkownik Nexus 5 z niecierpliwością oczekiwałem na aktualizację, a jak już się pojawiła ochoczo wziąłem się do roboty. Niestety, po kilku dniach użytkowania moja mina nieco zbrzydła, gdyż zacząłem odczuwać efekt spowolnienia, a mój telefon zachowywał się jakby nagle z 4-ro rdzeniowego procesora i 2gb RAMu zostało mu nieco 10% mocy w standardzie. W tej historii nie jestem odosobniony, gdyż tona użytkowników lekko powiedziawszy "zdenerwowanych" zalewa wszelakie fora pytaniami... **WTF!** Pojawiły się również opinie, że Android 5.0 będzie działać tylko na najnowszym sprzęcie w miarę płynnie, **co jest zwykłą bzdurą,** gdyż wystarczy **zresetować (Reboot)** telefon i zaczyna on działać normalnie... niestety tylko przez jeden do dwóch dni. Aktualizacja do Androida 5.0.1 miała nieco poprawić stabilność systemu na innych sprzętach niż Nexus 6, jednakże tak się nie stało. Jako że codzienne resetowanie stawało się dla mnie nieco denerwujące do takiego poziomu, że chciałem rzucić telefonem o ścianę, postanowiłem poświęcić mój czas na zgłębienie tego problemu i znalezienie rozwiązania i [udało się](http://www.ibtimes.co.uk/most-common-android-5-0-lollipop-problems-nexus-devices-how-fix-them-1478158)! Jeżeli masz problem ze spowolnieniem na swoim telefonie po aktualizacji do Androida 5.0 i to nie koniecznie na telefonie Nexus 5, ale również 4 oraz tabletach, rozwiązanie poniżej.

## Teoria

Android 5.0 domyślnie zmienił sposób z operowaniem procesami działającymi w tle. Nie dosyć, że zmieniono runtime z Davlik na Art (na plus), to systemowa partycja **/cache** odgrywa tutaj dużo ważniejszą rolę. Otóż właśnie ta partycja **/cache** powoduje problem i efekt spowolnienia. Mimo, że na moim telefonie dokonałem czystej instalacji z obrazów od Google, to jednak partycja **/cache** jakimś cudem nie została zoptymalizowana pod kątem nowego systemu w związku z tym **trzeba to zrobić ręcznie w bardzo prosty i bezpieczny sposób**. Co najważniejsze, efekt jest taki, że w końcu system może być użytkowany przez kilka dni bez konieczności robienia restartu. A więc przejdźmy do praktyki...

## Praktyka

1.  Pierwsze co musimy zrobić to wyłączyć nasz telefon.

![Android5#1](/images/2014/12/Android51.jpg)

2.  Uruchomić telefon w trybie **Bootloader** poprzez przyciśnięcie jednocześnie przycisku **zasilania (Power)** i **głośność w górę (Volume Up)**.

![Android5#3](/images/2014/12/Android53.jpg)

3.  Gdy zobaczymy na ekranie **opcje bootloader'a**, korzystając z przycisków głośności, w górnej strzałce wybieramy **Recovery mode** i potwierdzamy nasz wybór przyciskiem **zasilania (Power).**

![Android5#4](/images/2014/12/Android54.jpg)

4.  Gdy nasz ekran wyświetli symbol androida z czerwonym trójkątem i wykrzyknikiem przyciskamy przycisk **zasilania (Power)** i naciskamy raz przycisk **głośności w górę (Volume Up)** aby wyświetlić **menu recovery**.

![Android5#5](/images/2014/12/Android55.jpg)

5.  Korzystając z przycisków głośności wybieramy opcję **wipe cache partition** (! proszę się nie pomylić !). Potwierdzamy wybór przyciskiem **zasilania (Power)**.

![Android5#6](/images/2014/12/Android56.jpg)
![Android5#7](/images/2014/12/Android57.jpg)

6.  Teraz możemy **iść zrobić zobić kawę**, gdyż gdy na ekranie mamy napis **Formatting /cache**, operacja ta potrwać może od kilku minut nawet do kilkunastu.

![Android5#8](/images/2014/12/Android58.jpg)

7.  Gdy operacja zostanie zakończona ujrzymy napis **Cache wipe complete**.

![Android5#9](/images/2014/12/Android59.jpg)

8.  Ostatnim krokiem jest wybrać opcję **reboot system now** i cieszyć się poprawnie działającym telefonem z najnowszym systemem. **Nareszcie!**

![Android5#10](/images/2014/12/Android510.jpg)

**Pozdrawiam**

{{% ads-in-article %}}


---
## Konwerter dzwonków dla iPhone w macOS
- **URL:** https://dariusz.wieckiewicz.org/iphone-ringtone-converter-mac/
- **Date:** 2014-12-11
- **Tags:** Mac, Oprogramowanie, converter, iPhone, iTunes, m4r, Mac, ringtone

### Content

Jakiś czas temu przygotowałem prosty [Konwerter dzwonków dla iPhone w Windows](/iphone-ringtone-converter-for-windows/). Tym razem przyszła pora na modyfikacje i zaprezentowanie wersji dla systemu macOS.

<!--more-->

**Trochę z poprzedniego tekstu:**

Jako że zabawa z konwersji MP3 na M4A i późniejsza zmiana rozszerzeń na M4R to nie jest dla mnie żadna filozofia, jednakże dla mniej doświadczonego użytkownika staje się to nie lada problemem. W związku z tym, korzystając z przeróżnych sposobów, postanowiłem przygotować coś, co skupiać się będzie na wrzuceniu MP3-jek i dwukliku, aby otrzymać gotowy dzwonek do wrzucenia do telefonu.

Przygotowałem kilka plików COMMAND oraz wykorzystałem do tego konwerter FFmpeg.

Jednakże bez obawy. Całość ogranicza się do kliknięcia pliku **init.command**.

* * *

**iPhone Ringtone Converter**  
Wersja **1.00** @ 2300-111214

> Lista zmian:
> * 1.00 - Pierwsza wersja

* * *

**Jak zacząć?**

Pobieramy przygotowane przeze mnie plik (linki na końcu strony).

Następnie rozpakowujemy **plik 7z** (jeżeli nie masz programu do rozpakowania, zajrzyj [tutaj](http://www.kekaosx.com/en/));

Kopiujemy pliki MP3 do folderu głównego z plikami, po czym odpalamy plik **init.command** (dwuklikiem);

Po przekonwertowaniu nasze dzwonki zostaną umieszczone w folderze RINGTONE a pliki, użyte przy konwersji w TMP_MP3;

Następnie odpalamy iTunes i dodajemy folder RINGTONE do naszej kolekcji;

Dalej już pozostaje nam tylko przeciągnąć dzwonki do naszego telefonu lub włączyć automatyczną synchronizację i gotowe.

* * *

{{% ads-in-article %}}

> Jeżeli masz problem z uruchomieniem pliku **init.command**, kliknij prawym przyciskiem na `ffmpeg` i wybierz Uruchom w Terminalu (wykonujemy to raz). Poinformowani zostaniemy, że plik nie jest dostarczony przez zaufanego autora (bez obawy!) - klikamy Otwórz i zamykamy konto terminala. Następnie uruchamiamy nasz plik **init.command** również za pomocą prawego przycisku i opcji Uruchom w Terminalu. Ponownie przy ostrzeżeniu wybieramy przycisk Otwórz.

Podziękowania dla *FFmpeg Binary* za binarki dla Mac'a oraz dla twórców projektu [FFmpeg](http://ffmpeg.org).

**Pliki do pobrania:**  
* [Wersja dla macOS](/pobierz/iphone_ringtone_converter_mac_64bit.7z)



---
## Apple - proste słowo "dziękuję"
- **URL:** https://dariusz.wieckiewicz.org/apple-proste-slowo-dziekuje/
- **Date:** 2014-06-02
- **Tags:** Blog, android, Apple, iOS 6, iOS 8, iPad 2, iPhone 3GS, samsung

### Content

Po dzisiejszym początku [WWDC](https://developer.apple.com/wwdc/), dla firmy Apple należy się potężne **podziękowanie**.

Szczerze mówiąc, nie spodziewałem się tego, że mój trzy-letni **iPad 2** będzie nadal wspierany i dostanie **iOS 8**. Oczekując rozpoczęcia WWDC, zacząłem się rozglądać, jak sprzedać po dobrej cenie iPada 2-ke i kupić chociażby 16GB iPada Air - **a tu taka niespodzianka**.

<!--more-->

Jak widać na załączonym obrazku, mimo, że iPad 2 został zaprezentowany w 2011 roku, to mimo tego nadal będzie wspierany. Nic dziwnego, gdyż dopiero nie tak dawno temu ogłoszono zakończenie jego produkcji to mimo to, w wielu punktach można jeszcze go spotkać po bardzo korzystnej cenie.

**Spęłnio się to, czego tak naprawdę, z punktu ekonomicznego się nie spodziewałem.**

Z punktu widzenia marketingowego, wspieranie iPada 2 jest nieopłacalne, ale Apple po raz kolejny nas upewnia, że jest firmą której produkty określają standardy i wartość jego użytkowników.

_Steve Jobs był przeciwny obniżaniu cen swoich produktów, gdyż twierdził, że obniża się tym wartość jego użytkowników._ Rzeczywiście, miał on sporo racji. Tak czy siak, użytkownicy Apple wydają spore sumy pieniędzy nie po to, aby zostać zapomnianym (tak jak użytkownicy produktów Samsung'a), ale po to, aby mogli je użytkować przez odpowiedni okres czasu, aż sami zobaczą, że to już pora na zmianę.

Tak jak to było z iPhone 3GS gdy Apple wypuścił iOS 6. Był to system, który był wręcz zbyt ciężki na to urządzenie i mimo tego, Apple pozwolił użytkownikom to zobaczyć i podjąć im racjonalną decyzję - **tak, pora na zmianę**.

Patrząc na iPada mini, który korzysta z podobnych komponentów co #iPad 2, bardzo bym się rozczarował, gdyby wszelkie plotki na temat zakończenia wsparcia by się spełniły. Jednakże, wszelakie blogi się myliły - i dobrze.

**Dziękuję #Apple** - upewniłeś mnie, że zakup tego, jak i innych twoich produktów był dobrą decyzją.

Mam tylko nadzieję, że konkurencyjne firmy również zrozumieją, że wypuszczając nową wersję produkty, nie powinno zakańczać się wsparcia jego poprzedników, tak jak to jest chociażby z wszelakimi tabletami i telefonami z Androidem.

Masz telefon z Android'em? twój produkt będzie wspierany przez maksymalnie 18 miesięcy - po tym czasie kup nowy... no chyba że wybierzesz Apple.

**Pozdrawiam.**

{{% ads-in-article %}}


---
## Life after Windows?
- **URL:** https://dariusz.wieckiewicz.org/life-after-windows/
- **Date:** 2014-04-11
- **Tags:** Blog, Apple, Boot Camp, laptop, Linux, Mac, macbook, Macintosh, Windows

### Content

No i stało się. Nie tak dawno temu chciałem wziąć się za przeinstalowanie systemu (Windows) na komputerze mojej drugiej połówki. Zostawiłem to sobie na weekend, aby zrobić to w wolnej chwili. Z każdą chwilą, gdy spoglądałem w kierunku laptopa wiedziałem co mnie czeka, ile przeinstalowywania, ustawiania itp. I tak minął weekend i nic nie zrobiłem.

<!--more-->

W poprzedzającym tygodniu zacząłem na poważnie rozmyślać nad zamianą laptopa z Windows na Mac’a, i chyba właśnie to sprawiło, że nie chciało mi się przeinstalowywać systemu, wiedząc ile czasu mi to zajmie.

Jeszcze nie tak dawno, przeinstalowywałem systemy i naprawiałem laptopy od tak, osobom, które o to poprosiły, jednakże z biegiem czasu coraz mniej mnie to bawiło, aż nadszedł czas, w którym po prostu nie chce mi się tego robić.

Spojrzałem z innej strony na moje i mojej połówki potrzeby, jeżeli chodzi o komputery i stwierdziłem, że Windows nie jest wcale do szczęścia potrzebny.

W moim przypadku, rezygnacja z laptopa z Windows (i Linuksem jednocześnie) to nieco inne wyzwanie, ale patrząc na to, że wszystkie obecne programy, które używam znalazłem na Mac’a, spowodowało, że uśmiech wrócił na moją twarz.

Niestety, czasem zdarza mi się bawić z urządzeniami, które przeprogramować można jedynie z wykorzystaniem Windows'owych programów... i tutaj pojawił się dylemat. Na szczęście zapytałem wujka Google co zrobić w tym przypadku, a on mi podpowiedział: [**Boot Camp**](https://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CEgQFjAA&url=https%3A%2F%2Fwww.apple.com%2Fuk%2Fsupport%2Fbootcamp%2F&ei=po9HU47MJuiy7AbgvYGgBg&usg=AFQjCNGj8AIX88MAbh3-oYvnsY80ATJ2_w&sig2=ftVqYpZQxgRJcXxlVZi44g&bvm=bv.64542518,d.d2k "Boot Camp by Apple").

## Boot Camp

Ten element systemu ponownie upewnił mnie, że nie potrzebuje laptopa aby móc zrealizować wszystkie cele. Stąd coraz śmielej zacząłem spoglądać w kierunku #Apple.

Rozumiem za i przeciw różnych grup ludzi, bo sam w tej grupie byłem jeszcze kilka lat temu, gdzie nigdy bym nie pomyślał o porzuceniu Windows i Linuxa na rzecz Mac’a. Ale… wszystko się zmienia.

Ta więc… pożyjemy, zobaczymy… myślę, że pora na zmianę.

...i tak miesiąc później (Maj 2014) mogę powiedzieć, że da się żyć bez Windows, bez kompromisów i wyrzeczeń. **Pozdrawiam.**

{{% ads-in-article %}}


---
## Systemowe przymiarki w obliczu śmierci klinicznej Ubuntu
- **URL:** https://dariusz.wieckiewicz.org/systemowe-przymiarki-obliczu-smierci-klinicznej-ubuntu/
- **Date:** 2014-04-02
- **Tags:** Artykuły, Linux, Oprogramowanie, android, Apple, canonical, iOS, macbook, OS X, ubuntu, Ubuntu One, Windows

### Content

Z dniem 31.03.2014, w którym to zacząłem na poważnie myśleć nad przejściem na Mac’a i porzucenie Windows wraz z Ubuntu, dzisiejsza decyzja o zamknięciu Ubuntu One - usługi chmurowej od Canonical wprawiła mnie w nie lada osłupienie. Wpierw pomyślałem, ze jest to spóźniony żart prima aprylisowy, ale po zweryfikowaniu tego na stronie głównej Canonical, sytuacja się potwierdziła, a dla mnie zabrzmiało to jak pierwszy gwóźdź do trumny tej firmy i całego systemu od Canonical.

<!--more-->

Wydaje mi się ze firma się bardzo przeliczyli co do możliwości swojej i swojego systemu, który mimo upływających lat, wydaje się jakby stanął w miejscu a producenci oprogramowaniaa - poza nielicznymi, przekreślili ten projekt, a inne bazujące na linuksie dystrybucje, odkreślili go grubą kreska, za która nie opłaca się wchodzić.

Mimo wzmożonych prac ze strony Canonical wraz z próbą konkurowania z Androicem i iOS’em w kwestii telefonów, jakoś nie widać tego samego ruchu ze strony twórców oprogramowania. Oczywiście pojawił się Steam dla Linuksa, dzięki czemu Linux stał się systemem również do grania, jednakże nic ciekawego nie można zaobserwować. Patrząc na okres, przez który Ubuntu jest na runku, bardzo chciałbym się mylić, ale wydaje mi się, że w najbliższych latach, lub chociażby za 2-3 będziemy w tym samym miejscu z pingwinem na desktopy jak jesteśmy w tej chwili.

Windows, Mac oraz Android i iOS wykorzystały swoją pozycję. Producenci polubili te systemy, gdyż pozwoliły im zarabiać niemałe pieniądze. Niestety, Ubuntu, mimo otworzenia własnego sklepu nie spowodowało zainteresowania tych, którzych wkład mógłby odwrócić rolę Pingwina jako trzeci system. Firmy takie jak Microsoft, Adobe, Corel… i inne nie dostrzegły rynku dla siebie, co spowodowało, że system ten bazuje na mniejszych, często jedno-osobowych deweloperach, co nie wróży różowo. Niestety, to nie pozwoli na dalszy wzrost.

Dzisiejsza informacja o zamknięciu usługi chmurowej powiązanej z Ubuntu - Ubuntu One ([1](http://arstechnica.com/information-technology/2014/04/ubuntu-one-storage-and-music-service-shut-down-by-canonical/), [2](https://one.ubuntu.com/services/shutdown/)), oraz wycofanie się z możliwości zakupu muzyki powiązanej z tą usługą tylko utwierdza mnie w przekonaniu, iż nie ma zysku. System pozostanie w rękach użytkowników, którzy w wolnym czasie będą chcieli dołożyć swoje trzy grosze, ale nie wierzę już w komercyjny sukces.

Nigdy nie myślałem na poważnie o Mac’u. Jako zżyty użytkownik Windowsa i pasjonata Linuxa, nie wyobrażałem sobie takiego posunięcia. Jednakże, moje obecne życie, rodzina i kariera zawodowa sprawią, iż coraz mniej mam ochotę grzebać w systemie, po to żeby za jakiś czas znowu coś ustawiać - poprawiać. Wszystko wskazuje na to, że trzeba skupić się na czym innym w życiu. Rodzina i praca, a dopiero zabawy w psucie i naprawianie. Z tego względu, coraz bardziej ochoczo zaglądam w kierunku nadgryzionego jabłka.

Dzisiaj, wycięczony psychicznie po pracy, wracam do domu, gdzie grasują moje kochane 22 miesięczne stópkii. Po tym czasie, wieczorem mam bardziej ochotę odsapnąć, a niżeli grzebać w komputerze. Coraz bardziej chcę poprostu włączyć i wszystko ma działać.

W dzisiejszym tygodniu wystarczająco zirytował mnie Windows 7, który jak nigdy, zaczął nawalać w momencie, gdy najbardziej potrzebowałem coś zrobić. Mimo, że wiedziałem jak sobie z tym poradzić, to niepotrzebnie podniosło mi to ciśnienie i zmarnowało trochę mojego czasu. Mam już dość jego marnowania, bo tak naprawdę nie mamy go za dużo dla siebie, rodziny, dla własnych przyjemności i pragnień.

Dodatkowo, zainspirował mnie tekst [Piotra Grabiec](http://www.spidersweb.pl/author/p_grabiec), w którym to on opisał [OS X i MacBooka Air okiem wieloletniego windowsiarza](http://www.spidersweb.pl/2014/03/os-xi-macbook-air-okiem-uzytkownika-windowsa.html). #Apple

Dało mi to co myślenia, oraz uświadomiło mnie, że wraz z wiekiem zmieniają się nasze priorytety, oraz to, że jesteśmy bardziej chętni pozwolić innym zrobić robotę, a niżeli tracić własny czas. Oczywiście, jest to tylko po części prawda, gdyż mam to coś w sobie, co sprawia, że nadal mam ochotę poznawać nowe i dociekać “jak to jest zrobione”. Jednakże, z dnia na dzień, niektóre rzeczy stają się mniej priorytetowe.

No nic - pożyjemy, zobaczymy. Szkoda tylko, że mój czas poświęcony Ubuntu i nauki tego systemu nie doprowadzi do tego, że stanie się on moim podstawowym systemem, mimo licznych już prób w przeszłości.

**Pozdrawiam.**

{{% ads-in-article %}}


---
## Mały tygrys
- **URL:** https://dariusz.wieckiewicz.org/maly-tygrys/
- **Date:** 2014-01-01
- **Tags:** Wiersze, mały tygrys, wiersz

### Content

<!--more-->

Mały tygrys mocno chrapie,  
Na dużej kanapie.

Bo to lepsze niż łóżeczko,  
A jak ryknie będzie mleczko.

Mleczka pełna buteleczka,  
No i kaszki jest miseczka.

Mały tygrys śpi,  
Ciekawe co mu się śni.

_Leeds, 2014_

{{% ads-in-article %}}


---
## iOS 7
- **URL:** https://dariusz.wieckiewicz.org/ios-7/
- **Date:** 2013-09-19
- **Tags:** Blog, cukierkowo, EMO, iOS 7, iPad, iPhone 5c, plastik, Steve Jobs, Terakota, Tim Cook, ubuntu, Windows 8, WOW, WTF

### Content

Jeszcze wczoraj wieczorem otrzymałem powiadomienie na mojego iPada, że dostępne jest **uaktualnienie do iOS 7**. Mniej więcej, przeglądając internet wiedziałem czego się spodziewać, więc dokonałem aktualizacji, aby z samego rana zobaczyć nową wizję Apple.

<!--more-->

Od razu poczułem, jakbym coś stracił. Mój iPad w moich rękach **stracił dużo**. Od razu po pierwszym włączeniu poczułem się, jakbym trzymał w ręce **plastikową zabawkę** w stylu iPhone 5c. Wszystko wygląda tak... **cukierkowo**. Moim zdaniem wygląd stracił profesjonalizm.

Zastanawiam się jak będą czuć się biznesmeni w towarzystwie innych obsługując ten "cukierkowy system". iOS był kreowany na profesjonalny system i mimo, że wygląd nie zmieniał się znacząco (bo po co, skoro wyglądał dobrze), to w wyrafinowanym towarzystwie tworzył efekt **WOW**. A teraz, po tym co ujeżdżałem mam efekt... **WTF?**

Na początku myślałem że to pomyłka, ale nie - to wszystko tak wygląda. Już się mogę domyślić co Steve myśli w zaświatach o tym.

Jak rozpocząłem swoją przygodę z iPad'em i iOS'em ciężko mi było przejść na Android'owy tablet. Mimo kilku podejść nie znalazłem nic, co by odpowiadało temu co mam. Jakoś bardziej zżyłem się z iOS'em, mimo że mój telefon to nie iPhone ale jeden z serii Nexus od Google i tutaj nie zamierzam nic zmieniać.

**O ile menu ustawień jest jeszcze do zniesienia, te ciepłe, jasne kolory, powiększenia, duże czcionki przypominają mi bardziej Windows 8.**

Mimo że same aplikacje z których korzystam się nie zmieniły (no chyba że te "dostosowane" do iOS 7), to czuje się nieswojo. Nie podoba mi się to. Moja żona lubi tego typu kolorystykę, więc domyślam się, że przypadnie jej nowy system do gustu, ja jednak bardziej lubię minimalizm, nieco ciemniejsze kolory oraz efekt WOW innej osoby, która na to patrzy. Dlatego też mój Ubuntu na laptopie jest bardziej zbliżony wyglądem do produktów Apple - dlatego też używam nadal Windowsa 7 a niżeli "Terakoty".

Jak to do tej pory każdy wzorował się na Apple, tak za czasów Cooka chyba się to wszystko zmieni. Zapewne w przeciągu kilku dni przyzwyczaję się do tego, oraz odkryję wszystko to co nowego ma co zaoferowania nowy system. Mimo to, nie wiem, czy w takim przypadku będzie można powiedzieć że iPhony są domeną ludzi ceniących sobie design. Bardziej mi to zajeżdża **EMO nastolatkami i plastikiem** (dosłownie i w przenośni).

Teraz już wiem oco chodzi z tym iPhone 5c - **C jak ciacho? chiquita?** bo chyba nie Che Guevara. No nie wiem, nie widzi mi się to, całkowicie mi się nie widzi. Pożyjemy - zobaczymy.

**Pozdrawiam.**

{{% ads-in-article %}}


---
## Konwerter dzwonków dla iPhone w Windows
- **URL:** https://dariusz.wieckiewicz.org/iphone-ringtone-converter-for-windows/
- **Date:** 2013-05-04
- **Tags:** Oprogramowanie, Windows, aac, Apple, converter, easy, iPhone, iPhone Ringtone Converter, m4a, m4r, mp3, ringtone, Windows

### Content

Ostatnimi czasy szukałem prostego i przyjemnego sposobu na konwersję dzwonków lub piosenek z formatu MP3 do formatu M4R używanego w iPhone jako format dzwonka.

Jako że zabawa z konwersji MP3 na M4A i późniejsza zmiana rozszerzeń na M4R to nie jest dla mnie żadna filozofia, jednakże dla mniej doświadczonego użytkownika staje się to nie lada problemem. W związku z tym, korzystając z przeróżnych sposobów, postanowiłem przygotować coś, co skupiać się będzie na wrzuceniu MP3-jek i dwukliku, aby otrzymać gotowy dzwonek do wrzucenia do telefonu.

Przygotowałem kilka plików BATCH oraz wykorzystałem do tego konwerter FFmpeg i oto wynik mojej pracy.

<!--more-->

* * *

**iPhone Ringtone Converter**  
Wersja **1.01** @ 2220-080513

> Lista zmian:
> * 1.01 - Poprawka związana z nieprawidłowym obcinaniem dzwonka.
> * 1.00 - Pierwsza wersja

* * *

**Jak zacząć?**

Pobieramy przygotowane przeze mnie pliki w wersji 32 lub 64-bitowej, w zależności od posiadanego przez nas systemu operacyjnego;

Następnie rozpakowujemy **plik 7z** (jeżeli nie masz programu do rozpakowania, zajrzyj [tutaj](http://www.7-zip.org/));

Kopiujemy pliki MP3 do folderu głównego z plikami, po czym odpalamy plik **init.bat** (dwuklikiem);

Po przekonwertowaniu nasze dzwonki zostaną umieszczone w folderze RINGTONE a pliki, użyte przy konwersji w TMP_MP3;

Następnie odpalamy iTunes i dodajemy folder RINGTONE do naszej kolekcji, po czym przeciągam je do naszego telefonu. Możemy również przeciągnąć plik bezpośrednio do naszego telefonu tak jak opisałem to [tutaj](/dzwonek-ringtone-iphone-itunes-12-7/).

* * *

Podziękowania dla Zeranoe FFmpeg za binarki dla systemu Windows oraz dla twórców projektu [FFmpeg](http://ffmpeg.org).

**Pliki do pobrania:**  
* [Wersja dla Windows - 64-bit](/pobierz/iphone_ringtone_converter_64bit_v1_01.7z)
* [Wersja dla Windows - 32-bit](/pobierz/iphone_ringtone_converter_32bit_v1_01.7z)

{{% ads-in-article %}}


---
## Polityka plików Cookies i Pamięci lokalnej
- **URL:** https://dariusz.wieckiewicz.org/polityka-cookies/
- **Date:** 2013-04-11
- **Tags:** polityka, warunki

### Content

## Czym są pliki Cookies i Pamięć lokalna (Local Storage)

Aby zapewnić profesjonalne i wydajne działanie, ta strona wykorzystuje pliki cookies oraz pokrewne technologie, w szczególności **Pamięć lokalną (Local Storage)**. Cookies to niewielkie pliki pobierane na Twoje urządzenie, natomiast Pamięć lokalna pozwala nam przechowywać dane w Twojej przeglądarce, aby zapamiętać Twoje preferencje.

Ta strona opisuje, jakie informacje są gromadzone, w jaki sposób ich używamy oraz jak szanujemy Twój wybór dotyczący rezygnacji z nieistotnego śledzenia.

## Zarządzanie preferencjami

Korzystamy z banera zgody, aby zapewnić Ci kontrolę nad Twoimi danymi.

* **Akceptuj wszystko:** Zgadzasz się na korzystanie przez nas z pamięci lokalnej w celach analitycznych, zapamiętywania preferencji strony oraz wyświetlania reklam. Pomaga nam to zrozumieć, w jaki sposób odwiedzający korzystają z serwisu i pozwala na prezentowanie trafniejszych treści.
* **Odrzuć wszystko:** Będziemy używać wyłącznie "ściśle niezbędnej" pamięci, aby utrzymać funkcjonalność strony. Żadne trwałe identyfikatory śledzące nie będą przechowywane, a analityka będzie działać w ograniczonym, anonimowym trybie. Reklamy nadal będą wyświetlane, ale nie będą personalizowane na podstawie Twoich wcześniejszych działań w przeglądarce.

## Jak wykorzystujemy te technologie

### Ściśle niezbędna pamięć
Używamy pamięci, aby utrzymać prawidłowe działanie strony. Obejmuje to:
* **Preferencje użytkownika:** Zapamiętanie, czy zaakceptowałeś, czy odrzuciłeś naszą informację o prywatności.
* **Bezpieczeństwo:** Zapobieganie oszustwom i zapewnienie integralności naszych formularzy kontaktowych.

### Wydajność i analityka
Używamy **Minimal Google Analytics 4**, aby zrozumieć ruch na stronie. Ta implementacja została zaprojektowana z myślą o poszanowaniu prywatności:
* Wykorzystuje **Google Consent Mode v2**, co oznacza, że żadne dane nie są przechowywane ani wykorzystywane do celów reklamowych, chyba że wyraźnie udzielisz na to zgody.
* Jeśli **Odrzucisz** śledzenie, dane analityczne są wysyłane w bezcookie-owym, anonimowym formacie, który nie identyfikuje Cię między sesjami.
* Jeśli **Zaakceptujesz** śledzenie, używamy pamięci lokalnej do mierzenia takich parametrów, jak czas spędzony na stronie oraz to, które podstrony są najbardziej pomocne.

### Reklamy
Ta strona wyświetla reklamy, aby pozostać bezpłatną dla naszych czytelników. Nasi partnerzy reklamowi mogą używać plików cookies i podobnych technologii do zbierania informacji o Twoich wizytach w tym i innych serwisach, w celu dostarczania odpowiednich reklam towarów i usług, które mogą Cię zainteresować.
* Jeśli **Odrzucisz** pliki cookies reklamowe, nadal będziesz widzieć reklamy, ale będą one niepersonalizowane (kontekstowe).
* Jeśli **Zaakceptujesz**, partnerzy ci mogą używać identyfikatorów w celu poprawy kierowania reklam i mierzenia ich skuteczności.

## Usługi stron trzecich

W niektórych przypadkach używamy wtyczek w celu rozszerzenia funkcjonalności:
* **Media społecznościowe:** Przyciski serwisów LinkedIn lub Facebook mogą ustawiać własne pliki cookies, jeśli wchodzisz z nimi w interakcję, będąc zalogowanym na tych platformach. Są one zarządzane przez odpowiednich dostawców mediów społecznościowych.

## Wyłączanie przez przeglądarkę

Możesz zapobiec ustawianiu plików cookies, dostosowując ustawienia przeglądarki (zobacz "Pomoc" w menu przeglądarki). Pamiętaj, że wyłączenie wszystkich plików cookies może "popsuć" niektóre funkcje tej oraz wielu innych stron internetowych. Zalecamy korzystanie z naszego banera na stronie, aby zarządzać ustawieniami prywatności specyficznie dla tego serwisu.

---

Cookie: Fot. Flickr, lic. CC by Michael Verhoef



---
## Need For Speed: The Run... 1st @ New York
- **URL:** https://dariusz.wieckiewicz.org/need-for-speed-the-run-1st-new-york/
- **Date:** 2013-03-18
- **Tags:** Gry, Chicago, Hot Pursuit, most wanted, need for speed, the run, Tokio Drift

### Content

**Kontynuując moje rozmyślania [z poprzedniego wpisu](/need-for-speed-the-run/) o Need For Speed: The Run.**

No i oto dotarłem co końca gry i szczerze muszę powiedzieć, że moje odczucia pozostały podzielone. Ja już wspominałem o grafice, to seria **"wyzwań"** w grze kuleje. Budynki miejskie wyglądają sztucznie, a kolory aut są jakby **w palecie 128 kolorowej**. Jedynie co nie odstają, to trasy zrobione w ciemniejszej i nocnej atmosferze. Irytuje fakt, że wczytywanie poszczególnych wyścigów bardzo często trwa dłużej niż sama jazda. Choć to już może wina wiekowego Xboxa, ale jakoś inne gry dają radę.

<!--more-->

> Jednak nie, obecnie gram w **Most Wanted (2012)** i tutaj wszystko wczytuje się dużo szybciej.

**~600km** Wprowadzony w tryb gry system interakcji gracza z filmikami, które są prezentowane tj. bieganie i wciskanie odpowiedniej kombinacji klawiszy jakoś do mnie nie przemawia. Przypomina mi się gra z serii Bourne'a - **wszystko tak jakby sztucznie wyreżyserowane** - to nie NFS. **Na plus** zasługuje fakt umieszczenia gry w prawdziwych realiach USA, a nie wyimaginowanych miast, które nie istnieją. Dodaje to co nieco atmosfery w grze. Co śmieszniejsze jest to, że na każdym kluczowym etapie w grze, musisz być na odpowiednim miejscu, gdyż inaczej nie przechodzisz dalej. Faktem jest to, że niespełnienie tej zależności **jest w praktyce nie możliwe,** albo kończymy dany wyścig na określonym miejscu, albo męczymy go do bólu, aż dany cel osiągniemy. Brakuje mi co nieco długich wyścigów trwających **15-20 minut**, znanych z poprzedniej części NFS: HP. Bardzo fajnym elementem, zasługujących na pochwałę dla twórców są wyścigi w wąskich kanionach, uliczkach, czy pomiędzy wszechobecnymi przeszkodami. Jeden nieprawidłowy ruch i rozwalamy samochód. Gra nie jest już w takim stylu, jakbyśmy jechali **czołgiem - niezniszczalnym**. Dobre jest też to, że w końcu możemy w poprawny sposób zepchnąć przeciwnika i nadziać go na przeszkody. Mimo to, brakuje nieco kolejnego elementu z **Hot Pursuit**, czyli wskaźnika zniszczenia samochodu - utrudniło by to poniekąd całą grę, ale może i dobrze - niestety, tego tutaj nie ma. Ogólnie rzecz biorąc, gra jest niezwykle ekscytująca, ale na każdym etapie da się dostrzec oszczędności na grafice - zapewne jest to podyktowane koniecznością utrzymania płynności całej zabawy. Jednakże nie mogę wybaczyć niedopracowanych kogutów policyjnych, które momentami wyglądają jak **dwa na przemian mrugające piksele** - jak na NFS, to wygląda tragicznie. Brakuje mi jeszcze możliwości ścinania tras, wszędzie tam gdzie jest to możliwe. Gdy tylko tego próbujemy, jesteśmy automatycznie przywracani na trasę. Ale oczywiście to już tylko moje subtelne odczucie, które wywodzi się pewnie z filmy **Tokio Drift**, a mogło by się przyczynić do nadużyć wśród graczy - choć i bez tego, znajdą się miejsca do tego typu kombinacji. **~1300km** Na tym etapie to już nie zabawa, a policja daje popalić. Mimo to czuję, jakbym **"przelatywał"** przez całą grę. Lawiny i slalomy wąskimi korytarzami wśród spadających skał to niezłe wyzwanie, jak dla mnie, nieznane jak dotąd z tego typu serii gier.

**~1900km** Mając już **total run time: 1h 11min** mam już 60% przejścia gry? Coś za szybko, nie sądzicie? Gdyby nie dostępne **"wyzwania"** pomyślał bym że ta gra to jakieś **śmiechu warte**. Ale cóż, jedno można przyznać, że efekty pogodowe i dźwiękowe są **na plus****.** Kolejny raz odnosząc się do grafiki muszę przyznać, że zapiera dech, szczególnie na leciwych Xboxach. Malownicze krajobrazy na otwartych trasach poza Chicago. **~4000km** Kolejny raz powiem, **że wkurza fakt**, z jaką łatwością można wylecieć z trasy oraz brak możliwości poruszania się jej alternatywną wersją. Wylatując, po prostu jesteśmy cofani na nią, nie dając nam możliwości wyprowadzenia samochodu i automatycznego powrotu, przez co traci się sporo cennego czasu. I tak dojeżdżając do końca, natrafiamy **ponownie na tego samego zawodnika**. Trochę dziwne, skoro **już raz go wykluczyliśmy**. Co nieco się zawiodłem na tej grze, ale postanowiłem opisać moje odczucia. Teraz przyszła pora na **Most Wanted (2012)**, która jest już o wiele lepsza, bardziej wciągająca. Więc, jeżeli nie graliście w The Run, przejdźcie od razu na następną a nie pożałujecie. Pozdrawiam

{{% ads-in-article %}}


---
## Polsko-Angielska rzeczywistość
- **URL:** https://dariusz.wieckiewicz.org/polsko-angielska-rzeczywistosc/
- **Date:** 2012-12-29
- **Tags:** Blog, anglia, BBC News, bezrobocie, ciemnogród, dżem, język angielski, Morrisons, PiS, Platforma, polacy, polska, Sami Swoi

### Content

**Pomału zaczyna mnie to już drażnić.** A dokładniej nie **to** - lecz kto.

Każdego dnia Polacy w Anglii, _których spotykam_ upewniają mnie w stwierdzeniu że jesteśmy głupim narodem. Głupim pod tym względem, że nie potrafimy się dostosować do warunków, w których żyjemy. Typowa Polsko-Angielska rzeczywistość.

Nie mam na myśli tutaj wszystkich, którzy wyjechali za lepszym życiem za granice, ale o tych 90% którzy nie dosyć ze wyjechali bez znajomości języka, to nie chcą się go uczyć i od razu chcieli by być kierownikami. Na każdym kroku jak to widzę, zaczyna mnie zbierać na _wymioty_.

<!--more-->

Inną wkurzającą rzeczą jest fakt, ze przyjeżdża ci taki **polak** bez znajomości języka i nie potrafi, a dokładniej nie chce (z lenistwa) nauczyć się kilku słów żeby chociaż zakupy zrobić w supermarkecie. **Ale nie, bo po co,** są przecież polskie sklepy gdzie można kupić mleko za **100% wyższa cenę** niż jest to w normalnym, codziennym sklepie. Ale po co, przecież jak można. Co tam, że w przypadku mleka, Anglicy maja je **100x** lepsze niż Polacy, ale lepiej przepłacić i **kupić polskie**.

Nie zdziwiło by mnie to, gdyby ci oto przykładowi Polacy bez języka, zarabiali by kokosy - ale nie, oni z reguły zarabiają minimum albo jeszcze mniej - **a rżną bogaczy na każdym kroku.** Nie powiem, bo sam okazjonalnie, co najmniej raz w tygodniu robię zakupy w polskim sklepie, bo można w nim dostać rzeczy, które są tańsze i niekiedy dużo lepsze niż w angielskich sklepach na pułkach. Chociażby wędliny czy sery, które w Anglii są bardzo drogie. Ale kupowanie chociażby dżemu w polskim sklepie to przesada, bo idziesz chociażby do takiego koncernu jakim jest Morrisons i bierzesz ich jeden z tańszych dżemów i znajdujesz napis **Product of Poland.** A cena? Kilkukrotnie niższa niż w polskim sklepie, a jakoś taka sama o ile nie lepsza.

Ale co tam, jak usłyszysz w tym oto supermarkecie Morrisons, gdy polak mówi do polaka, że nie kupi tego dżemu, bo jest z Polski. _No ludzie, trzymajcie mnie bo zabiję jak psa... cytując Pawlaka z Samych Swoich._

Takich przykładów jest sporo, wystarczy się trochę podszkolić. I nie trzeba tutaj od razu mówić **fluent english**, same słówka wystarcza i można zaoszczędzić sporo pieniędzy, a nie iść na łatwiznę i kupować wszystko w polskich sklepach, gdzie _Polacy zdzierają z polaków jak się da_.

Na pewno, czytając mój tekst znajdzie się sporo głosów sprzeciwu, ale taki jest fakt. Sam, jak przyjechałem do Anglii, znalem język, ale musiałem się na nowo go nauczyć biorąc pod uwagę sposób porozumiewania się tutejszych ludzi, gdyż tak naprawdę, jak to już nie jeden raz przytaczałem - _w Polsce bardziej nauczyłem się języka amerykańskiego a niżeli angielskiego_.

Mimo to, rozwala mnie fakt, jak ludzie bez jakichkolwiek podstaw języka, jakimś cudem znajdą pracę - _gdyż znajdzie się osoba która ich zatrudni, mimo że nie potrafi się z nimi dogadać_ - jedyne co potrafią to narzekać. Szczególnie na swoja pracę. Powinni się cieszyć, że ją mają - mają z niej pieniądze i nikt nie wymaga od nich nic więcej jak tylko uczciwej pracy. Osoby te nie wykazują żadnej chęci do nauki, a do narzekania są pierwsi. Tak naprawdę, to oni by już chcieli być kierownikami, aby pokazywać anglikom jak się pracuje **_(sić!)_**. Ale to **chyba my powinniśmy się uczyć od nich**, w końcu to ich kraj lepiej stoi i funkcjonuje. Mimo tego, że do wkręcenia przysłowiowej żarówki przyjdzie **3 ekspertów**. Jeden będzie trzymał drabinę, inny żarówkę - a jeszcze inny będzie ją wkręcał. Ale patrząc na to z innej strony, 3 osoby maja prace, to o **66% mniejsze bezrobocie**. Można na to patrzeć humorystyczne, ale coś w tym jest. Jak byśmy my robili prace za nich, to niedługo gospodarka Anglii była by jak polski - **niezaciekawa**.

Mimo mojej znajomości języka i tak jest mi czasem głupio, że nie mogę bezpośrednio powiedzieć tego co chce, tylko muszę użyc nieco zamiennych słów, aby się dogadać. **To mnie boli**, dlatego co rusz staram się rozwijać mój język, chociażby idąc do szkoły na doszkolenie. **Ale co tam, przecież po co takiemu polaczkowi język.** Ma polskie sklepy, w urzędzie poprosi o polskiego tłumacza, lekarza można sobie również wybrać polaka. Już nie mówiąc o zakładaniu polskiej telewizji w Anglii co jest dla mnie lekka przesada (chociaż ma to również swój sens, który zapewne z czasem zrozumiem). Rozumiem mieć dwie telewizje - angielską i polską, ale co da to takiemu polaczkowi tylko polska telewizja. Nie rozumiem tego, po co ogląda się polskie wiadomości, skoro na stałe osiedliło się w Anglii. Po co mi słuchać o powalony PiS'ie jak rzre się z Platforma, co mnie interesuje drożyzna i bezrobocie w Polsce. **No własnie, mnie nic.** Osobiście posiadam tylko angielską telewizję i do kawy porannej słucham BBC News. Chyba bardziej wskazane jest wiedzieć co się wydarzyło wokół nas, a niżeli w Polsce, co nie ma odzwierciedlenia do codziennego życia w Anglii. **I co, z anglikiem będzie się rozmawiało o tym, co wydarzyło w Polsce?** Ich przecież to nic nie obchodzi, oni i tak wiedza ze nasz kraj to jakiś ciemnogród. Jeżeli chcemy się czegoś nauczyć, to podyskutujmy z nimi na temat, na który oni też będą mogli się wypowiedzieć.

Osobiście pracuje w Anglii, przygotowując desery w restauracji. Na co dzień mam kontakt z polakami jak i anglikami. Ale rozwala mnie fakt, jak ktoś mi mówi, że z moją znajomością angielskiego nie pracował by tu gdzie pracuje. Może w ich mniemaniu mój angielski jest dobry, nawet od anglików takie stwierdzenie mogę usłyszeć. Ale według mnie, w moim odczuciu nie czuje się jeszcze na tyle pewnie aby konkurować o posadę z anglikami. Dlatego też uczęszczam na lekcje angielskiego aby ta pewność zdobyć i wtedy zmienić coś w swoim życiu. **Puki co, to mam stała prace i pensje, wiec nie można narzekać.** Zresztą, jakie to porównanie, jeżeli ktoś mówi że z moim angielskim nie pracował by na kuchni. A co powiedzieć o anglikach, którzy pracują na kuchni. No wiem, **są tam też debile**, którzy nic innego nie potrafią robić jak _obierać ziemniaki_, ale są tez ludzie, którzy podjęli się tego zawodu z wyboru, chęci i pasji. Wiec nie można tak powiedzieć, jakby to była jakaś hańba. A to że zarabiam mniej, niż co niektórzy Polacy bez języka segregujący śmieci na wysypisku, to nie znaczy że mamy się czegoś wstydzić. Choć nie mówiąc, że praca śmieciarza to jakaś hańba, bo żadna praca nie hańbi, a ktoś przecież też ją musi wykonywać, to mimo to ciesze się z tego jak jest. A co będzie dalej, czas pokaże.

Pozdrawiam.

{{% ads-in-article %}}


---
## Sweet Chilli Sauce (Sos)
- **URL:** https://dariusz.wieckiewicz.org/sweet-chilli-sauce/
- **Date:** 2012-11-25
- **Tags:** Kulinaria, chilli, papryczki chilli, przepis, sos, sweet chilli, sweet chilli sauce, thai

### Content

**Sos Sweet Chilli** można już kupić w praktycznie każdym supermarkecie, jednakże najlepszy, pod względem smaku i pikantności jest ten, który zrobimy sami. Oto mój przepis na ten wyśmienity dodatek do wszystkiego.

> Trudność: **Łatwa**
> Czas przygotowania: **5 minut**
> Czas wykonania: **20 minut**

<!--more-->

## Składniki

* cukier, 275 g
* woda, 250 ml
* papryczki chilli[^1], 60 g 
* ocet winny, 45 ml
* czosnek, 35 g
* sól, 9 g

[^1]: czerwone, długie papryczki chilli, najlepiej świeże. W przypadku suszonych dodać do 40% mniej.

W sumie uzyskamy **ok. 500ml** sosu.

{{% ads-in-article %}}

## Wykonanie

Do małego garnka wlewamy wodę, ocet winny, wsypujemy sól i cukier i pozostawiamy na małym ogniu, aby cukier się rozpuścił — od czasu do czasu mieszając.

Czosnek siekamy na drobną kostkę. Odcinamy od papryczek zielony ogonek i całe, wraz z nasionami kroimy na drobno. Nie musimy się przy tym starać, gdyż całość i tak na końcu zmiksujemy.

Posiekane składniki dodajemy do garnka i podkręcamy gaz. Tak gotujemy na dużym ogniu przez okres około 5 minut (od zagotowania). W tym czasie cała mikstura zmieni nieco kolor na odcień pomarańczowego. Następnie (jeżeli trzeba) pozostawiamy naszą miksturę na wolnym ogniu, aby zagęścić sos poprzez wyparowanie wody. W momencie, gdy ok. 30% wody odparuje, a całość zacznie przypominać płynny syrop, zdejmujemy z ognia.

Lekko ostudzamy, po czym używając blendera, całość bardzo drobno miksujemy. Tak przygotowany sos odstawiamy do ostygnięcia, po czym przelewamy do butelki lub innego naczynia. Przechowujemy w chłodziarce.

**Smacznego.**


---
## Need For Speed: The Run
- **URL:** https://dariusz.wieckiewicz.org/need-for-speed-the-run/
- **Date:** 2012-10-14
- **Tags:** Gry, forza, forza horizon, hot porsuit, most wanted, need for speed, nfs, pgr, project gotham racing 4, prostreet, the run, xbox 360

### Content

**Need For Speed**, ta nazwa mówi sama za siebie - i każdy gracz, który ją usłyszy wie o co chodzi i czego można się spodziewać.

Przez te wszystkie lata za rządów EA, stara się ona przywiązać nas do siebie oferując gry o imponującej grafice i grywalności. Jeżeli chodzi o _**know-how**_, to EA zdecydowanie wie co robi.

<!--more-->

Na jej drodze stawały różne firmy, próbujące uczknąć kawałek tortu dla siebie. Niestety, nie wielu im się udało - a jeżeli już, to nie zaszkodziło to całości. Patrz gry z serii **Forza**, które powalają grafiką, ale już sam rywalizacja jest nieco słabsza, sprawiając z gry bardziej symulator a niżeli wyścigówkę. Pokaże czas jak najnowsza wersja **Forza Horizon** się spisze w tym dziale.

_Forza_ jako jedno z dzieci Microsoftu zagościło i u mnie na półce, tak jak i _Project Gotham Racing_, który reklamowany był wspaniale, a przez minione lata ogólnodostępne trailery powalały, przez co można było by pomyśleć że zachodzi jakaś zmiana na polu wyścigów samochodowych. Niestety, NFS nikt nie może pobić (jak narazie), a PGR to po prostu przereklamowany _**gniot**_.

Jedyne co mnie irytuje w EA, to chęć wyciągnięcia z runku jak największej liczby pieniędzy, przez co nawet w tym samym roku na półki sklepowe trafia więcej niż jeden tytuł z serii _Need For Speed_. Nie jest to dobre, dla okazjonalnych graczy, którzy w wolnych chwilach chcą sobie pojeździć i w odpowiednim czasie przejść daną grę. Typowi _**"gracze"**_ zapewne są zadowoleni, gdyż poszczególne tytuły zjadają na kolację, przechodząc je jedne za drugimi.

Jak dla mnie, poganianie tytułu tytułem nie jest dobre. Ledwo co przeszedłem **NFS: Hot Porsuit** (II) i zacząłem **The Run**, a już wychodzi **Most Wanted** (II).

Zatrzymując się na **The Run**. NFS jak każdy, mimo że nie każdy miał fabułę, to da się grać. Rozczarowuje mnie sztywny sposób rywalizacji. Jakoś poprzedni _Hot Porsuit_ wciągnął mnie bardziej, bo gdy przeszedłem całą grę, nadal miałem ochotę na pobijanie czasów, przeciwników i zdobywanie kolejnych medali na danych odcinkach.

Mimo że w _The Run_ gram od niedawna, to coś mi w tej grze nie leży. Podobnie jak to było w przeszłości z _Prostreet_, który pomiędzy kolejnymi tytułami przemknął i nie pozostał na długo w pamięci. Obawiam się, że z _The Run_ będzie podobnie, dlatego też EA zdecydowało się na szybsze wydanie kolejnej części z serii.

**Moje pierwsze wrażenie jest takie**, że EA nie napracowało się zbytnio przy tej części. Porównując poprzednią wersję konsolową _(XBOX 360)_, czuję cię jakby grafika cofnęła się o jakieś dwa lata. Mimo, że w trybie kariery wszystko jest w miarę ładne, to poszczególne wyzwania, które zostały wplątane w poszczególne etapy są **po prostu brzydkie**. Może i samochody wyglądają ładnie, a system jazdy cały czas ewoluuje z tytułu na tytuł, to otoczka wyzwań przywiała mi na myśl grafikę z Project Gotham Racing 4 - i to głównie skłoniło mnie do tych refleksji.

Mimo że nie jestem jeszcze nawet w połowie gry (nie dojechałem jeszcze do Las Vegas), to nie opuszcza mnie odczucie, że przez grę się przelatuje niczym grom z jasnego nieba. Jeżeli mieli byśmy wolny weekend tylko na granie, podejrzewam, że przebrnęlibyśmy przez tą grę do samego końca.

{{% ads-in-article %}}

Zobaczymy jak będzie... _[tbc](/need-for-speed-the-run-1st-new-york/)._


---
## Grand Slam Tennis 2
- **URL:** https://dariusz.wieckiewicz.org/grand-slam-tennis-2/
- **Date:** 2012-10-14
- **Tags:** Gry, amiga, amiga 600, grand slam, Grand Slam Classics, grand slam tennis 2, international tennis, tennis, xbox 360

### Content

Już za czasów, gdy pierwsze komputero-konsolowo podobne urządzenia zdobywały rynek, a był to przełom lat 80-90 minionego wieku, moim faworytem wśród gier sportowych był **tenis**. 

<!--more-->

Pierwszy raz urzekła mnie pasja tego typu gier, gdy otrzymałem od mojego rodzica oryginalną wersję gry **International Tennis** na moją ówczesną Amigę 600. Jedno-dyskietkowa gra i piksele na ekranie, ale to co wtedy się liczyło to nie grafika, ale grywalność oraz odzwierciedlenie gry w rzeczywistości. 

To wówczas, dzięki tej grze poznałem zasady panujące na korcie tenisowym. 

Po tych wszystkich latach, jak stałem się posiadaczem konsoli XBOX 360, gdy tylko usłyszałem o grze **Grand Slam Tennis 2** powrócił do mnie sentyment z przed lat. Aby się nie rozczarować, postanowiłem pobrać wersję demonstracyjną, która od pierwszego włączenia pochłonęła mi dwie godziny ciurkiem. 

**Postanowiłem, że takową grę sobie sprawię.** 

Nie minęło pół roku od oficjalnej premiery, gdy ceny spadły do rozsądnego poziomu i udało mi się ją kupić za nieco ponad 6 funtów. 

Rozpocząłem zmagania na wirtualnym korcie, które - w porównaniu z wersją demonstracyjną - nieco mnie **rozczarowały**. 

Gra ma do dyspozycji cztery poziomy trudności, przy czym podstawowy jest ustawiony na drugi - Amator. 

Przeszedłem jeden turniej wielkiego szlema bez problemu, więc postanowiłem jednak zwiększyć poziom, gdyż czułem się, jakbym się cofał a nie rozwijał w swoich umiejętnościach. 

**Niestety, tutaj przyszło kolejne rozczarowanie.** Mimo zmiany poziomy na Profesjonalny, a później na Superstar, niewiele się zmieniło. Ostro ścięte piłki, pod anormalnym kątem i prędkością _"światła"_ sprawiły, że kolejny turniej zakończyłem - lekko zasypiając - na pierwszym miejscu. W tym momencie stwierdziłem że coś jest nie tak. 

**Postanowiłem sprawdzić moje poczynania w grze online.** 

Mimo to, że grę kupiłem z drugiej ręki bez kodu do aktywacji zmagań online, to dzięki problemowi EA Sports z ich aktywacją, wszyscy użytkownicy - czy to ci, co kupili grę jako nówka, czy ci co pobuszowali na ebay'u, mogli pograć w sieci bez większych problemów. 

Tutaj moja samoocena, jeżeli chodzi o umiejętności grania została nieco zweryfikowana - dzięki czemu zobaczyłem, że muszę się jeszcze sporo nauczyć. Ale pomyślałem sobie - **jak?** skoro w trybie kariery, bez względu na poziom trudności, każda gra i każdy turniej, bez względu na poziom trudności i zaawansowania przeciwnika nie stanowi problemów. 

Postanowiłem znaleźć w grze inny typ rozgrywki, który przysporzy mi nieco stresujących chwil podczas walki na korcie. I tak zacząłem wykonywać zadania z serii **Grand Slam Classics**. 

Dopiero tutaj, już po pierwszym meczu **Serena vs Venus** zobaczyłem, że na poziomie **Superstar** nie mam szans. Tak szybko jak go ustawiłem  tak szybko powróciłem do poziomy **Amator**, na którym można grać z lekkim dreszczykiem emocji. Chociaż, jak dla mnie, na początek przydał by się poziom Semi-Pro (niestety, takiego nie ma). 

Ogólnie, w moim odczuciu gra jest bardzo fajna. Starowanie za pomocą dwóch drążków oraz spustów zostało dość przyzwoicie rozwiązane. Jedyne co mnie rozczarowuje, to fakt, **jak szybko ta gra straciła zainteresowanie**. 

Nie wiem jakie zainteresowanie, szczególnie wśród graczy online było w momencie tuż po premierze, ale żeby po pół roku, liczba graczy na całym świecie grających online była mniejsza niż 100, to trochę dziwne. Ale no cóż, tak bywa. 

Mimo to, pograć warto. 

Pozdrawiam.

{{% ads-in-article %}}


---
## Tusku... ty idioto.
- **URL:** https://dariusz.wieckiewicz.org/tusku-ty-idioto/
- **Date:** 2012-04-07
- **Tags:** Blog, ACTA, ciemnogród, kaczo-rzeczypospolita, Kaczyński, polska, rząd, Samoobrona, Tusk, wiek emerytalny

### Content

Tusku, Ty jak i twój Rząd, to największa pomyłka Rzeczypospolitej w historii (jak dotąd), zaraz po rządach Kaczyńskiego i jego kaczo-rzeczypospolitej.

<!--more-->

Przestań straszyć ludzi tym, że Unia Europejska **narzuca nam coś** co jest dla nas niekorzystne. Wciskasz kit i zasłaniasz się Unią, aby przepchnąć twoje **urojone pomysły chorego państwa**.

To co chcesz wprowadzić w kraju pod pretekstem dostosowania do prawa unijnego to bzdura. Najlepiej jest zwalić winę na innych, a niżeli przejąć na własne barki trud rządzenia.

**Unia to, unia tamto... Bzdura.**

To że kraje Unii dyskutują o czymś to nie świadczy że nasz zapiziały kraj musi to wprowadzić przed innymi. Dyskusja to nie decyzja lub nakaz. Ludzie po to dyskutują, aby coś uzgodnić.

Skąd ty to bierzesz, **że my musimy "coś" wprowadzić**, bo niby jest to wymóg unii, skoro żaden kraj w Unii tego nie wprowadził.

Rozumiem, ze chcesz wyjść przed szereg tak, aby inni patrzyli z podziwem, ale na chwile obecna wszyscy patrzą na nasz jak na wariata. Jak chcesz, to ludzie mogą się zrzucić dla ciebie na biały kaftanik wiązany z tyłu i może wówczas nie będziesz się tak wyróżniać.

Tak,  **jak było to z ACTA**,  że to "przez Unie" musimy ten akt przyjąć, to była kolejna bzdura. Tak teraz chcesz wprowadzić **zmiany w emeryturach**, o których jakiś człowiek w Unii tylko burknął do przedyskutowania w ramach rady, ale nie zmuszając nikogo do tego.

Skoro ludzie do 25 roku życia maja duże problemy ze znalezieniem pracy - takiej, aby utrzymać się na tonącym w absurdzie okręcie zwanym Polską, to ty jeszcze chcesz ich zmusić do pracy **przez 40 lat!**

Czy też ludzie, tacy jak ja, po studiach, aby przepracować **40 lat składkowych** musieli by pracować co-najmniej do 65 roku życia, **pod warunkiem**, że zaraz po skończeniu studiów znajdą pracę i nie będą mieli przerw w zatrudnieniu do końca ich mizernego życia.

**Czy ci rozum odjęło?** I ty się dziwisz ze młodzi nie myślą o zostaniu w kraju, tylko jak mogą to wyjeżdżają.

Oddałem na ciebie głos w pierwszych wyborach, gdzie sam głosiłeś, ze za twoich rządów młodzi będą wracać do kraju, bo nie będzie im się opłacać pracować za granica. I co? Zagłosowanie na twoją partię, to była najgłupsza decyzja jaka podjąłem w życiu, zaraz po tym jak zagłosowałem w przeszłości na Samoobronę.

Dzisiaj sam przebywam poza granicami kraju i słysząc co się w tym ciemnogrodzie dzieje, z dnia na dzień utwierdzam się w mojej decyzji, ze to był najlepszy wybór jakiego dokonałem.

Człowieku, Ty i twoi przyszli zmiennicy, opamiętajcie się. To ze coś jest w fazie rozmów, nie koniecznie ma szanse wejść w życie.

Pamiętaj, że ten, kto podejmuje idiotyczne decyzje, nazywany jest idiota. Osobiście użył bym słowa debil, ale myślę że to by było na chwile obecna za mocne, bo skoro wziąłeś się za rządzenie, to masz w tej głowie coś więcej niż mózg wielkości kurzego jaja.

{{% ads-in-article %}}


---
## Banshee i zarządzanie telefonem z Androidem
- **URL:** https://dariusz.wieckiewicz.org/banshee-i-zarzadzanie-telefonem-z-androidem/
- **Date:** 2012-04-05
- **Tags:** Android, Linux, is_audio_player, android, Banshee, Linux, Rhythmbox, ubuntu, Windows

### Content

**Banshee** jest, **obok Rhythmbox'a**, jednym z najpopularniejszych odtwarzaczy multimedialnych dla systemu Linux - i nie tylko.

<!--more-->

Osobiście, korzystając z Windowsa i Linuxa. Program ten przypadł mi bardzo do gusty, gdyż w momencie przenoszenia muzyki z komputera do telefonu, jednocześnie porządkuje ją w folderach wg. wykonawcy, albumu - tak, jak sobie tego życzę.

Niestety, rozwój tego programu w Windowsie jest w chwili obecnej w fazie Alpha - czyli pozostawia wiele do życzenia. W związku z tym, aby wgrać sobie nowo zakupioną muzykę, przenoszę się na Linuxa i tam robię resztę.

**Gdy korzystałem z Ubuntu**, nie miałem żadnych problemów. Ale jak to ja, chciałem trochę poeksperymentować i czasu do czasu eksperymentuje z innymi odmianami systemu z pod znaku pingwina. Podczas tych oto eksperymentów natrafiłem na problem z moim ulubionym kombajnem.

Problem polega na tym, iż w Ubuntu, gdy **zmontuję telefon z Androidem jako Dysk USB**, jest on przez **Banshee** wykrywany jako odtwarzacz multimedialny. Taki sposób wykrycia, pozwala mi na zarządzanie muzyką (w tym konwersja), obrazami i filmami zgromadzonymi na dysku komputera i w telefonie. Nie wiem jak to zrobili w Ubuntu, że przy przejściu na inne OSy i zainstalowaniu tej samej wersji programu Banshee, mój telefon, w wielu przypadkach w ogóle nie jest wykrywany.

**W związku z tym, postanowiłem znaleźć rozwiązanie -** i już na samym początku natknąłem się na fora, na których opisane są przeróżne sposoby na zmuszenie programu do odpowiedniego wykrywania nie tylko telefonu z Androidem, ale również wszystkich innych urządzeń, które mogą służyć do przechowywania danych multimedialnych.

Tak więc dostałem kilka receptur z których wybrałem najlepszą na moje potrzeby.

**Ale, zacznijmy od początku.** Otóż, aby podłączony dysk z materiałami multimedialnymi został wykryty w programie Banshee (lub Rhythmbox), należy na tym oto dysku utworzyć plik **.is_audio_player** (z kropką z przodu), w głównym katalogu dysku. Dzięki temu, w programie wymusza się ręcznie parametr _media-player-info_, informujący program z jakim typem nośnika ma do czynienia.

> Aby tego dokonać, odpalamy najprostszy edytor tekstowy - w moim przypadku **gedit**, wprowadzamy do pustego pliku odpowiednie dane (o tym dalej) i zapisujemy go bezpośrednio na karcie pamięci telefonu pod nazwą **.is_audio_player**

Niby wszystko proste, ale znalezienie tego, co pasuje idealnie do telefonu z Androidem trochę mi zajęło.

Przed jakąkolwiek zabawą, w systemie należało by zainstalować pakiet **hal** odpowiadający za rozpoznawanie urządzeń i przypisywanie ich do odpowiednich grup. Czasami **ten pakiet rozwiązuje już problem**, więc warto sprawdzić odpalając Banshee. Oczywiście, nie jest to niezbędne.

> Nie chcąc mieszać w systemie i pakiecie **hal**, kombinując ze zmianą kodu **idVendor** w pliku _/usr/share/hal/fdi/information/10freedesktop/10-usb-music-players.fdi_ gdyż jest to rozwiązanie dobre, tylko na chwilę obecną, a my chcemy zrobić uniwersalne na stałe, wybrałem inne rozwiązanie.

Jeśli mimo zainstalowanego pakietu **hal**, nadal nasz system/program czy coś tam innego jest na tyle toporne, że telefon nadal nie jest widoczny tak jak powinien, tworzymy nasz plik **.is_audio_player** wypełniając go poniższą zawartością:

> name="Android Phone" audio_folders=music/,video/ output_formats=audio/3gpp,audio/3ga,audio/3gpp2,audio/aac,audio/amr,audio/mpeg,audio/mp3,audio/ogg,audio/wav,audio/x-aac,audio/x-amr,audio/x-mp3,audio/x-ms-wma,audio/x-wav,video/mp4,video/mp4generic,video/mpeg4,video/quicktime,video/vnd.avi,video/avi,video/msvideo,video/x-msvideo,video/3gp,video/3gpp2 playlist_formats=audio/x-mpegurl,audio/x-scpls

Krótki opis zawartości:

- **name** - nasza nazwa urządzenia, która będzie się wyświetlała w programie;
- **audio_folders** - tutaj wprowadzamy nasze foldery z zawartością multimedialną (nie tylko muzyką), które mają być wyświetlone w programie - i w których program będzie szukał poszczególnych rzeczy (muzyka, filmy, podcasty, audiobooki itp.);
- **output_formats** - są to typy plików, obsługiwane przez telefon, a które nie będą konwertowane  przy kopiowaniu do telefonu;
- **playlist_formats** - w przypadku, gdyby któryś program obsługiwał możliwość tworzenia playlist, tutaj określa się w jakim formacie maja być one zapisywane.

I tak oto, przy stworzeniu i skopiowaniu pliku na kartę, po uruchomieniu Banshee, nasz telefon powinien się pokazać.

**Ps.** Przy przeglądaniu przeróżnych wersji plików **.is_audio_player** na różnych forach, natknąłem się jeszcze na inne linijki zmiennych odpowiadających za różne rzeczy. Prawda jest taka, że są one ignorowane, a te co są - są najważniejsze. Resztę program przyjmuje za wartości domyślne.

Pozdrawiam.

{{% ads-in-article %}}


---
## Technologiczny dół. Ubuntu.
- **URL:** https://dariusz.wieckiewicz.org/technologiczny-dol-ubuntu/
- **Date:** 2012-02-13
- **Tags:** Na Luzie, Microsoft, nostalgia, ubuntu, życie

### Content

**Za dużo się ostatnio dzieje** na Ubuntu, niby stagnacja - system dryfuje od wydania do wydania, ale jednak coraz bardziej oddala się od wizji użytkownika końcowego.

<!--more-->

Dla osób zaawansowanych to nie problem. Dostosowanie... psiii... to normalna, ale jak w obecnej chwili mamy namówić kogoś nowego na przesiadkę chociażby z Windowsa.

Od wydania ubuntu z Unity, jakoś mój zapał do tego systemu opadł. Zaglądam od czasu do czasu, aby wrzucić na mój telefon z Androidem muzykę za pomocą Banshee (bo jest najlepszy) ale to tyle.

Z wydania na wydanie jakoś to leci, ale nie do przodu. W wolnej chwili odpaliłem nawet Minta (który, nota bene bazuje na Ubuntu), ale to też nie to... chociaż dobry, stary Ubuntu z Gnome2 i pulpitem był całkiem życiowy.

Mimo upływu lat, Gnome2 konkurowało na rynku, a w momencie popularyzacji Windows 7, wejście w Unity... ???

Początkowo był entuzjazm, ale wraz z rozwojem, jego okrojone możliwości pokazywały, że sam system dąży do ograniczenia użytkownika, a niżeli dania mu swobody wyboru.

**Ciekawe co jeszcze.** Może czas najwyższy wrócić do Debiana. Ale czy nie był by to strzał w stopę? Debian na serwer - ok!, ale do pracy... ???

Tutaj brakowało by mi repozytoriów, a wizja godzinnych kompilacji nie napaja mnie optymizmem. Ciekawe... może czas najwyższy pójść w kierunku wygody, odkładając na bok możliwości dostosowawcze i zainwestować w Mac'a? Skoro mam już iPada?

Śledząc RSSy coraz mniej chce mi się eksperymentować, cudować, zmieniać. Tyle fajnych dodatków, które ulepszą system i zrobią z niego użyteczne narzędzie, na... pół roku. Później znowu od nowa, albo walka z niekompatybilnymi pakietami, gdzie ich naprawa i dalsza grzebaniny doprowadzi do tego, że wolał będę zainstalować system na nowo, a niżeli się bawić.

**No cóż.**

Aż sam się dziwię, że tak dużo czasu spędzam na siódemce. A może to dlatego, że Microsoft w końcu zrobił porządny system?

Windows 7 - Xbox 360... i znowu Microsoft jest wszędzie. Ale nie można powiedzieć, że źle. Jest dobrze. Hmm… a może to dlatego że się starzeje i nie chce mi się już eksperymentować? **Na szczęście jest Android i iOS, który urozmaica życie.**

Czy tak to będzie wyglądać? Czy to po prostu taki dzień, że nie chce mi się dalej spinać, aby być innym, w tym co robię.

**Heh...** to może ku relaksowi, pójdę rozkręcić jakąś komórkę, zobaczyć co jest w środku i złożyć ją z powrotem... tak dla jaj.

Pozdrawiam :)

{{% ads-in-article %}}


---
## Sycące naleśniki
- **URL:** https://dariusz.wieckiewicz.org/sycace-nalesniki/
- **Date:** 2012-02-05
- **Tags:** Kulinaria, bez oleju, grube, naleśniki, patelnia teflonowa, sycące

### Content

Bardzo lubię naleśniki — szczególnie te, które są grube i sycące.

Oto mój prosty przepis na naleśniki — idealne do smażenia na zwykłej patelni lub tej, specjalnej do naleśników.

> Trudność: **Łatwa**
> Czas przygotowania: **10 minut**
> Czas pieczenia/schładzania: **30 minut**

<!--more-->

## Składniki[^1]
 
* mąka, 2 szklanki
* mleko, 1 szklanka
* woda, 1 szklanka
* jajka, 1 szklanka
* olej (dowolny), ⅓ szklanki 
* cukier, 20g  
* sól, szczypta
* aromat orzechowy[^2], 1 łyżeczka

[^1]: Do odmierzania używamy dowolnego kubka, szklanki, dzbanuszka itp. - cały czas tego samego;

[^2]: Opcjonalnie, dla ładnego zapachu — rodzaj jaki kto woli._

## Narzędzia

ubijaczka — trzepaczka do jajek lub mikser z łopatkami do ubijania

{{% ads-in-article %}}

## Wykonanie

W głębokim naczyniu lub misce od miksera mieszamy mąkę, mleko, wodę, jajka, cukier i sól.

Gdy otrzymamy jednolitą masę, gęstą, bez grudek, dodajemy olej — dzięki czemu, nie będziemy musieli smarować dodatkowo patelni. Następnie całość uzupełniamy aromatem — w moim przypadku **orzechowym**.

Naszą masę, w porcjach wylewamy na rozgrzaną patelnię i smażymy naleśniki do zarumienienia z obu stron.

Smażymy bez dodatku tłuszczu, najlepiej na patelni teflonowej.

**Smacznego.**


---
## Płynny Karmel
- **URL:** https://dariusz.wieckiewicz.org/plynny-karmel/
- **Date:** 2012-01-20
- **Tags:** Kulinaria, caramel, karmel, karmel krówkowy, liquid, liquid caramel, płynny, płynny karmel, jak zrobić płynny karmel

### Content

Zwykły karmel, który twardnieje po ostygnięciu, jest bardzo prosto zrobić. Wystarczy cukier, woda oraz odpowiednia, wysoka temperatura. Wszystko zagotowujemy w garnku i obserwujemy, gdy kolor naszej mikstury zacznie się zmieniać a całość zagęszczać.

Schody zaczynają się, gdy do naszego ulubionego deseru (np. lodów) chcemy użyć go w płynnej formie, o odpowiedniej konsystencji przypominającej miód.

Oto mój, bardzo prosty przepis na otrzymanie **płynnego, przeźroczystego karmelu o odcieniu złocistym**.  

> Trudność: **Średnia**
> Czas przygotowania: **3 minuty**
> Czas pieczenia/schładzania: **27 minut**

<!--more-->

> **Uwaga.** Ze względu na wysoką temperaturę mikstury, nie wolno w żadnym wypadku próbować jej palcem do czasu ostygnięcia. A w przypadku przelewania z gorącego garnka do zimnego naczynia, najlepiej robić to w zlewie, gdyż przy szoku temperaturowym, karmel może zachować się jak mleko i wykipieć.

## Składniki

*   1kg, cukier biały
*   500ml, woda, pierwsza porcja
*   150ml, woda, druga porcja

## Narzędzia

*   [**termometr do cukru**](https://amzn.to/4dqa0ML) ze skalą obejmującą **180 C**.

{{% ads-in-article %}}

## Wykonanie

W rondlu wymieszać do rozpuszczenia cukier z pierwszą porcją wody.  
Doprowadzić do wrzenia.

Włożyć termometr do rondla i na małym ogniu doprowadzić miksturę do temperatury **minimum 160 C** nie przekraczając  182 C.  

Temperatura **160-182 C** jest temperaturą tworzenia się karmelu. Im wyższa, tym ciemniejszy kolor karmelu można uzyskać. Natomiast nie powinno się przekraczać 182 C, gdyż mikstura będzie przepalona, a całość przejdzie niekorzystnym smakiem goryczki.

Po osiągnięciu pożądanej temperatury przelewamy ostrożnie karmel do innego metalowego naczynia.

W międzyczasie zagotowujemy drugą porcję wody.

W momencie osiągnięcia wrzenia wlewamy wodę do karmelu i całość mieszamy do uzyskania jednolitej mikstury.

Po wymieszaniu przelewamy karmel do osobnego naczynia i pozostawiamy do wystygnięcia.

**Wuala! :)**

Jeżeli nasz karmel okaże się za płynny **(po ostudzeniu!)**, możemy podgrzać i doprowadzić do temperatury 170 C połowę naszej mikstury (odparowujemy tym sposobem dodatkową ilość wody), a następnie wlać i wymieszać, do nieco podgrzanej, drugiej połowy.

Jeżeli nasz przepis robimy kolejny raz, możemy poeksperymentować z mniejszą ilością drugiej porcji wody w celu osiągnięcia pożądanej konsystencji.

> Jeżeli zamiast przeźroczystego karmelu chcemy osiągnąć kolor bardziej śmietankowy (krówkowy), zamiast drugiej porcji wody warto użyć pełnotłustego mleka.

**Smacznego.**


---
## Mój pierwszy... Tablet
- **URL:** https://dariusz.wieckiewicz.org/moj-pierwszy-tablet/
- **Date:** 2012-01-16
- **Tags:** Blog, android, App Store, Apple, BBC iPlayer, chmura, Chrome OS, cloud, Cupertino, Dropbox, dual-boot, iOS, iPad, iPhone, iPod nano, iTunes, laptop, Market, Microsoft, miltitasking, MIUI, Nokia, PC WORLD, Skyoe, Symbian, tablet, ubuntu, Windows, Windows Mobile

### Content

Tak się właściwie stało, że udało mi się, jeszcze przed świętami kupić nieplanowany prezent dla siebie, a mianowicie Tablet.

<!--more-->

**Słowem wstępu...**

Od dłuższego czasu śledzę informacje na rynku urządzeń przenośny, ale jakoś ciężko było mi się zdecydować na coś konkretnego, jak również przekonać samego siebie, że to jest mi potrzebne, bo póki co mam przecież laptopa i komórkę z Androidem, które spełniają swoje zadania.

_Na wszystko przychodzi czas._ Patrząc 10 lat wstecz, pamiętam jeszcze ścisłe przywiązanie do miejsca, w którym stał blaszany komputer stacjonarny, a myśl o jakiejkolwiek mobilności, chociażby namiastce, to były niezbyt wypasione komórki z fabrycznym systemem operacyjnym oraz burżuazją, jeżeli takowa komórka posiadała Bluetooth i kartę pamięci.

Przesiadając się w pewnym momencie z komputera stacjonarnego na laptopa powiedziałem sobie, że nie będzie już kroku wstecz - i tak do tej pory to już n-ty mój komputer przenośny, który podróżuje ze mną od czasu do czasu, tu i tam.

Jestem **zniewolonym użytkownikiem Windowsa** z pasją na porzucenie jego na rzecz **Ubuntu**. Jednak, mimo wielu prób, nigdy mi się to na dłuższą metę nie udało. Póki do, pozostałem przy **dual-boot** na moim obecnym laptopie.

Podobna sytuacja jest w przypadku tabletu. Nie wiedziałem co dokładnie wybrać, a może inaczej - szukałem czegoś, co spełni wszystkie moje wymagania użytkownika Windows i pasjonaty Ubuntu. To było trudne i kierował mnie w jednym kierunku. To wszystko doprowadziło do tego, że tak naprawdę nadal bym nie posiadał tabletu.

Podobne rozterki miałem w przypadku komórek.

Wraz z ich ewolucją, firmowy system operacyjny prezentowany przez Nokię mi nie wystarczał i zacząłem szukać czegoś innego. Patrząc w przeszłość, moje przywiązanie do fińskiej firmy trwało długo, a to za sprawą **Symbiana**, który zniewolił mnie na dłuższy czas. System nie był zły, ale nie najlepszy. Zawsze brakowało w nim czegoś, czego szuka osoba korzystająca z innych systemów tj. Ubuntu. Nieco wolności i dowolności w instalowaniu czegoś tak jak się samemu chce, a nie tak jak to producent zaplanował.

Po krótkich eksperymentach, nawet z **Windows Mobile** w końcu trafiłem na **Androida**.

System ten zrewolucjonizował moje myślenie o tym, czego chcę od komórki, jakie dane potrzebuje mieć pod ręką i do jakich danych muszę mieć możliwość szybkiego dostępu. Stąd wytworzyła się chęć korzystania z tzw. **chmury**. Pojęcia obecnie bardzo popularnego, a dążące do jednego... do dostępu do danych, zawsze i wszędzie, z dowolnego urządzenia.

**Android odmienił moje spojrzenie** na to, czego tak naprawdę potrzebuję. Mimo swoich niedociągłości, wraz z kolejnymi aktualizacjami systemu oraz nowymi telefonami, jakie przyszło mi użytkować, przywiązywał mnie do siebie coraz bardziej.

Patrząc na rynek tabletów, **to właśnie tablety z systemem Android** były tymi, na które zwracałem główną uwagę. W między czasie szukałem czegoś jeszcze bardziej otwartego na potrzeby użytkownika, przez co eksperymentowałem z laptopami z ekranami dotykowymi oraz systemami takimi jak Chrome OS. **Niestety, nie znalazłem złotego środka.**

Z chęcią wziąłbym **urządzenie z Ubuntu**, gdyż w tym systemie można dużo więcej... **namieszać**. Jednakże jego stadium rozwoju jest nieco zacofane w stosunku do konkurencji, a tym bardziej jeżeli chodzi o coś w stylu tabletu. Ten system się poprostu jeszcze do tego nie nadaje (i coś myślę, że długo tak będzie, póki nie pójdzie on w stronę komercjalizacji).

Jest jeszcze jedno wyjście z tej sytuacji... #**Apple**.

**Firma Apple** nigdy nie przypadała mi do gustu, a to przede wszystkim przez wysokie ceny jej urządzeń, co w powiązaniu z polskimi realiami zarobków sprawiało, że nigdy nie była ona brana pod uwagę przy jakimkolwiek zakupie.

Po wyjeździe z kraju, spojrzenie na tą firmę się zmieniło. Zobaczyłem, że inni ludzie - spora ich ilość radzą sobie całkiem nieźle na ich sprzęcie. **Nie potrzebują Windowsa, aby normalnie funkcjonować.**

> W Polsce spotkałem jedną osobę aktywnie użytkującą komputery Mac z powodzeniem w życiu prywatnym i zawodowym. Z każdym spotkaniem, osoba ta (nieświadomie, właśnie dzięki temu że Windows go nie zniewolił) napędzała mnie wewnętrznie do przejścia na inny system. Ale jak to w Polsce, finanse nie pozwalają. _Pozdrowienia dla pana Michała._

W Polsce jest jak jest, ale świat ma większe pole do popisu. Niema się ku temu co dziwić, skoro zarobki są inne, dzięku czemu więcej ludzi stać na tego typu sprzęt.

**Mimo tego, nadal byłem przywiązany do Androida.**

Jako pierwsze urządzenie z symbolem nadgryzionego jabłka kupiłem **iPod'a nano**. Nie dla siebie, ale dla mojej żony.

Urządzenie, mimo że nie użytkowane bezpośrednio przeze mnie zaskoczyło mnie bardzo pozytywnie i zmieniło nieco pogląd na firmę Apple. Dotarło do mnie z jaką (naprawdę) **rewolucyjną firmą** mamy do czynienia. W takie małe urządzenie upchnąć tak dużo, o tak dobrych parametrach - **szok!**

Osobiście nie potrzebuje odtwarzacza mp3, gdyż mój telefon z Androidem spełnia swoje zadanie.

W moim obecnym telefonie denerwuje mnie jedna rzecz - **bateria**. Jak wszyscy wiedzą, 1-2 dni pracy przy włączonych usługach synchronizacji to bardzo dobry wynik. I tu właśnie dlatego cały czas życzliwie spoglądam w kierunku firmy Apple i będącego na stanie mojego gospodarstwa domowego... iPod'a nano.

Takie małe urządzenie a bateria czyni cuda. Do tego dotykowy ekran, o bardzo dobrej czułości, rozdzielczości i z bardzo realistycznymi kolorami. **Miodzio!**

Na szczęście, nieco pocieszają mnie znajomi z ich iPhonami 4, którzy też codziennie zaprzyjaźniają się z ładowarką :)

**Miodzio** - tak powiedziałem, gdy pierwszy raz w PC World'zie, wziąłem do swoich rąk prawdziwego pioniera w strefie tabletów, czyli **iPada**.

iPad urzekł mnie tym co potrafi, ekranem, dostępnymi programami, wymiarami i wagą, oraz co najważniejsze... baterią. Baterią, która łamie wszelkie dotychczasowe granice, jeżeli chodzi o rynek laptopów.

Niestety, nie urzekł mnie iOS, tak jak nigdy nie urzekał mnie system operacyjny do Apple. Mimo tego, w codziennych zabawach z Ubuntu, często wzorowałem się przy moich modyfikacjach wyglądem iście od Apple.

**Mimo tego, dotarło do mnie, to co jest bolączką mojego telefonu z Androidem** i innych urządzeń na rynku. Również to spowodowało, że nie mogłem się zdecydować na zakup żadnego tabletu z tym systemem na pokładzie.

Podejście Apple to stworzenia urządzenia wraz z systemem operacyjnym oceniam przez to na strzał w dziesiątkę.

**Apple zrobił program który idealnie współpracuje ze wszystkimi komponentami** komputera (tabletu itp.). Poszczególne komponenty, zrobione są tak, aby w sposób jak najlepszy współpracować z systemem operacyjnym. I to jest jego klucz do sukcesu.

**W przypadku systemu Windows**, jest on osamotniony. Wszystkie bolączki tego systemu spoczywają na sprzęcie, na którym pracuje. Całość nie działa w sposób taki, w jaki by on chciał. To poprzez sprzęt, system działa różnie u różnych osób. Dlatego też jest z nim tyle problemów i dlatego też często przy **zawieszeniu komputera** wieszamy psy na Microsofcie i jego twórcy Bill'u G.

**Wyobraźmy sobie co by było, gdyby** Windows działa tylko na komputerach specjalnie do niego zrobionych, w okrojonej na jego potrzeby i wymagania konfiguracji.

Wg. mnie, doprowadziło by to do tego samego poziomu co Apple. Sprzęt i oprogramowania razem było by bardzo drogie i nie wiele ludzi było by go na to stać. Ale wszystko działo by tak jak należy... marzenie :)

**Ale to samo jest z Androidem.**

Telefon z systemem od Apple jest jeden w kilku wariantach na przełomie lat.

Telefonów z Androidem jest mnóstwo i każdy działa inaczej. Sam system może i jest dobry, a był by najlepszy, gdyby był ograniczony konfiguracją sprzętową.

Tak jak to zrobiła Nokia ze  swoim systemem Symbian. Wypuściła swój własny system oraz dobrała do niego optymalną konfigurację sprzętową, tylko po to, aby osiągnąć jak najlepsze rezultaty. I tu można przyznać że jej się udało.

**Symbian i Nokia** to połączenie bardzo dobre - nie idealne, ale zasługujące na wspomnienie.

Jak widać, powiązanie jednego i drugiego przynosi wymierne korzyści.

W przeszłości nawet Symbiana próbowano nieco uniezależnić (Sony Ericsson), co jak można teraz zobaczyć, nie wyszło za dobrze.

Niestety, Android obrał inną drogę. Jest wszędzie... ale nie wszędzie działa tak, jak jego twórcy w Google by sobie zażyczyli, szczególnie na tajwańskich podróbkach będących imitacją tabletów. Bo tak naprawdę to są tylko przerośnięte telefony.

**Android 3** zmienił nieco stosunki, a obecna wersja 4 dąży do jakiegoś konkretnego celu.

Niestety, nadal system jest jeden a sprzętów, na których się go uruchamia mnóstwo.

I tutaj nasuwa się stwierdzenie **"że co jest do wszystkiego to jest do niczego"**.

I właśnie dlatego, **decyzja o zakupie tabletu z systemem Android była dla mnie tak trudna**.

System Android znam, natomiast iOS już nie do końca. Mimo tego, przy każdej wizycie w sklepach komputerowych nie obyło się od porównywania iPad'a z przeróżnymi androidowymi tabletami.

**Mój wybór się nawet ukierunkował** po wypuszczeniu tabletu Asus Transformer.

**Mniej-więcej** wiedziałem, czego chcę, ale nadal miałem lekki niedosyt. Tym razem, niedosyt wiązał się z systemem Android, który nie był i nadal nie jest dostosowany, aby godnie prezentować się jako system dla tabletów.

Sam system jako tako jest dostosowany, ale nie ma za sobą architektury programowej.

Wszyscy programiści skupili się na telefonach i na nie piszą programy, a tych dostępnych dla tabletów nie jest tak dużo, co sprawia, że Apple stoi na podium pod tym względem, a Google się cały czas przygląda.

**No nic, ale wszystko z czasem się zmienia.** Android Market tak jak iTunes i App Store się rozrastają. Z dnia na dzień przybywa aplikacji, które prezentują się wyśmienicie na większych ekranach, dzięki czemu konkurencja się zacieśnia.

Nic dziwnego, że rozpoczęła się era wojen patentowych. Gdy nie było zagrożenia, nie było co się przejmować, ale gdy pojawia się ono na horyzoncie,  należy działać, gdyż inaczej wróg może przegrać pojedynczą walkę, wygrywając w rezultacie całą wojnę. Dlatego widzimy teraz to, co się dzieje chociażby pomiędzy Apple a Samsungiem i m.in. tabletem Galaxy Tab.

**Ale kontynuując...**

[![iPad 2 in box (Fot. Flickr, lic. CC by naialor lander)](/images/2012/01/ipad-2-in-box-Fot.-Flickr-lic.-CC-by-naialor-lander.jpg)](/images/2012/01/ipad-2-in-box-Fot.-Flickr-lic.-CC-by-naialor-lander.jpg)

**No dobrze, ale przechodząc do sedna...** bo ten mój wstęp zrobił się nie lada rozprawką :)

Przed świętami, święty mikołaj w swoim worze przyniósł mi **iPad'a 2** w najmocniejszej konfiguracji.

To czego nie chciałem - to czego bym sobie nie kupił, zważywszy na cenę... wpadło w moje ręce. A więc powiedziałem sobie, że czemu nie. Jak by co, to sprzedam... :)

Tak oto mija prawie czwarty tydzień odkąd aktywnie bawię się iPadem. W dni świąteczne udało mi się pochodzić jeszcze trochę po sklepach (mając już co-nieco wyrobioną opinie) i porównać odczucia z iPada do tabletu z Androidem (Motorola, Sony i Asus).

Jedno mogę stwierdzić, że **Apple wie co robi i robi to dobrze**. Nic dziwnego, że nawet na konferencji prasowej firma z Cupertino podkreśla, że rok 2011 był rokiem **kopiowania**.

Z czym muszę się zgodzić... to kopiowania nieudolnego. Tak można określić porównanie iPada do tabletu z Androidem. Wyjątkiem od tej reguły może stanowić Asus Transformer, ale wszystko teraz zależy jak potoczy się jego rozwój, oraz jak konkurencja zareaguje, a patrząc na tegoroczne targi CES 2012... jest ciekawie.

Nie odnosząc się do cen produktów Apple, to nie dziwię się, że iPad bije rekordy sprzedaży, a tablet z Androidem uważany jest bardziej za narzędzie dla geeków a niżeli do profesjonalnej pracy.

**Teraz nieco mojego podsumowania...**

[![iPad 2 (Fot. Flickr, lic. CC by inUse Consulting)](/images/2012/01/iPad-2-Fot.-Flickr-lic.-CC-by-inUse-Consulting.jpg)](/images/2012/01/iPad-2-Fot.-Flickr-lic.-CC-by-inUse-Consulting.jpg)

**Ekran** Mimo, że nie panoramiczny to spisuje się wyśmienicie do przeglądania stron internetowych czy czytania publikacji. Jest dobrze dostosowany do każdej aplikacji. Na panoramicznych ekranach przy sporej ilości stron po bokach pozostają białe pasy oraz trzeba dane strony przesuwać częściej. Jak również przeglądanie poczty, plików pdf czy książek i czasopism jest znacznie wygodniejsze na ekranie 4:3 a niżeli 16:9 (16:10).

Ekran laptopa jakość da się znieść, ale na tablecie - 4:3 to dobry wybór póki co.

Jeżeli zamierzasz oglądać filmy, które z reguły są w rozdzielczości panoramicznej, to tutaj niestety zobaczysz u góry i na dole czarne pasy. Na szczęście da się je łatwo usunąć w aplikacji do odtwarzania filmów, choć fakt... tutaj 16:9 jest lepszy. Ale, czy tak naprawdę ktoś będzie oglądał filmy na tablecie. Jeżeli nawet tak (bo sam oglądam audycje telewizyjne On Demand), to nie często, więc nie jest to doskwierający problem.

Powaliła mnie na kolana czytelność ekranu. Czcionki są bardzo dobrze dobrane dla każdej aplikacji, a zaczynając już od samego iOS i ikon na pulpicie. Te na Androidowych tabletach wyglądają dziwnie. Same ikony są za gęsto lub za rzadko ułożone (rozstrzelone), co sprawia że teksty najeżdżają na siebie lub całość wygląda poprostu dziwnie. Tego na szczęście w produkcie Apple nie ma.

Czułość jest wyśmienita. W połączeniu z całym systemem jest idealnie.

Co z tego, że do Androidowego tabletu wrzucimy 4-ro rdzeniowy procesor, skoro samo przewijanie ekranów objawia się efektem przycinania. Tutaj wychodzi to, co przedstawiłem na początku. **System jest pisany samodzielnie, a nie razem ze sprzętem.**

Kolory i podświetlenia są porównywalne, chociaż iPad jest jakoś bardziej bliski mojemu oku.

Zdumiewająca okazała się klawiatura ekranowa, która umożliwia naprawdę szybkie pisanie porównywalne do pisania na klawiaturze komputera. Brakuje jedynie wibracji przy przyciskaniu klawiszy, która daje większy komfort z pisania a niżeli wydobywający się dźwięk z głośnika oraz klawisza Alt do stosowania stosowania znaków specjalnych w danym języku.

Nie mówiąc już, że wychwalam ten produkt **"bo lubię firmę Apple"**, dlatego też napisałem tak długi wstęp do niniejszego tekstu. Nie pociągają mnie produkty Apple ale iPad zyskał mój szacunek, uznanie... i potwierdził jedno - Android i producenci sprzętu muszą jeszcze sporo popracować.

_iPad górą._

~ ~ ~

**Bateria** Bateria bije wszystkie tablety z androidem na głowę. Ostatnio obejrzałem w **BBC iPlayer** program 1h 20min po WiFi i zjadło mi raptem nieco 5-10% baterii. Normalny laptop by miał ciężko, a tablet Androidowy nieźle by się spocił - tak jak to jest na telefonach.

Zapewnienie producenta co do **10 godzin pracy** myślę, że jest do osiągnięcia - jednak ciężko to sprawdzić, używając iPad'a od czasu do czasu. Jednakże, jestem pozytywnie zadowolony, mając na uwadze jak szybko Android zjada moja baterię w moim HTC Desire Z.

 

**Multimedia (Głośnik, kamery)** iPad 2-giej generacji ma jeden głośnik, co nie jest najlepszym rozwiązaniem, gdyż czujemy się jak byśmy słuchali radia tylko na lewe ucho. Jest to mała, ale irytująca rzecz.

Kamerki, dobra rzecz - szczególnie do wideo-rozmów Skype. Tutaj nawet przydaje się kamera tylna, do pokazania komuś coś "nieco inaczej". Natomiast, jeżeli chodzi o robienie zdjęć... to chyba to urządzenie nie jest do tego - bo jak to wygląda :)

~ ~ ~

**Połączenia** Tutaj niestety, albo -stety Androidowe tablety wygrywają na każdym etapie. One mogą mieć wszystko i będzie to działać. Usb, czytniki pamięci itp.

Na szczęście jest Dropbox, z którego nauczyłem się korzystać ucząc się wgrywania rzeczy do iPada. Nie jest to najwygodniejsze rozwiązanie i brakuje czasem możliwości podpięcia dysku USB, ale daje radę na dane potrzeby.

Można oczywiście dokupić kilka końcówek poszerzających możliwości iPada, ale czy są one potrzebne aż tak?

~ ~ ~

{{% ads-in-article %}}

**Oprogramowanie** Co najważniejsze - jest dużo programów przystosowanych do pracy na tablecie. Dużo więcej a niżeli na Androida. Większość z nich jest dopracowana do perfekcji, tylko po to, aby działały najlepiej na tym urządzeniu. Mniej jest tutaj portów, takich jak na Androida, które działają i na telefonie i na tablecie, są to z reguły osobne aplikacje przystosowane do konkretnych urządzeń. Ma to swoje plusy i minusy, bo udało mi się znaleźć program, który jest dla iPhone a nie ma dla iPada. Na szczęście, te programy na tablecie też da się używać.

Co jest bezkonkurencyjne. Programy odpalają się w oka mgnieniu. Nie ma efektów spowolnienia, przeciążenia, ładowania bez informowania użytkownika co się dzieje - tak jak to ma miejsce w Androidzie. Programy, które wymagają czasu do załadowania poprzedza ekran startowy. Możesz otworzyć również mnóstwo programów, a twój iPad otworzy kolejne, tak jak by to były jego pierwsze od uruchomienia. **Multitasking naprawdę działa jak należy.**

**W Androidzie doświadczałem bardzo często zwieszania się** Luncherów czy spowalniania systemu przy przechodzeniu pomiędzy aplikacjami. Tego tutaj nie ma miejsca, co jest bardzo fajne... jeżeli korzystasz z iPada - a bardzo denerwujące, jak przesiądziesz się na Androida. Androidowe zarządzanie pamięcią i programami doprowadzi cię do szału.

Co z tego, że niektóre urządzenia z Androidem mają więcej pamięci, lepsze procesowy, skoro zarządzanie tymi komponentami przez system pozostawia wiele do życzenia.

Tak jak powiedział to ktoś w pewnym artykule, który udało mi się przeczytać.

> Android na procesorze z iPada pierwszej generacji działał by o wiele szybciej i stabilniej gdyby był napisany inaczej. Aby go poprawić, trzeba by było cały system przepisać na nowo, a na co raczej jest już za późno.

_Kolejna wygrana dla iPada._

**Kontynuując nieco mój wywód na temat oprogramowania**, bardzo podobają mi się aplikacje do czytania przeróżnych gazet, czytników RSS, plików PDF i książek ePub. Są one wyśmienicie przygotowane i co niestety, zabezpieczone...

Największym mankamentem jest brak podstawowych narzędzi edycji. Jeżeli znajdziemy fajne zdjęcie w gazecie (elektronicznej), które wyświetla się na pełny ekran, fajnie by było zapisać je do swojej galerii lub po prostu ustawić jako tło pulpitu. Tutaj niestety tak łatwo nie jest, bo opcji takich nie ma - lub są bardzo ograniczone. Ale, coś za coś - ciekawe tylko czy w płatnych czasopismach tez takie restrykcje są - domniemuję że tak.

[![iPad 2 (Fot. Flickr, lic. CC by Daniel Go)](/images/2012/01/iPad-2-Fot.-Flickr-lic.-CC-by-Daniel-Go.jpg)](/images/2012/01/iPad-2-Fot.-Flickr-lic.-CC-by-Daniel-Go.jpg)

**W dzieciństwie bardzo dużo rysowałem i grałem na pianinie (keyboardzie). iPad przywołał te wspomnienia i dodał nowe dzięki odpowiednim aplikacjom.**

Rysowanie powala, dzięki temu, że naciśniesz na ekran i rysujesz. Nie ma żadnego spowolnienia, opóźnienia itp. Tak jak długopisem.

Jako, że moje paluchy są nieco za grube do rysowania cienkich linii, już planuję zakup jakiegoś stylusa, aby ułatwić sobie życie.

Oczywiście - są rzeczy, których na tablecie nie zrobisz, ale wiadomo - tablet nie jest do wszystkiego. Tablet jest w pewnym sensie uzupełnieniem czegoś, czego nam brakuje. Nie napiszemy na nim tekstu, bo ciężko się pracuje bez strzałek kierunkowych. Do tego lepiej użyć komputera. Mimo tego możemy dokonać edycji, korekt, zapisać nasze myśli - utrwalić wspomnienia.

Dzięki temu, że iPad włącza się w mgnieniu oka, ostatnio częściej sięgam po niego, aby coś w ostatniej chwili sprawdzić w internecie, a niżeli po laptopa. Bo niżeli on mi się włączy, lub wzbudzi z uśpienia - niż się zaloguję i odpalę przeglądarkę - to trochę mija, a wszystko to zrobię znacznie szybciej na iPadzie.

**Aktualizacje oprogramowania** Aktualizacje oprogramowania to bolączka tabletów z Androidem. Jest to też jeden z powodów, dlaczego nie kupiłem wcześniej żadnego tabletu z tym os-em na pokładzie.

Po co mi sprzęt za ciężkie pieniądze (patrz Asus Transformer), który będzie zaraz traktowany po macoszemu, bo wyjdzie jego nowa wersja (Asus Transformer Prime). Bez szans na aktualizację (oby nie), będzie trzeba rozglądać się aby go sprzedać, lub liczyć na łaskę dobrodusznego producenta, aż może dokona aktualizacji.

**To samo denerwuje mnie wśród producentów komórek z Androidem.** Aktualnie mam HTC Desire Z z fizyczną klawiaturą. Firma HTC jakoś nie kwapi się do wypuszczenia aktualizacji dla niego, mimo dość dobrej konfiguracji sprzętowej. Również nie ma alternatywy (od HTC), więc nie mam na co zamienić. Pozostają mi Custom ROMy (aktualnie używam MIUI), ale czy po to wydajemy spore pieniądze na telefon, aby producent po kilku miesiącach skupiał się na najnowszych produktach, a klientów ze starymi ignorował.

Może i taka jest filozofia w handlu - nie wiadomo jak to będzie z iPadem (szczególnie wśród użytkowników pierwszej wersji) - póki co, aktualizacje wychodzą, ale zobaczymy co będzie dalej.

**Oczywiście - zakończenie wspierania produktu musi kiedyś nastąpić**, tak jak to jest w przypadku Apple i iPhone 3. Ale dlaczego kupując telefon w dniu premiery, po pół roku czujesz się nieswojo, patrząc jak ten sam producent wypuszcza nowe modele z lepszymi bajerami programowymi, a ty (mimo że twój telefon dużo się nie różni), już nie jesteś dla niego atrakcyjny.

Ogólnie cieszę się, że udało mi się kupić iPad'a, po dobrej cenie, bo inaczej nigdy bym na niego się nie zdecydował i w dalszym ciągu przypatrywał bym się androidowym odpowiednikom z nadzieją, że któryś w końcu spełni moje oczekiwania. No chyba, że prędzej nastanie koniec ery tabletów.

**Podsumowując pokrótce.** Jestem zadowolony z iPada, choć Android nadal będzie tym, co będę obserwował - i z którego będę chciał korzystać.

Nie mówiąc, że iPad nie ma wad, ale konkurencja ma sporo do zrobienia a Google do poprawienia w systemie  - i może już niedługo zmienię mój światopogląd - na eBayu znajdzie się mój obecny sprzęt, a drugim okiem będę się rozglądać co kopić w zamian.

**Pozdrawiam.**


---
## Ciasto z Kaszą Manną
- **URL:** https://dariusz.wieckiewicz.org/ciasto-z-kasza-manna/
- **Date:** 2011-10-30
- **Tags:** Kulinaria, aromat, cake, ciasto, czekolada, deser, herbatniki, kakao, kasza manna, mleko, na zimno, semolina

### Content

Mimo że w internecie jest sporo przepisów na ten typ deseru, chciałbym jednak opublikować mój — dostosowany, sprawdzony i wykonany poza granica kraju, czyli w Wielkiej Brytanii.

Z tego też powodu, składniki użyte do jego przyrządzenia będą "stricte" te, które są dostępne w brytyjskich sklepach, co nie przeszkadza w niczym, gdyż wszystkie te dostaniemy również w polskich sklepach.

> Trudność: **Średnia**
> Czas przygotowania: **10 minut**
> Czas pieczenia/schładzania: **45 minut**

**A więc zaczynajmy...**

<!--more-->

## Wersja ciemna (jedno-kolorowa)

[![Semolina Cake (wersja ciemna)](/images/2011/10/semolina_cake_1.jpg)](/images/2011/10/semolina_cake_1.jpg)

### Składniki

- herbatniki (kwadratowe, czyste), 34 sztuki
- mleczne herbatniki słodowe (grubsze, twardsze, czyste), 20 sztuk
- masło niesolone (lepiej niesolona margaryna), 250 gram
- brązowy cukier, demerara, 200 gram
- kasza manna, 300 gram
- mleko pełne, 1 litr
- kakao, 25 gram
- czekolada mleczna do rozpuszczania, 300 gram
- aromat orzechowy (płynny), 19 ml, 1 opakowanie
- posiekana mieszanka orzechów, 150 gr

> Ilość herbatników potrzebnych do wyłożenia podstawy oraz poszczególnych warstw zależy od wielkości użytej formy. W związku z tym, zalecam zakupienie ich w nieco większej ilości.

{{% ads-in-article %}}

### Wykonanie

Ułożyć herbatniki słodowe na dnie prostokątnej foremki.

W garnku zagotować prawie całe mleko (odlać 100 ml) z masłem (lub margaryną) i cukrem. Doprowadzić do wrzenia.

Do gotującej się mikstury wsypać kaszę mannę ciągle mieszając.

W pozostałej ilości mleka rozrobić kakao i dodać aromat.

Gdy kasza manna zacznie gęstnieć, dodaj rozpuszczone kakao z aromatem.

Mieszając jeszcze przez chwilę, zdjąć z ognia i pozwolić na ostygnięcie w temperaturze pokojowej.

Połowę mikstury z kaszy manny wyłóż na przygotowane w formie herbatniki. Rozprowadź równomiernie.

Przykryć kaszę mannę warstwą herbatników, ułożonych w całej formie. Dociskając lekko z góry, postaraj się wyrównać powierzchnię oraz aby pozbyć się bąbli powietrza z ciasta.

Na wierzch wyłożonych herbatników wylewamy pozostałość kaszy manny, rozprowadzamy równomiernie i przykrywamy kolejną warstwą herbatników.

Czekoladę mleczną rozpuszczamy w mikrofalówce. Pozostawiamy do ostygnięcia (aby nie była za gorąca), następnie wylewamy i rozprowadzamy równomiernie na wierzchu herbatników. Całość posypujemy posiekanymi orzechami.

> Jeżeli nie mamy specjalnej czekolady do rozpuszczania, używamy zwykłej z dodatkiem mleka — aby nie przypalić, jednocześnie mieszając co chwilę.

Ciasto wstawiamy do chłodziarki, aby stężało, na minimum 6 godzin. Aby nie przeszło zapachem, przykrywamy wierzch folią przeźroczystą.

Po stężeniu, pokroić na kawałki.  
Przechowywać w chłodziarce.

* * *

## Wersja pół-na-pół (jasno-ciemna)

[![Semolina Cake (wersja dwu-kolorowa)](/images/2011/10/semolina_cake_2.jpg)](/images/2011/10/semolina_cake_2.jpg)

### Składniki

Jak w wersji ciemnej, tyle że:  
- aromat orzechowy (płynny), ½ (połowa)
- aromat waniliowy (płynny), ½ (~9.5 ml)

### Wykonanie

Ułożyć herbatniki słodowe na dnie prostokątnej foremki.

_- 1 - część ciemna -_

W garnku zagotować połowę mleka (odlać 100 ml) z połową masła (lub margaryną) i połową cukru. Doprowadzić do wrzenia.

Do gotującej się mikstury wsypać połowę kaszy manny ciągle mieszając.

W pozostałej ilości mleka (100ml) rozrobić kakao i dodać aromat orzechowy.

Gdy kasza manna zacznie gęstnieć, dodaj rozpuszczone kakao z aromatem.

Mieszając jeszcze przez chwilę, zdjąć z ognia i pozwolić na ostygnięcie w temperaturze pokojowej.

Ciemną miksturę z kaszy manny wyłóż na przygotowane w formie herbatniki. Rozprowadź równomiernie.

Przykryć kaszę mannę warstwą herbatników, ułożonych w całej formie. Dociskając lekko z góry, postaraj się wyrównać powierzchnię oraz aby pozbyć się bąbli powietrza z ciasta.

_- 2 - część jasna -_

W garnku zagotować połowę mleka z pozostałym masłem (lub margaryną) i pozostałym cukrem. Doprowadzić do wrzenia.

Do gotującej się mikstury wsypać pozostałą kaszę mannę ciągle mieszając. Dodać aromat waniliowy.

Mieszaj do czasu, aż mikstura zacznie gęstnieć.

Zdjąć z ognia i pozwolić na ostygnięcie w temperaturze pokojowej.

Wylewamy jasną miksturę kaszy manny na wierzch poprzednio przygotowanego ciasta z herbatnikami. Rozprowadzamy równomiernie i przykrywamy kolejną warstwą herbatników.

Czekoladę mleczną rozpuszczamy w mikrofalówce. Pozostawiamy do ostygnięcia (aby nie była za gorąca), następnie wylewamy i rozprowadzamy równomiernie na wierzchu herbatników. Całość posypujemy posiekanymi orzechami.

Ciasto wstawiamy do chłodziarki, aby stężało, na minimum 6 godzin. Aby nie przeszło zapachem, przykrywamy wierzch folią przeźroczystą.

Po stężeniu, pokroić na kawałki.  
Przechowywać w chłodziarce.

Termin przydatności do spożycia - od 3 do 7 dni, choć spokojnie wytrzyma dłużej :)

**Smacznego.**


---
## Kupuj taniej i wygodniej... nie w Polsce
- **URL:** https://dariusz.wieckiewicz.org/kupuj-taniej-i-wygodniej-nie-w-polsce/
- **Date:** 2011-10-24
- **Tags:** Blog, batoniki, Bounty, Celebrations, cena, cukierki, Koszalin, Mars, MilkyWay, polska, Promocja, Tesco, Wielka Brytania

### Content

To już kolejna wizyta w moim kraju - Polsce, po wyjeździe do Wielkiej Brytanii.

Niestety, nie wiele się zmieniło... nadal pracuje się tutaj za głodowe stawki, **a ceny w sklepach są zagraniczne**.

Tak bardzo nasz kraj dąży do wyrównania zarobków, aby wszystkim _"żyło się lepiej"_, że coraz bardziej jesteśmy dojeni przez wszelkiego rodzaju firmy i konsorcja.

<!--more-->

Przed świętami, w UK kupiłem paczkę cukierków _Celebrations_... **855 g** świetnie dobranej mieszanki cukierków z firmy Mars. W promocji takie to opakowanie kosztowało mnie niecałe **5 funtów (przy 50% zniżce)**. I to dla mnie wydawało się **"drogo"**.

Przed moim kolejnym urlopem w Październiku 2011, zakupiłem te same cukierki za podobną cenę aby wsiąść je jako prezent... lub dla własnej przyjemności :) (wyszło to drugie).

Niecałe **5 funtów** - czyli po średnim kursie Funta w tym okresie = **5 zł**, dawało to **ok. 25 zł**.

**25 zł** - niby nie aż tak drogo i tyle mogę dać. Przy pełnej kwocie, poza promocją, wydać **50 zł** - to bym się zastanawiał.

**Jednakże pojechałem do Polski...**

W Polsce, jak to w naszym kraju, przebitki na cenach są znaczące, ale nigdy nie wierzyłem, że **aż do takiego stopnia**.

Będąc z wizytą w **Tesco** w Koszalinie rzuciła mi się promocja z tymi samymi cukierkami - mieszanką - od tej samej firmy, zapakowanej w to samo opakowanie.

**Niestety, ale cena jaką ujrzałem nie należała już do promocyjnych.** Nasze kochane Tesco zarzyczyło sobie - w promocji - **99.90 zł**, co jest 4 razy więcej a niżeli w promocji w UK, a 2 razy więcej poza nią.

Zrozumiem wszystko, że transport oraz narzucony wysoki podatek w naszym kraju robią swoje, ale **99.90 zł** w promocji to już lekka przesada.

To jest istne żerowanie na biednych ludziach i naiwności tych, których stać, aby kupić ten produkt w tej cenie, ze złudną nadzieją w ich głowach, że dokonali dobrego wyboru po rozsądnej cenie.

**Niby Tesco jest tanie?**

Żenada...

...że jak oni się obecnie reklamują? (...) że "wbrew reklamom dyskonty wcale nie są najtańsze". **Jasne że nie, a wy stoicie na czele tych "nie-najtańszych dyskontów".**

To tak jak hasło... "dla Ciebie, dla Rodziny", ale tylko z grubym portfelem!

* * *

 

### Aktualizacja (28 Październik 2011)

Oto jak z czasem wszystko może się zmienić.

Ok. 8 Października 2011 roku, nasze kochane Tesco zafundowało nam batoniki za **99.90 zł**. Zabójcza cena, jak można za chwilę zobaczyć była ustawiona specjalnie na tak wysokim poziomie, aby z ludzi zrobić głupków i skutecznie zniechęcić od zakupu - lub też, **jakaś to pani Kierownik**, kazała swoim pracownicą wystawić dany produkt na sklep, ale nie wprowadzać go jeszcze do sprzedaży. A jak to zrobić najlepiej...? **Ustawić zaporową cenę.**

**Niestety, nawet na tą cenę znajdą się osoby chętne**, więc co one - te co kupiły - powiedzą na cenę, jaka pojawiła się kilka dni temu w Tesco?

**[![Magia ceny w Tesco](/images/2011/10/xp1toj.jpg)](/images/2011/10/xp1toj.jpg)39.90 zł**... to cena, jaka aktualnie widnieje na tych batonach.

Po tej cenie zakup wydaje się bardziej rozsądny, a niżeli po **99.90 zł**.

Jednakże, Tesco nadal robi z ludzi idiotów, wprowadzając wyimaginowaną promocję - przecenę z **59.90** na **39.90 zł**. Czyli z ceny, której nigdy nie było, na obecnie obowiązującą. **Tak przy okazji... przy promocji 99.90 zł nie było informacji, ile oszczędzasz... ciekawe dlaczego :)**

Bardzo ciekawa sytuacja nawołuje do zastanowienia nad tym, jak wielkie koncerny myślą, że ich klienci są **"głupi"** i nie zauważą ich marketingowych gierek.

Co najważniejsze to cel - czyli cena na rozsądnym poziomie. **A to jak widać jest osiągnięte.**

Resztę pozostawiam wam do przemyślenia i rozsądnego zastanowienia się przed skorzystaniem z jakiejkolwiek promocji w polskich sklepach.

**Pozdrawiam.**

{{% ads-in-article %}}


---
## Jarosław Kaczyński, mocarz jak Fidel Castro
- **URL:** https://dariusz.wieckiewicz.org/jaroslaw-kaczynski-mocarz-jak-fidel-castro/
- **Date:** 2011-10-05
- **Tags:** Blog, Chińska Republika Ludowa, Fidel Castro, Jarosław Kaczyński, Macierewicz, PiS, Tomasz Lis, wybory 2011, Ziobro

### Content

Po obejrzeniu debaty przed-wyborczej, czy może spotkania Jarosława Kaczyńskiego z Tomaszem Lisem (4 Październik 2011), nasuwa mi się tylko jedno zdanie...

**Człowiek pokroju Kaczyńskiego jest tak żądny władzy, że jest w stanie wyjąć "naładowany pistolet", lub jak to on stwierdził "pistolecik" i twardą ręką, pod groźbą rozstrzelania zmienić demokrację na totalitarne rządy Fidela Kastro rodem z Kuby.**

<!--more-->

Ta osoba, jak by mogła, zamknęła by wszystkich - za wszystko.

Nie ma on poszanowania dla drugiej osoby. Dla niego, jeżeli ktoś nie jest z nim - nie trzyma sztamy - nie myśli i nie głosi absurdalnych postulatów, które tworzą się na potęgę w jego szarym umyśle, **jest nikim**. Nie ma on poszanowania dla innych. Jego mają wszyscy nazywać _"prezesem"_ lub _"premierem"_, którym już nie jest, ale żeby on tak samo kierował swoje słowa do innych osób w państwie - osób, które na to zasługują, gdyż pełnią taką funkcję - to już nie, bo oni nie myślą tak jak oni.

Jarosław K. nie jest godzien reprezentowania żadnego kraju - gdziekolwiek. Dla niego, dyktatura była by chyba najlepszym rozwiązaniem przy sprawowaniu władzy.

Jak to wygląda, obrażając, poniżając, lekceważąc głowy innych państwa. To on chce być ponownie _"premierem"_ kraju jakim jest Polska - litości.

Dla niego donosiciele, likwidatorzy i czyściciele tacy jak m.in. Ziobro czy Macierewicz, to są osoby, które zrobiły _"dużo dobrego dla Polski"_. Ciekawe dlaczego, większość myślących polaków uważa inaczej.

To właśnie przez takie osoby jak J. Kaczyński i inne jemy podobne, nasz kraj znajduje się w takim miejscu w jakim jest.

Ten człowiek chce rządzić - a rządy rozpocznie od oszczędności. Oszczędności pójdą oczywiście z naszych kieszeni - bo skąd-rzesz indziej. Sam przyznaje, że pieniądze - którymi chce załatać dziurę - pójdą m.in. z podatku VAT. Czyli podwyżka, itak najwyższego VAT-u w Europie jest już przesądzona. Nam pozostaje, przy najbliższych wyborach powstrzymać _"jego"_ i osoby jego pokroju przez zmienieniem Polski w Chińską Republikę Ludową.

Jarosław Kaczyński to _"prezes"_ a wszyscy inni to _"wy"_. _"Wy"_ ciągle to, _"wy"_ ciągle tamto. Ta osoba traktuje wszystkich tych, którzy mają czelność myśleć inaczej, jako osoby innego pokroju, osoby złe - a żeby nie powiedzieć _"nienormalne"_.

Dla nich - osób ślepo wierzących w Jarosława Kaczyńskiego - nawet osoby, które dopuszczają się przestępstwa, ale stoją po stronie PiSu - wierzą w nich i głosują na nich, są lepsi od tych, co wierzą we własne przekonania - inne niż te, w które _"wyznawcy"_ Jarosława Kaczyńskiego chcą.

Jedno mogę stwierdzić. Jarosław Kaczyński jest chory - choć ta choroba nie jest do końca zdiagnozowana, to nasuwa mi się kilka innych z podobnymi objawami.

**Co mogę powiedzieć...**

Jeżeli chcemy coś zmienić, idźmy na wybory 9 października 2011 roku i zagłosujmy rozsądnie - i niech inni nie narzucają nam co mamy myśleć, mówić i robić... tak jak to chcą co niektórzy.

{{% ads-in-article %}}


---
## Masz kredyt we frankach? To się z nim męcz!
- **URL:** https://dariusz.wieckiewicz.org/masz-kredyt-we-frankach-to-sie-z-nim-mecz/
- **Date:** 2011-08-09
- **Tags:** Blog, frank, instytucja charytatywna, kredyt, kredyt we frankach, kurs walut, Platforma, raty, umowa kredytowa, złotówki

### Content

Tak popularny przez ostatnie lata kredyt we frankach zapewniał niższe raty, w porównaniu z kredytem w rodzimej walucie. Teraz wszyscy z niedowierzaniem i strachem patrzą na to co się dzieje, a poprawa - czyli obniżenie kursu się jak na razie nie zapowiada.

<!--more-->

**Kredyt we frankach miał być rajem,** a staje się piekłem dla tysięcy osób w Polsce. Ale czy to jest powód, aby te osoby kierowały swój lament w kierunku państwa o pomoc?

**Nie!**

Miało być tak pięknie, a wyszło jak zwykle. To motto dominuje w Polsce od lat i jeszcze długo będzie dominować, niż cos sie zmieni.

Kredyty w walutach zawsze były i będą niebezpieczne. Każdy kto podpisywał umowę kredytową wiedział na co się pisze i z jakim ryzykiem musi się liczyć. Wiec dlaczego teraz te osoby maja czelność prosić o pomoc w spłacie nasze państwo? **Państwo to nie instytucja charytatywna.** Trzeba było wziąć kredyt w rodzimej walucie i nie było by problemów.

Dlaczego państwo ma pomagać tym, którzy sami się na to pisali. A co z osobami mającymi kredyty w złotówkach. Oni cały czas płacili, płaca i będą płacić wysokie raty. Jaka tu sprawiedliwość, pomagać tym, którzy sami się na coś zgodzili, a tych, którzy nie kombinowali traktować po macoszemu?

**Rozumiem,** ze wśród tysięcy kredytobiorców we frankach, niektórzy mogą mieć problemy ze spłatą. Ale powiedzmy sobie szczerze. Kredyt ten nie brał biedny człowiek. Człowiek ten musiał mieć odpowiednia zdolność - zdolność, na która większość polaków, zarabiających 1000 na rękę nie ma co liczyć. Osobą tym, jeżeli już się udało wziąć kredyt, to teraz go spłacają wysokim kosztem, a ludzie, którzy kombinowali z frankami teraz lamentują.

**Bo co?** Nie starczy im na wycieczkę na Bora Bora? Czy na nowy samochód?

**Albo wszyscy są równi albo nie. Jeżeli nie,** to postawmy sprawę jasno, a nie tak jak nasz kochany rząd Platformy - obiecuje pomóc.

**Za co i dlaczego pytam!** Pomoc ludziom których było stać na kredyt? A teraz wszyscy będziemy musieli płacić za to, nawet te osoby, które maja kredyt w złotówkach. **Gdzie w tym logika?**

**Wziąłeś** **kredyt we frankach? Wiedziałeś co robisz.** A jeżeli nie, to mogłeś się zapytać jakie jest ryzyko - lub w odpowiednim momencie przewalutować. Ale skoro chciałeś być cwańszy, to się teraz mecz!

> **Ps.** Rozumiem mniej zamożnych ludzi, bo dla nich to będzie - **być albo nie być**. Ale powiedzmy sobie szczerze. Wśród osób, które będą chciały pomocy od państwa, jest ich nie wiele, a większość z nich stać na spłatę, po prostu odmówią sobie kilku ekstrawaganckich wydatków i tyle.

{{% ads-in-article %}}


---
## Andrzej Lepper (...)
- **URL:** https://dariusz.wieckiewicz.org/andrzej-lepper/
- **Date:** 2011-08-06
- **Tags:** Blog, Andrzej Lepper, Lepper, powieszenie, prezes K, Roman G, samobójstwo, Samoobrona, śmierć

### Content

**"Minęła pewna epoka."**

Wszyscy tak twierdza, choć w przeszłości każdy mówił co innego.

O **tej osobie** można powiedzieć wiele. Ale co się rzuca na oczy, to fakt, ze w naszym kraju nie potrzeba wiedzy i wykształcenia. Wystarczy spryt, odrobina szczęścia, mocne gardło i twarde łokcie.

<!--more-->

**Taki był Andrzej Lepper.** Bez wiedzy i wykształcenia a zaszedł dalej, niż nie jeden polityk po wyimaginowanych studiach.

Sam w swoim życiu miałem okres, w którym to postulaty partii Samoobrony trafiały do mnie. Nawet oddałem swój głos na nią w jednych wyborach.

Dalej oczywiście, w miarę zdobywania wiedzy i doświadczenia to się zmieniło. Porażała mnie prostota i prostactwo co niektórych ludzi w tej partii.

Andrzej Lepper był osoba z moich rejonów. Mój ojciec nawet miał okazje go poznać i dostać od niego oryginalny krawat Samoobrony.

**Było minęło.**

Najgorsze jest teraz to, ze wszyscy uważają się za jego przyjaciela, kolegę. Najpierw byli z nim, później opluwali go i mieszali z błotem, a teraz po śmierci wypowiadaj w jego kierunku same cieple słowa.

**Moje pytanie: po co?**

Rozumiem, że o zmarłym nie powinno mówić się źle, ale...

Człowiek miał problemy i widocznie dlatego że nie miał wsparcia wśród swoich, dlatego to zdecydował się na taki ruch. Nie potrzebne są teraz ciepłe słowa ludzi, którzy tak naprawdę uważali go za totalne dno.

Człowiekowi, przyjaciele i ich pomoc, potrzebna jest za życia a nie po śmierci. No cóż, każdy chce się teraz w jakimś sensie wybielić i pokazać na tle historii, że by on dla niego kimś więcej niż znajoma twarz czy **kolegą z pracy**.

Ktoś (...i to w dodatku z jego partii) powiedział, że człowiek się wiesza w nocy, a nie w dzień.

**Pytam, a co to za różnica?**

Zaraz jeszcze ktoś wpadnie na pomysł powołania komisji śledczej ds. śmierci Leppera i tak będziemy mieli kolejny cyrk, jak w przypadku śmierci Blidy.

Lepper się skończył, skończył już dawno.

Podziękować można **prezesowi K.** za koalicje i doprowadzenie do wewnętrznej wojny ludzi samoobrony, którzy teraz uważają się za jego przyjacieli, czy nawet **"znajomych"**.

**"Andrew"** sam sobie założył pętle na szyję, dogadując się z **panem K. i Romanem G.**, a teraz życie zepchnęło go na taką krawędź, że trzeba było tylko tą pętle zacisnąć i skończyć z tym.

Wszystko mówi samo za siebie, a głosy o pochowaniu go na Wawelu, czy postawienie kilku-metrowego krzyża przed siedziba partii mówi samo za siebie.

**Powtórka z rozrywki.**

Jeszcze tylko czekać, aż padnie pomysł na postawienie pomnika. Lepper nie miał pomysłu jak zrobić to tak, aby było dobrze.

**Ale czy w Polsce się wogule da?**

Jego wszystkie akcje i sprawy sadowe to jak akt rozpaczy i bezustanne wołanie o pomoc, że w naszym kraju źle się dzieje.

Niestety, brak wsparcia nawet w swoich ludziach doprowadziło go tam, gdzie znajduje się teraz... a raczej gdzie będzie się znajdował... **w trumnie.**

**Ale kto mu miał pomóc?!?**

Wystarczy popatrzeć na jego ludzi. Są albo biedni albo przesadnie bogaci. Ci pierwsi robią wszystko to, aby się wybić. Ci drudzy są tylko po to, aby o nich mówiono i żeby czerpać z tego dalsze korzyści.

Co bardziej cwańsi zaprzyjaźnili się **z braćmi K.** i jak szczury uciekli z tonącego okrętu. Z jednego gnoju w drugi i teraz nosząc drogie garnitury wspominają... **jakim to "dobym" człowiekiem był Andrzej Lepper**.

Nie uważam tego człowieka za kogoś wybitnego, choć zrobił swoje... może trochę nie tak jak trzeba, zachłysnął się tym co dostał, ale jakoś poszło. **I choć nie skończyło się tak, jakby chciał, może lepiej że był, niż żeby go nie było.**

{{% ads-in-article %}}


---
## Polskie uczelnie kształcą bezrobotnych
- **URL:** https://dariusz.wieckiewicz.org/polskie-uczelnie-ksztalca-bezrobotnych/
- **Date:** 2011-07-06
- **Tags:** Blog, bezrobotny, politechnika, praca, praktyka, student, tvn24, uczelnia, uniwersytet, wiedza

### Content

**No i stało się.** Wkońcu coś musiało mnie na tyle wkurzyć, aby napisać coś od siebie, odnośnie studiowania w moim rodzimym kraju - Polsce.

> Absolwent? To pewnie nic nie umie... [www.tvn24.pl](http://goo.gl/dhF7y)

<!--more-->

Jak rozpoczynałem poszukiwania dotyczące przyszłego kształcenia na studiach wyższych, naoglądałem się, nasłuchałem i naczytałem różnych informacji o moim przyszłym wyborze, czyli dane uczelni. Znalazłem conieco informacji jakie kierunki oferuje, jakie są metody kształcenia. **Teraz, po skończonych studiach,** chłodnym ocenieniu rynku pracy oraz wizji tego, co się dzieje w naszym szkolnictwie wyższym **jestem pełen obaw**.

Uczelnie prześcigają się w oferowaniu przeróżnych kierunków kształcenia.

Różne zakresy, różne umiejętności i różne metody kształcenia, ale wszędzie przewija się jedno - "ten kierunek studiów jest przyszłościowy, gdyż na rynku pracy jest zapotrzebowanie na tego typu specjalistów". **Czy oby napewno?**

Po kilku latach, po skończonych studiach mogę powiedzieć jedno, wszystko to jest, delikatnie mówiąc śmieszne.

Na moim kierunku studiów zaczynaliśmy, gdy było nas 360 osób! Imponująca liczba, ale chyba tylko w dziekanacie naszej uczelni.

Z całej tej liczby, mniej niż połowa dotrwała do końca - i to nie w pełni ta połowa, która powinna - wyróżniająca się, łatwo zdobywająca wiedzę, umiejąca ją wykorzystać w praktyce. Z tych ludzi, co otrzymali szanowny tytuł magistra inżyniera, połowę bym ich niego pozbawił. Są wśród nich osoby, które prześlizgnęły się przez 5 lat nauki, cudem zaliczając egzaminy, a niektórzy też poprzez swoistą protekcję tatusiów "profesorów".

Wśród osób, które odpadły, byli ludzie zdolni, jednakże ich sytuacja życiowa nie pozwoliła na danym etapie dokończyć swojej nauki, lub też, jak to bywa na naszych uczelniach - jakiś belfer, który ledwo może się poszczycić tytułem doktora, uwziął się na daną osobę, aby ją udupić i dopilnować, aby nie skończyła studiów, puszczając przy tym ślizgających się -lekko mówiąc "debili", którzy później pokazują przed przyszłym pracodawcą na co ich stać.

**Nasze uczelnie powinny zostać zreformowane od samej góry**, czyli całego systemu polskiej oświaty na studiach wyższych.

Na studiach wykładowcy nie uczą, bynajmniej nie wszyscy, bo są też osoby, które z zamiłowania robią to co lubią i pragną zasiać bakcyla w innych, przekazując im swoją wiedzę i doświadczenie.

Wykładowcy przekazują wiedzę teoretyczną, przedstawiają ją, karzą zapamiętać, aby zaliczyć dany egzamin... i tyle. Na tym kończy się cała edukacja niektórych przedmiotów. **Dosłowne, "3x Z" - Zakuj, Zdaj, Zapomnij.**

**W teorii wszystko jest takie piękne. W teorii wszystko idzie tak jak powinno - i teorii uczą nas na studiach.**

Znikome przyłożenie się do części praktycznych, sprawia to, że kończąc studia, może i mamy wiedzę, ale nie potrafimy jej odpowiednio wykorzystać w praktyce, nie w stresowych warunkach pracy. Dopiero po roku, dwóch, gdzie zdobywamy niezbędną praktykę, wiemy co i jak, chociaż itak nie jest to idealne. A praktykę zdobywamy, gdy uda nam się znaleźć prace po naszym kierunku, co jest rzadkością.

Odnośnie praktyki - na studiach magisterskich, na Politechnikach, ustawowo uczelnia musi zapewnić, a raczej zmusić studenta do odbywania praktyk na danym etapie jego kształcenia. Niestety, uczelnia w tym nie pomaga. Studenci sami musza sobie załatwić miejsca, gdzie dane praktyki odbędą - a raczej odbębnią - gdyż tutaj chodzi tylko o wpis na karcie i o nic więcej.

**Mamy tutaj drugą stronę medalu.** Nasi szanowni pracodawcy, którzy tak narzekają, że absolwenci są niedokształceni, szczególnie w sferze praktycznej, utrudniają sami zdobyć tą wiedzę i niezbędne doświadczenia - obycie z zawodem.

Podczas poszukiwania praktyk, pracodawcy niechętnie przyjmują osoby, które muszą uczyć. Bo po co komu praktykant, którego po miesiącu już nie będzie. Tym bardziej, nie motywuje to pracodawców do zaangażowania w przekazanie wiedzy, gdyż on (pracodawca) i tak z tego nic nie otrzyma.

Tutaj, studia powinny iść razem z praktyką, a sama praktyka powinna wywiązywać więź z pracodawcą, który później może (ale nie musi) zaoferować odpowiednie stanowisko pracy.

**A teraz jak to wygląda?**

Przed otworzeniem działalności gospodarczej w Polsce, powysyłałem sporo ankiet do różnych firm odnośnie zapotrzebowania na danego typu usługi.

W pamięci utkwiła mi jedna odpowiedź jaką dostałem odnośnie studentów-praktykantów z mojej uczelni.

**Pracodawca podsumował to mniej więcej tak:**

> Studenci przychodzący na praktykę do jego firmy nie wykazywali wymaganej wiedzy, którą powinni posiadać na danym etapie kształcenia. Ich wiedza była skromna, podstawowa i żeby nie powiedzieć, że w niektórych przypadkach (dop. oczywistych) nie było jej wcale.

Pracodawcy widzą i zapamiętują, a dalej już każdy może sobie dopowiedzieć.

Tak naprawdę, studia wyższe powinny do czegoś zobowiązywać i czegoś wymagać od przyszłego absolwenta. To nie jest nauczanie w szkole podstawowej, więc nie widzę też sensu, dla którego niektórzy wykładowcy przepuszczają studentów na kolejne lata "jak leci".

W artykule TVN24, który zmotywował mnie do napisania tego wpisu można wywnioskować jedno. Uczelnie, na danych kierunkach uczą zupełnie czego innego, a niżeli tego, czego oczekuje od nich rynek pracy.

W związku z tym, namawianie przyszłych studentów do studiowania właśnie na danym kierunku i danej uczelni hasłami:

> "ten kierunek studiów jest przyszłościowy, gdyż na rynku pracy jest zapotrzebowanie na tego typu specjalistów"

wydaje się wręcz śmieszne - i właśnie to wymaga zmiany.

Więc drodzy pracodawcy - jeżeli chcecie mieć wykształconych absolwentów z wiedzą, otwórzcie się na nich.

Wykładowcy na studiach wyższych - jeżeli chcecie, aby wraz z przyszłym absolwentem uczelni szła renoma, jaką ona z sobą niesie - oraz to, że kształci tak, jak oczekuje tego rynek - zróbcie coś z tym. Zastanówcie się dwa razy, niż kogoś przepuścicie dalej "po łasce", oraz gdy "na kogoś się uweźmiecie", bo być może zabijacie w nim talent, który może zaowocować i rozwinąć się do niewyobrażalnego poziomu.

Pozdrawiam.

{{% ads-in-article %}}


---
## Dlaczego Google zabija swoje usługi już na starcie...
- **URL:** https://dariusz.wieckiewicz.org/dlaczego-google-zabija-swoje-uslugi-juz-na-starcie/
- **Date:** 2011-06-30
- **Tags:** Blog, Internet, buzz, closed-beta, facebook, google, google health, google plus, google wave, profil google, wave

### Content

Przez cały dzisiejszy dzień (30 czerwiec 2011) oraz wczorajszy, aż huczy w internecie, że Google rzucił **"ciężką rękawicę Facebook'owi"**. Otóż wystartowała usługa **Google+** (Google Plus). Ale czy jest się czym podniecać?

<!--more-->

Przeglądając dzisiejsze informacje o nowej usłudze, przyszła mi na myśl tylko jedna myśl, którą postarałem się podzielić z zainteresowanym - samym Google - na ich profilu na Facebooku. Wiem, że może pozostać ona bez echa, ale to natchnęło mnie do napisania szerszego wpisu na mojej stronie, a mianowicie...

> Dear Google, why you are so sober (stubborn)? Another service you put in closed-beta. You didn't learn anything? You put wave in the same way, and before you decide to open for all you kill this project. The same is with buzz with is still not available for google apps users - you killing your own services just on the beginning. Google+ you will kill in that same style? Before you make it public?
> 
> [http://www.facebook.com/Google/posts/10150245153452838](http://www.facebook.com/Google/posts/10150245153452838)

**Kontynuując...**

U... Google uruchomiło Google+... wow, ale zaraz.... co? znowu!?!

**Tak jest! Znowu** - a mianowicie, usługa jest - wybrańcy się nią podniecają, a innym przychodzi tylko patrzeć, czytać i... wkurzać się na bezmyślność ludzi decydujących w Google.

Mianowicie, kolejny raz, Google prezentuje usługę dla mas wypuszczając ją w jako **closed-beta**, czyli zamkniętej usłudze, do której można jedynie dostać zaproszenia, dzięki któremu będzie można zobaczyć, co w trawie piszczy.

**I tutaj jest moje lekkie oburzenia i gest pukania się w głowę skierowany w kierunku Google.**

Po tym, jak kawał już czasu temu Google uruchomiło pocztę **Gmail**, która również wymagała zaproszenia aby z niej skorzystać, świat i cały internet się zmienił. Gmail był strzałem w dziesiątkę, zyskał popularność i zaraz po zdjęciu rygoru zaproszeń, do rejestracji ruszyły tłumy. Tak, z zamkniętej fazy beta, przez otwartą, dobrnęliśmy do okresu, gdzie Gmail jest finalną usługą, ale w dalszym ciągu rozwijającą się.

**Ale czy tak będzie z przypadku Google+?**

Moim zdaniem nie. Nie rzuca się rękawicy, twierdząc, że do walki dojdzie dopiero jak będzie się na to gotowym, bo już na starcie jest się na przegranej pozycji. Google pokazuje jaką ma ideologię, wizję i możliwości. I tyle. Publikując coś, tylko dla nielicznych, zabija się to już na starcie, tak jak to miało miejsce z innymi usługami.

**Słyszeliście o Wave?** Zapewne, coś wam się obiło o uszy. **Korzystaliście?** Nieliczni odpowiedzą że tak.

I tyle optymizmu. Usługa, która gdyby została wypuszczona dla mas, zrewolucjonizowała by pracę grupową wśród ludzi. Odpowiednie pokierowanie je do sektora biznesowego - nawet jako płatna usługa - trafiła by na podatny grunt, dzięki czemu, w połączeniu z obecną erą tabletów i pracy w chmurze, zarobiła by miliony. A tak, kolejny projekt do śmieci. Google zdecydowało się zakończyć usługę i pozostawić ją w opiece osób, które chciały by się dalej przyczynić do jej rozwoju.

Nie mówią już, że usługa nadal jest niedostępna lub mocno ograniczona dla użytkowników Google Apps, a dla których to, była by, moim zdaniem kluczowa. W Google Apps pojawiła się kilka miesięcy przed ogłoszeniem jej końca, kawał czasu po wprowadzeniu na rynek. To tak, jak danie w prezencie chomika nafaszerowanego arszenikiem. Tuż po otworzeniu prezentu, pacjent zdechł.

**Więcej przykładów?**

**Google Buzz**. Kolejna usługa, która miała zrewolucjonizować komunikację ludzi. Usługa oferująca rzeczy, które z powodzeniem są wykorzystywane przez konkurencję - Facebook - w postaci publikacji i dzielenia się na "ścianie".

**I co z tą usługą?**

Oczywiście, po fazach testowych - tylko dla wybranych użytkowników - świat zapomniał już i pogrzebał wszystkie newsy na jej temat, gdy pojawiła się do dyspozycji użytkowników czystego Gmaila.

Czy ktoś tego używa? Aktualnie, nie znam nikogo z moich znajomych, których bym do tego przekonał... a dlaczego? A no właśnie, jestem użytkownikiem Google Apps, nie ma możliwości utworzenia Profilu Google, a więc nie mam co marzyć o tej usłudze.

Kolejna rzecz, która mogła zrewolucjonizować świat, a która **została uśmiercona.**

**Podobnie z innymi usługami, chociażby Google Health.**

Słyszeliście o Google Health? Usłudze, w której można prowadzić rejestr swoich danych medycznych z inteligentnym sposobem prezentacji danych?

Hmm... szkoda, że nie słyszeliście, bo nawet jak byście usłyszeli (tak jak ja, kilka miesięcy temu), musieli byście obejść się smakiem, gdyż już niedługo usługa zostanie zamknięta, a dokładnie ubita. Kolejna, fajna i przyszłościowa. Ale co tam, było minęło.

**I tak już wiecie, dlaczego Google+ nie zrobiło na mnie większego wrażenia.**

Usługa obecnie zamknięta dla pozostałych użytkowników, włączona zostanie zapewne za rok, a i tak, osoby korzystając z Google Apps kolejny raz będą mogły obejść się smakiem.

I czyż to nie prawda, że Google już na starcie zabija to, w co włożyła pieniądze i czas - cenny czas swoich ludzi.

Jeżeli coś publikujemy, to publikujmy to tak, aby od razu pięło się w górę, a nie robiło tylko smaczek.

Internet na chwilę obecną jest już tak rozwinięty, że czekanie z czymś nawet kilka miesięcy, może zadecydować o zwycięstwie lub porażce.

Pozdrawiam.

{{% ads-in-article %}}


---
## Przelewy pieniężne z Anglii do Polski (i nie tylko)
- **URL:** https://dariusz.wieckiewicz.org/przelewy-pieniezne-z-anglii-do-polski-i-nie-tylko/
- **Date:** 2011-06-11
- **Tags:** Blog, Finanse, Custom House, CVC, CVN, CVV, CVV2, Direct Debit, eCheque, funt, GBP, karta debetowa, karta kredytowa, konto, money transfer, moneybookers, paypal, PLN, przelew, Western Union

### Content

> **Zobacz nowszy artykuł: [Przelewy pieniężne z Anglii do Polski – kolejne podejście](/przelewy-pieniezne-z-anglii-do-polski-kolejne-podejscie/)**

**Przelew do polski.** Dla wielu Polaków mieszkających poza granicą rodzimego kraju jest to pierwszy problem, z jakim stawią czoła po otrzymaniu kilku pierwszych pensji.

Na co-dzień, _wielu z was_ korzysta z usług **Western Union** (głównie ze względu na niższe opłaty), sprawdzonego usługodawcy na rynku przelewów międzynarodowych.

<!--more-->

Podstawową **wadą Western Union** (_dla mnie_) jest to, że pieniądze wysyła się na daną osobę, która **musi osobiście** odebrać je w jednym z powiązanych oddziałów w Polsce. Nie ma możliwość (tak po-prostu) przelania pieniędzy na konto w banku - w Polsce, co znacząco ułatwiłoby sprawę. Dlatego też, konieczność angażowania innych osób staje się uciążliwe, szczególnie, jeżeli chcemy przelać pieniądze sami-sobie.

Inna sprawa to przewalutowanie. Pieniądze są przewalutowywane w momencie zlecenia przelewu, po danym kursie.

Oczywiście, buszując po stronach Western Union (_WU_), można znaleźć opcję przelewu na konto (online, dawniej **Custom House** - obecnie **WU business solutions**), jednakże cała procedura otwarcia i aktywacji usługi jest na tyle zawiła, że mało kto przez nią przebrnie (_nie tracąc nerwów_).

Osobiście, po kilku kontaktach z WU, stwierdziłem, **że poszukam czegoś innego**, czegoś prostszego (_mimo, że udało mi się to ustawić_).

Posiadając konto w banku (_szczególnie płatne, bo na bezpłatnych te opcje są ograniczone lub też niedostępne_), można również przelewać pieniądze, jednakże wiąże się to z horrendalnymi kosztami za operacje sięgającymi **kwoty 20-25 funtów** już przy minimalnej kwocie. Z tego względu, ten rodzaj transferu nie jest popularny i na co-dzień wybór pada na WU.

**Ale czy to jest rzeczywiście najlepszy wybór?**

Pierwszy mój wybór w poszukiwaniach padł na firmę **[moneybookers](http://moneybookers.com)** (zarejestrowaną w Anglii, a oferująca swoje usługi w kilku krajach, w tym w Polsce). **Był to niestety zły wybór**, głównie przez osoby z _Pomocy technicznej_, które wprowadzają klientów w błąd odnośnie poszczególnych transferów (_pytasz się jak to będzie, uzyskujesz odpowiedź, a w rzeczywistości wychodzi całkowicie inaczej_).

Jako, że chciałem przelać **funty (GBP)** na konto **w Polsce**, ale **prowadzone również w funtach (GBP)**, chciałem uniknąć podwójnego przewalutowania **GBP>PLN>GBP**. Mimo zapewnień przedstawicieli _moneybookres_, tak się nie stało i na całej sytuacji straciłem głównie na przewalutowaniu (chociaż -  i tak wyszedłem lepiej niż na WU).

~ ~ ~

![PayPal logo](/images/2011/06/logo.jpg)

Nieco zniechęcony, zacząłem szukać innego rozwiązania, aż tu przypomniał mi się **PayPal**. Usługa, z której korzystam przy transakcjach na aukcjach internetowych **eBay**. Jedna z bardziej zaufanych i bezpiecznych typów transakcji aukcyjnych z jakimi się spotkałem.

**Przelewy w PayPal polegają na tym**, że aby przesłać pieniądze do kogoś, dana osoba musi jedynie posiadać adres e-mail. Nie musi ona nawet posiadać konta w usłudze (_te może założyć później, lub wcale_).

**Ale, nie ma róży bez kolców.** Pierwszą wadą usługi na którą się natknąłem, jest to - że w danym kraju, konto PayPal (zacznijmy od Angli) może być powiązane z kartami płatniczymi i numerami kont zarejestrowanymi w tym samym kraju (tj. Anglia).

Czyli, jeżeli mieszkam w Anglii (_posiadam tam konto i adres zamieszkania Angielski_), to muszę mieć konto zarejestrowane na [paypal.co.uk](http://paypal.co.uk)**,** gdzie mogę podać tylko dane angielskie. Natomiast, **jeżeli chodzi o rodzimy kraj** (_Polska_), to muszę mieć konto zarejestrowane na [paypal.pl](http://paypal.pl), gdzie podaję dane polskie, oraz konta i karty zarejestrowane w Polsce.

**Prosty wniosek.** Przy przelewie z Angli do Polski, należy **posiadać dwa konta PayPal** (_Polskie i Angielskie_), zarejestrowane na dwa różne (_nasze_) adresy e-mail (_oczywiście, jeżeli przelewamy sami-sobie_).

Jest to jedyny problem, który można w bardzo prosty sposób rozwiązać. Wystarczy założyć sobie dodatkowy adres e-mail (_lub alias mailowy_), który będzie służył wyłącznie do logowania się w usłudze w danym kraju.

~ ~ ~

I tak w skrócie, posiadając dwa konta e-mail musimy je odpowiednio powiązać.

**Konto 1 -** [PayPal.co.uk](http://paypal.co.uk)

- przypisujemy do niego kartę płatniczą (Angielską), służącą do pobierania pieniędzy;
- przypisujemy do niego konto bankowe (Angielskie), służące do przelewania pieniędzy w drugą stronę - wypłatę.

**Konto 2** - [PayPal.pl](http://paypal.pl)

- przypisujemy do niego konto bankowe (Polskie), na które będą wypłacane pieniądze;
- przypisujemy do niego kartę płatniczą (Polską), służącą do pobierania pieniędzy.

Warto do każdego konta powiązać obie rzeczy, konto i kartę, tak, aby przelewy mogły być dokonywane w obu kierunkach (_zarówno z Anglii do Polski jak i Polski do Anglii - lub innego kraju_).

Cała usługa przelewania jest w miarę rozsądna i niedroga - nawet w porównaniu z WU.

~ ~ ~

Osoby posiadające konto w np. w Polsce a prowadzone w walucie obcej (_np. GBP_) mam niezbyt dobrą informację. Niestety, nie da się uniknąć przewalutowania przy przelewaniu pieniędzy.

Posiadając konto np. na Polskim PayPal'u, nie powiążemy do niego konta walutowego, gdyż przelewy wychodzące, czyli wypłaty środków, mogą być dokonane w tylko w walucie lokalnej danego kraju. Czyli, wypłacając środki na konto polskie, nasze saldo zostanie przekształcone na złotówki (_PLN_), a następnie przekazane do wypłaty.

Tutaj dostrzegłem jednak jedną zaletę. Konto PayPal, zarówno Polskie, jak i zagraniczne może być prowadzone w dowolnej walucie. Jeżeli ustawimy sobie dodatkową walutę - funty (_GBP_) w PayPal PL, to do momentu ich wypłaty, będą cały czas w funtach. Plusem tego jest fakt, iż możemy przewalutować nasze pieniądze i zlecić ich wypłatę po kursie, który w danym dniu będzie nas satysfakcjonował.

~ ~ ~

Po części można opisać to tak:

**Zalety:**

- wygoda - przelewy online z domu;
- niższe koszty operacji (np. 100Ł = 1Ł; 500Ł = 3,50Ł);
- możliwość uniknięcia przewalutowania;
- przewalutowanie w momencie wypłaty środków na konto, dzięku czemu można wybrać dogodny dzień wypłaty po dogodnym kursie;
- opłata za przelew w momencie zlecenia - brak opłat za wypłatę środków.

**Wady:**

- od momentu zlecenia wypłaty na konto do zaksięgowania mija ok. 2-3 dni robocze (_lub dłużej, w zależności od banku, do którego przelewamy środki_);
- wypłaty są przewalutowywane na walutę lokalną w danym kraju (w Polsce - złotówki);
- brak wypłat w walucie na konto walutowe (GBP>GBP);
- konto na PayPal UK prowadzone jest w języku angielskim, więc podstawowa jego znajomość jest wysoce wskazana.

~ ~ ~

A teraz przejdźmy do samego początku, gdzie wyjaśnię jak i co zrobić, aby wszystko odpowiednio ustawić i połączyć, wraz z demonstracją pierwszego przelewu do Polski.

**Pamiętajcie!** Aby rozpocząć, należy posiadać dwa adresy e-mail (_lub drugi alias pocztowy przypisany to tego samego adresu e-mail_), założone u dowolnie wybranego usługodawcy (_mogą być oba w domenie .pl, nie ma konieczności zakładania konta na stronie angielskiej dla angielskiego PayPal'a_).

Dla wyróżnienia elementów opisywanych w dalszej części tekstu, poszczególne załączone zrzuty ekranu będą zmodyfikowane w taki sposób, aby to, na co użytkownik nie ma zwracać uwagi, było w odcieniach czarno-białych. Reszta będzie kolorowa.

**Zaczynamy...**

### Zacznijmy od PayPal Polska

Przechodząc na stronę [paypal.pl](http://paypal.pl) i wybieramy pomarańczowy przycisk **Załóż konto** (_o ile nie posiadamy owego_).

[![PayPal PL - zrzut ekranu 1](/images/2016/11/paypal-1-pl-screen01.jpg)](/images/2016/11/paypal-1-pl-screen01.jpg)

Następnie wybieramy **nasz kraj (Polska)** oraz **język (Polski)**, po czym klikamy w zakładce **Konto osobiste** na przycisk **"Rozpocznij"**.

[![PayPal PL - zrzut ekranu 2](/images/2016/11/paypal-1-pl-screen02.jpg)](/images/2016/11/paypal-1-pl-screen02.jpg)

Następnie wypełniamy formularz rejestracyjny, podając nasz pierwszy adres e-mail, który będzie nam służył do logowania się do serwisu oraz przelewania pieniędzy do Polski.

Należy tutaj zwrócić uwagę, aby dane wprowadzone w formularzu, były zgodne z danymi, które podane mamy w naszym banku - tzn. adres, na który prowadzone jest nasz Polskie konto, aby był identyczny z adresem w PayPal. Dzięki temu unikniemy późniejszych problemów.

W następnym kroku, staniemy przed wyborem domyślnego systemu płatności, czyli przekazywania środków płatniczych na konto PayPal.

Krok ten **pominiemy**, klikając na dole strony link **"Przejdź do strony Moje konto"**.

[![PayPal PL - zrzut ekranu 3](/images/2016/11/paypal-1-pl-screen03.jpg)](/images/2016/11/paypal-1-pl-screen03.jpg)

Sposób zasilenia konta ustawimy później, więc nie musimy się narazie tym przejmować.

~ ~ ~

Teraz ujrzymy nasze konto w usłudze.

[![PayPal PL - zrzut ekranu 4](/images/2016/11/paypal-1-pl-screen04.jpg)](/images/2016/11/paypal-1-pl-screen04.jpg)

Pierwsze co nas interesuje to **Saldo w walucie** - jak możemy zauważyć, jest dostępne w podstawowej **walucie PLN** oraz **dodatkowej USD**. Jako, że będziemy przelewać środki w funtach, w tym miejscu **dodamy dodatkową walutę GBP**.

**Ale, niż to zrobimy**, musimy **zweryfikować** nasze konto, w taki sposób, aby wszystkie transakcje mogły być bez problemu prowadzone.

Na tej samej stronie, przy **Status: niezweryfikowany** (_patrz powyższy zrzut ekranu_), klikamy **Poddaj się weryfikacji**.

~ ~ ~

Tutaj mamy do wyboru dwie metody weryfikacji naszych danych.

[![PayPal PL - zrzut ekranu 5](/images/2016/11/paypal-1-pl-screen05.jpg)](/images/2016/11/paypal-1-pl-screen05.jpg)

- Dodawanie i potwierdzanie rachunku bankowego
- Powiąż z kontem PayPal i potwierdź kartę kredytową lub debetową

Jako, że interesuje nasz zarówno przelewanie z Angli do Polski i vice-versa, wówczas wybieramy obie metody po kolei. W związku z tym zaczynamy od powiązania i jednocześnie zweryfikowania naszego konta za pośrednictwem konta bankowego.

~ ~ ~

**Zaczynamy od dodania rachunku bankowego**

W formularzu dodawania naszego konta bankowego nie natrafimy na pole "numer konta" a jedynie na **Numer IBAN**.

Numer IBAN jest niczym innym, jak numerem naszego konta poprzedzonym specjalnym znakiem i/lub kodem, odpowiadającym za możliwość dokonywania przelewów międzynarodowych. O ten numer najlepiej zapytać swój bank, znaleźć informację na ich stronie internetowej (_większość banków to udostępnia_), lub poszukać w [Google](http://google.pl).

Jako, że konto, które zamierzam powiązać jest w mBanku, mój IBAN to: **PL{numer konta}**.

[![PayPal PL - zrzut ekranu 6](/images/2016/11/paypal-1-pl-screen06.jpg)](/images/2016/11/paypal-1-pl-screen06.jpg)

**Ważne:** numer wprowadzamy bez odstępów, myślników itp.

Po wprowadzeniu danych, potwierdzamy całość, w celu dodania konta.

**Niestety, to jeszcze nie wszystko.**

Po dodaniu konta bankowego, warto go dodatkowo potwierdzić (_potwierdzić jego autentyczność_) - domyślnie, zostanie to dokonane automatycznie. PayPal standardowo narzuca limity, dotyczące wysokości kwoty, jakimi możemy operować. W związku z tym, jeżeli zamierzamy przelewać znaczące kwoty, warto dokonać tego potwierdzenia.

[![PayPal PL - zrzut ekranu 7](/images/2016/11/paypal-1-pl-screen07.jpg)](/images/2016/11/paypal-1-pl-screen07.jpg)

Potwierdzenie odbywa się w taki sposób, że na nasze konto wpłyną 2 kwoty (kilku-groszowe), w przeciągu 2-3 dni roboczych. Kwoty te należy wprowadzić w oknie weryfikacji na stronie PayPal.

~ ~ ~

**Potwierdzenie po otrzymaniu wpłat** (2-3 dni robocze)

Po otrzymaniu wpłat, logujemy się ponownie na nasze konto i korzystając z odnośnika **Poddaj się weryfikacji** ujrzymy kolejny krok w celu weryfikacji konta.

[![PayPal PL - zrzut ekranu 7.1](/images/2016/11/paypal-1-pl-screen07-1.jpg)](/images/2016/11/paypal-1-pl-screen07-1.jpg)

Dalej klikamy na **Potwierdź rachunek bankowy**, po czym w formularzu wprowadzamy kolejno kwoty, jakie wpłynęły nam na konto. Całość potwierdzamy i od tego momentu usunęliśmy limity kwot transakcji na PayPal'u, zweryfikowaliśmy nasze konto oraz potwierdziliśmy nasz adres.

Po ponownym przejściu na zakładkę **Moje konto**, ujżymy w polu **Status:** napis **zweryfikowany**.

~ ~ ~

**Dalej, dodajmy naszą kartę do konta.**

Do konta możemy dodać zarówno kartę kredytową jak i debetową (bankomatową) - nawet tą z mBanku.
 Wbrew temu, co ludzie piszą w internecie, nie ma potrzeby posiadania eKarty.

W tym celu wybieramy zakładkę **Profil** a następnie **Dodaj lub Usuń kartę**.

[![PayPal PL - zrzut ekranu 8](/images/2016/11/paypal-1-pl-screen08.jpg)](/images/2016/11/paypal-1-pl-screen08.jpg)

Następnie wypełniamy formularz, dodając nasze dane z karty - i co jest najważniejsze - kod CVV. Jak znaleźć kod CVV na karcie możecie obrazowo [zobaczyć tutaj](http://www.google.com/search?tbm=isch&hl=pl&source=hp&biw=1366&bih=677&q=cvv&gbv=2&aq=f&aqi=&aql=&oq=).

W przypadku standardowych kart w mBanku, dodanie ich może zakończyć się błędem z prostego powodu. Karta domyślnie nie posiada ustawionego limitu (_a dokładnie posiada 0 zł_) dla transakcji internetowych. Wiąże się to z tym, iż nie możemy nią płacić w internecie. Problem ten można rozwiązać, logując się na nasze konto online i w zakładce **Karty** zmieniając odpowiednio limit.

Po dodaniu karty, otrzymamy potwierdzenie pozytywnego dodania karty.

[![PayPal PL - zrzut ekranu 8.1](/images/2016/11/paypal-1-pl-screen08-1.jpg)](/images/2016/11/paypal-1-pl-screen08-1.jpg)

Warto tutaj zauważyć, że dodając kartę do PayPal'a, musimy mieć dodatnie saldo na koncie. Jest to niezbędne ze względu na dalszy proces weryfikacji karty. W przeciwnym wypadku otrzymamy informację, że karta została odrzucona przez bank.

**1 uwaga:** W momencie dodania karty PayPal **pobierze**, a dokładniej zablokuje na około jeden tydzień (_lub krócej_) kwotę w wysokości 1 PLN w transakcjach na naszej karcie. Jest to niezbędne, ze względu na dalszy proces weryfikacji karty.

Cały proces nie jest jeszcze skończony, gdyż dodaną kartę należy potwierdzić (_zweryfikować_) przyciskiem **kontynuuj**.

**2 uwaga:** W momencie kliknięcia przycisku Kontynuuj, PayPal obciąży twoją kartę opłatą w kwocie 6,50 PLN lub jej równowartości w celu potwierdzenia, że karta należy do Ciebie. Kwota ta, zostanie zwrócona na Twoje konto PayPal w ciągu 24 godzin od momentu potwierdzenia karty, więc nic nie tracimy.

W dalszej części potwierdzania karty, przyjdzie nam sprawdzić w przeciągu kilku dni (_jak powyższa opłata zostanie pobrania_), jaki kod transakcji został przypisany na naszym koncie. Kod ten należy następnie wpisać w dalszych krokach weryfikacji.

[![PayPal PL - zrzut ekranu 8.2](/images/2016/11/paypal-1-pl-screen08-2.jpg)](/images/2016/11/paypal-1-pl-screen08-2.jpg)

Więc, jeżeli już odnaleźliśmy na naszym koncie transakcję obciążeniową, oraz odnaleźliśmy potrzebny kod, opisany na powyższym zrzucie ekranu, możemy przejść do finalizacji aktywacji karty.

W przypadku kont w mBanku, nie trzeba wcale czekać na finalne zaksięgowanie operacji. Wystarczy zalogować się na koncie, przejść w zakładkę **Karty** a następnie kliknąć na **Blokady** pod dostępną kartą, którą dodawaliśmy do konta. Tam ujrzymy wszystkie transakcje oczekujące na realizację, w tym nasz kod.

Aby tego dokonać, będąc w zakładce **Moje konto** przechodzimy ponownie do **Profil** > **Dodaj lub usuń kartę**.

Na liście naszych kart odnajdujemy tą, którą dodaliśmy i wybieramy odnośnik **Wprowadź kod PayPal**.

[![PayPal PL - zrzut ekranu 8.3](/images/2016/11/paypal-1-pl-screen08-3.jpg)](/images/2016/11/paypal-1-pl-screen08-3.jpg)

Po wprowadzeniu kodu i potwierdzeniu finalnym karty, otrzymamy informację, że **Twoja karta została pomyślnie potwierdzona**.

~ ~ ~

Po pozytywnym przejściu operacji dodawania karty i konta, wracamy do tego, o czym mówiłem na początku, czyli dodanie dodatkowej waluty do konta, która nas interesuje (_w moim przypadku funty GBP_).

W tym celu, będąc w zakładce **Moje konto**, klikamy opcję **Profil** i wybieramy pozycję **Więcej opcji**.

[![PayPal PL - zrzut ekranu 9](/images/2016/11/paypal-1-pl-screen09.jpg)](/images/2016/11/paypal-1-pl-screen09.jpg)

Następnie, ze środkowej kolumny **Informacje finansowe** wybieramy **Salda walutowe**. W przypadku nowego interfejsu PayPal'a (_Zrzut na dole, po prawej_) wybieramy z prawej strony **Moje pieniądze** a następnie z listy, przy pozyscji **Saldo konta PayPal** odnośnik **Waluty**.

[![PayPal PL - zrzut ekranu 10](/images/2016/11/paypal-1-pl-screen10.jpg)](/images/2016/11/paypal-1-pl-screen10.jpg)

[![PayPal PL - zrzut ekranu 10.1](/images/2016/11/paypal-1-pl-screen10-1.jpg)](/images/2016/11/paypal-1-pl-screen10-1.jpg)

W nowym oknie, z rozwijanego menu wybieramy interesująca nas walutę i dodajemy ją do rachunku.

[![PayPal PL - zrzut ekranu 11](/images/2016/11/paypal-1-pl-screen11.jpg)](/images/2016/11/paypal-1-pl-screen11.jpg)

Po dodaniu, można by zmienić domyślną walutę na funty (_GBP_). W tym celu klikamy obok preferowanej waluty i korzystając z dolnego przycisku, **Ustawiamy jako podstawową** (_opcjonalnie_).

~ ~ ~

Na sam koniec zostawiłem jeszcze jedną rzecz, możliwe że **najważniejszą**. A mianowicie **potwierdzenie naszego adresu e-mail**.

W tym celu wystarczy **kliknąć na odnośnik z prośbą o potwierdzenie**, który otrzymaliśmy na pocztę w momencie założenia konta PayPal.

Jeżeli takowego maila nie otrzymaliśmy, można go przesłać ponownie logując się na **Moje konto**, przechodząc do **Profil** i **Dodaj lub Usuń adres e-mail**. Następnie wybierając nasz adres e-mail z listy klikamy przycisk **Potwierdź**.

Tą metodą otrzymamy ponownie e-mail z potwierdzeniem na naszą skrzynkę.

[![PayPal PL - zrzut ekranu 11.1](/images/2016/11/paypal-1-pl-screen11-1.jpg)](/images/2016/11/paypal-1-pl-screen11-1.jpg)

Tyle jeżeli chodzi o ustawienie konta na PayPal.pl, pora teraz na konto zagraniczne.

### Założenie konta na PayPal.co.uk

Przechodząc na stronę [paypal.co.uk](http://paypal.co.uk) wybieramy pomarańczowy przycisk **Sign Up**.

[![PayPal UK - zrzut ekranu 1](/images/2016/11/paypal-2-uk-screen01.jpg)](/images/2016/11/paypal-2-uk-screen01.jpg)

Wybieramy (_o ile nie jest_) kraj **United Kingdom** oraz język (_jeżeli inny możliwy, to wybieramy dogodny dla nas_) **English**, a następnie **Sign Up now** w zakładce **PayPal for you**.

[![PayPal UK - zrzut ekranu 2](/images/2016/11/paypal-2-uk-screen02.jpg)](/images/2016/11/paypal-2-uk-screen02.jpg)

Kolejny raz wypełniamy formularz rejestracyjny, tym razem podając **nasz drugi adres e-mail**, który będzie nam służył do logowania się do serwisu oraz przelewania pieniędzy z Anglii.

**Ponownie** należy tutaj zwrócić uwagę, aby dane wprowadzone w formularzu, były zgodne z danymi, które podane mamy w naszym banku - tzn. adres, na który prowadzone jest nasz Angielskie konto, aby był identyczny z adresem w PayPal. Dzięki temu unikniemy późniejszych problemów.

**Na dole formularza odznaczamy opcję:** _Securely store my debit or credit card details with PayPal for a more convenient shopping experience._

[![PayPal UK - zrzut ekranu 3](/images/2016/11/paypal-2-uk-screen03.jpg)](/images/2016/11/paypal-2-uk-screen03.jpg)

Gdyż, kartę i konto dodamy później, tak jak ro robiliśmy w przypadku Polskiego PayPal'a.

Potwierdzamy formularz przyciskiem **Agree and Create Account**.

~ ~ ~

**Ponownie, jak w przypadku Polskiego konta, należy je zweryfikować.**

Na karcie **My Account** odnajdujemy pole **Status: Unverified**, po czym klikamy **Get verified**.

[![PayPal UK - zrzut ekranu 4](/images/2016/11/paypal-2-uk-screen04.jpg)](/images/2016/11/paypal-2-uk-screen04.jpg)

Tutaj dostrzeżemy tylko jedną opcję - dodanie numeru konta bankowego.

[![PayPal UK - zrzut ekranu 5](/images/2016/11/paypal-2-uk-screen05.jpg)](/images/2016/11/paypal-2-uk-screen05.jpg)

Wybieramy **Add bank** i przechodzimy do formularza.

W trakcie jego wypełniania musimy podać **Sort Code** oraz **Account number**. Wszystkie te elementy znajdziemy na naszej karcie bankomatowej.

Również w tym przypadku, nastąpi proces potwierdzenia, który odbywa się w analogiczny sposób jak na Polskim koncie. Na nasze konto wpłyną 2 kwoty (_poniżej 1 funta_), w przeciągu 2-3 dni roboczych. Kwoty te należy wprowadzić w oknie weryfikacji na stronie PayPal.

[![PayPal UK - zrzut ekranu 5.1](/images/2016/11/paypal-2-uk-screen05-1.jpg)](/images/2016/11/paypal-2-uk-screen05-1.jpg)

Ale, aby takie kwoty wpłynęły, należy uruchomić **Direct Debit**, czyli polecenie zapłaty będące jednocześnie naszą formalną zgodą na pobieranie należności z naszego konta przez firmę PayPal.

Możemy dokonać tego, korzystając z przycisku na dole strony, lub wchodząc na **Profil** > **Add or Remove Bank Account**, po czym wybierając opcję **Confirm** przy danym numerze konta.

[![PayPal UK - zrzut ekranu 5.2](/images/2016/11/paypal-2-uk-screen05-2.jpg)](/images/2016/11/paypal-2-uk-screen05-2.jpg)

W dalszym kroku uzyskamy zestawienie, w którym sprawdzając, czy mamy wybrane nasze konto bankowe, potwierdzamy całość przyciskiem **Set up Direct Debit**.

[![PayPal UK - zrzut ekranu 5.3](/images/2016/11/paypal-2-uk-screen05-3.jpg)](/images/2016/11/paypal-2-uk-screen05-3.jpg)

Następnie, otrzymamy podgląd formularza Direct Debit, który zostanie wysłany do banku. Sprawdzamy wszystkie pola czy są poprawne (_szczególnie adres naszego banku, który może być pusty_), a następnie potwierdzamy przyciskiem **Submit** na dole strony.

~ ~ ~

**Potwierdzenie po otrzymaniu wpłat** (2-3 dni robocze)

Po otrzymaniu wpłat, logujemy się ponownie na nasze konto i korzystając z odnośnika **Get verified** ujrzymy kolejny krok w celu weryfikacji konta. Kontynuujemy klikając pomarańczowy przycisk **Confirm bank**.

[![PayPal UK - zrzut ekranu 5.4](/images/2016/11/paypal-2-uk-screen05-4.jpg)](/images/2016/11/paypal-2-uk-screen05-4.jpg)

W następnym kroku, w formularzu wprowadzamy kolejno kwoty, jakie nam wpłynęły nam na konto.

[![PayPal UK - zrzut ekranu 5.5](/images/2016/11/paypal-2-uk-screen05-5.jpg)](/images/2016/11/paypal-2-uk-screen05-5.jpg)

Całość potwierdzamy przyciskiem **Submit** i od tego momentu usunęliśmy limity kwot transakcji na PayPal'u. Klikając dalej przycisk **Continue** otrzymamy potwierdzenie, że zweryfikowaliśmy konto oraz potwierdziliśmy nasz adres.

Po ponownym przejściu na zakładkę **Moje konto**, użyjmy w polu **Status:** napis **zweryfikowany**.

~ ~ ~

Dalej, **dodajmy naszą kartę do konta.**

W tym celu wybieramy zakładkę **Profile** a następnie **Add or Remove Card**.

[![PayPal UK - zrzut ekranu 6](/images/2016/11/paypal-2-uk-screen06.jpg)](/images/2016/11/paypal-2-uk-screen06.jpg)

Następnie wypełniamy formularz, dodając nasze dane z karty - i co jest najważniejsze - kod CVV. **Ponownie odsyłam do:** Jak znaleźć kod CVV na karcie - obrazowo [tutaj](http://www.google.com/search?tbm=isch&hl=pl&source=hp&biw=1366&bih=677&q=cvv&gbv=2&aq=f&aqi=&aql=&oq=).

Po dodaniu karty, otrzymamy potwierdzenie **You have successfully added a card**.

Jednakże, w tym przypadku nie następuje jej automatyczna weryfikacja, tak jak to ma miejsce z kontem bankowym. W tym celu należy kliknąć na opcję **Complete Verification** na liście dostępnych kart.

[![PayPal UK - zrzut ekranu 7](/images/2016/11/paypal-2-uk-screen07.jpg)](/images/2016/11/paypal-2-uk-screen07.jpg)

Aby dokonać weryfikacji karty, należy uaktywnić opcję **polecenia zapłaty** - ang. **Direct Debit**, będącą zgodą na obciążanie twojego konta kwotami, którymi będziemy przelewać za pośrednictwem serwisu PayPal.

[![PayPal UK - zrzut ekranu 8](/images/2016/11/paypal-2-uk-screen08.jpg)](/images/2016/11/paypal-2-uk-screen08.jpg)

Aby tego dokonać, należy wcześniej mieć zweryfikowane konto bankowe, co wiąże się z oczekiwaniem na przelew i może całą tą sytuację wydłużyć.

Warto również zauważyć, że dodając kartę do PayPal'a, musimy mieć dodatnie saldo na koncie. Wszystko z tego względu, iż PayPal **pobierze**, a dokładniej **zablokuje** na około jeden tydzień (_lub krócej_) kwotę w wysokości 1 funta w transakcjach na naszej karcie w momencie jej dodania. Jest to niezbędne, równie ze względu na proces weryfikacji karty.

Jeżeli już konto bankowe mamy potwierdzone, wówczas przechodzimy do **Profile** > **Add or Remove Card** i korzystamy z odnośnika **Link and Confirm My Card** w celu potwierdzenia karty.

[![PayPal UK - zrzut ekranu 8.1](/images/2016/11/paypal-2-uk-screen08-1.jpg)](/images/2016/11/paypal-2-uk-screen08-1.jpg)

W następnym kroku, będącym podsumowaniem operacji, którą właśnie robimy klikamy **Continue**.

[![PayPal UK - zrzut ekranu 8.2](/images/2016/11/paypal-2-uk-screen08-2.jpg)](/images/2016/11/paypal-2-uk-screen08-2.jpg)

Warto tutaj zauważyć (podobnie jak w przypadku Polskiej karty), że dodając kartę do PayPal'a, musimy mieć dodatnie saldo na koncie. Jest to niezbędne ze względu na dalszy proces weryfikacji karty. W przeciwnym wypadku otrzymamy informację, że karta została odrzucona przez bank.

**Uwaga:** W momencie kliknięcia przycisku **Continue**, PayPal obciąży twoją kartę opłatą w kwocie 1,00 GBP lub jej równowartości w celu potwierdzenia, że karta należy do Ciebie. Kwota ta, zostanie zwrócona na Twoje konto PayPal w ciągu 24 godzin od momentu potwierdzenia karty, więc nic nie tracimy.

W dalszej części potwierdzania karty, przyjdzie nam sprawdzić w przeciągu kilku dni (_jak powyższa opłata zostanie pobrania_), jaki kod transakcji został przypisany na naszym koncie. Kod ten należy następnie wpisać w dalszych krokach weryfikacji.

[![PayPal UK - zrzut ekranu 8.3](/images/2016/11/paypal-2-uk-screen08-3.jpg)](/images/2016/11/paypal-2-uk-screen08-3.jpg)

Więc, jeżeli już odnaleźliśmy na naszym koncie transakcję obciążeniową, oraz odnaleźliśmy potrzebny kod, opisany na powyższym zrzucie ekranu, możemy przejść do finalizacji aktywacji karty.

Aby tego dokonać, będąc w zakładce **My Account** przechodzimy ponownie do **Profil** > **Add or Remove Card**.

Na liście naszych kart odnajdujemy tą, którą dodaliśmy i wybieramy odnośnik **Enter PayPal Code**.

[![PayPal UK - zrzut ekranu 8.4](/images/2016/11/paypal-2-uk-screen08-4.jpg)](/images/2016/11/paypal-2-uk-screen08-4.jpg)

Po wprowadzeniu kodu i potwierdzeniu finalnym karty, otrzymamy informację potwierdzającą aktywację karty.

I tak posiadamy ustawione i powiązane konto PayPal UK.

~ ~ ~

**Szczęśliwie dobrnęliśmy do końca.**

Cały proces ustawiania mamy już za sobą. Nie jesteśmy nic stratni, a może i na całej tej zabawie zyskaliśmy kilka pensów/groszy. Pora teraz na dokonanie pierwszego przelewu.

Na sam koniec zostawiłem jeszcze jedną rzecz, możliwe że **najważniejszą** (jak to miało miejsce w przypadku Polskiego konta PayPal). A mianowicie **potwierdzenie naszego adresu e-mail**.

W tym celu wystarczy **kliknąć na odnośnik z prośbą o potwierdzenie**, który otrzymaliśmy na pocztę w momencie założenia konta PayPal.

Jeżeli takowego maila nie otrzymaliśmy, można go przesłać ponownie logując się na **My Account**, przechodząc do **Profil** i **Add or Remove Email**. Następnie wybierając nasz adres e-mail z listy klikamy przycisk **Confirm**. Tą metodą otrzymamy ponownie e-mail z potwierdzeniem na naszą skrzynkę.

[![PayPal UK - zrzut ekranu 9](/images/2016/11/paypal-2-uk-screen09.jpg)](/images/2016/11/paypal-2-uk-screen09.jpg)

Dalej...

{{% ads-in-article %}}

**Pierwszy przelew z Anglii do Polski.**

A więc pora na dokonanie pierwszego przelewu z Anglii do Polski.

~ ~ ~

W pierwszej kolejności przechodzimy na **angielską** stronę [PayPal](http://paypal.co.uk) i **logujemy się** (przycisk _Log in_) na nasze **konto angielskie**.

Będąc w zakładce **My Account** (_Moje konto_), obok niej klikamy w zakładkę **Send money** (_Wyślij pieniądze_).

[![PayPal Transfer - zrzut ekranu 1](/images/2016/11/paypal-3-transfer-screen01.jpg)](/images/2016/11/paypal-3-transfer-screen01.jpg)

Po czym ukaże nam się formularz, w którym to wprowadzamy w pole **To** (_Do_), adres e-mail osoby, której chcemy przelać pieniadze. W naszym przypadku wprowadzamy **adres e-mail powiązany z polskim PayPal'em**.

Dalej, w polu **Amount** (_Kwota_) wprowadzamy kwotę, jaką chcemy przelać oraz wybieramy odpowiednią walutę.

Jako, że na obu kontach ustawiliśmy domyślną walutę GBP (_funty_), przelew dokonujemy w funtach, wówczas unikamy przewalutowania.

Dalej mamy do wyboru 2 zakładki dotyczące przelewu - **Purchase** (_Zakup_) i **Personal** (_Osobiste - Krewni/znajomi_).

Wybieramy **Personal**, głownie z tego względu, iż przelewamy sami-sobie - oraz, że w tej opcji opłaty za przelew są niższe.

Z opcji **This money is being sent as a** (_Kwota zostanie wysłana jako_) wybieramy **Other** (_Inne_) i klikamy przycisk **Continue** (_Kontynuuj_).

W dalszym kroku otrzymamy zestawienie naszego przelewu, wraz z naliczonymi opłatami.

[![PayPal Transfer - zrzut ekranu 2](/images/2016/11/paypal-3-transfer-screen02.jpg)](/images/2016/11/paypal-3-transfer-screen02.jpg)

Jeżeli wszystko się zgadza, klikamy **Send money** (_Wyślij pieniądze_).

~ ~ ~

W tym momencie, z naszego konta zostanie pobrana odpowiednia kwota i przelana na nasze Angielskie konto w PayPal'u. Następnie, zgodnie z naszym zleceniem, kwota ta zostanie przelana na adres e-mail, który podaliśmy w formularzu.

Jeżeli wszystko się udało, otrzymamy potwierdzenie wykonania operacji - zarówno na ekranie, jak i na pocztę e-mail (na adres zarejestrowany w PayPal UK). Potwierdzenie otrzymania pieniędzy otrzymamy również na e-mail zarejestrowany w polskiej usłudze.

Teraz możemy się wylogować, korzystając z przycisku **Log out** u góry strony.

~ ~ ~

Następnym krokiem jest przejście na **polską stronę** usługi [PayPal](http://paypal.pl) i zalogowanie się, korzystając z adresu przypisanego do polskiego konta. Korzystając z przycisku **Zaloguj się**, przechodzimy do zakładki **Moje konto**.

Jeżeli wszystko wykonaliśmy poprawnie, ujrzymy na naszym saldzie konta przelaną kwotę.

[![PayPal Transfer - zrzut ekranu 3](/images/2016/11/paypal-3-transfer-screen03.jpg)](/images/2016/11/paypal-3-transfer-screen03.jpg)

Teraz przydało by się nam wypłacić pieniądze na nasze konto.

~ ~ ~

Jako, że przelew dokonujemy na Polskim PayPal'u, w związku z tym, kwota, która może zostać przelana muzy być w walucie lokalnej tj. polskich złowych (_PLN_).

Dlatego też, przed rozpoczęciem wypłaty środków musimy przewalutować wewnętrznie naszą kwotę z GBP na PLN. Przewalutowanie następuje po kursie obowiązującym w PayPal'u na dany dzień. Po przewalutowaniu możemy przelać pieniądze na nasze konto już w walucie lokalnej.

~ ~ ~

A więc **zaczynamy od przewalutowania wewnętrznego naszej kwoty**.

W tym przypadku przelałem 100 GBP.

Będąc w zakładce **Moje konto** (My Account), przy polu **Saldo PayPal** po prawej stronie jest odnośnik **Konwerter walut** (Currency converter). Korzystamy z niego i przechodzimy do konwertera, w którym przewalutujemy naszą kwotę.

[![PayPal Transfer - zrzut ekranu 4](/images/2016/11/paypal-3-transfer-screen04.jpg)](/images/2016/11/paypal-3-transfer-screen04.jpg)

Na tej stronie interesuje nasz jedynie **ramka** po prawej stronie - **Wymiana waluty**.

W polu **Z** (_From_) wprowadzamy naszą kwotę i wybieramy walutę **Funt brytyjski**. Następnie wybieramy w polu **Na** (_To_) walutę, na którą chcemy przewalutować - czyli **Saldo złoty polski**.

Przed przewalutowaniem, korzystamy z przycisku **Oblicz** w celu zobaczenia aktualnego kursu wymiany.

[![PayPal Transfer - zrzut ekranu 4.1](/images/2016/11/paypal-3-transfer-screen04-1.jpg)](/images/2016/11/paypal-3-transfer-screen04-1.jpg)

Jeżeli nas on zadowala, korzystamy z przycisku **Rozpocznij wymianę** w celu przewalutowania środków. Jeżeli nie, oczywiście możemy poczekać na inny dzień i dokonać przewalutowania po kursie nam odpowiadającym.

Po przyciśnięciu przycisku **Rozpocznij wymianę** otrzymamy zestawienie na którym potwierdzamy poprawność przewalutowania. Dopiero po wybraniu przycisku **Wymień walutę**, dokonujemy przewalutowania.

[![PayPal Transfer - zrzut ekranu 4.2](/images/2016/11/paypal-3-transfer-screen04-2.jpg)](/images/2016/11/paypal-3-transfer-screen04-2.jpg)

Po pomyślnym wykonaniu operacji, otrzymamy potwierdzenie wymiany.

~ ~ ~

Przechodząc teraz do zakładki **Moje konto** (_My Account_) ujrzymy na liście naszych walut, iż posiadamy przewalutowane pieniądze na interesującą nas walutę.

Jak nie trudno zauważyć, zmniejszyło nam się domyślne saldo (_główne_) konta. Wiąże się to z tym, iż po przewalutowaniu, mamy kwotę w złotówkach, a saldo główne jest w funtach. W związku z tym, wyświetlając saldo główne, PayPal orientacyjnie przelicza nam na funty, ale po kursie sprzedaży a nie skupu (jak w kantorze). To jednak nie wpływa na dostępną kwotę, którą wymieniliśmy i chcemy przelać na nasze konto bankowe.

Następnie wypłacamy nasze środki na polskie konto bankowe.

Będąc w zakładce **Moje konto** (_My Account_) korzystamy z przycisku **Wypłać** (_Withdraw_).

W przypadku PayPal'a angielskiego, rozwinie nam się menu, z którego wybieramy wypłatę na konto bankowe (Withraw to bank account). Polski PayPal przekieruje nas na osobną stronę.

Wybieramy **wypłatę na rachunek bankowy**.

Jest to opcja bezpłatna, ale trwająca od 2 do 3 dni roboczych (czasami dłużej).

[![PayPal Transfer - zrzut ekranu 5](/images/2016/11/paypal-3-transfer-screen05.jpg)](/images/2016/11/paypal-3-transfer-screen05.jpg)

W następnym oknie wprowadzamy kwotę, jaką chcemy przelać.

Jak możemy zauważyć, kwota jest już w walucie PLN - gdyż przelewamy na konto polskie. To jest ta niedogodność, gdy posiadamy w Polsce konto prowadzone w obcej walucie. Za pomocą usługi PayPal nie da się na nie przelać.

[![PayPal Transfer - zrzut ekranu 5.1](/images/2016/11/paypal-3-transfer-screen05-1.jpg)](/images/2016/11/paypal-3-transfer-screen05-1.jpg)

Po wypełnieniu całości i wybraniu konta, na które nasze środki mają zostać przekazane klikamy przycisk **Kontynuuj**.

W następnym kroku otrzymamy podsumowanie zlecenia wypłaty środków.

[![PayPal Transfer - zrzut ekranu 5.2](/images/2016/11/paypal-3-transfer-screen05-2.jpg)](/images/2016/11/paypal-3-transfer-screen05-2.jpg)

Korzystając z przycisku **Prześlij**, finalizujemy nasze zlecenie.

Jak możemy zauważyć, kwota jest już w walucie PLN - gdyż przelewamy na konto polskie.
 To jest ta niedogodność, gdy posiadamy w Polsce konto prowadzone w obcej walucie. Za pomocą usługi PayPal nie da się na nie przelać.

I tak, pozostaje nam czekać na wpłynięcie środków na nasze konto.

~ ~ ~

Przechodząc do zakładki **Moje konto**, możemy śledzić stan naszego zlecenia.

Na początku, w statusie płatności będziemy mieli pozycję **Oczekujący**. W momencie wypłacenia środków z PayPal'a i przekazania na konto, stan ten zmieni się na **Zakończony**. Od tego momentu dopiero liczony jest czas wpłynięcia środków na konto i zależy to już tylko od szybkości działania banków.

~ ~ ~

I tak to wygląda. W drugą stronę - czyli z Polski do Anglii - całość wygląda niemal identycznie, stąd też przy pierwszym przelewie, tam gdzie mogłem, dodałem angielski odpowiednik poszczególnych opcji. Warto jednak zaznaczyć, iż przed przelaniem pieniędzy z Polskiego PayPal'a na Angielskiego, pieniądze trzeba przewalutować ze złotówek na funty.

Mam nadzieję, że całe te moje wypociny, które trwały grubo przeszło tydzień (od początku do końca) pomogą wam i zaoszczędzą nieco czasu i nerwów.

Można by powiedzieć, że metoda jest zawiła. Nic bardziej mylnego. Najbardziej czasochłonne jest ustawienie obu kont (robimy to tylko raz), później już tylko korzystamy z dobrodziejstw usługi.

ps. W związku z tym, że wpis jest dość długi, mogłem nie ustrzec się drobnych błędów lub literówek, za co z góry przepraszam. Jeżeli znajdziecie coś takiego, dajcie mi znać.

**To jeszcze nie koniec...**

W związku z pojawiającymi się przeróżnymi problemami z przelewami tą metodą, postanowiłem dodać dodatkową podstronę, na której będę zamieszczać, w miarę potrzeb ważne uwagi i wskazówki.

**A więc odsyłam dalej...**

## Uwagi do artykułu

 

Aktualizacja: **30 marca 2012** Stan aktualizacji: **ważna**

PayPal ostatnimi czasy znowu namieszał, utrudniając życie swoim użytkownikom, szczególnie tym, którzy mają wszystko ustawione prawidłowo, a mianowicie, wprowadził usługę **eCheque** jako dodatkowa opcja płatności.

Opcja o tyle "fajna", że zabezpiecza tylko i wyłącznie PayPal przed niemożliwością pobrania należności z naszego konta lub karty. Dla zwykłego użytkownika jest to na tyle denerwujące, gdyż przy przelewaniu od jednego użytkownika Paypal do drugiego, zanim pieniądze pokażą się na koncie i będzie można nimi dysponować, może minąć **nawet 10 dni!**

W dobie błyskawicznych przelewów internetowych, ta zwłoka jest wręcz nienormalna, a to na co trzeba zwrócić uwagę, przy przelewaniu pieniędzy postaram się pokrótce przedstawić.

Otóż odsyłając do niniejszego zrzutu ekranu z 4 strony wpisu tj. **Pierwszy przelew z Anglii do Polski**.

[![PayPal Transfer - zrzut ekranu 2](/images/2016/11/paypal-3-transfer-screen02.jpg)](/images/2016/11/paypal-3-transfer-screen02.jpg)

Zauważmy to, co jest na dole strony, czyli **Payment Method** _(Metoda przelewu)_.

W Paypalu dostępne są 4 opcje metod przelewu tj. **PayPal Balance, Instant Bank Transfer, Credit or debit card i eCheque**.

**PayPal Balance** polega na pobraniu pieniędzy ze środków zgromadzonych na koncie PayPal.

Zarówno **Instant Bank Transfer** jak i **Credit or debit card** pobierają pieniądze z naszego konta, czy to za pomocą ustalonego Direct Debit, czy też za pośrednictwem płatności kartą. Różnica jest w tym, że w przypadku pierwszego, prowizja od płatności będzie na poziomie 1%, gdzie w przypadku płatności kartą jest o wiele wyższa.

Mimo tego, płatności dokonanymi ww. metodami są szybkie i trwają ułamki sekund.

**W przypadku, gdy** w metodzie płatności **zobaczymy eCheque**, przelew pieniędzy może potrwać nawet 10 dni, jak i dłużej. A wszystko dlatego, iż PayPal najpierw pobierze pieniądze z twojego konta, ale tak, że "fizycznie" będzie je miał u siebie, a dopiero wyśle dalej. Czyli tak jak przelewy standardowe w dwóch różnych bankach.

Na szczęście, można to zmienić korzystając z przycisku **Change**, i w następnym kroku wybrać najbardziej opłacalną opcję, czyli **Instant Bank Transfer**.

**I tutaj pojawiają się kolejne dwa problemy.**

**Pierwszy**, to taki, w którym nie możemy wybrać innej opcji. Dzieje się to wówczas, gdy do konta PayPal nie mamy przypisanego zarówno konta bankowego i karty, lub - w przypadku gdy któraś z tych pozycji nie jest zweryfikowana (patrz wcześniejsze strony wpisu). Wówczas należy uzupełnić niniejsze luki.

_Ale co w przypadku, gdy mamy wszystko poprawnie dodane i zweryfikowane a problem z wyborem tez się pojawia?_

Otóż, należy wówczas skontaktować się telefonicznie z oddziałem PayPal i kazać im to sprawdzić, gdyż  z moich doświadczeń wynika, że ich system zgłupiał w tym przypadku i niezbędna jest interwencja z zewnątrz.

_Ale co, w przypadku gdy puściliśmy przelew metodą eCheque a nie chcemy czekać tych 10 dni na jego finalizacje?_

To jest właśnie **drugi problem**, który jednocześnie **naprawia (o dziwo!) pierwszy**.

W przypadku metody eCheque, pieniądze nie są pobierane z naszego konta natychmiastowo. Całość trwa do kilku dni, a do momentu ich "fizycznego" pobrania, nasza transakcja widnieje pod hasłem **Uncleared** (w tłumaczeniu potocznym, nie wpełni sfinalizowana).

Transakcje takie można anulować, bez ruszania pieniędzy z naszego konta.

Należy wówczas przejść na konto PayPal **drugiej osoby** (odbiorcy pieniędzy) i odszukując w historii naszą oczekującą płatność, korzystając z odnośnika **Details** (_Szczegóły_) odszukujemy opcję **Refound** tj. zwrot przesłanych środków - refundacja (niestety, nie pamiętam jak dokładnie na polskim PayPalu to się nazywa). Dokonując refundacji przesłanej kwoty, nasza płatność po jednej i po drugiej stronie zostanie anulowana i możemy spróbować ponownie, już bez uciążliwego eCheque.

Otóż, w moim przypadku, **anulowanie tej transakcji naprawiło mój problem** z niemożliwością wybrania innej metody płatności, i przy następnym przelewie, miałem już do dyspozycji upragniony **Instant Bank Transfer**. Dzięki temu zaoszczędziłem sporo czasu i nerwów w oczekiwaniu na płatność.

ps. Nie jestem 100% pewien, czy to naprawi twój problem (o ile taki będziesz miał) z metodą eCheque i niemożliwością wybrania innej metody płatności. Jeżeli nie, odsyłam do kontaktu telefonicznego z działem obsługi firmy PayPal.

**Pozdrawiam.**


---
## Polski szok!
- **URL:** https://dariusz.wieckiewicz.org/polski-szok/
- **Date:** 2011-04-23
- **Tags:** Blog, anglia, chamstwo, holiday, kultura, nadzieja, nerwowość, nerwy, polska, szacunek, szok, urlop, wyrozumiałość

### Content

**Będąc na urlopie w Polsce**, już w trakcie pierwszych moich dni poraziło mnie kilka rzeczy, które były dla mnie codziennością jak mieszkałem w kraju, a stały się czymś **nienormalnym** po rozłące i powrocie (chociaż na chwilę). 

Jedna z nich to **wszechobecna nerwowość i chamstwo ludzi**. 

<!--more-->

Właściciele firm wyżywają się na pracowniku, a pracownik na obsługiwanym kliencie. Niema tu miejsce na chwilę uprzejmości, a tym bardziej jak "klient" się pomyli lub jest niezdecydowany, to zaczynają się głupie podteksty, pokazujące - że to ja - sprzedawca, jestem najważniejszy, a klient jest osobą, która powinna się cieszyć, że jest obsługiwana.

Dosłownie powrót do czasów PRL-u, którego z racji mojego wieku, nie pamiętam za dobrze. Ale wzorując się na ogólnych przekazach, to oprócz wystroju, kolorków i orła w koronie na banknotach, nie wiele się zmieniło.

Rozumiem że pracownik zarabia mało, ale to nie znaczy że ma się zachowywać niekulturalnie.

**Pytając ludzi w Polsce**, wszyscy powiedzą ze **jesteśmy bardzo kulturalnym narodem**. Niestety - patrząc okiem przyjezdnego z zagranicy przeżywamy szok. Szok chamstwa i nerwowości, która "ze sklepu" i jego klienta przenosi się na ulicę, gdzie szerzy się wśród całego społeczeństwa.

Przed wyjazdem z Polski **byłem kłębkiem nerwów**. Po przyjeździe na urlop do kraju, wszyscy mówią mi, że jestem spokojniejszy i wyciszony. Nie ma się co dziwić, Anglia jaka jest, taka jest, ale ludzie starają się zachowywać pewien poziom. I chociaż jak w każdej nacji, zdarzają się wyjątki, to nie oddziałują one na całe społeczeństwo, tak jak to ma miejsce w Polsce.

W Polsce nie żyje się dobrze, gdyż przez nerwowość tracimy, to co w życiu najważniejsze. Ale jak tu się nie denerwować, skoro idąc do sklepu widzimy kosmiczne ceny, rodem z zagranicy (bo przeliczając na obcą walutę, nic się nie zmienia), tylko pensje Polaków jakieś takie małe, żeby nie powiedzieć "głodowe".

* * *

**Kolejny dzień urlopu, kolejny dzień w Polsce i dostrzegłem iskierkę nadziei.**

Jednak, gdzieniegdzie są ludzie, którzy opierają się wszystkim tym złym wpływom codziennego życia w naszym kraju. Jednak są jeszcze ludzie, którzy swoją postawą chcą zmienić "świat". 

**Szkoda, że jest ich tak mało.**

Mniej stresu, więcej miłości do bliźniego, szacunku i wyrozumiałości. Przecież tego nas wszyscy próbują nauczyć. 

Widocznie, zatracamy się, dostrzegając czarną stronę życia - szarą codzienność. Jednakże jest szansa. Inni potrafią, to dlaczego my nie możemy, przecież to nie problem.

Mentalności wszystkich tak łatwo nie da się zmienić, ale możemy zacząć od siebie. Zmieniając siebie, przyczyniamy się do zmiany całego społeczeństwa.

I nie zapominajmy, że następne pokolenie obserwuje **nas** i uczy się **od nas**. Jeżeli nie pokażemy mu jasnej strony życia, to zacznie asymilować się ze obecnym społeczeństwem, słabym i zgorzkniałym.

Postarajmy się coś zrobić, zrobić samemu, bez ingerencji innych i powoływania się na coś, co więcej szkody wyrządziło w przeszłości a niżeli pożytku.

**Bądźmy sobą, bez względu na to, co inni mówią.**

{{% ads-in-article %}}


---
## Polska - Państwo Kościelne
- **URL:** https://dariusz.wieckiewicz.org/polska-panstwo-koscielne/
- **Date:** 2011-03-14
- **Tags:** Blog, instytucja, katolicyzm, kościół, Państwo kościelne, polska, religia, Rydzyk

### Content

**Polska to kraj wybitnie nietolerancyjny**, dlatego, że nasz kraj, to kraj kościelny, gdzie jedyną słuszną i powszechnie uznawaną wiarą jest **katolicyzm**.

<!--more-->

Żeby tak dyskryminować inne wiary lub ateizm religijny **w XXI** jest nie do pomyślenia. Obecnie przebywam w **Leeds (UK)**, gdzie mnogość kulturowa przeplata się z różnymi religiami i wszystko razem funkcjonuje prawidłowo.

**Więc dlaczego my się tego boimy?** Czyżby kler katolicki bał się faktu, iż straci przez to wiernych, a ci nie będą rzucali pieniędzy na tacę?

> Apropo pieniędzy na tacę, przypomniał mi się demotywator: "Nie dawaj na tacę, Bóg nie potrzebuje twoich pieniędzy!"

Kler w Polsce boi się, że przestanie dostawać "łatwe pieniądze" z niskich pensji i emerytur rodaków, przez co będzie musiał sam myśleć, skąd zdobyć fundusze.

Z jednej strony to było by dobre. Nie budowali by olbrzymich, ociekających luksusami kościołów, tylko takie, na potrzeby wiernych - tych, którzy naprawdę wierzą w tą instytucję. **Instytucję**, bo tak trzeba to nazwać, bo modlić się można wszędzie - Bóg nas wysłucha **wszędzie**.

Nie potrzebujemy kościołów. Za czasów Chrystusa czegoś takiego nie było. Ktoś **"mądry"** wpadł na pomysł czczenia Boga w określonych miejscach, a inny **"głupio-mądry"** wpadł na to, jak czerpać z tego dodatkowe korzyści... **pieniądze!**

Mimo, że w Konstytucji RP mamy zapisane, że każdy ma prawo do zapewnienia wolności sumienia i religii, to w polskiej rzeczywistości jest inaczej.

Przy próbie szerzenia innych religii, rozpoczyna się batalia **z osobami pokroju Ojca Rydzyka**, który **jak by mógł**, to na antenie swojego radia powiedział by, aby kamienować tych, którzy nie wyznają religii rzymskokatolickiej, a dokładniej - Jego Religii.

To tak, jakbyśmy byli **rasistami religijnymi**. Kościół katolicki wtrąca się we wszystko i wszędzie.

**Rozumiem, że większość polaków to katolicy - ale czy napewno?**

Może i większość ludzi w Polsce przyznaje się do wiary katolickiej, ale główne ze względu na obchodzone święta i to co wynieśli z domu rodzinnego. Ale już nie to, że głos kościoła mówi nam jak żyć.

Wtrącanie się Kościoła, konkretnie katolickiego widzimy już od czasu rozpoczęcia edukacji szkolnej. Oceny z Religii są wliczane do średniej ocen, a osoby nie uczęszczające są przez to pokrzywdzone.

Wszystko by było dobrze, gdyby ów Religia na świadectwie, rzeczywiście nią była, a nie jak teraz jest, gdzie **Religia = Religia rzymskokatolicka**.

Religia w szkołach powinna uczyć - Religi! - różnych religii, kultur i wyznań. Wszystko po to, abyśmy mieli pojęcie, że ludzie w innych rejonach świata mają inne wyznania i inne zachowania. Aby przez niewiedzę nie doprowadzić do tragedii.

Tak, jak to zapisano w konstytucji, która daje prawo kościołom i związkom wyznaniowym, by religia była przedmiotem nauczania. **Jednak religia w szkołach, to cały czas religia katolicka.** Ciekawe, czy próbował ktoś wpuścić Rabina do szkoły, który chciałby uczyć religii?

Moim zdaniem, **przedmiot religia**, powinien nazywać się **Nauka o Religiach i Wyznaniach** - i co jest ważne, to słowo **"Nauka o..."**.

Mimo, że konstytucja wręcz nakazuje, aby Państwo zachowało bezstronność w tej kwestii, sami widzimy jak jest naprawdę. Chociażby ostatnie działania niektórych osób, które obok krzyży katolickich chcieli zawiesić inne symbole sakralne - innych religii. Jak to się skończyło, każdy może poczytać, usłyszeć i zobaczyć. Krzyż katolicki pozostał... reszta została, brzydko mówiąc **"wyrzucona za drzwi"**.

Można by powiedzieć, że nie dorośliśmy do tego. Ja raczej uważam, że za tym stoją tylko i wyłącznie pieniądze. Świeckie podejście do życia dawno odeszło w zapomnienie. Tak jak to jest w świecie, także i tutaj... religią rządzi pieniądz, a dalej idzie władza, wpływy, układy i znajomości. Gdyby nie to, sami zobaczyli byśmy jaka ta nasza - **katolicka** - religia jest słaba oraz ilu jest tak naprawdę wiernych i wierzących.

Pozdrawiam.

{{% ads-in-article %}}


---
## Polska to bogaty kraj...
- **URL:** https://dariusz.wieckiewicz.org/polska-to-bogaty-kraj/
- **Date:** 2011-03-13
- **Tags:** Blog, anglia, bogaty kraj, czas to pieniądz, fachowcy, OFE, papruchy, polska, time is money, urzędasy

### Content

**Polska - a w szczególności Polacy, to zamożni ludzie** \- bo jak można inaczej powiedzieć, skoro na każdym kroku słyszymy _"proszę się pospieszyć, bo czas to pieniądz"_ (apropo. sam kiedyś też tak mówiłem).

Skoro tak, **to bogaci jesteśmy właśnie dlatego**, bo nie cenimy swojego czasu i marnujemy go każdego dnia.

<!--more-->

Jak można inaczej powiedzieć, skoro inne kraje europy, chociażby Anglia, bardziej ceni sobie czas niż my sami.

Typowy pracownik angielski - wstaje i idzie do pracy. W tracie pracy wyskakuje coś zjeść (_lunch_), wraca do pracy popracować, a później... idzie do domu odpocząć - lub gdzieś wyskoczy ze znajomymi, rozerwać się lub coś zjeść.

**Czy coś tutaj pominąłem? Tak!**

Brytyjczyk nie stoi przy garach, aby coś ugotować - nie marnuje na to czasu. Dwie godziny wyrwane z życiorysu aby rodzinka w ciągu pół godziny mogła zjeść obiad - o nie!

On nie, nie gotuje - on idzie na miasto coś zjeść. W trakcie tego, spotyka się ze znajomymi i ma życie towarzyskie. Wszystko w jednym - a dodatkowo wydaje pieniądze, dając zarobić innym. Pieniądze zarobione trafiają ponownie do obiegu i cała gospodarka się kręci - i tak powinno być - gdyż im więcej wydajemy, tym państwo (mam tu na myśli przedsiębiorców) więcej zarabia. A skoro więcej zarabia, to więcej może swoim pracownikom zapłacić, jednocześnie zwiększając swoje zyski.

Oczywiście, my Polacy, gotowanie traktujemy jako coś, co jest w naszych korzeniach - co jest naszą tradycją - ale czy aby napewno?

Zapewne nie jeden z was chciałby wyjść od czasu do czasu zjeść do restauracji ze znajomymi - nie oszukujmy się, nie wielu uczciwie zarabiających ludzi na to stać, szczególnie zarabiających nieco ponad minimum (oczywiście w Polsce). Zjedzenie coś na mieście, to w naszym przypadku raczej konieczność, a nie wolny wybór. A można by było zaoszczędzić nieco czasu, spędzając mile czas, dając jednocześnie zarobić innym. Ale niestety - **w Polsce, bogacić to chce się tylko państwo - nasze Państwo** urzędasów (_tych wysoko postawionych_), posłów, posłanek i innych świń przy korycie. Tych, którzy zarabiają krocie i jeszcze więcej chcą zabrać, szczególnie tym, którzy ciężko pracują na każdy grosz - chociażby okradając ich z pieniędzy (OFE), które odkładają na swoją przyszłą - bardzo małą - emeryturę. **Ah, przesada.**

W Angli też zdarzają się takie rodzynki, które chcą wywalić kupę milionów funtów, niszcząc nowe samoloty (które zostały wybudowane za pieniądze podatników) i przeznaczając je na żyletki. Gdzie jest w tym sens? Bogaci tego nie widzą, bo przecież, to nie ich pieniądze i to nie oni musieli je ciężko zarobić. Co tam, zabrać innym, aby tylko więcej kasy wpłynęło - tak jak z czesnymi dla studentów. **Parodia!**

Wracając do pojęcia "czasu" - to w Angli spotkałem się z rozpowszechnionym zwyczajem montowania w mieszkaniach pralki wraz z suszarką, lub wydzieleniu pralni wyposażonej w obie te rzeczy.

Panie lub Panowie domu w Polsce wiedzą, że pranie wiąże się z koniecznością powieszenia go do wyschnięcia. Żmudna robota, marnująca nasz czas oraz energię.

A czy nie prościej by było, wrzucić wszystko do pralki - po dłuższej chwili wyjąć, przerzucić do suszarki, po czym wyjąć suche. Pozostaje nam tylko poskładać i odłożyć do szafy. W czasie prania, suszenia, mamy czas dla siebie. O ile to proste, a zarazem mniej męczące dla naszego organizmu, oraz przynoszące korzyści, które można ująć jako "oszczędność czasu". Nie duży wydatek na suszarkę lub pralko-suszarkę, przynosi wymierne korzyści w przyszłości. Dlaczego więc tak bardzo lubimy wieszać pranie? marnować czas? _Każdy może sobie na to odpowiedzieć sam._ Jednorazowy zakup, wydatek i obciążenie dla portfela potrafi się nieźle zwrócić w "czasie", nawet dla niezbyt zamożnych ludzi.

**Podobnie jest z nasza pracą.** Szczególnie dobrze znają to osoby, które prowadzą własną działalność gospodarczą.

Świadcząc usługi, często zapominamy, że **nasz czas też jest cenny**. Oprócz naszej pracy, powinniśmy również jego uwzględniać w naszych zarobkach.

Dla przykładu, w Angli - "fachowiec" (_nie rozwodząc się, co do ich kompetentności, bo pozostawia to wiele do życzenia_), jak przychodzi naprawić - dajmy to - windę, popatrzy - pomyśli i powie... **"za dwie godziny będzie zrobiona".**

_Oco tu chodzi?_ Oto, że potrafi on wycenić swój czas. Usterka może być błaha, którą można by było naprawić w 15 minut, ale on zrobi to w dwie godziny i zadowolony będzie zarówno odbiorca jak i wykonawca. **A dlaczego tak?**

Otóż, po co ma fachowiec naprawić windę w 15 minut! Teraz naprawi drobną usterkę w dwie godziny, czyli czas, jaki sobie założył. Gdy w przyszłości, przyjedzie naprawić tę samą windę, a usterka będzie dużo poważniejsza, to klient będzie miał wyrzuty, _"że jak to - poprzednio udało się naprawić w 15 minut, a teraz potrzeba na to dwie godziny?"_. Otóż to - swój czas trzeba cenić.

**Co do pojęcia "fachowcy"** - może i my nie cenimy za bardzo naszego czasu, co jest naszym błędem, ale jesteśmy o wiele porządniejsi. Nie dosyć, że daną usterkę naprawimy dużo szybciej, za mniejsze pieniądze,  to jeszcze zrobimy to na tyle porządnie (_choć są wyjątki - czyli tzw. paparuchy_), że dany sprzęt będzie sprawny przez dłuższy czas. **Gdyż robiąc jedno**, a widząc że druga rzecz może również nawalić w niedługim czasie, za jednym razem naprawimy obie. Angielscy fachowcy, cenią się na tyle, że jak przyjechali naprawić jedną rzecz, to tylko tą naprawią - **nic więcej!** Cenią swój czas i pracę, wiedząc, że jeszcze raz będą mieli co naprawiać.

Z punktu widzenia angielskiego rynku to ma sens - w Polsce niestety - tacy fachowcy długo by nie popracowali, a już nie mówiąc, że musieli by ze swojej - paparuchowatej pracy zarobić na chleb.

Wraz z wartością czasu, przeliczaną na pieniądze, angielski styl życia dąży co pełnego zagospodarowania przestrzeni. Przez to, że większość Brytyjczyków je na mieście, ich kuchnie są nieduże, zawierające tylko **podstawowe rzeczy** do przygotowania **podstawowych produktów**. Zagospodarowanie przestrzeni ogranicza powierzchnię, którą zajmują poszczególne sprzęty, skracając czas potrzebny na jej sprzątnięcie, ogrzanie i... co za tym idzie, opłacenie!

Choć pod względem zagospodarowania przestrzeni mistrzami są Japończycy, to przy rosnącej populacji na ziemi, wszyscy będziemy musieli się do tego przekonać. Ograniczając powierzchnię, ograniczamy nasz czas, który musimy dla niej poświęcić.

Polak jest jak osioł - i to zarówno za granicą jak i w kraju - jak już ma pieniądze, to musi mieć wszystko największe, najlepsze - dosłownie "postaw się, a zastaw się".

{{% ads-in-article %}}


---
## Śmieciowa wyspa
- **URL:** https://dariusz.wieckiewicz.org/smieciowa-wyspa/
- **Date:** 2011-01-08
- **Tags:** Blog, anglia, batoniki, biodegradowalne, Brytyjczycy, chipsy, Edynburg, Glasgow, IRA, Leeds, opakowania, Śmieci, śmietniki, Szkocja, wysypisko

### Content

Wielka Brytania, niby kraje wysoce rozwinięte, a zwykły człowiek, szczególnie przyjezdny, zastanawia się...

> **"Dlaczego tutaj jest tak brudno?!?"**

<!--more-->

**Skąd te pytanie?** 
Otóż, po pierwszym przyjeździe do Leeds (UK), jak również przy odwiedzeniu kilku szkockich miast (Edynburg, Glasgow), rzuciło mi się na oczy wszech obecne zaniedbanie i **śmieci... mnóstwo śmieci, wszędzie!** 

W Centrum miast tak tego mocno nie widać, ale wychodząc nieco poza jego obręb jest niewesoło. Śmieci walają się wszędzie, a ludzie wyrzucają je tam gdzie popadnie. 

**Po części można powiedzieć, że ludzie są tacy, ale nie.** Będą w centrum miasta można bez problemu znaleźć śmietniki i popielniczki. Natomiast już poza obrębem centrum, kosze znikają jak kamfora. 

Dowiadując się tu i tam, można usłyszeć że to przez **terrorystów, m.in. z IRA**, nie ma tak dużo śmietników, gdyż za dużo bomb w nich wybuchało. Z tego punktu widzenia rozumiem. Ale skoro jest już brudno, to powinno się zatrudnić osoby, szczególnie te, które **tylko wyzyskują kraj, nie pracują i żyją z zasiłków**, na które muszą ciężko pracować inni. Można również wprowadzić politykę proekologiczną oraz edukację społeczną, dzięki czemu, ludzie będą informowani, że lepiej włożyć śmieci do torby, plecaka i wyrzucić w domu a niżeli bezpośrednio na ulicę. Dzięki czemu, otoczenie, z którego wszyscy korzystamy, było by przyjemne dla oka. 

Wielka Brytania, **niby państwa pro-ekologiczne**, wprowadzające wszechobecną zieloną politykę, ale już każdy z tych krajów, które do wspólnoty należą, same sobie przeczą. 

Wprowadzają **opakowania biodegradowalne**, zmniejszają ilość szkodliwych substancji itp. Niby wszystko ok, ale... wprowadzając opakowania, chociażby pseudo ekologiczne, **mnożą je na potęgę.** 

Kto był, ten wie, kto nie, już piszę o co chodzi. 

Przykładów mnożenia opakowań, które później zamieniają się w śmieci - **góry śmieci** - są obecne na każdym rogu. 

**Kupując w sklepie spożywczym** chociażby **dużą paczkę chipsów**. Gdy dostaniemy takową w Polsce, po otworzeniu mamy... **niespodzianka!** Chipsy. 

W przypadku UK, otwierając paczkę chipsów, ujrzymy **kilkanaście małych paczek!** Nie jedną dużą chociażby kilogramową, tylko 10 paczek chipsów zapakowanych po 100 gram. 

Czyli **oprócz dużego opakowania - śmiecia**, mamy jeszcze **10x więcej małych śmieci**. 

Dziwię się, że ten kraj jakoś sobie z tym radzi. A jeżeli już mówiąc radzi, to ciekawe jak i jakim kosztem, szczególnie dla środowiska oraz samej gospodarki, bo niestety, utylizacja też kosztuje. 

Oprócz Chipsów, znajdziemy również słodycze tj. batoniki, w opakowaniach zbiorczych, w którym, **jak że nie inaczej**, każdy batonik zapakowany jest osobne opakowanie. 

Wszystko jest ok, gdyby śmieci, które w ten sposób wprowadza się do obrotu znikały, a nie zalegały na drogach, ulicach. 

Pod tym względem, **to nasz kraj**, Polska w znacznym stopniu wygrywa. Albo to jest Brytyjska wygoda, która w rezultacie powoduje anormalny przyrost śmieci, albo my - Polacy - nie rozumiemy tego. 

Ciekawe i smutne jednocześnie - **zapraszam do przemyśleń w komentarzach.** 

Pozdrawiam.

{{% ads-in-article %}}


---
## Pociągi w UK, czyli Polska jest daleko za murzynami
- **URL:** https://dariusz.wieckiewicz.org/pociagi-w-uk-czyli-polska-jest-daleko-za-murzynami/
- **Date:** 2011-01-04
- **Tags:** Blog, anglia, Glasgow, intercity, Leeds, PKP, pociągi, Poczta Polska, polska, Włoszczowa

### Content

Anglia, a raczej Wielka Brytania, to jeden z kilku rejonów świata, gdzie pociągi jeżdżą szybciej od samochodów.

Jakość podróży jest bezkonkurencyjna, a mnogość firm i konkurencja wymusza dbanie o jakość.

Choć pociągi w UK do najtańszych nie należą, to porównując z zarobkami jest podobnie jak w Polsce, **chociaż tak tego nie można powiedzieć.**

<!--more-->

**Polska ze swoim PKP jest daleko za murzynami.** Średniej klasy pociąg jest na poziomie Polskich **intercity**, jak nie lepiej.

Perony, nawet w tych małych miasteczkach wyglądają dużo lepiej niż nasza [Włoszczowa](http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=dworzec+w%C5%82oszczowa).

W pociągach, nie dosyć ze jest w miarę ciepło, wygodnie, podają posiłki i napoje (oczywiście płatne, podobnie jak w samolotach),  to dodatkowo przy każdym siedzeniu (lub co któreś) jest kontakt do podłączenia telefonu lub laptopa. A w Polsce, jak są kontakty, to albo nie działają, albo maja dziwne napięcie. Już nie mówiąc ze pociągi w UK są o wiele cichsze.

Dwie czy trzy linie torów to nic nadzwyczajnego, pociągi jeżdżą, wymijają się i nie ma problemów.

**I niech nikt nie mówi, że się nie da.** Jakoś tutaj pociągi są opłacalne, punktualne i to nawet bardzo, i nie ma tak jak w PKP, [że można lepić bałwana w zimę](http://kontakt24.tvn.pl/temat,-quot-w-pierwszym-wagonie-mozna-lepic-balwana-quot-,58292.html). Dodatkowo jest pierwsza klasa, co w przypadku Polskich pociągów jest tylko na papierze.

Same pociągi nie jada, one gnają. Ponad 400km w niespełna 5 godzin _(z Leeds do Glasgow)_, to bardzo dobry czas. Przy tym mamy ładne widoki, malownicze miasta, pastwiska, morze i góry w jednym. **Czego chcieć więcej.**

Apropo, widok morza z pędzącego pociągu jest zdumiewający, a jazda wśród gór przyprawia o mały dreszczyk emocji.

Aha, i jeszcze nie ma problemu **z informacja na dworcach** czy kupieniem biletu, nawet z automatu po konkurencyjnych cenach. Dodatkowo w pociągu również można je kupić i nawet **zapłacić karta!**

Nie dziwie się, że tutaj (UK) ludzie chcą a nie **muszą** korzystać z kolei. Puki mamy w Polsce monopol jednej firmy na przewozy to chyba się za szybko nie zmieni, podobnie jak to jest z nasza kochaną Poczta Polską.

**Za rok,  może dwa...** zacznie sie cos dziać, ale czy inni będą chcieli do nas wejsc z nasza zapuszczona infrastrukturą? To trudne pytanie. Trzymam kciuku aby bylo dobrze, **chociaż aktualnie Polska nie napawa optymizmem.**

**ps.** I my chcemy zorganizować Euro 2012, z naszą koleją... **phi.**

{{% ads-in-article %}}


---
## "Mój przyjacielu"
- **URL:** https://dariusz.wieckiewicz.org/moj-przyjacielu/
- **Date:** 2011-01-01
- **Tags:** Wiersze, przyjaciel, wiersz

### Content

<!--more-->

Pod okiem kamer w supermarkecie,  
grasuje koleś w jacket'cie;

Nie straszne mu oko Wielkiego Brata,  
gdy może ukraść kawałek gnata;

...się pojawia i znika,  
jak w Nocy Czarnoksiężnika;

Co powie papier do dupy,  
gdy sam rwie się do kupy;

Gdy walczysz w obronie swego,  
siedź cicho "mój" drogi kolego;

Nie mówiąc dużo o ludziach wielu,  
niestety przegrałeś "mój przyjacielu".

_Leeds, UK - 27.01.2011_

{{% ads-in-article %}}


---
## Polska, to nie jest kraj dla biednych ludzi!
- **URL:** https://dariusz.wieckiewicz.org/polska-to-nie-jest-kraj-dla-biednych-ludzi/
- **Date:** 2010-12-18
- **Tags:** Blog, anglia, funt, kraj dla biednych ludzi, pensja, polska, zarobki, życie

### Content

Polska - kraj w Europie, członek Unii Europejskiej, **a życie jak w Księstwie Monako**.

Życie w Polsce jest ciężki, każdy to powie. Szczególnie dobrze to znają osoby wykształcone, ale mieszkające w miastach, które kiedyś były stolicą województwa, ale straciły to miano.

<!--more-->

**1600zł brutto**, to kwota, którą każda z tych osób chciałby zarabiać. Nie mówię tutaj o dyrektorach, właścicielach firm (chociaż tutaj też jest różnie), czy innych, którzy obejmują wysokie stanowiska, bo oni zaliczają się do kilku procentów ludzi w całej polsce zarabiających powyżej średniej krajowej.

Apropo średniej krajowej, która jest absurdem wynoszącym **powyżej 3000zł**.

Ale pokazując tutaj rodzinę przysłowiowego Kowalskiego, mieszkającego w mieście do 150 tyś. mieszkańców. Jeżeli uda mu się dobrze trafić, to jest w stanie zarobić, nieco **powyżej [płacy minimalnej](http://pl.wikipedia.org/wiki/P%C5%82aca_minimalna)**, ale przy anormalnych warunkach pracy, wyzysku i wszechobecnego **[mobbingu](http://pl.wikipedia.org/wiki/Mobbing)**.

Jesteśmy krajem, który ma aspiracje do przyjęcia **waluty Euro**.

Obecnie, od 1 stycznia 2011 roku, płaca minimalna w Polsce będzie wynosić **1386zł brutto!** To kwota, którą będą zarabiać ludzie, którzy stanowią większość osób, składających się na podatki w tym kraju.

1386zł brutto, to raptem **ok. 340 Euro** (Euro=4), lub jak kto woli, ok. **275 funtów** (Funt=5).

**Śmieszne pieniądze w śmiesznym kraju!**

Nie dziwię się, że potężni inwestorzy zastanawiają się, conajmniej dwa razy, zanim wejdą na polski rynek ze swoim produktem. Patrząc z ich perspektywy, mają produkt za **1 funta** w sklepie Angielskim, kupujący nie zastanawia się, czy go kupić, tylko go kupuje. A w Polsce, ten sam produkt za 5 zł powoduje, że zastanowimy się conajmniej dwa razy, czy aby napewno jest on nam potrzebny.

**Ten sam produkt, a dwa różnie podejścia do zakupu. Zapytacie dlaczego? Oto przykład.**

W Angli, minimalna pensja za prace dla osoby dorosłej, powyżej 21 roku życia wynosi **5,93 funta** (29,65 zł) za godzinę. W Polsce, za minimalną płacę, pracuje się min. 5 dni w tygodniu po 8 godzin (jak nie więcej), co daje w szybkim przeliczeniu **ok. 8,5 zł** (czyli **1,70 funta za godzinę**) - oczywiście brutto i przy bardzo optymistycznym przeliczeniu.

Czyli, kupując produkt za **1 funta** = 5zł:

- w Polsce pracujemy na niego: **przeszło 35 minut!**
- w Anglii pracujemy na niego: **nieco ponad 10 minut**

**Więc, ze strony producentów, który rynek jest lepszy na ekspansję?**

Na różnych forach, ludzie się dziwią, że duzi producenci stosują różne promocję w USA, Anglii, Niemczech, pomijając przy tym Polskę. **Dziwicie się?**

**Dalej, przecież trzeba gdzieś mieszkać.**

Rodzina - mąż, żona i jedno dziecko, na powierzchni 50m2 w mieszkaniu spółdzielczym-własnościowym, musi zapłacić za czynsz **ok. 500zł**, plus do tego media = **co daje ok. 200-300zł.**

Czyli miesięcznie, z naszej pensji minimalnej **ucieka ok. 800zł** od tak! A przecież trzeba jeszcze się w coś ubrać, coś zjeść, nie mówiąc już o wydatkach "ekskluzywnych", do których nasze kochane Państwo zalicza chociażby posiadanie samochodu.

**I dziwicie się, że ludzie wyjeżdżają za granice za pracą i nie wracają?**

Każdy rząd, co każde wybory, obiecuje polepszenie warunków pracy, tak, aby wyjazd był dla nas nieopłacalny (obietnica PO). Opozycja, z każdej strony wypomina, że rząd nie robi nic, aby to uczynić (patrz PiS), chociaż sami, jak byli przy rządach (znowu PiS), również nic nie zrobili, by tą sytuacje zmienić!

_Ale wracając do utrzymania._

W Angli, pracując 40 godzin tygodniowo, zarobimy ok. **950 funtów brutto** (ok. 4750zł!!!), za 4 tygodnie pracy (gdzie w Polsce, 1386zł za miesiąc!). Już nie mówiąc, że w Anglii, pracując z rozliczeniem co 4 tygodnie, ma się 13 pensji!

**Mieszkanie w Anglii**, dla przykładowej rodziny Kowalskich, to koszt ok. 400 funtów wynajmu, plus ok. 50-100 funtów media.

Podsumowując po krótce:

- w Polsce, z naszej pensji na utrzymanie idzie: **przeszło 60%**
- zaś w Angli, przy ich zarobkach **do 50%**

i to tylko, przy zarobkach jednej osoby, a wiadomo, że w Polsce, jak i gdzie indziej, każdy dąży, aby obie osoby w rodzinie pracowały, aby było lżej.

**Tak że w Anglii**, stać cię utrzymać rodzinę, ubrać ją, wyżywić i jeszcze odłożyć ok. 1000zł na Polskie, a w naszym kraju? Czy rodzina otrzymująca pensję minimalną jest w stanie coś odłożyć? Raczej patrzy, czy starczy do 1-ego, a o odkładaniu zapomnij!

**Polska, dodatkowo nie jest pro-społeczna**. W Angli, osoby zarabiające na poziomie minimalnym, mogą starać się o zwrot podatku, który nadpłacają. Zwrot ten odbywa się co 4 tygodnie, a nie jak w Polsce, dopiero po złożeniu PITu za dany rok!

Dodatkowo można się starać o dofinansowanie do pensji czy do mieszkania. I to też nie jest trudne. Nikt z urzędników ci nie robi problemów, nie zalewa cię zbędą biurokracją, tylko po to abyś nic nie dostał (patrz Polska). Tutaj jest tak, że podajesz ile średnio zarabiasz - oni po weryfikacji, wyliczają ile ci się należy i tyle dostaniesz. Nie musisz tutaj latać tygodniami aby każdą złotówkę udowodnić, bo oni wszystko widzą czarno na białym - gdyż administracja ich jest tak zrobiona, że w momencie otrzymania pensji, oni też dostają informację o twoich zarobkach i widzą, czy coś się zmieniło czy nie.

Mamy XXI wiek, a a Polsce nadal jesteśmy daleko w tyle ze wszystkimi.

Jesteśmy krajem europejskim, z Europejskimi cenami, a pensje na poziomie Ugandy!

Pensja w Polsce, to zaledwie **ok. 30% tego**, co zarobimy w Angli, więc po co mają ludzie wracać?

Wszyscy mówią, że za granicą, życie jest droższe.

Oczywiście! Życie może być droższe - **o 10-30%**, ale pensje, nawet te minimalne, **są dużo wyższe** tutaj. A w porównaniu cen, wcale nie jest tak źle!

Więc, myśląc o powrocie, bardziej myśli się o rodzinnym domu, przywiązaniu do kraju. Ale życie w Polsce, przy obecnym poziomie, jest jak życie ludzi w komunistycznych Chinach, gdzie pracuje się praktycznie za miskę zupy.

Więc, drogie Panie i Panowie, panowie Posłowie i Posłanki! zastanówcie się co robicie, do czego dążycie - bo skoro ludzie po studiach, inteligentni, rządni wiedzy oraz z pragnieniem jej wykorzystania decydują się na wyjazd z kraju, tylko dla tego, że nie mają pracy na swoim poziomie, oraz na poziomie zarobków odpowiadających do ich wykształcenia, to coś jest nie tak!

I proszę mi tu nie mówić, że to ten kraj (Polska) was wykształciła, za pieniądze podatników (studia dzienne), bo w Polsce nie ma czegoś takiego jak bezpłatne studia. Bezpłatnie, to tylko chodzisz na zajęcia, a za wszystko trzeba płacić. Jeżeli chcesz się dokształcić, poszeżyć wiedzę, lub chociażby nauczyć się dobrze do kolokwium, to bez wydawania pieniędzy, których tak dużo się nie ma, nic nie wskurasz.

**Więc...**

Żeby móc wrócić do domu, do Polski - trzeba mieć możliwość powrotu, możliwość godnego życia!

_~ Darek_

{{% ads-in-article %}}


---
## Sernik Nowojorski (New York Cheesecake)
- **URL:** https://dariusz.wieckiewicz.org/sernik-nowojorski-new-york-cheesecake/
- **Date:** 2010-12-01
- **Tags:** Kulinaria, cheesecake, digestive biscuits, herbatniki pełnoziarniste, herbatniki, new york, New York Cheesecake, Sernik, Sernik Nowojorski, skórka z cytryny, skórka z pomarańczy, wanilia

### Content

**Wspaniały sernik, to dobry sernik.**

Prawdziwi kucharze, powiedzą ci, że Sernik Nowojorski (**New York Cheesecake**) jest najlepszy na świecie.

> Trudność: **Średnia**
> Czas przygotowania: **30 minut**
> Czas pieczenia: **10 minut + 35 minut, temperatura 160°C**

<!--more-->

## Składniki

### Na spód sernika

- masło zwykłe, niesolone - 100 g + dodatkowe masło do smarowania blachy
* [herbatniki pełnoziarniste (ang. digestive biscuits) - 250 g](http://pl.wikipedia.org/wiki/Herbatnik_pe%C5%82noziarnisty "Zobacz na Wikipedii")

> Jeżeli nie znajdziemy dedykowanych herbatników, wybierzmy kruche i tłuste jednocześnie.

### Na sernik

- mąka kukurydziana - 45 g
- ser twarogowy mielony - 1 kg
- śmietana, gęsta lub serek naturalny, gęsty - 250 ml _(opcjonalnie)_
- jajka - 5 szt.
- cukier kryształ - 150 g
- wanilia, laska lub ekstrakt z wanilii (pełny, nie olejek) - 1 szt. / łyżeczka
- skórka z cytryny - 5 g
- skórka z pomarańcza - 8 g

{{% ads-in-article %}}

## Wykonanie

### Spód sernika

Wysmarujmy spód blachy i pierścień masłem. Wyłóżmy spód i boki papierem do pieczenia (odpowiednio przyciętym). Składamy dokładnie formę, aby nie było nieszczelności. Papier na spodzie blachy powinien wystawać poza nią.

Miksujemy blenderem lub w mikserze (młynku) herbatniki na proszek. Rozpuszczamy masło i wlewamy do biszkoptów, zagniatając całość, tworząc jednolitą masę.

Herbatniki wysypujemy na spód blachy, rozprowadzamy równomiernie i ugniatamy, kształtując jednolity spód.

Wkładamy blachę ze spodem do nagrzanego piekarnika (160°C) na 10 minut. Po upieczeniu odstawiamy do przestygnięcia.

### Sernik

W misce lub tortownicy (makutrze) mieszamy cukier i mąkę kukurydzianą.

Dodajemy ser twarogowy i ucieramy na jednolitą masę.

Wbijamy pojedynczo jajka, cały czas ucierając.

Laskę wanilii przecinamy przez środek i bokiem noża wydobywamy nasiona wanilii. Skórę wyrzucamy, a nasiona dodajemy do kremu twarogowego _(opcjonalnie używamy ekstraktu z wanilii)_.

Ucierając, dodajemy startą, świeżą skórkę z cytryny i pomarańcza.

Do jednolitej masy serowej dodajemy śmietanę lub serek naturalny.

Po osiągnięciu jednolitej konsystencji wylewamy masę do formy ze wstępnie przygotowanym spodem.

Wkładamy sernik do nagrzanego piekarnika i pieczemy przez około 30-35 minut.

## Wskazówki końcowe

Sernik po upieczeniu nie powinien być lejący się, w szczególności na środku. Jeżeli jest, pieczemy przez dodatkowe 10 minut. Struktura powinna być galaretowata, ale nie zwięzła. Wierzch może być lekko przyrumieniony, pod kolor jasno-pomarańczowy.

Sernik pozostawiamy do ostygnięcia w temperaturze pokojowej. Wierzch sernika, w momencie schładzania może pęknąć.

**Smacznego.**


---
## Chleb
- **URL:** https://dariusz.wieckiewicz.org/chleb/
- **Date:** 2010-11-08
- **Tags:** Kulinaria, chleb, Extra Virgin, mąka, mąka słodowa, oliwa z oliwek, przepis, semolina

### Content

Przepisów na chleb jest mnóstwo. Jedne są szybkie, mało zaawansowane — inne nieco bardziej skomplikowane i czasochłonne.

Poniżej przedstawiam przepis, na w miarę pyszny chleb, niedużym kosztem i szybki w zrobieniu.

> Trudność: **Łatwa**
> Czas przygotowania: **1 godzina, 27 minut**
> Czas pieczenia: **12 minut**

<!--more-->

## Składniki

### Sypkie

*   Mąka do wypieku chleba (pszenno-żytnia razowa), 1000g
*   Drożdże granulowane, 12.5g
*   Sól, 20g
*   Cukier, 10g
*   Mąka słodowa (mączka słodu jęczmiennego), 5g

### Mokre:

*   Woda, 525ml
*   Mleko, 150ml
*   Olej roślinny, 70ml, lub Oliwa z oliwek (Extra Virgin)

## Czas i temperatura

*   Naważenie - ok. 5 min.
*   Mieszanie / wyrabianie - ok. 12 min.
*   Wyrastanie - 30-60 min.
*   Formowanie: ok. 5-10 min.
*   Pieczenie - 10-12 min. w nagrzanym piekarniku (210 st. C)

{{% ads-in-article %}}

## Wykonanie

Składniki sypkie dokładnie odmierzamy i mieszamy razem. Przygotowujemy składniki mokre w jednej misce (razem). Wykorzystując robota ze stałą misą i łopatkami do wyrabiania ciasta (świderki), ustawiamy na średnie obroty (2 z 5). W trakcie mieszania (ok. 2-3 min) dodajemy po trochu mokre składniku.

Gdy ciasto jest wstępnie wyrobione (jak pisałem wcześniej, po 2-3 minutach), wyrabiamy dalej jeszcze ok. 8-9 minut, na podwyższonych obrotach (4 z 5), do momentu uzyskania jednolitej masy.

Tak wyrobione ciasto musi odpocząć. Przenosimy je do miski posmarowanej odrobiną oleju (aby łatwiej było później wyjąć ciasto), przykrywamy i odstawiamy w ciepłe miejsce do wyrośnięcia.

Ciasto rośnie ok. 30-60 minut. Najlepiej ustalić sobie, że jest gotowe, jeżeli podwoi swoją objętość.

Tak wyrośnięte ciasto wyjmujemy z misy na posypaną mąką stolnicę. **Nie ugniatamy**, aby nie zniszczyć pulchnej struktury. Kroimy na pożądanej wielkości kawałki i lekko zaokrąglamy lub pozostawiamy kwadratowe, w zależności od gustu.

Uformowane bochenki lub bułeczki (jak kto woli), wykładamy na blachę przełożoną papierem do pieczenia i posypaną mąką. Wkładamy do nagrzanego piekarnika i pieczemy przez okres ok. 10 minut.

Starajcie się, by chlebek nie był zbyt wysoki — max 10 cm (polecam 5 cm)  - wówczas, czas pieczenia będzie odpowiedni. Im wyższy bochenek, tym dłuższy czas pieczenia.

## Wskazówki

Aby uzyskać lepszy efekt i nie "przesypać" naszego chleba zanadto mąką, do oprószenia stolnicy, jak i blachy wkładanej do piekarnika można użyć mieszanki 50/50 mąki z [semoliną](http://pl.wikipedia.org/wiki/Semolina) — czyli tzw. gruboziarnistą mąką lub drobną kaszą otrzymywana z pszenicy twardej (durum).

Zamiast oleju roślinnego proponuję użyć oliwy z oliwek extra virgin. Dzięki temu, ciasto po wyrośnięciu uzyskuje złożoną teksturę i jest bardziej podatne na kształtowanie. Dodatkowo produkt gotowy jest cięższy, mniej porowaty, a co za tym idzie, mniej napompowany — tutaj, wybór należy do was, jaki wolicie.


---
## Polska Wkurzająca Rzeczywistość vs Anglia
- **URL:** https://dariusz.wieckiewicz.org/polska-vs-anglia/
- **Date:** 2010-09-21
- **Tags:** Blog, 50km/h w mieście, anglia, Arriva, Autobusy, Brytyjczycy, CV, First Group, internet na kartę, jazda na światłach, Leeds, Łazienka, Podatek VAT, polska, przejścia dla pieszych, pwr, Royal Mail, telefonowanie bez zera, uk, zebra

### Content

Hmm... twierdzę od jakiegoś czasu, że **Polska to dziwny kraj**.

Aktualnie przebywam poza granicami ojczystego kraju - **Anglia, Leeds** \- gdzie poznaje kulturę narodu, jakim jest Zjednoczone Królestwo. Po krótkim czasie spędzonym na "uchodźstwie", utrwala mnie myśl, że Polska **to nie tylko dziwny kraj**, ale **również cholernie nadgorliwy**.

Zacznijmy od początku...

<!--more-->

## Numery telefonów bez 0-zera na początku.

[![Phones (Fot. Flickr, lic. CC by Sailing Footprints Real to Reel, Ronn ashore)](Phones-Fot.-Flickr-lic.-CC-by-Sailing-Footprints-Real-to-Reel-Ronn-ashore.jpg)](Phones-Fot.-Flickr-lic.-CC-by-Sailing-Footprints-Real-to-Reel-Ronn-ashore.jpg)

Kto powiedział, że w Polsce musimy usunąć **"0-zero"** z przed numeru telefonu. Czy ktoś tak naprawdę powiedział po co i dlaczego nie można pozostawić wyboru - tak, aby można było się równie dobrze dodzwonić z zerem jak i bez?

Oczywiście, ci którzy mieli w tym jakiś interes (lobbujące branże telekomunikacyjne) wiedziały po co. Zapytawszy, usłyszymy – _"że dostosowujemy się do wymogów Unii Europejskiej"_ – co jest po-prostu **g\*\*no prawdą (bullshit)**.

Anglia - Państwo, które zakładało Unię Europejską, nie usunęło, i nadal ma "0" **przed każdymi** numerami telefonów - i to nawet tymi komórkowymi. Spróbuj podać numer bez zera, a nikt się do ciebie nie dodzwoni.

## Jazda na światłach i 50km/h na mieście.

[![City Lights (Fot. Flickr, lic. CC by Dominik Dome)](City-Lights-Fot.-Flickr-lic.-CC-by-Dominik-Dome.jpg)](City-Lights-Fot.-Flickr-lic.-CC-by-Dominik-Dome.jpg)

**Kwestie bezpieczeństwa i jeszcze raz, kwestie bezpieczeństwa. To wszystko nam wmawiają.**

Co do zmniejszenia prędkości w mieście, to jeszcze zrozumiem, bo potrącony pieszy ma _"nieco większą szansę na przeżycie"_, ale światła... Wiadomo, samochody są lepiej widoczne, ale co do tego, czy jeździć, czy nie, to decyzja powinna należeć do kierowcy. Bo jak pokazały badania na przełomie lat (w Polsce) – to, że jeździmy na światłach 24/7 nie spowodowało zmniejszenia się liczby niebezpiecznych wypadków.

Powoływanie się co niektórych polityków i osób z _"elity"_ na to, że inne państwa w Unii Europejskiej również mają takie wymagania, to jest jak dolewanie oliwy do ognia. Tym bardziej, że tam, gdzie to jest wprowadzone, jest inny klimat (patrz Szwecja), co znacząco wpływa na to, że używanie świateł jest wskazane.

No i znowu, nawiążmy do Anglii. Anglicy po mieście _"jeżdżą"_, a raczej _"grzeją"_ (choć po Centrum miasta jest w miarę) z prędkością średnią ok. 60-70km/h, bo tak pozwalają znaki (30-40-50 i więcej - w milach). Tak samo, zobaczyć kogoś w Anglii jadącego na światłach, tym bardziej w dzień – gdzie nawet w nocy zdarzają się rodzynki bez świateł (czarni rycerze).

## Przejścia dla pieszych

[![Pedestrian Crossing (Fot. Flickr, lic. CC by Ramón Cutanda)](Pedestrian-Crossing-Fot.-Flickr-lic.-CC-by-Ramon-Cutanda.jpg)](Pedestrian-Crossing-Fot.-Flickr-lic.-CC-by-Ramon-Cutanda.jpg)

**Przejścia dla pieszych w Anglii, a to dobre – a co to takiego! :)**

W Polsce, pieszy na przejściu dla pieszych to _"święta krowa"_, na którą wszyscy muszą uważać. Krowa, jak krowa, ale _"Polska Krowa z kulturą"_, która przechodzi _"prawie"_ zawsze na dozwolonym świetle.

W Angli nie ma _"typowych"_ przejść dla pieszych – są jedynie strefy (wy-ćwiekowane, bez typowych biało-czarnych pasów), gdzie można przejść, ale to nie znaczy, że to ty masz pierwszeństwo. **A tak apropo** (sic!), **jakie pierwszeństwo!**

Pieszy to **NIE** Święta Krowa, tylko _ludek_, który pojawia się nagle tam, gdzie go nie powinno być.

**A sygnalizacja?** Hm... to jest tylko powiadomienie, kiedy na 99% nic nas nie potrąci. A tak naprawdę, to przechodzi się zawsze, jeżeli nic nie jedzie z naprzeciwka, lub widzimy że pojazdy mają czerwone. Tak przechodzą wszyscy! Dosłownie Wszyscy! No... oprócz emerytów, bo nie wydalają :). Dla Polaka to trochę dziwne, ale kilka dni i jesteś tak jak inni.

Powiecie może, że można za to mandat dostać. Phii... wszyscy przechodzą, nawet jeżeli na przeciwko stoją panowie _"zieloni"_ – zieloni, bo tak wyglądają policjanci. Nikt się do tego nie czepia, no chyba że się zrobi zagrożenie w ruchu, ale tak to wszyscy mają to gdzieś :). Więc, jak zobaczycie gdzież zebrę na jezdni, to widocznie jakiś prywatny parking, bo wszędzie indziej _hycel zapierdzielił i wywiózł do Zoo – w Europie_.

> ps. o jeżdżeniu po złej stronie jezdni nie będę wspominał, bo po co, każdy to wie :)

## Internet na kartę

[![Mobile Broadband (Fot. Flickr, lic. CC by Ben Smith)](Mobile-Broadband-Fot.-Flickr-lic.-CC-by-Ben-Smith.jpg)](Mobile-Broadband-Fot.-Flickr-lic.-CC-by-Ben-Smith.jpg)

**A tutaj Anglików można pochwalić.**

Idziesz sobie do wybranego salonu sieci komórkowej (której zasięg jest najlepszy w twoim rejonie – sprawdź na stronie operatora) i bierzesz **internet na kartę**. Ale nie takie _"gówno"_ jak w Polsce, że za **20 zł** masz naliczane jak za zborze, że za każde 100kb odejmują ci 10gr itp. (patrz iPlus Data). **Tutaj dostajesz Gigabajty! GB.**

I tak, idziesz i kupujesz Sticka – modem – czyli jak to u nich się nazywa – **dongle** (po Polsku: _pi\*dygonek_). Płacisz np.: 20 funtów i masz modem + pakiet na 30 dni z Internetem w opcji 3GB i pełnej prędkości jaką da się osiągnąć (wszystko zależy od operatora).

Czy widzieliście w Polsce coś takiego? W życiu! Operatorzy nasi rżną nas jak mogą, i tylko abonamentowcy mają jeszcze jako tako.

Co do prędkości internetu, to przy pełnym zasięgu ten 1MB mamy, ale co do reszty jest różnie. Osobiście myślałem, że Anglia będzie miała bardziej rozwinięta siec nadajników szybkiego internetu, ale niestety, rewelacji nie ma **i pod tym względem Polska jest lepsza**.

Natomiast, jeżeli chodzi o koszt – to 3GB transferu jest za 15 Funtów. Niby drogo, ale na Angielskie zarobki to nie koniecznie. Porównując do Polski – to mamy naprawdę tani Internet, a jak dalej popatrzeć, to telefonię również. Tani, ale proporcjonalny do polskich zarobków - więc nie aż tak tani.

Wracając do internetu na kartę – nasz Prepaid a u nich **Pay and Go** (Kup i Idź), w skrócie **PAYG**. Tak naprawdę, to wchodzisz do sklepu, bierzesz modem, za który płacisz tak naprawdę od 25 zł / na polskie, reszta to koszt pierwszego abonamentu, i tyle. Zero formalności. Dostajesz paragon i tyle cię widzieli.

Jak po miesiącu chcesz dalej korzystać z Internetu - jesteś zadowolony, lub szybciej wyczerpałeś 3GB, to doładowujesz _w setkach dostępnych punktów_. Bez formalności. Takie coś by się przydało w Polsce, a nie za każdy MB naliczana jest opłata, przy Internecie na _"pseudo-kartę"_, bez modemu (???). A gdzie mam sobie tą kartę wepchnąć, skoro modemy dla abonentów, a gdzie indziej horrendalnie drogie. **Przesada!**

Jedyny bubel w tych internetach to fakt, iż Anglicy, jak to naród przezorny, wprowadza _tzw. Content Control_, czyli blokadę stron i adresów, które nie powinny odwiedzać osoby poniżej 18 roku życia. Wszystko fajne, ale **dlaczego do cholery!** Content control (jak zobaczycie to sami będziecie na niego mięsem rzucali), blokuje multum polskich, w pełni legalnych stron WWW – w tym np. Lotto.pl czy wszystkie z aliasami PRV.PL. Zdarza się też, że nie działa polskie Gadu-Gadu i inne usługi, które są przyzwoite dla dzieci od lat 3 :)

**Ale i na to jest sposób.** Wystarczy połączyć się raz z internetem, rozłączyć i udać się do operatora komórkowego (z numerem karty sim lub porostu całym zestawem) i poprosić o wyłączenie blokady. Nie trwa to długo, raptem kilkanaście sekund, bez problemu i formalności, kłopot usunięty. Oczywiście, trzeba mieć 18 lat, gdzie w skrajnych przypadkach poproszą o dowód osobisty (ID).

> ps. mała uwaga - w Polsce mówisz, że potrzebujesz Internet bezprzewodowy, a tutaj Mobile Broadband, bo inaczej nie zrozumie cię o co ci chodzi.

{{% ads-in-article %}}

## CV i punkty Job Stop!

[![Curriculum Vitae (Fot. Flickr, lic. CC by meltingnoise)](Curriculum-Vitae-Fot.-Flickr-lic.-CC-by-meltingnoise.jpg)](Curriculum-Vitae-Fot.-Flickr-lic.-CC-by-meltingnoise.jpg)

**Wiadomo, przyjeżdżasz na wyspy i starasz się znaleźć pracę (jeżeli nie masz nic nagranego).**

Anglicy mają dziwne podejście do CV. Pisze się je całkowicie inaczej, w innym układzie. Tak naprawdę, jest to połączenie Listu motywacyjnego i CV (chociaż Listy Motywacyjne też mają). Nie jest to głupie, bo patrząc szerzej, to nasze polskie _jest naćpane i wszystko podzielone pomiędzy poszczególne grupy_. A ich musi być przejrzyste, aby pracodawca wiedział po kolei, co robiłeś i gdzie pracowałeś. Pragną też wiedzieć (jeśli nie napisałeś), co robiłeś w okresie - przerwie w zatrudnieniu (tzw. Gaps). Wówczas pisze się, że w tym i tym okresie byłem np. bezrobotny, wychowywałem dzieci itp. Z jednej strony ciekawe, bo od razu poznają człowieka.

Ale Punkty tzw. **Job Stop!** mnie rozwaliły. Siedzą tam osoby - wolontariusze z Urzędu Pracy (nawet bardziej życzliwi, niż w samym JobCentre Plus) i mają na celu pomóc tobie w poprawnym opracowaniu CV na standard angielski (opracowaniu, nie tłumaczeniu - bo to powinno się mieć), powiedzą jak szukać pracy oraz podpowiedzą z jakich kursów (darmowych) skorzystać, aby było nam łatwiej w UK – np.: kursy językowe, mające na celu nauczenia się poprawnej mowy w języku angielskim.

Takie coś powinno być u nas, bo nawet jeżeli są, to tylko w dużych miastach i bardzo mało – a tutaj, stoi sobie budka pośrodku marketu (bazaru) i czeka na interesantów.

## Łazienka

[![Bathroom (Fot. Flickr, lic. CC by Dan Tentler)](Bathroom-Fot.-Flickr-lic.-CC-by-Dan-Tentler.jpg)](Bathroom-Fot.-Flickr-lic.-CC-by-Dan-Tentler.jpg)

Brytyjczycy mają dziwne łazienki. Zastanawiam się, jak oni się golili, gdy elektryczne maszynki były tylko w wersji przewodowej - lub gdzie oni susza głowę.

**Dlaczego pytam?** Bo w łazienkach nie ma kontaktów. U nas są, a tam nie ma. Rozumiem, że amerykanie by nie mieli, bo to głupi naród (bo nawet w instrukcji od mikrofali mają napisane, aby nie suszyć w niej kotów) ale Brytyjczycy? Przezorny ubezpieczony?

Inną jatką są krany. W starych budownictwach, ciepłą odkręca się osobno a zimną osobno. Albo się poparzysz albo odmrozisz. Oczywiście są tez krany łączone, ale nie tak jak w Polsce. Tutaj kran ma dwa otwory w jednym – jeden do ciepłej, inny do zimnej wody. I znowu nie można ustawić sobie letniej wody (z przodu leci zimna a z tyłu gorąca). Na szczęście prysznice są już normalne, uff.

## Podatek VAT

[![New UK Coins (Fot. Flickr, lic. CC by Chris Kelly)](New-UK-Coins-Fot.-Flickr-lic.-CC-by-Chris-Kelly.jpg)](New-UK-Coins-Fot.-Flickr-lic.-CC-by-Chris-Kelly.jpg)

**Podatki w Anglii są znacząco niższe niż u nas.**

Mimo podwyżki, podatki nadal będą na dużo bardziej optymistycznym poziomie. W Polsce, idąc na zakupy _do biedronki_ po podstawowe asortymenty na śniadanie, zostajemy okradani z naszych pieniędzy. W Anglii jest nieco inaczej. Praktycznie każdy asortyment żywnościowy – podstawowy, nie jest obłożony podatkiem (0%). Idąc z zamiarem zrobienia zakupów na śniadanie, obiad i kolację, nie wybierając żadnych ekskluzywnych dodatków, praktycznie wszystko mamy bez VAT. Podatek 5% dotyczy już między innymi wody mineralnej. A u nas? 22% lub więcej (jak jest planowane).

## Poczta i Banki

[![Royal Mail (Fot. Flickr, lic. CC by Ian Britton)](Royal-Mail-Fot.-Flickr-lic.-CC-by-Ian-Britton.jpg)](Royal-Mail-Fot.-Flickr-lic.-CC-by-Ian-Britton.jpg)

**Dzięki wszechobecnej konkurencji, Poczta na wyspach działa - i to bardzo sprawnie!**

Zakładając konto w banku, na dosłanie karty czeka się kilka do kilkunastu dni **(w Polsce)**, a tutaj? Pan listonosz przynosi ci list z kartą już na drugi dzień od założenia.

Wszystko działa tak jak powinno. A co jest śmieszniejsze, **w Polsce** wysyłając list polecony z jednego miasta do drugiego, z opcją Priorytetu, potrafi on iść nawet tydzień! **A nadany w Polsce do Angli**, już po przejściu granicy Polskiej dostaje takiego kopniaka, że w sumie po 3 dniach jest już w doręczeniu u listonosza.

**Banki są nieco zacofane.** Nie mają tutaj wpłatomatów. **Super wygoda z mBanku w Polsce**, to luksus w UK. Aby wpłacić pieniądze na swoje konto należy zrobić depozyt. Wypisać kartkę do wpłaty, opisać odpowiednio kopertę i włożyć do niej pieniądze. Następnie wrzucamy taką paczkę do depozytu i czekamy, aż pracownik banku ją pobierze i zaksięguje na naszym koncie – **ręcznie!** Dziwi mnie trochę fakt, że przecież maszyna jest tańsza w obsłudze i zarządzaniu niż człowiek, a w dodatku wygodniejsza i szybsza (jeżeli chodzi o księgowanie wpłat). W Polsce, wpłacając we wpłatomacie, już nawet po godzinie pieniążki mogą być dostępne, tutaj – to zależy, o której zrobimy depozyt – może to potrwać od 24 do 48 godzin (lub dłużej jak są święta itp.).

## Autobusy i kontrola biletów

[![British bus (Fot. Flickr, lic. CC by John ward)](British-bus-Fot.-Flickr-lic.-CC-by-John-ward.jpg)](British-bus-Fot.-Flickr-lic.-CC-by-John-ward.jpg)

**Brytyjczycy fajnie rozwiązali problem z biletami w autobusach i jazdą na gapę.**

Autobusy mają tylko jedne drzwi przy kierowcy. Każdy zobowiązany jest do pokazania biletu lub kupieniu go u kierowcy. Jeżeli -ów biletu nie mamy, może nas on wyprosić z autobusu.

Kierowcy mają też dodatkową robotę niestety - każdego pasażera ewidencjonują, względem posiadanego przez niego biletu. Pokazujemy bilet, który mamy na tydzień - na wszystkie autobusy (coś czego u nas nie ma!), to kierowca musi wcisnąć odpowiedni przycisk, aby odznaczyć, że był taki pasażer - z takim, i takim biletem.

Kontroli – naszych kanarów nie widziałem, ale domyślam się że istnieją. Ich praca zapewne polega na tym, aby kontrolować, czy na bilet wykupiony w obrębie miasta (Green Zone), nie jedziemy poza – gdyż wówczas są inne ceny.

Ogólnie jest ok. Mówisz kierowcy dokąd chcesz jechać, a on drukuje ci bilet i kasuje odpowiednią należność.

**Hmm....**

I to by było na tyle, jeżeli chodzi o mój pierwszy wpis o Anglii, z krótkiego pobytu. Zachęcam do przeglądania mojej strony, a napewno coś ciekawego jeszcze nabazgram.

_Pozdrawiam._


---
## PWR: Dobry kursant to wprawiony kursant
- **URL:** https://dariusz.wieckiewicz.org/pwr-dobry-kursant-to-wprawiony-kursant/
- **Date:** 2010-08-25
- **Tags:** Blog, bez szyby, dobre praktyki kierowców, instruktor, nauka jazdy, polska, pwr, rzeczywistość

### Content

**Niniejszy wpis poniekąd odnosi się do [PWR: Polska Wkurzająca Rzeczywistość](/pwr-polska-wkurzajaca-rzeczywistosc/), który polecam przeczytać.**

Szkoły nauki jazdy, są między innymi po to, aby nauczyć przyszłych kierowców, a obecnie kursantów, prawa w ruchu drogowym, poruszania się po drogach, ale również dobrych praktyk kierowców, zachowania na drodze i radzenia sobie w kryzysowych sytuacjach (chociażby teoretycznie).

Tutaj chce się odnieść do **Dobrych Praktyk Kierowców**.

<!--more-->

**Instruktor**, jako osoba wyżej postawiona, wykształcona, posiadająca odpowiednią wiedzę, umiejętności i uprawnienia, powinna w kursancie wykształcić autorytet, do którego to będzie dążył, aby być dobrym kierowcą.

A co powiecie, gdy Instruktor wpaja kursantom najgorsze przykłady z życia codziennego kierowcy.

**Sytuacja jest taka.** W trakcie wichury, lub stłuczki, stracimy tylną szybę w samochodzie. Kierowcy, jak to kierowcy, mają 2 rozwiązania. Po pierwsze, udać się na wymianę szyby - naprawę samochodu, lub prowizorycznie zabezpieczyć rejon uszkodzenia, na czas udania się do warsztatu. W tej drugiej sytuacji, poruszanie się przez doświadczonego kierowcę jest znacząco utrudnione i może powodować dodatkowe problemy na drodze.

A co powiecie na to, że Instruktor nauki jazdy, wsadza kursanta do niesprawnego samochodu i karze mu jechać. Czy to są dobre przykłady. Co taki kursant będzie robił, gdy spotka go podobna sytuacja. Na pewno nie odda samochodu do naprawy, bo może przecież odwalić prowizorkę - bo... tak przecież też robili instruktorzy na nauce jazdy.

**A teraz przykład** żądzy pieniądza Instruktorów nauki jazdy a nie dobrego imienia szkoły (szczególnie tych większych szkół - potężniejszych i bogatszych w regionie), poprawnego wykształcenia przyszłych kierowców, oraz dawania dobrego przykładu na drodze.

[![nauka jazdy bez szyby](nauka_jazdy_bez_szyby.jpg)](nauka_jazdy_bez_szyby.jpg)

Bez szyby to jeszcze nic, najlepsze jest, jak widzi się naukę jazdy z "rozwalonym" tyłem lub bokiem samochodu. Bo przecież, Instruktorzy wyznają złotą zasadę, **"jeżeli samochód jeździ to można na nim uczyć"** - totalna hipokryzja, ale takie są realia, i dlatego mamy później takich kierowców, którzy pokazują tylko najgorsze praktyki, bo nikt ich dobrych nie nauczył.

_Pozdrawiam._

{{% ads-in-article %}}


---
## Android: Nie można ustanowić z serwerem stabilnego połączenia transmisji danych
- **URL:** https://dariusz.wieckiewicz.org/android-nie-mozna-ustanowic-z-serwerem-stabilnego-polaczenia-transmisji-danych/
- **Date:** 2010-08-08
- **Tags:** Android, android, APN, factory, gmail.com, Google Checkout, HTC_IME, i5700, konto google, Market, root, samsung, wipe

### Content

> Niniejszy artykuł powstał w 2010 roku i niektóre jego elementy mogą już być nieaktualne, w związku z tym, proszę traktować go tylko w celach referencyjnych a niżeli sposób na rozwiązanie problemu.

"Nie można ustanowić z serwerem stabilnego połączenia transmisji danych" "Can’t establish a reliable data connection to the server"

<!--more-->

![Błąd Google Android](htc_hero_screen_27.jpg)

Jest to błąd, który pojawia się jak chcemy dodać dodatkowe (lub podstawowe) konto Google do telefonu z androidem. Jest on niezależny od producenta telefonu, modyfikacji, jakie w nim są zrobione oraz wersji systemu. Występuje on z niewiadomego powodu i powoduje nie lada problemy.

**Jeżeli czytasz niniejszy wpis, to sądzę że szukasz odpowiedzi jak go rozwiązać - a te, które znalazłeś w Internecie nie zawsze cię satysfakcjonują.**

Chodząc po forach, można wysnuć jedno - wszyscy zalecają zrobienie **Wipe**, czyli przywrócenie fabrycznych ustawień telefonu. Niestety, nie zawsze to przynosi pożądany skutek, a rozwiązanie to nie zawsze jest dobre, jak już dokonaliśmy sporych modyfikacji w telefonie i nie chcemy tego robić na nowo.

Otóż, problem da się rozwiązać i to bez formatu telefonu. Jedyne co jest nam potrzebne, to **ROOT**.

Telefon musi być **zrootowany**, czyli muszą być odblokowane funkcje użytkownika z najwyższymi uprawieniami w systemie - administrator.

Jeżeli chodzi o ROOTowanie, to odsyłam do [forum](http://forum.android.com.pl), gdyż osobiście używam **Samsunga i5700**, a w przypadku innych telefonów, rootowaneie może wyglądać nieco inaczej.

A teraz, przechodząc do sedna.... (mając już Roota), musimy usunąć katalog, przechowujący ustawienia operatora, a które były wprowadzone wraz z oprogramowaniem telefonu.

**Bez obaw**, nic nie zniknie, APNy również będą na swoim miejscu - jedynie co, to niektóre opcje się wyłączą (tak jak jest domyślnie po przywróceniu ustawień fabrycznych telefonu) i trzeba je będzie włączyć z menu - tj. Wifi czy zewnętrzne klawiatury np. HTC_IME (_ps. czytaj dalej_).

**1.** Potrzebujemy program, dzięki któremu będziemy mogli wprowadzać komendy w terminalu. Osobiście polecam [Terminal Emulator autorstwa Jack Palevich](http://www.appbrain.com/app/jackpal.androidterm). Oczywiście, można użyć innego.

**2.** W terminalu wydajemy komendy: _(komentarze # pomijamy)_

_\# przejście na prawa roota_

```
su
```

_\# usuwamy katalog ustawień. należy pamiętać, aby przepisać dokładnie i nie pomylić się, bo nieco namieszamy i będzie konieczne ponowne zainstalowanie oprogramowania w telefonie_

```
rm /data/data/com.android.providers.settings -r
```

_\# resetujemy telefon_

```
reboot
```

**3.** I po wszystkim. Teraz bez problemu będziemy mogli dodać konto Google, a komunikat o niemożliwości ustanowienia połączenia nie będzie się pojawiał.

Niniejszy sposób jest niezbędny, szczególnie tym osobom, które używają na co-dzień konta Google we własnej domenie (Google Apps), a chcąc dokonać zakupu płatnych aplikacji z Marketu. Google niestety zezwala tylko na zakup z wykorzystaniem konta w domenie _@gmail.com_, mimo, że istnieje możliwość ustawienia konta Google Apps w programie [Google Checkout](http://checkout.google.com/).

**\*) Minusy tej metody:**

- dźwięki w systemie ustawiają się na Ciche, i trzeba poustawiać na nowo
- sieci Wifi zapamiętane trzeba "zapomnieć" i powiązać na nowo
- w przypadku wgranych dodatkowych klawiatur, należy je uaktywnić na nowo
- większość opcji w "Ustawienia" należy przejrzeć, tak, jakby się miało nowy telefon i poustawiać na nowo.

_Mam nadzieje, że co nieco pomogłem._ _Pozdrawiam._

{{% ads-in-article %}}


---
## INPOST - InnaPoczta :)
- **URL:** https://dariusz.wieckiewicz.org/inpost-innapoczta/
- **Date:** 2010-05-11
- **Tags:** Blog, inpost, Koszalin, piotrków trybunalski, Poczta Polska, słupsk

### Content

Hmm... ten kto mnie zna, zapewne wie, jak bardzo **nienawidzę Poczty Polskiej**. PP używam tylko z przymusu, gdzie inne usługi nie działają lub są nieopłacalne, stąd też często wybieram **INPOST**.

<!--more-->

**INPOST jest na tyle fajny**, że każdą przesyłkę mam **monitorowaną** i wiem co się z nią dzieje.

Niestety, mała liczba punktów oraz krótkie godziny otwarcia są sporą barierą.

**Ostatnio jednakże INPOST powalił mnie na kolana :)**

Wysyłałem przesyłkę **z Koszalina do Słupska** (07.05.2010). Raptem **67km**. Nie daleko, więc powinna być szybko... ale jak było na prawdę?

**07.05** przesyłka nadana.

Następnego dnia sprawdzam gdzie jest (rozumiem, jest weekend, więc mogła zostać w Koszalinie, ale nie). Przesyłka jest **w... Piotrkowie Trybunalskim**, w sortowni :) **505km od Koszalina** - fajnie :)

I tak, **10.05** wyjeżdża **z Piotrkowa T. do Słupska... kolejne 540km**, żeby na **11.05** być w doręczeniu.

Nie jest źle.

Zapłaciłem za przesyłkę **8zł**, a to **że ich logistyka jest do bani** i dostarczają przesyłkę na odległości ok. 70km przez pół polski (ok. 1050km) to inna sprawa :)

Troszkę śmieszne. Bo to jest tak, jakby jechać z Kołobrzegu do Spotu przez Kraków :)

Mam nadzieję, że chociaż odbiorca przesyłki będzie z niej zadowolony i że przez te 1000km jej się nic nie stało :)

Pozdrawiam :)

{{% ads-in-article %}}


---
## Przywracanie Grub boot loadera po instalacji Windowsa
- **URL:** https://dariusz.wieckiewicz.org/przywracanie-grub-boot-loadera-po-instalacji-windowsa/
- **Date:** 2010-02-26
- **Tags:** Linux, boot loader, GParted, grub, grub2, Grub boot loadera, terminal, ubuntu, Windows, Boot Repair

### Content

Użytkownicy, którzy na swoich komputerach mają więcej niż jeden system operacyjny, mają niekiedy problem, jeżeli któryś z nich zawiedzie i trzeba go przeinstalować.

W przypadku użytkowania na jednym komputerze Windowsa i Ubuntu, podczas uruchamiania systemu, naszym oczom ukazuje się tzw. **Grub boot loader** (GNU GRUB), czyli okno wyboru systemu operacyjnego. Okno to jest częścią składową Ubuntu, ale również innych systemów z rodziny linux.

<!--more-->

## Wpis z 26 lutego 2010

Tak się zdarza, że moje Ubuntu zainstalowałem na stałe przeszło rok temu, chodzi bez problemów do dziś, jednakże Windows już nie jeden raz musiały być przeinstalowany.

Instalator systemu Windows **nie jest taki inteligenty** i bez pytania użytkownika nadpisuje sektor startowy dysku twardego (MBR), usuwając _Grub boot loadera_ i uniemożliwiając nam ponowne włączenie systemu Linux, z prostego powodu – iż nie mamy już go do wyboru, mimo że jest on zainstalowany.

Jak temu zaradzić, aby nasz ukochany system – Ubuntu, powrócił do żywych?

**Można trochę pogooglować, a wujek Google znajdzie nam sporo odpowiedzi.** Jako że niektóre są nieaktualne, inne nie działają. Postanowiłem przywołać tutaj wpis ze strony, który znalazłem na ubuntugeek.com.

**Co potrzebujemy:**

1. napęd CD-ROM
2. płytę CD z systemem Ubuntu ([pobierz](https://ubuntu.com/download) plik ISO i nagraj go na płytę CD)

Jak już wszystko mamy, uruchamiamy nasz komputer z płyty CD, po czym startujemy Ubuntu w trybie Live CD (czyli wybieramy pierwszą opcję, która nam się pokarze po wybraniu domyślnego języka dla systemu).

**Gdy nasz system się załaduje, uruchamiamy terminal:**

> Aplikacje > Akcesoria > Terminal

![Ubuntu terminal](ubuntu-terminal.png)

W terminalu, komendy musimy wydawać jako administrator (root), więc najpierw zaczniemy od komendy administracyjnej.

```
sudo -i
```

Moje Ubuntu zainstalowane jest na partycji **sda5**, partycja **/home** na **sda7**.

Jeżeli nie wiesz, gdzie znajdują, lub jak nazywają się poszczególne partycje, odpal program GParted.

![Ubuntu GParted](ubuntu_gparted_01.jpg)

A więc musimy najpierw podłączyć (podmontować) nasze partycje z systemem:

```
mount /dev/sda5 /mnt mount /dev/sda7 /mnt/home
```

Rozpoczynamy reinstalacje programu startowego:

```
grub-install --root-directory=/mnt/ /dev/sda
```

Jeżeli po ponownym uruchomieniu systemu, nie będziemy widzieli na liście systemu Windows, będziemy musieli wykonać je ponownie, ale już z zainstalowanego na dysku Ubuntu.

```
grub-mkconfig update-grub
```

Oczywiście, w systemie zainstalowanym na dysku, należy te komendy poprzedzić parametrem `sudo`.

I to wszystko. Całość wróciła do pozycji z przed instalacji systemu Windows.

**ps.** jeżeli podczas instalacji systemu Windows pozmienialiśmy co nieco ilość partycji, należy sprawdzić, czy montowane partycje zgadzają się z wpisami w pliku `/etc/fstab` (`/mnt/etc/fstab` - z poziomu Live CD).

{{% ads-in-article %}}

## Aktualizacja z 28 grudnia 2020

Powyższy wpis przygotowałem przeszło 10 lat temu, a mimo to nadal pokazuje się w głównych wynikach w Polskim Google, w związku z tym (w odpowiedzi na komentarze) postanowiłem go zaktualizować (mimo że Ubuntu używam tylko jako wirtualny system na macOS).

Od jakiegoś czasu nikt nie nagrywa płyt CD (a przy obecnym rozmiarze Ubuntu, płyt DVD), a do tego celu używamy pamięci przenośne – pendrive.

W związku z tym [pobieramy](https://ubuntu.com/download) odpowiedni obraz ISO z oficjalnej strony Ubuntu.

Do zapisania obrazu ISO na pendrive, tak, aby można było z niego uruchomić komputer, polecam program [balenaEtcher](https://www.balena.io/etcher/), o którym wspominałem [tutaj](/aplikacje-macos-top-10-2020/#balenaetcher) lub [Rufus](https://rufus.ie).

Uruchamiamy nasz komputer z dysku USB (nie będę opisywał jak to zrobić, gdyż zależy to od typu komputera, który używamy, w związku z tym odsyłam do Google).

[![Ubuntu z USB - GRUB](ubuntu-z-usb-grub.png)](ubuntu-z-usb-grub.png)

Na pierwszym ekranie startowym GRUB, systemu uruchomionego z naszego pendrive, wybieramy pozycję pierwszą **Ubuntu**. To pozwoli nam na uruchomienie systemu z pendrive bez konieczności instalacji.

[![Ubuntu z USB - Instalacja](ubuntu-z-usb-instalacja.png)](ubuntu-z-usb-instalacja.png)

Po włączeniu graficznego interfejsu mamy do wyboru język oraz dwie opcje. Pierwsza to _Wypróbuj Ubuntu_ (**Try Ubuntu**) a druga _Zainstaluj Ubuntu_ (**Install Ubuntu**).

Wybieramy _Wypróbuj Ubuntu_ i czekamy, aż nasz system się załaduje. W dużej mierze zależy to od prędkości naszego pendrive oraz typu portu USB, do którego go podłączyliśmy.

[![Ubuntu z USB - Pierwsze uruchomienie](ubuntu-z-usb-pierwsze-uruchomienie.png)](ubuntu-z-usb-pierwsze-uruchomienie.png)

Gdy naszym oczom ukaże się pulpit systemu, odpalamy **Terminal** z listy aplikacji w celu zainstalowania programu **Boot Repair**.

Domyślnie program Boot Repair nie jest dostępny w systemie i sama komenda `sudo apt install` nie wystarczy. W tym celu musimy dodać źródło (repozytorium) a dopiero rozpocząć instalację.

> Nim przejdziemy dalej, musimy połączyć się z internetem, czy to po Wifi, czy kablu.

```
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install boot-repair
```

Jeżeli wszystko wykonaliśmy prawidłowo, wykonując komendę `boot-repair` uruchomimy program do naprawy rozruchu komputera w przyjaznej postaci graficznej.

[![Ubuntu z USB - Boot Repair](ubuntu-z-usb-boot-repair.png)](ubuntu-z-usb-boot-repair.png)

Teraz wystarczy kliknąć przycisk **Rekomendowana naprawa**, który w 99% przypadków wykona wszystko za nas.

Następnie pozostaje nam uruchomienie komputera ponownie i sprawdzenie, czy wszystko działa.

> Dla zaawansowanych użytkowników dostępne są również **Opcje zaawansowane**.

[![Ubuntu z USB - Boot Repair - Opcje zaawansowane](ubuntu-z-usb-boot-repair-opcje-zaawansowane.png)](ubuntu-z-usb-boot-repair-opcje-zaawansowane.png)

Mam nadzieję że pomogłem.

Pozdrawiam.


---
## Windows 7 - wrażenia i dostosowanie
- **URL:** https://dariusz.wieckiewicz.org/windows-7-wrazenia-i-dostosowanie/
- **Date:** 2010-02-26
- **Tags:** Windows, CCleaner, hibernacja, KDE, laptop, Microsoft, przywracanie systemu, Quick Launch, Service Pack 1 dla Windows 7, usługi, VirtualBox, Windows 7 Professional, Windows Search

### Content

> Na początek zachęcam do zapoznania się a artykułem: [Windows Vista przyśpiesza...](/windows-vista-przyspiesza/), gdyż część elementów tutaj poruszanych, aby nie dublować będzie w wersji skróconej do rozsądnego minimum.

Jeszcze przed nowym rokiem udało mi się nabyć _laptopa-perełkę_ w bardzo atrakcyjnej cenie, wraz z systemem **Windows 7 Professional** na pokładzie. Jako, że za pomocą VirtualBoxa, miałem już do czynienia z tą wersją okienek, to teraz będę na nim pracował na komputerze firmowym na stałe.

<!--more-->

W związku z tym, pragnę podzielić się z wami moimi obserwacjami, opiniami, oraz zebrać sporą listę udogodnień i usprawnień w jeden wpis, tak, aby w łatwy sposób można było dostosować i przyśpieszyć działanie systemu Microsoftu.

Jeżeli ktoś przechodzi na Win7 z XP, to nauki ma sporo, ale w przypadku przesiadki z Visty, zmieniło się nie aż tak dużo. **Nie aż tak dużo, aby wydawać nowy system**. Ale to właśnie jest marketing i nabijanie kasy, a tak naprawdę, ulepszenie i przyśpieszenie poprzedniego systemu. Ale biznes musi się kręcić i niestety tak jest.

Pierwsze co się nam rzuca w oczy to nowy pasek start. Jest: _"paskudny"_, kwadratowy, duży! Wygląda jak z KDE (Linux), choć i on jest trochę lepszy od tego z Win7.

## Wygląd

Pierwsze co, to oczywiście zmienić jego wygląd, oraz zachowanie. Szczególnie nie przypada mi do gustu wyświetlanie uruchomionych programów w ikonkach, zamiast w listwach z tytułem okna.

**Zmiana wyglądu paska zadań**

Klikamy _prawym przyciskiem myszy_ na pasku i wybieramy **Właściwości**. Tam wybieramy _"Użyj małych ikon"_, oraz w miejscu **Przyciski paska zadań: Scalaj, gdy pasek zadań jest pełny**. Zatwierdzamy OK. Odrazu lepiej :).

## Kontrola użytkownika

Jak zauważyłem, Win7 zużywa na starcie systemu mniej pamięci (nie mylić z buforowaną) niżeli Vista, co jest plusem. Zmorą Visty była również **kontrola użytkownika**, która w tym wydaniu nie pojawia się tak często, chociażby przy wejściu Menadżer urządzeń, kolejny plus. W Viście pierwsze co robiłem, to ją wyłączałem. W Win7 można by było to zostawić, ale ja dla własnego spokoju i pełnej kontroli to wyłączam.

> Start > Panel sterowania > Konta użytkowników > Zmień ustawienia funkcji Kontrola konta użytkownika

i przesuwamy suwak do dołu.

**Microsoft jednak potrafi się uczyć.** Przycisk zamykający system w Viscie domyślnie wstrzymywał komputer. Naszczęście, Win7 już ma to zrobione w sposób poprawny i intuicyjny a w dodatku w pełni konfigurowalny.

**Niestety,** Internet Explorer znowu jest domyślną przeglądarką. Ale chwali się to, że w wersji dla firm jest program Windows Media Center, którego w wersji Vista Bussines nie było.

**Idąc w stronę energooszczęności,** domyślnie w systemie wyłączony jest wygaszacz ekranu, który został zastąpiony poprostu poprzez wygaszenie ekranu po 10 minutach.

## Indeksowanie

**Kolejny raz MS zmusza nas do jego technologii indeksacji plików** ...(o zmoro!)**.** W XP domyślnie opcja ta była wyłączona, a w Viście zagościła na dobre. Spowodowało to wielkie spowolnienie systemu, szczególnie, jeżeli na dysku mieliśmy sporo plików. Ich zindeksowanie trwało i trwało, dysk wiecznie pracował a system działał jak na starym komputerze, więc standardowo ją **wyłączam**.

> W usługach systemu (`services.msc`) wyłączam **Windows Search**. Zakańczamy proces oraz typ uruchomienia zmieniamy na **wyłączony**.

**Windows Vista** posiada również włączoną domyślnie **usługę wprowadzania na komputerze typu tablet**, nawet, gdy komputery nie miały dotykowego ekranu. **W Win7 na szczęście** nie muszę już tego wyłączać, gdyż typ uruchomienia ustawiony jest na ręczny.

## Ikony na pulpicie

Ikony na pulpicie od czasu Visty stały się **baaardzo duże**, na tyle duże, że niewiele mieści się na ekranie. Na szczęście, łatwo to zmienić.

> Wciskamy przycisk _Ctrl_ i poruszamy rolką myszy dostosowując wielkość ikon do takiej, która będzie nam odpowiadać.

**Oprócz wielkości ikon, należało by zmienić odległość pomiędzy nimi.**

> Prawym przyciskiem myszy na pulpicie wybieramy _Personalizuj_. Wybieramy z dołu _Kolor okna_, a następnie _Zaawansowane ustawienia wyglądu_. Tam w pozycji _Elementy_ wyszukujemy _Rozmieszczenie ikon_. **Dla pozycji (pionowe) preferuję z 48 na 38, natomiast (poziome) z 78 na 48.**

**Zaskakujące**, że to co działa w innych okienkach, w Win7 nie zadziałało... Na szczęście, po ponownym uruchomieniu systemu, wszystko jest tak jak ustawiłem.

Pora na **bardziej zaawansowaną konfigurację**, więc pora przejść do Panelu sterowania.

To co w Windowsach od XP mi się nie podobało, to grupowanie elementów w Panelu sterowania, choć ma to też swoje dobre strony, jednakże zawsze to przełączałem do wyglądu klasycznego. W przypadku siódemki, tej _opcji na pierwszy rzut oka nie mogłem znaleźć_.

_Zmienić to można poprzez modyfikację widoku w prawym górnym rogu_. Przy zmianie Widoku według Kategorii, na duże lub małe ikony przywraca conieco równowagę. Wg mnie, najbardziej przejrzysty widok jest w przypadku _Małych ikon_.

## Hibernacja

Bardzo przydatna funkcja, jeżeli się z niej korzysta. W moim przypadku, gdy korzystam z 2 systemów, nie jest mi ona potrzebna więc domyślnie ją wyłączam.

> Tudzież, aby nie grzebać i szukać, poprostu z `cmd` wpisuję `powercfg -h off`.

W przypadku, gdy korzystamy z włączonej kontroli użytkownika, należy wykonać powyższą operację z prawami administratora. W związku z tym, tworzymy na pulpicie skrót co **cmd** i uruchamiany jako **administrator prawym przyciskiem myszy**.

## Pasek szybkiego uruchamiania

W Windows 7 go poprostu nie ma, a dokładniej został usunięty i prawie nie ma możliwości jego prostego przywrócenia.

Hmm... akurat z niego korzystam, bardziej niż doczepianych ikon do paska zadać.

Aby go przywrócić, klikamy _prawym przyciskiem myszy_ na na wolnej przestrzeni paska i wybieramy _Paski narzędzi_, po czym _Nowy pasek narzędzi_. W tym miejscu wklejamy poniższy wpis:

```
%userprofile%\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch
```

Po czym, klikamy _Wybierz folder_.

Klikając na dodanym pasku _prawym przyciskiem myszy_, odznaczmy _Pokaż tekst_ i _Pokaż tytuł_.

Teraz wystarczy go odpowiednio przesunąć i wszystko jest już znacznie lepiej (patrz podgląd).

**Dalej...**

Windows jak windows, łasuje niepotrzebnie pełno usług na starcie, nawet, gdy z nich nie korzystamy. Tutaj podobnie jak w Vista, możemy je powyłączać.

Warto również wyłączyć część tzw. wodotrysków, czyli upiększeń, płynnych przejść, które jedynie sprawiają wrażenie ociężałości systemu.

Aby nie dublować, odsyłam tutaj:

> [Windows Vista przyśpiesza](/windows-vista-przyspiesza/)

{{% ads-in-article %}}

## Przywracanie systemu

W Windows Vista Microsoft zrezygnował z możliwości określenia, ile miejsca na dysku przeznaczane jest na tzw. przywracanie systemu w przypadku wystąpienia problemów. Rozwiązywała to odpowiednia komenda ([przykład](/windows-vista-przyspiesza/)).

> W Windows 7 klikamy **2gim przyciskiem myszy** na ikonie **Komputer**, wybieramy **Właściwości**.
>
> W otworzonym oknie, po lewej stronie wybieramy **Zaawansowane ustawienia systemu**, po czym w otworzonym oknie, zakładkę **Ochrona systemu**.

W tym miejscu dostrzeżemy przycisk **Konfiguruj**, gdzie możemy zmienić ilość miejsca na dysku przeznaczonego na tworzenie punktów przywracania. Osobiście polecam wybór ok. 3GB.

> **Aktualizacja:** 23 luty 2011

## Oczyszczanie dysku

Pogodnie jak w przypadku mojego wpisu na temat Windows Vista ((/windows-vista-przyspiesza/)), po każdej instalacji aktualizacji, oraz po dłuższym czasie użytkowania systemu, na naszym dysku pozostaje pełnio śmieci, które tylko powodują zbędne zajmowanie miejsca. Większość śmieci można usunąć, korzystając na codzień z programu **[CCleaner](http://www.ccleaner.com/)**, ale są też takie, które nie są przez niego wyłapywane. Mowa tutaj o **plikach kopii zapasowej dodatków Service Pack** czy **raportowania błędów systemu Windows**. Pliki te, niekiedy mogą przybrać nieźle na wadze, przekraczając niekiedy kilka GiB danych.

Aby je usunąć (szczególnie te pierwsze), nie możemy użyć polecenia `compcln`, jak to było w Viscie. W tym przypadku należy użyć oprogramowania **Oczyszczania dysku**, zaimplementowanego standardowo do systemu Windows.

A więc, uruchamiamy program:

> **Start** > Wszystkie programu > Akcesoria > Narzędzia systemowe > **Oczyszczanie dysku**

Następnie wybieramy dysk systemowy (w większości przypadków **dysk C**) i potwierdzamy przyciskiem **OK**. Po krótkiej (lub nieco dłuższej) analizie ukaże się nam okno z możliwością zaznaczenia plików do usunięcia.

**Nie ma co się tutaj obawiać i spokojnie zaznaczyć wszystko na liście.**

W miejscu **Uzyskane miejsce na dysku razem** można zobaczyć nawet niezłą sumkę, która w moim przypadku, po zainstalowaniu **Service Pack 1 dla Windows 7** wyniosła ok. 1,62 GiB.

I to by było na tyle. Od czasu do czasu (raz na miesiąc lub rzadziej) można zajrzeń do Oczyszczania dysku. Jednak do codziennej pracy wystarczy całkowicie **CCleaner**.

**Pozdrawiam.**



---
## Czas relaksu, nostalgi i wspomnień
- **URL:** https://dariusz.wieckiewicz.org/czas-relaksu-nostalgi-i-wspomnien/
- **Date:** 2010-01-09
- **Tags:** Na Luzie, Echoes In Time, esgi, Jamendo, nostalgia, Relax

### Content

<!--more-->

"W wolnej chwili, chwili, w której czas przestaje płynąć, a siła wyobraźni rozbudza nasze marzenia, nastaje czas wspomnień. Wspomnień, tych, które już się nie powtórzą, a za którymi tęsknimy. Beztroski i swobody, której nie docenialiśmy, a za którą łza się w oczach kręci. W tych chwilach wspominamy naszych znajomych, z którymi, te oto chwile spędziliśmy."

Coś co przywołuje te wspomnienia, jest z pewnością muzyka - dobra muzyka.

{{% ads-in-article %}}


---
## PWR: Co wolno wojewodzie...
- **URL:** https://dariusz.wieckiewicz.org/pwr-co-wolno-wojewodzie/
- **Date:** 2009-12-18
- **Tags:** Blog, 500zł, intermarche, Koszalin, mandat, Miejsce dla niepełnosprawnych, parking, Policja, pwr

### Content

> Wpis z serii _Polska Wkurzająca Rzeczywistość_

Ostatnio, korzystając z parkingów pod supermarketami, zastanawiałem się, po co są tam ustawione znaki drogowe, skoro policja, bez zgłoszenia przez właściciela terenu nie może ukarać nikogo, kto się do nich nie stosuje, gdyż jest to teren prywatny.

<!--more-->

Nagminne staje się zatrzymywanie "w pełni sprawnych" kierowców w ich bogato wypasionych furach na miejscach dla niepełnosprawny. Bezmyślność ludzka nie zna granic, a skoro ma się pieniądze i nie ma się w sobie poczucia godności, oraz nieco "mózgu", aby pomyśleć, jakie to jest nieszczęście, będąc nie w pełni sprawnym - oraz jaką trudność wyrządzamy, dla tych, dla których te miejsca są przeznaczone, to chyba nic "im" nie jest w stanie tego wytłumaczyć.

Zgodnie z Polskim prawem o ruchu drogowym oraz taryfikatorem, **za parkowanie na miejscu dla niepełnosprawnych, nie posiadając ku temu stosownego uprawnienia wraz z oznakowaniem, zapłacimy 500zł mandatu i 5 punktów karnych.**

Wszystko by było fajnie, gdyż jestem tego zwolennikiem, aby karać takie osoby, ale w tej chwili na usta ciśnie mi się inne stwierdzenie (nieco bardziej kulturalne), a mianowicie:

> "Co wolno wojewodzie, to nie tobie, narodzie."

**Dlaczego? Przykład w postaci zdjęcia.**

[![przywileje policji](przywileje-policji.jpg)](przywileje-policji.jpg)

Parking przy supermarkecie, radiowóz nie dosyć że stoi na miejscu dla niepełnosprawnych (niewybaczalne) to jeszcze na dwóch miejscach postojowych (jest zima, więc jeszcze na to można przymrużyć oko).

**I kto tutaj ma dawać dobry przykład?**

{{% ads-in-article %}}


---
## Poczta Polska - Przyśpieszamy* - z gwiazdką
- **URL:** https://dariusz.wieckiewicz.org/poczta-polska-przyspieszamy-z-gwiazdka/
- **Date:** 2009-12-15
- **Tags:** Blog, konkurencja, Monopolista, Nienależyte wykonanie, Opóźnienia, Poczta Polska, Pocztex, Priorytet, PRL, Przesyłki PRIORYTETOWE krajowe, Regulamin Poczty Polskiej, standard doręczenia, stonka, Tragedia, usługa dodatkowa, ustawa o prawie pocztowym, VAT

### Content

Czy nie zalewa was biała gorączka, gdy słyszycie reklamę Poczty Polskiej z tekstem "_Paczka priorytetowa - przyśpieszamy_", a znowu dostajecie przesyłkę spóźnioną! Bo mnie bardzo!

Ostatnio, obecnym miesiącu Grudniu (2009) opublikowano, że jakość doręczeń poczty polskiej spadała z nieco powyżej 80% w roku (2008) na wartość poniżej 60% w obecnym. **Czyż to nie tragiczne?**

<!--more-->

Ale tak to jest, jak się jest monopolistą i to jeszcze niebędący w pełni VATowcem (zwolnieni z VATu), podczas, gdy wszyscy inni, alternatywni doręczyciele, muszą kombinować, aby nie naruszyć ustawy o świadczeniu powszechnych usług pocztowych, oraz od każdego przychodu odliczyć VAT.

Instytucja, jaką jest Poczta Polska, to instytucja, która zatrzymała się w czasach PRLu, gdzie, gdy przychodzi "petent", zamiast słowa _Dzień dobry, czym mogę pomóc?_ słyszymy **"Czego!"**.

Ale cóż na to poradzimy, pracownicy, który pracują na Poczcie, dobrze wiedzą, że nie ma alternatywnych operatorów, tak dostępnych szaremu użytkownikowi, jak oni.

Głównym hasłem reklamowym, czy to puszczanym w radiu i telewizji, oraz masowo naklejanym na samochodach pocztowych, jest to tytułowe.

Otóż, wykupując usługę dodatkową, czyli przysłowiowy **PRIORYTET**, czy oby na-pewno będziemy mieli szybciej zrealizowaną usługę? Szczególnie w czasie świąt?

**Odpowiedź jest jasna:** **NIE**. Bo po co, skoro Poczta Polska wprowadziła **PRIORYTET**, ale jest to usługa dodatkowa, nie gwarantowana! Nikt nie może nam obiecać, że Priorytet, rzeczywiście będzie szedł szybciej, a niżeli list lub paczka bez tej usługi.

Zgodnie z Regulaminem poczty polskiej, różnica pomiędzy tzw. usługą ekonomiczną a priorytetową opisana jest w "_standardzie doręczenia określonego w załączniku nr 2 do rozporządzenia"_.

Otóż, jakiego rozporządzenia? Regulamin, to tylko zbity tekst, nie ma załączników. Jeżeli chodzi o rozporządzenie, to zapewne chodzi _o Ustawę o prawie pocztowym_. Jednakże, również i tam nie ma tego, do czego odwołuje się Poczta Polska w swoim Regulaminie.

Spędziłem kilka godzin na próbie znalezienia, chociażby zarysu tzw. "standardu doręczenia" ale na próżno. **Orientacja na klienta, a szczególnie przejrzystość informacji jest zerowa!**

Drugą kwestią jest fakt, iż nawet jeżeli skorzystamy z opcji Priorytetu, to **nie mamy na to gwarancji**, co de-fakto można zrozumieć, że wywalamy pieniądze w błoto, skoro **mniej niż 60%** przesyłek nadanych jako Priorytetowe, rzeczywiście dojdą w czasie ustalonym przez Pocztę.

**Jeżeli chodzi właśnie o czas.**

Na stronie Poczty Polskiej, znajdziemy wytłumaczenie co oznaczają _Przesyłki PRIORYTETOWE krajowe_.

> Otóż, mówią one o tym, iż będą one "dostarczone następnego dnia roboczego pod dniu nadania, jeżeli zostaną nadane do godziny 15. Oczywiście, po 15, to tak jakby były nadane następnego dnia.

Ale czytajmy dalej...

> "podany termin doręczenia nie jest terminem gwarantowanym tylko deklarowanym"

W takim razie za co płacimy, skoro równie dobrze pani w okienku może nam powiedzieć, że przesyłka dojdzie na jutro, ale nie daje na to gwarancji (a zapłacić trzeba) jak równie dobrze może przyjść za tydzień, i nic na to nie poradzimy.

**To jest dopiero absurd całej sytuacji.**

Przeanalizujmy inną sytuację, w przypadku jeżeli już skorzystaliśmy z Priorytetu, co nam to daje.

Po zagłębieniu się w gąszcz papierów, **NIC**.

Co możemy zrobić, gdy nadamy "list polecony priorytetowy" w czwartek rano, a dostaniemy go w godzinach popołudniowych we WTOREK!?

To jest **5 dni**, ale patrząc na dni robocze (mimo że poczta działa i listonosze chodzą w Soboty, to nie jest ona dniem roboczym), od momentu wysłania do doręczenia minęły **3 dni** robocze (D+3). Wg opisu usługi Priorytetowej, termin ten powinien wynosić D+1.

**Pierwsze co nam przychodzi na myśl, to złożenie reklamacji.**

W moim przypadku, jako że byłem odbiorcą, wg "szanownych" pań z Poczty, nie mogę złożyć Reklamacji.

Z tym się nie zgodzę, gdyż z Art. 61 Ustawy o prawie pocztowym wynika

> W przypadku (...) nienależytego wykonania powszechnej usługi pocztowej (...) prawo do wniesienia reklamacji przysługuje nadawcy albo adresatowi - gdy nadawca zrzeknie się na jego rzecz prawa dochodzenia roszczeń albo gdy przesyłka (...) zostanie doręczona adresatowi.

Niestety, Panie z Poczty są tak wytrenowane i przeszkolone, aby "zagadać" tak osobę, która chce złożyć Reklamację, że nie-pozwolą tego dokonać, twierdząc, że jedynie możemy złożyć skargę. A poza tym dodadzą, że jedyną gwarantowaną usługą jest _Pocztex_. Kolejna licha usługa, z której nigdy nie skorzystam... wolę kurierów UPS.

No dobrze, skoro panie nie chcą nam wydać druku do Reklamacji (lub przyjąć), _spróbujmy ze skargą_.

**Ale tutaj natrafiamy na kolejny haczyk - czy może lepiej Gwiazdkę, pod którą ukryta jest sentencja:**

> W przypadku doręczenia przesyłki listowej priorytetowej (mowa o poleconej) w terminie późniejszym niż w 4 dniu po dniu nadania, adresatowi lub nadawcy przysługuje prawo do wniesienia skargi z tytułu opóźnionego doręczenia przesyłki listowej.

Światełko w tunelu? Otóż nie, bo mimo że przesyłka nie doszła w terminie D+1, to zmieściła się w terminie D+4, po którym to możemy na kogokolwiek i na-cokolwiek składać skargę.

W tej sytuacji, **nic nie możemy zrobić** (i nie pomoże tutaj również Rzecznik Praw Konsumenta), gdyż Poczta sformowała sobie wewnętrzne regulaminy w taki sposób, aby jak najbardziej nagiąć Ustawę, oraz aby jak najmniej reklamacji załatwić pozytywnie.

**Niestety, nie ma tutaj zmiłuj się. Żadne Przeprosiny z tytułu opóźnienia - słowo "przepraszam" z ust takiego monopolisty nie padnie. Panie jedynie wydrą się, pokażą że tak naprawdę to my powinniśmy się cieszyć, że  mogliśmy skorzystać z ich usług, a nie odwrotnie.**

_Jednym słowem_, **Poczta Polska to PRLowska tragedia**, choć wszystkie ustawy, akty i rozporządzenia sięgają dawniejszych czasów, ale ze względu na mój wiek, mogę to porównać tylko do tamtego okresu.

Mam nadzieję, że już niedługo Poczta straci swój monopol i zacznie doceniać swoich klientów, którzy przez ich niekompetencję i notoryczne opóźnianie przesyłek, nie mogą sprawnie i bezproblemowo prowadzić działalności gospodarczych!

**To by było na tyle, chętnie podyskutuję w komentarzach, więc chętnych zapraszam do dyskusji.**

Pozdrawiam.

{{% ads-in-article %}}


---
## DNSy od Google - Rewelacja? Nie w Polsce.
- **URL:** https://dariusz.wieckiewicz.org/dnsy-od-google-rewelacja-nie-w-polsce/
- **Date:** 2009-12-04
- **Tags:** Blog, Internet, Aster, Chello, Dialog, dns, google, Google DNS, Huawei E180, iPlus, Microsoft, Motorola, OpenDNS, SB5101E, Skynet, Terminator, TKK, TPSA

### Content

W dniu wczorajszym (03.12.2009) większość blogów i stron informacyjnych IT zawierała newsa odnośnie uruchomienia przez Google publicznego serwera DNS.

Nie powiem, na co-dzień korzystam z szeregu usług Google i bardziej ufam rozwiązaniom tej firmy niż choćby Microsoftowi. Jednakże uruchomienie publicznego serwera DNS, nasunęło mi całkiem inne spojrzenie na rzeczywistość. Szczególnie, że w ostatnich tygodniach, co-najmniej jeden News na portalach, dotyczył właśnie Google.

<!--more-->

Całość nasuwa mi wizję Skynet’u z filmu Terminator. Google opanowuje wszystko i wszystkich… więc nie ma się co dziwić, że niektórym się to nie podoba.

Ale tym razem nie o tym chciałbym porozmawiać.

Google uruchomiło swój DNS z twierdzeniem, że jeżeli mamy zacząć „przyśpieszać” Internet, to powinniśmy to uczynić od szybkich DNSów.

Łukasz Więcek na swoim **[blogu](http://więcek.pl/czy-google-public-dns-rzeczywiscie-przyspieszy-internet.html)** opublikował „swój” test, czy rzeczywiście, serwery DNS od Google w sposób znaczący przyśpieszą nam działanie sieci. Mówię „nam„, gdyż mam na myśli Polskich użytkowników.

Wg jego testu, na 6 usługodawców internetowych, Google DNS uplasował się ze średnim wynikiem **53,75ms** na 6 miejscu. 

Nieco zdziwiony dobrymi wynikami innych operatorów, a nie mówię tu o TPSA, postanowiłem sprawdzić tą sytuację w moich warunkach. 

Na co-dzień korzystam z lokalnego operatora kablowego ([_TKK Koszalin_](http://tkk.net.pl)) oraz operatora mobilnego Polkomtel ([_Plus GSM_](http://www.iplus.pl)) z użyciem iPlusa. 

**W związku z tym, postanowiłem przeprowadzić własne testy.**

W przypadku kablówki, podłączyłem się poprzez kabel _ethernet_ i modem **Motorola SB5101E** (prędkość od 1 do 2,5MiB/s). Z usługi _iPlusa_, korzystam przy pomocy modemu [**Huawei E180**](/huawei-e180-w-windows-64bit/) w technologii **HSPA** (Odbiór do 7,2MiB/s i wysył przeszło 2MiB/s).

Oto moje spostrzeżenia. Do testu użyłem nieco zmodyfikowanego skryptu, co przywoływany Łukasz.

Oprócz wykorzystanych DNSów przez Łukasza, dodałem jeszcze te, wykorzystywane przez operatora kablowego i Plusa. Kolejno **83.145.129.234** i **212.2.96.51**. **Oto wynik z łącza kablowego**

[![tab_1](tab_1.png)](tab_1.png)

[![tab_1_wynik](tab_1_wynik.png)](tab_1_wynik.png)

_Bezkonkurencyjny zwycięzca - lokalny operator (TKK). Google uplasowało się na miejscu ostatnim (8)._ Jak widać, wszystko zależy od tego, od kogo mamy łącze i czy działamy przez DNSy naszego operatora czy cudzego - stąd też, wyniki, za obiektywne nie można uznać.

**Skorzystałem jeszcze z łącza iPlusa.**

[![tab_2](tab_2.png)](tab_2.png) 

[![tab_2_wynik](tab_2_wynik.png)](tab_2_wynik.png)

_Telekomunikacja i Aster na pierwszym miejscu, Google kolejny raz na ostatnim._ 

Aby móc porównać wyniki dla różnych łączy, przydało by się jeszcze jedno. Oto wynik przeprowadzony dla łącza 

**DSL 8MiB** od **Telekomunikacji Polskiej**. 

[![tab_3](tab_3.png)](tab_3.png)

[![tab_3_wynik](tab_3_wynik.png)](tab_3_wynik.png)

_W tym jednak przypadku, niechlubną - ostatnią pozycję przejął OpenDNS. Ku zdziwieniu, na pierwszym miejscu nie było TPSA, tylko DNS z Kablówki Koszalin :)_ 

**Sumując:** 

[![suma](suma.png)](suma.png) 

_Niestety, Google w Polsce nie przyśpieszy, a wręcz zwolni korzystanie z Internetu._

> **Tutaj po-prostu zacytuję Łukasza Więcka:** _"Wiadomo, że szybciej będzie nam działał średniej klasy serwer znajdujący się po drugiej stronie ulicy, niż super szybka maszyna na drugim końcu świata."_

Od siebie dodam tylko, że operatorzy starają się również dobierać tak serwery DNS, aby "_ich_" użytkownicy mieli jak najlepiej, a niekoniecznie ci, którzy działając u jednego operatora, korzystają z serwerów drugiego (_choć nie zawsze_). 

Pozdrawiam.

{{% ads-in-article %}}


---
## HP Color LaserJet 2600n w Ubuntu - Jakość wydruków
- **URL:** https://dariusz.wieckiewicz.org/hp-color-laserjet-2600n-w-ubuntu-jakosc-wydrukow/
- **Date:** 2009-12-02
- **Tags:** Linux, foo2zhs, google, HP Color LaserJet.0n, hplip, PhotoDisc, ubuntu

### Content

Ostatnimi czasy, stałem się posiadaczem drukarki laserowej - kolorowej. Jako że jej cena oraz koszt eksploatacyjny nie jest wygórowany, jak na zastosowanie domowe oraz biurowe, postanowiłem ją używać w obu lokalizacjach.

<!--more-->

Na co-dzień użytkuję Ubuntu Linux oraz w skrajnych przypadkach Windows Vista (tylko dlatego, że jest razem z laptopem).

Drukując teksty, drobne zdjęcia w systemie Windows, jakość wydruków na moje drukarce jest wysoce zadowalająca. Niestety, w Ubuntu, cały entuzjazm opadł.

Drukarkę użytkuję podłączoną do sieci LAN. Jako, że wszystkie inne drukarki bez problemu zainstalowałem, postanowiłem zrobić to samo, również w tym przypadku, czyli: **System > Administracja > Drukowanie**, i dodajemy nową.

## Pierwsze rozczarowanie - Sterowniki Ubuntu

W Ubuntu, standardowo nie ma sterowników do tej drukarki, ale można je doinstalować z repozytoriów. Tak też zrobiłem. Jak już wszystko dobrze poszło, zarzuciłem stronę testową i... i nic. Dane niby zostały wysłane do drukarki, ale nic nie zostało wydrukowane. Zacząłem więc googlować.

## Drugie rozczarowanie - Sterowniki foo2zjs

Po chwili poszukiwań, natrafiłem na forach do strony, na którą wszyscy kierują, a na której to znajdują się sterowniki **[foo2zjs](http://foo2zjs.rkkda.com "foo2zjs")** obsługujące poprawnie moją drukarkę. Ucieszony zacząłem je pobierać.

Pobrany plik okazał się źródłem (source), które należało skompilować we własnym zakresie.

Nie będę tu pisał, jak to zrobić, bo są do tego pliku załączone stosowne instrukcje (**INSTALL** i **README**). Napiszę jedynie w skrócie co i jak.

Po skonfigurowaniu (`./configure`), skompilowaniu (`make`) oraz zainstalowaniu (`make install`), wziąłem się za instalowanie drukarki standardową metodą.

Drukarka zainstalowała się poprawnie, choć - pierwsze co trzeba było zrobić, to we właściwościach przestawić ją na tryb kolorowy, bo domyślnie drukowała w B/W.

Oprócz ustawienia trybu kolorowego, mamy jeszcze możliwość określenia gęstości druku (1 bit/2 bit).

Rozpocząłem testowanie od domyślnej opcji **1 bit**. Efekt poniżej.

[![hp_color_2600n_foo2zjs](hp_color_2600n_foo2zjs.jpg)](hp_color_2600n_foo2zjs.jpg)

Kolory zostały nieco podbite a kontrast zbytnio zwiększony, mimo tego wydruk poszedł. **Ale jakość jest tragiczna**. Jako obrazek testowy użyłem zdjęcia testowego PhotoDisc znalezionego w Google.

[![PDI_Test_Image](PDI_Test_Image.jpg)](PDI_Test_Image.jpg)

Efekt wydruku w porównaniu z oryginałem był tragiczny. Zdjęcie składało się z okręgów, całość wytarte i wyglądające jak na wydrukach słabej jakości gazety codziennej.

Pierwsze co zrobiłem, to przełączyłem się na Windowsa, aby sprawdzić, jaki efekt tam uzyskam.

Okazało się, że wydruk poszedł bez problemu i efekt był dużo bardziej zadowalający, niemalże taki jak na oryginale.

W związku z tym, powróciłem do Ubuntu i spróbowałem z wydrukiem **2 bit**. Niestety, nie było do dobry pomysł, bo okręgi może i zniknęły, ale całość była tragiczna (niewarta pokazywania).

Znowu zacząłem Googlować...

## Do 3x sztuka

Nareszcie, po dłuższych poszukiwaniach trafiłem na oryginalną [stronę HP ze sterownikami dla systemu Linux](http://hplipopensource.com/hplip-web/index.html) (lol!).

_Nasycony nadzieją, rozpocząłem pobieranie HPLIP._

Formularz, który musiałem wypełnić posiadał do wyboru szereg dystrybucji oraz drukarek, które sterownik ten obsługuje. Również mój system oraz drukarka w nim się znalazła, a więc postanowiłem spróbować.

Plik, który należało pobrać (`hplip-3.9.10.run`) zajmował **20MB**.

Po jego popraniu, rozpocząłem instalację w terminalu:

```
sh hplip-3.9.10.run
```

Tutaj również, nie będę się rozwodził nad sposobem instalacji, gdyż jest on intuicyjny i w przejrzysty sposób opisany (oczywiście po Angielsku). Wobec tego, [odsyłam tylko do instrukcji](http://hplipopensource.com/hplip-web/install/install/index.html), a ja skupię się na efekcie końcowym.

Po przejściu całego procesu, pobraniu przez instalator brakujących składników w systemie, wziąłem się za wydruk.

[![hp_color_2600n_hplip](hp_color_2600n_hplip.jpg)](hp_color_2600n_hplip.jpg)

Powyżej jest efekt. Powiem tak, że jest on bardzo zbliżony do wydruku Windowsowego, wobec czego, jestem bardzo zadowolony, gdyż jest taki, jaki powinien być.

Oczywiście, kolory są bardziej sprane, w stosunku do tych ze sterowników **foo2zjs**, ale bardziej odzwierciedlają te z oryginału. Kolor szary jest bardziej niebieski, ale z tego co zauważyłem to raczej kwestia materiałów eksploatacyjnych.

Wydruk poszedł zaraz po skończeniu instalacji. Bez mieszania w opcjach i konieczności przestawiania na Kolor. Zapewne, po głębszym szperaniu w opcjach, efekt był by jeszcze lepszy, ale ten co jest, już jest rewelacyjny w porównaniu do opcji z **foo2zjs**.

Nie chcę tu dyskryminować twórcy sterowników **foo2zjs**, gdyż odwala on bardzo dobrą i ciężką robotę, ale w przypadku tego typu drukarek liczy się efekt końcowy, a nie tylko fakt, że mamy już jako tako - kolor.

Wobec tego, **HPLIP** wygrał pod względem jakości wydruków.

Jeżeli macie podobną drukarkę, to zachęcam do użycia trzeciego rozwiązania, a z efektów zapewne będziecie zadowoleni.

Jedyne co mogę zauważyć przy wydrukach użytkując sterownik HPLIP, iż kolor jest nieco przesunięty, ale może to tylko kwestia kalibracji.

**Puki co, wersja HPLIP 3.9.10 obsługuje 1949 drukarek, więc warto spróbować.**

Pozdrawiam.

{{% ads-in-article %}}


---
## PWR: Polska Wkurzająca Rzeczywistość
- **URL:** https://dariusz.wieckiewicz.org/pwr-polska-wkurzajaca-rzeczywistosc/
- **Date:** 2009-11-25
- **Tags:** Blog, eLki, jazda samochodem, nauka jazdy, polska, pwr, rzeczywistość, skrzyżowanie

### Content

**Czy czasami, jadąc samochodem nie macie już dość! Czasem ręce opadają.**

<!--more-->

Jadę sobie jak co-dzień, słucham radia... gdzie prowadzący tłumaczy, dlaczego tak się denerwujemy stojąc w korkach. Wg badań na szczurach, denerwujemy się głównie przez wdychanie oparów benzyny. Szczury zaczęły się gryźć, a nam za kółkiem skacze ciśnienie. Ale to jeszcze nic. Benzyna benzyną, ale największą zmorą polskich kierowców jest zlot **"eLek"**, czyli liczba samochodów nauki jazdy na metr kwadratowy!

Czy to nie jest przesada? Czy oni nie mają gdzie jeździć, tylko wszyscy muszą jechać w tym samym kierunku? Przesada?

Otóż, zdjęcie przedstawia **tylko 3 eLki**. Skrzyżowanie miało 3 pasy, a na pozostałych były jeszcze 2! 5 to już raczej denerwujące, ale co robicie, jak musicie jechać za czterema?

Przejeżdżając 2 km do domu, spotkałem oprócz tych 5 jeszcze 2 na swojej drodze... na nic badania na szczurach, tego nie da się zbadać, eLki działają na nas alergicznie.

Niektórzy powiedzą, że przecież my też się uczyliśmy. Ale tu nie chodzi o naukę, ale o sposoby jej prowadzenia na mieście. Jak przyszły kursant ma się nauczyć jeździć, skoro większość godzin jedzie za inną nauką jazdy.

To by było na tyle. **Pozdrawiam**

{{% ads-in-article %}}


---
## Przenoszenie /home na osobną partycję
- **URL:** https://dariusz.wieckiewicz.org/przenoszenie-home-na-osobna-partycje/
- **Date:** 2009-11-19
- **Tags:** Linux, /home, ext4, fstab, GParted, mount, Permision denied, System Rescue CD, ubuntu, vista

### Content

Może wydawać się proste, a tak naprawdę nie jest - szczególnie, iż w Googlach można spotkać przy każdym wyszukaniu inny sposób.

Ale od początku...

<!--more-->

Instalując pierwszy raz Ubuntu, wydzieliłem tylko skrawek mojego dysku _(12GB_), na którym to utworzyłem partycję wymiany (_SWAP 1GB_) i systemowy punkt montowania **"/"**. Po dłuższym czasie użytkowania, okazało się, iż stał się on moim podstawowym systemem, który używam na codzień, obok MS Windows Visty, którego używam z przymusu, do aplikacji, których niestety w Linuxie nie ma i tak szybko nie będzie (_Płatnik, Podpis elektroniczny_).

W związku z tym, zapisując dane w moim katalogu domowym, zaczęło brakować mi miejsca. W związku z tym, przy pomocy **GParted** z _LiveCD_ pakietu [System Rescue CD](http://www.sysresccd.org "System Rescue CD with GParted"), postanowiłem zmniejszyć partycje windowsowe i wydzielić wolną przestrzeń na końcu dysku (_50GB_). Przestrzeń tą, docelowo przeznaczył bym na partycję z katalogami domowymi użytkowników systemu (_/home_).

**Na szczęście**, _Linux_ to nie Windows, można w nim wykonać zaawansowane zmiany, bez konieczności reinstalowania systemu. **Niestety**, jak zacząłem szukać w internecie metod, na przeniesienie "poprawne" partycji, to zaczął się problem. W tym momencie, zacząłem się zastanawiać, która metoda przeniesie dane poprawnie, wraz z prawami dostępu, ukrytymi plikami, miękkimi i twardymi dowiązaniami.

Zwykła metoda kopiowania, na nie wiele się zda, aż w końcu znalazłem rozwiązanie:  
[http://embraceubuntu.com/2006/01/29/move-home-to-its-own-partition/](http://embraceubuntu.com/2006/01/29/move-home-to-its-own-partition/)

Oczywiście **po Angielsku**, ale poniżej postanowiłem je wytłumaczyć "po naszemu".

**Po co to wszystko?**

Oprócz samego zwiększenia miejsca, wydzielenie partycji /home, ma podstawową przewagę w przypadkach awaryjnych. Jeżeli zepsujemy naszego Ubunciaka, możemy bez obaw przeinstalować system, bez obawy o utratę własnych danych. W tym wypadku jedyną partycją, która będzie zmieniana, to **"/"** bez **"/home/"**. Po prostu, podczas instalacji, wskazujemy tylko miejsce naszej partycji z folderami domowymi i pozostawiamy bez zmian.

**Po pierwsze.**

Należy utworzyć partycję, którą będziemy wykorzystywali jako /home. Najlepiej wydzielić sobie wolne miejsce, korzystając z _System Rescue CD_ i _GParted_, po czym przejść do naszego systemu i bezpośrednio w nim, korzystajac z lokalnego _GParted_, sformatować partycję na odpowiedni system plików (_u mnie ext4_).

Dlaczego nie stworzyć partycji od razu przy wydzielaniu miejsca? Gdyż w moim przypadku, zwykły użytkownik nie miał praw zapisu, tylko root. Można to by było zmienić, bawiąc się komendą chown, ale w moim przypadku, nadal, mimo że byłem właścicielem partycji i wszystkiego co jest na niej, wyskakiwało **Permision denied**.

Akurat, ja utworzyłem partycję z poziomu LiveCD, więc musiałem ją usunąć w Ubuntu i utworzyć (_sformatować_) na nowo w systemie _ext4_.

**No dobra, ale zacznijmy robotę.**

Jeżeli mamy już naszą partycję przygotowaną, musimy ją zmontować.

Utwórzmy katalog, w którym będzie ona zmontowana i dokonajmy tego.

```
sudo mkdir /media/newhome
sudo mount -t auto /dev/sda6 /media/newhome
```

Oczywiście, z miejsce **auto**, można wpisać system plików, jaki zastosowaliśmy dla naszej partycji (ext4), w przypadku, gdy system nie rozpozna prawidłowo. Dodatkowo, **sda6** zmieniamy na oznaczenie naszej partycji, przeznaczonej na nowy /home. Można to sprawdzić odpalając GParted.

Na tym etapie warto wejść do naszego zmontowanego dysku i utworzyć dowolny katalog poleceniem **mkdir** w celu zweryfikowania, czy nie wyskakuje nam błąd **Permision denied**, o którym pisałem wcześniej. Jeżeli mimo wcześniejszych zabiegów, problem występuje, należy wykonać następujące polecenie:

```
sudo chown -R user:user /media/newhome
```

Należy pamiętać, aby zmienić **user:user** na swoją nazwę np.: **darek:darek**.

Dalej, przechodzimy do katalogu nadrzędnego nad domowym, gdzie przechowywane są katalogi użytkowników i rozpoczynamy kopiowanie.j

```bash
cd /home/
find . -depth -print0 | cpio --null --sparse -pvd /media/newhome/
```

{{% ads-in-article %}}

**Ważne!** Ponieważ /home zawiera miękkie i twarde dowiązania plików, kroku **cd /home/** nie możemy pod żadnym względem pominąć.

Następnie przechodzimy do katalogu z nową partycją **/home** (/media/newhome), i sprawdzamy czy wszystko się skopiowało prawidłowo.

Dalej, odmontowujemy naszą nową partycję

```
sudo umount /media/newhome
```

Przenosimy aktualny **/home** w inne miejsce i tworzymy nowy katalog home (bo aktualnie nie ma żadnego), do którego będzie podmontowana nowa partycja. Dalej podmontowujemy nową partycję.

```
sudo mv /home /old_home
sudo mkdir /home
sudo mount /dev/sda6 /home
```

Sprawdzamy, czy wszystko działa prawidłowo.

Puki system jest uruchomiony, wszystko działa. Musimy jeszcze dodać odpowiednią linijkę do pliku **/etc/fstab**, tak, aby system automatycznie podpiął partycję **/home** w odpowiednie miejsce.

Aby dodać odpowiedni wpis, wydajemy następującą komendę w terminalu:

```bash
sudo su -c 'echo "/dev/sda6 /home ext4 nodev,nosuid 0 2" >> /etc/fstab'
```

W tym momencie, warto uruchomić ponownie system, sprawdzając, czy wszystko rzeczywiście działa.

Jeżeli jest ok, możemy usunąć naszą starą lokalizację home, **/old_home**

```
sudo rm -r /old_home
```

I tyle.

**Powodzenia.**



---
## Instalacja karty Broadcom BCM43xx w Ubuntu
- **URL:** https://dariusz.wieckiewicz.org/instalacja-karty-broadcom-bcm43xx-w-ubuntu/
- **Date:** 2009-11-06
- **Tags:** Linux, 802.11 Linux STA driver, b43-fwcutter, BCM32xx, bcmwl-kernel-source, bcmwl-modaliases, Broadcom, GNOME, hybrid-portsrc, lib80211, Network Manager, Synaptic, Ubuntu 9.10

### Content

> **Uwaga:** Wersja niniejszego dokumentu została opublikowana jakiś czas temu. Jako, że w systemach z rodziny Linux ciągle dużo się zmieniła, opisane tutaj elementy mogą się nieco różnić o tych, z którymi się spotkacie w swoim systemie. Jako, że nie posiadam już ww. kart, nie mogę gwarantować, iż poniższy sposób zadziała.

Od dłuższego czasu zainteresowany jestem alternatywnymi systemami operacyjnymi. Obecnie pracuję na **Ubuntu 9.10**.

Jako, że mam laptopa i z internetem łącze się bezprzewodowo, chciałem aby możliwe było to również w tym systemie. Niestety, podczas aktualizacji do najnowszej wersji systemu wszystko się poknociło.

W laptopie mam kartę firmy **Broadcom BCM4312 Dualband** (b/g), która potrzebuje włączenia stosownych sterowników aby, możliwe było jej użytkowanie.

<!--more-->

Domyślnie zalecaną metodą jest włączenie sterowników własnościowych z pozycji:

> **System > Administracja > Sterowniki**

Jednakże nie zawsze to działa, o czym przekonałem się (i wielu innych użytkowników) osobiście.

Będąc uwięzionym na kablu, postanowiłem co nieco poszperać i wymyślić rozwiązanie. I to właśnie zrobiłem. A dokładniej, wzorując się na zagranicznych rozwiązaniach i oficjalnych stanowiskach producenta, postanowiłem napisać poniższe How-To.

Do łączenia z siecią WiFi używam standardowego pakietu GNOME, czyli Network Managera. Oczywiście, może to też działać z WICD, ale osobiście tego nie testowałem, gdyż nie mam takiej potrzeby.

> Poniższe How-To działa dla kart bazujących na sprzęcie BCM4311, BCM4312, BCM4321 i BCM4322.

A więc zacznijmy....

**1. Wywalam obecnie dostępne w systemie sterowniki, odpowiadające na naszą kartę sieciową.**

> **System > Administracja > Manager pakietów Synaptic**

Wyszukujemy po słowie **Broadcom** i zaznaczamy wszystko do usunięcia, czyli:

> b43-fwcutter, bcmwl-kernel-source, bcmwl-modaliases

Dodatkowo, z poziomy konsoli sprawdzamy, czy nie ma żadnych pozostałości po modułach sterowników, które mogły nie zostać usunięte.

```
lsmod | grep "b43|ssb|wl"
```

Jeżeli faktycznie jakieś są, usuwamy je poniższymi komendami:

```
rmmod b43 rmmod ssb rmmod wl
```

Może się również zdażyć, że powyższe sterowniki zainstalują się automatycznie przy kolejnych aktualizacjach systemu. Aby temu zapobiec, warto wykonać poniższe polecenia w konsoli:

```
echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
```

Powyższe linijki dodadzą do pliku **blacklist.conf** odpowiednie wpisy odnośnie blokowania sterowników.

**2. Pobieramy oficjalne sterowniki ze strony Broadcoma**

Dla systemu 32-bitowego

```
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
```

Dla systemu 64-bitowego

```
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5.60.48.36.tar.gz
```

Gdyby powyższe odnośniki nie działały, najnowsze sterowniki można znaleźć tutaj: [http://www.broadcom.com/support/802.11/linux_sta.php](http://www.broadcom.com/support/802.11/linux_sta.php)

Tworzymy sobie katalog, w którym będziemy pracować ze sterownikami oraz przenosimy do niego ściągnięty plik.

```
mkdir hybrid_wl mv hybrid-portsrc\* hybrid_wl/ cd hybrid_wl
```

**3. Rozpakowujemy pobrane sterowniki** _(przykład dla systemu 32-bitowego)_

```
tar xvf </em><em>hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
```

**4. Wykonujemy kompilację**

```
make
```

W celu poprawnego wykonania kompilacji potrzebujemy mieć w systemie zainstalowane następujące pakiety:

> make, build-essentials, linux-headers i linux-sources - stosowne dla naszego kernela

Wszystko to można wykonać w Menadżerze pakietów Synaptic.

**4.1. Ostrzeżenia w trakcie instalacji**

W trakcie wykonywania procedury **make** może pokazać się nam ostrzeżenie:

```
WARNING: modpost: missing MODULE_LICENSE() in /home/darek/bcm/wl.o see include/linux/module.h for more information
```

Nie należy się nim przejmować.

**4.2.** _(Opcjonalne)_ **Moduł lib80211**

Jeżeli wcześniej nie próbowaliśmy na własną rękę uruchomić karty sieci bezprzewodowej w systemie, potrzebować będziemy jeszcze jednego modułu do obsługi sterownika. Profilaktycznie, dobrze by było tą czynność wykonać.

```
modprobe lib80211 insmod wl.ko
```

**5. Kopiujemy i uruchamiamy skompilowany sterownik**

```
sudo cp wl.ko /lib/modules/$(uname -r)/kernel/net/wireless sudo depmod -a sudo modprobe wl
```

Już w tym momencie Network Manager powinien wykryć kartę sieci bezprzewodowej. Jeżeli mamy stworzony jakiś profil Wifi, wówczas automatycznie nastąpi łączenie z siecią. W wszystkich pozostałych przypadkach, należy wybrać sieć z listy.

**6. Dodajemy autostart modułu po restarcie**

Po ponownym uruchomieniu systemu, należało by ręcznie wykonać procedurę **modprobe**. Aby tego nie robić, należy do piku modułów dodać stosowną linijkę.

Otwieramy plik do edycji:

```
sudo vim /etc/modules
```

i dodajemy wartość:

`wl`

Jeżeli mamy szczęście, wszystko będzie działać. Choć... znając życie, w praktyce bywa różnie, ale proszę próbować i w razie czego pisać, a chętnie pomogę lub uzupełnię niniejsze How-To.

{{% ads-in-article %}}

**Aktualizacja 08-11-2009**

Po aktualizacji kernela z repozytoriów, ponownie tracimy naszą kartę sieciową.

```
sudo modprobe wl
```

daje wynik negatywny:

```
FATAL: Module wl not found
```

**Wówczas należy:**

- ponownie zainstalować moduły _linux-headers_, dla kernela, który aktualnie używamy;

- przekompilować sterowniki zaczynając praktycznie od początu - _pkt. od 3 do 6_.

Stąd też, warto pozostawić sobie spakowane sterowniki pod ręką, a po aktualizacji kernela automatycznie pobrać dla niego _linux-headers_.

*Pozdrawiam*


---
## Wielkości nośników danych
- **URL:** https://dariusz.wieckiewicz.org/wielkosci-nosnikow-danych/
- **Date:** 2009-10-27
- **Tags:** Blog, Komputery, 1024MB, GiB, IEC 60027-2, jednostka fizyczna, jednostka informatyczna, pojemność, układ SI, wielkość

### Content

Podczas kupowania nowych pamięci przenośnych, dysków, kierujecie się zapewne ich wielkością (pojemnością), a dodatkowo w dalszej kolejności stosunkiem pojemności do ceny. Jednak, jeżeli przychodzi co do czego, faktyczna pojemność nośników (pojemność użytkowa) różni się od tej, którą gwarantują producenci na opakowaniu.

<!--more-->

Na początku można powiedzieć że nas **oszukują**, bo skoro kupuję np. dysk **320GB** to **dlaczego** do dyspozycji mam tylko **298GB?** 

Tutaj zaczynają się schody, gdyż tak naprawdę, to nie producenci nas oszukują lecz programy komputerowe.

**Jak to jest?**

Producenci ustalając wielkość nośników, posługują się jednostkami z układu SI, gdzie **1MB = 1000B** - są to tzw. jednostki fizyczne. 

Programy komputerowe 1MB interpretują jako 1024B, posługując się przy tym innym układem przeliczania miar stosując tzw. jednostki informatyczne (IEC 60027-2).

Aby odróżnić jedną wielkość od drugiej, wprowadzono dodatkową literę w nazwie, tak że np. **1GB** oznacza **1000MB** wg układu SI, natomiast w informatyce 1GB określany jest przez **1GiB** i jest odpowiednikiem 1024MB, a dokładniej **1024MiB**.

GiB, MiB czy inne oznaczenia stosowane są w informatyce i takie to oznaczenia powinny być stosowane przez wszystkie programy komputerowe.

Niestety, tak jak się utarło w Polsce słowo "lodówka" do określania chłodziarki, tak też na świecie programiści zamiast stosować symbol GiB, ułatwili sobie sprawę wprowadzając GB.

Niby mała zmiana, ale konsekwencje jednak są.

Czy zastanawialiście się, dlaczego płyta **DVD 4,7GB** nie chce zmieścić filmu, który wg. komputera zajmuje 4,6GB?

Właśnie dlatego, że na płycie napisano **4,7GB** czyli 4700MB wg jednostki fizycznej, w informatyce oznacza to **4,38GiB**. 

**Sytuacja podobna.**
Kupując pamięć pendrive 4GB, tak naprawdę otrzymujemy do dyspozycji 3,73GB na zmagazynowanie naszych danych.

**Jak sobie z tym wszystkim radzić?**
Odpowiedź jest prost, stosując prosty przelicznik. W Fizyce 1 gigabajt to 10^9, natomiast w informatyce to 2^30.

Co w rezultacie daje to, że:
```
1GB fizyczny to 1 000 000 000 bajtów.
1GiB informatyczny to 1 073 741 824 bajtów.
```

Z tym GB i GiB można się nieźle zakręcić.

Niestety, póki co, jesteśmy na to skazani, ale przy zakupie nośników danych, możemy sobie nieco sprawę ułatwić.

Potrzebny nam będzie jedynie kalkulator, który ma prawie każdy w telefonie komórkowym.

**Aby przeliczyć wartość fizyczną na informatyczną**, czyli pojemność jaką przedstawiają nam producenci, a pojemność jaką otrzymamy w rzeczywistości, wystarczy **pomnożyć** naszą wartość przez liczbą **0,93** (nieco dokładniej: **0,9313**).

Wynik naszego mnożenia pozwoli nam określić (oczywiście w znacznym uproszczeniu i nie tak bardzo dokładnie) ile w rzeczywistości otrzymamy miejsca na zmagazynowanie naszych danych.

**Dla przykładu, kupiłem dysk 320GB:**
```
320GB \* 0,9313 = **298,016GiB**.
```

Mój system pokazuje również w zaokrągleniu **298,1GB**, więc dużo się nie pomyliłem.

Stosując ten prosty przelicznik, błąd wynosi zaledwie ok. **1%**.

Mam nadzieję, że to co nieco wam ułatwi podczas podejmowania decyzji o zakupie oraz uchroni przed przykrym rozczarowaniem. 

Pozdrawiam.

{{% ads-in-article %}}


---
## Kolekcjoner DIVX w Ubuntu
- **URL:** https://dariusz.wieckiewicz.org/kolekcjoner-divx-w-ubuntu/
- **Date:** 2009-10-26
- **Tags:** Linux, dcom98, jet40, kegel.com, kolekcjoner divx, Linux, mdac28, mdb, ms access, ubuntu, wine, winetricks

### Content

[Kolekcjoner DIVX](http://kolekcjoner.divx.pl) to bardzo fajny program do katalogowania naszej kolekcji filmów i seriali. Podstawowym jego problemem jest fakt, iż działa on w środowisku Windows.

<!--more-->

Dla większości użytkowników, to żaden problem, ale dla osób używających również innych systemów (z rodziny Linux), warto by było go uruchomić, chociażby - proforma.

Wiadomo, że w systemach Linux istnieją inne programy do katalogowania, ale ten jakoś przypadł mi do gustu i postanowiłem go odpalić w moim Ubuntu. Co najważniejsze, kiedyś już to zrobiłem, na Ubuntu 8.04, ale trach chciał, że nie zapisałem, jak tego dokonałem, więc teraz nie popełnię tego samego błędu.

**Co jest nam potrzebne:** - Ubuntu + Zainstalowany pakiet WINE - Dodatkowe pakiety do obsługi baz danych bazujących na MS Access oraz całego programu

Sposób instalacji Wine w Ubuntu można znaleźć [tutaj](http://www.winehq.org/download/deb). Pamiętajcie, aby używać najnowszej wersji Wine dostępnej w repozytoriach, uniknie to dodatkowych problemów przy odpalaniu programów.

Aby nie robić sobie problemów z szukaniem wszystkiego co jest potrzebne, korzystamy z **WineTricks**.

**Pobieramy WineTricks:**

> _wget http://www.kegel.com/wine/winetricks_

**Instalujemy niezbędne pakiety poleceniem:**

> _sh winetricks dcom98 jet40 mdac28_

Klikamy **OK**, po czym w terminalu nastąpi pobranie niezbędnych pakietów i ich instalacja.

Nam pozostanie jedynie konieczność klikania przycisków _Dalej_ i _OK_.

**Drobna uwaga!**

Powyższy opis spisuje się znakomicie w przypadku **Stabilnej** wersji **Wine (wine=1.0.1)**. W przypadku wersji rozwojowej (na chwilę wprowadzania zmiany **wine=1.1.34**) występuje problem z otworzeniem bazy danych MDB, uniemożliwiający korzystanie z programu..

Aby sprawdzić posiadaną wersję, proszę wpisać:

> _wine --version_

Powodzenia.

{{% ads-in-article %}}


---
## Ewidencja przebiegu pojazdów (EPP-1)
- **URL:** https://dariusz.wieckiewicz.org/ewidencja-przebiegu-pojazdow/
- **Date:** 2009-10-14
- **Tags:** Firma, Calc, druk, epp, ewidencja przebiegu pojazdów, ewidencja przebiegu pojazdu wzór, excel, kilometrówka, ODS, pdf, xls

### Content

Wzór druku do prowadzenia ewidencji przebiegu pojazdu.

Druk jest darmowy, wykonany zgodnie z wymaganiami ustawy, do wypełniania zarówno na komputerze w formacie **ODS** dla **OpenOffice.org Calc**, jak i do drukowania z **PDF** i wypełniania ręcznego.

<!--more-->

**Dla wyjaśnienia:**  
Ewidencja służy do zapisu przebiegu pojazdu prywatnego wykorzystywanego do prowadzonej działalności gospodarczej.

Prowadzenie ewidencji jest wymagane przez Urząd Skarbowy, jeżeli chcemy wliczyć koszta użytkowania pojazdu tj. paliwo, materiały eksploatacyjne, do kosztów prowadzonej działalności. W przypadku braku prowadzenia ewidencji, jednostki kontrolne mogą zakwestionować wydatki związane z eksploatacją pojazdu jako koszt uzyskania przychodu.

Przy wypełnianiu kilometrówki, proszę pamiętać, że koszty zaksięgowane, związane z wydatkami na dany pojazd, nie mogą przekraczać wartości kilometrówki na dany miesiąc.

[Pobierz PDF](/pobierz/epp-1.pdf)
[Pobierz ODS](/pobierz/epp-1_ods.zip)

{{% ads-in-article %}}


---
## Microsoft Office po staremu. Klasyczne menu Office w wersji od 2007 do 2024 i 365.
- **URL:** https://dariusz.wieckiewicz.org/microsoft-office-po-staremu-klasyczne-menu-office/
- **Date:** 2009-04-12
- **Tags:** Oprogramowanie, addintools, classic menu, Classic Office Menu, klaszyczne menu office, klasyczne menu office 2007, Microsoft Office, UBit Schweiz, UBitMenu

### Content

Podczas moich przygód z komputerami, przebrnąłem się przez przeróżne wersje pakietu Office of Microsoftu. W **Office 2003** napisałem moją pracę magisterską.

Wraz z **Office 2007** Microsoft wprowadził tak zwane menu wstążki, które nie wszystkim przypadło do gustu. To menu w użyciu jest dotąd w Microsoft Office 2024 oraz pakiecie 365.

<!--more-->

Spora rzesza użytkowników przyzwyczaiła się do wstążki. Nowi użytkownicy pakietu Office nie wiedzą nawet, że w przeszłości poruszano się po pakiecie całkowicie inaczej.

Bardziej doświadczona generacja użytkowników pamiętała, gdzie wszystko było w "starym" menu a przestawienie się do nowej wstążki spowodowało konieczność uczenia się na nowo. Stare nawyku jednak pozostają i warto by było móc je nadal używać.

Przez lata, przeróżni twórcy tworzyli dodatki do pakietu Office przywracające (dodające) zakładkę w aplikacji, która pozwalała otrzymać dostęp do "starego" menu.

Dodatki te działają do dzisiaj.

Spora rzesza tych dodatków wymaga wykupienia licencji, jednakże jest jeden, **UBitMenu**, który dla użytkowników domowych jest w pełni darmowy. Klienci biznesowi mogą wykupić licencję, która waha się w granicach £8.32 za oprogramowanie i £0.54 za użytkownika. Nie jest to jakoś wygórowana cena.

Osobiście przyzwyczaiłem się do wstążki i z czasem zapomniałem o "starym" menu, jednakże od czasu do czasu, szukam wybranej opcji, którą wiem, że miałem dostępną. Klikając pomiędzy wstążkami (zakładkami), marnując poniekąd czas na jej odnalezienie, wówczas "stare" menu przychodzi z odsieczą.

Całe to zamieszanie spowodowało przyrost użytkowników pakietu **LibreOffice** (LibreOffice to, w dużym skrócie, nieco lepszy OpenOffice). LibreOffice do dzisiaj pozostał przy klasycznym menu i nie bez powodu, gdyż jest ono szybsze i bardziej intuicyjne dla mojego pokolenia i osób starszych.

**UBitMenu**, jak już wspomniałem, pozwala na dodanie do pakietu Microsoft Office **zakładki** z klasycznym menu znanym z **Office 2003**. Program jest o tyle fajny, iż nie usuwa on menu w postaci wstążki, dzięki czemu nasz pakiet jest nadal w pełni funkcjonalny, a czego nie można powiedzieć o rozwiązaniach innych firm.

{{% gallery %}}
[![Microsoft Word z UbitMenu](Microsoft_Word_with_UbitMenu.png "Microsoft Word z UbitMenu")](Microsoft_Word_with_UbitMenu.png)
[![Microsoft Excel z UbitMenu](Microsoft_Excel_with_UbitMenu.png "Microsoft Excel z UbitMenu")](Microsoft_Excel_with_UbitMenu.png)
{{% /gallery %}}

{{% ads-in-article %}}

Aby dodać klasyczne menu, wystarczy, zamknąć programy pakietu Office (Word, Excel itp.), pobrać program [**UBitMenu**](https://www.ubit.ch/fileadmin/UBitMenu/UBitMenuSetupPL.exe) ze [strony jego twórcy](https://www.ubit.ch/software/ubitmenu-languages/) i go zainstalować.

Po chwili możemy ponownie odpalić program Word lub Excel a naszym oczom ukaże się nowa zakładka o nazwie Menu.

Od teraz, możemy z powodzeniem korzystać z pakietu Office z wykorzystaniem klasycznego menu, a jednocześnie mając dostęp do nowego.

Pozdrawiam.


---
## Domena na własnych serwerach DNS
- **URL:** https://dariusz.wieckiewicz.org/domena-na-wlasnych-serwerach-dns/
- **Date:** 2009-04-04
- **Tags:** Internet, bind, dns, domena, freedns, freedns.42.pl, freedns.sgh.waw.pl, konfiguracja, mx, srv, txt, xname.org, zone

### Content

Osoby posiadające własną domenę internetową konfigurują ją z reguły w podstawowym zakresie, aby wskazywała na konkretny adres URL lub adres IP serwera, na którym umieszczona jest strona.

Źródłem do wydobycia drzemiących możliwości z wykorzystania domeny są serwery nazw DNS. Przekierowując domenę na własne serwery DNS, otrzymujemy pełną swobodę co do jej konfiguracji, możliwości przypisywania aliasów, przekierowywania części z nich na inne adresy sieciowe itp. Możliwości jest sporo, ale najpierw trzeba wiedzieć od czego zacząć.

<!--more-->

**Czym jest DNS, można poczytać w [Wikipedii](http://pl.wikipedia.org/wiki/DNS "Czym jest DNS?").**

Aby domena mogła być poprawnie skonfigurowana i obsługiwana przez zewnętrzne serwery nazw, potrzebujemy postawić co najmniej ich parzystą ilość.

Pierwszy serwer, stanowi tzw. Primary, czyli Główny serwer nazw, gdzie wprowadzamy pożądane wartości, które następnie są przesyłane są do serwerów Podrzędnych.

Serwery podrzędne, czyli Secondary i dalsze, to każde kolejne, które pobierają wartości wpisów z serwera podstawowego i dalej komunikują się ze światowymi serwerami nazw. Serwery te, stanowią jednocześnie pewnego rodzaju kopię zapasową wpisów, na wypadek, gdyby podstawowy serwer nazw uległ awarii lub był niedostępny w sieci. Wówczas, gdy podstawowy serwer nie działa, domena która jest przez niego obsługiwana nadal funkcjonuje poprawnie, w oparciu o zastępcze serwery.

Postawienie serwerów DNS może być bardziej lub mnie złożone. Można postawić do w oparciu o własny lub użyczony serwer w oparciu czy to o Windowsa czy inny system tj. Linux (np. Debian i pakiet BIND). Jednakże, nie każdy ma takie rozwiązanie do dyspozycji, w związku z tym należało by posłużyć się innymi rozwiązaniami.

Poniżej opiszę pokrótce konfigurację domeny w BIND, jednakże skupię się głównie na rozwiązaniu nieco bardziej prostszym i co ważniejsze, darmowym.

## Bind

Bind jest serwerem nazw na platformę tj. Linux. Dzięki niemu, można bez problemu uruchomić serwer nazw.

Posiadając uruchomiony serwer Bind wraz z możliwością komunikacji z internetem na porcie 53, pozostaje nam ustawienie w nim odpowiednich wpisów. Wpisy dotyczące domeny i wszystkich sub-domen ujęte są w tzw. strefie. Strefę dla domeny określamy w odrębnym pliku konfiguracyjnym. Dodatkowo, odniesienie do strefy, wraz informacją techniczną określamy w konfiguracji serwera Bind, z reguły w pliku **named.conf.local**.

Ale zacznijmy od początku.

Zainstalowany serwer BIND w systemie Debian za pomocą repozytoriów dostarczany jest w postaci skonfigurowanej i gotowej do działania. Jeżeli tak nie jest, to z reguły należy zmodyfikować odpowiednio plik **named.conf.options** umieszczony w katalogu **/etc/bind/**

Przedstawiając poniższą konfigurację, założyłem, że konfigurujemy BIND jako Primary DNS.

Przykładowa zawartość pliku **named.conf.options**

```
options {
	directory "/var/cache/bind";
	listen-on { any; };
	listen-on-v6 { any; };
	auth-nxdomain yes;
	query-source address \* port 53;
	transfer-source \* port 53;
	notify-source \* port 53;
	version "Microsoft DNS Vista Server v6.5 (WinVista)";
	forwarders { 194.204.159.1; 194.204.152.34; };
	};
```

Krótkie wyjaśnienie powyższych zapisów:

```
directory "/var/cache/bind";
```

Powyższy wpis określa katalog roboczy serwera BIND, w którym to zapisywane są tymczasowe pliki, aktualnie przez niego używane w trakcie pracy.

```
listen-on { any; }; listen-on-v6 { any; };
```

**Listen-on**, dłuży do nasłuchiwania żądań kierowanych do serwera. Tutaj wprowadzamy wartości IP interfejsów sieciowych, na których ma nasłuchiwać, odpowiednio dla IPv4 i IPv6. W powyższej konfiguracji wartość **any** odpowiada za dowolny adres interfejsu.

```
auth-nxdomain yes;
```

Określa, czy odpowiedzi serwera uznane za negatywne mają mieć parametr autorytatywny czy też nie.

```
query-source address \* port 53;
transfer-source \* port 53;
notify-source \* port 53;
```

Te wpisy odpowiadają za porty, na których nasłuchiwać będzie żądań serwer BIND.

```
version "Microsoft DNS Vista Server v6.5 (WinVista)";
```

Ten wpis jest swojego rodzaju zmyłką, a służy do przedstawiania się na prośbę identyfikacji z zewnątrz (Internetu). Mając na uwagę próby włamań, które będą dobierane w zależności od odpowiedzi **version** lepiej jest wpisać coś, co utrudni możliwość łatwej identyfikacji.

```
forwarders { 194.204.159.1; 194.204.152.34; };
```

Tutaj wpisujemy serwery, do których kierowane będą zapytania, głównie z naszej sieci lokalnej odnośnie nazw. Mimo tego, wszystko będzie przechodziło przez BIND i przy braku odpowiedniego wpisu, kierowane do forwarderów.

Jeżeli mamy to już ustawione, musimy ustawić pliki stref, w których to będą zapisane wartości dla naszej domeny.

Pliki stref ustawiamy w **named.conf.local**.

I tak dla przykładu plik strefy dla domeny przykladowa-domena.pl:

```
zone "przykladowa-domena.pl" {
	type master;
	file "/etc/bind/strefa.przykladowa-domena-pl";
	allow-transfer { slaves; };
	};
```

Gdzie:

```
zone "przykladowa-domena.pl" {
```

Odpowiada za nazwę domeny, jaką konfigurujemy.

```
type master;
```

Określamy czy serwer ma być **master** czy **slave** (tutaj Primary DNS i master).

```
file "/etc/bind/strefa.przykladowa-domena-pl";
```

Określenie pliku, w którym zapisane będą wartości dla domeny.

```
allow-transfer { slaves; };
```

Dopuszczenie wymiany zawartości pliku strefy dla konkretnych serwerów DNS - zapasowych typu Slave.

W moim przypadku, jako Secondary DNS korzystam z usługi Xname, stąd dalej w pliku **named.conf.local** dopisuję odpowiednią definicję dla wartości **slaves**.

Xname posiada **trzy główne** serwery nazw:

```
ns0.xname.org, adres IP 195.234.42.1
ns1.xname.org, adres IP 87.98.164.164
ns2.xname.org, adres IP 88.191.64.64
```

I dla nich dopisujemy:

```
acl slaves {
	195.234.42.0/24;
	193.218.105.144/28;
	87.98.164.164;
	88.191.64.64;
	92.243.14.172;
};
```

Dla usługi opartej o FreeDNS, serwery nazw są następujące:

```
fns1.42.pl, adres IP 79.98.145.35
fns2.42.pl, adres IP 195.80.237.194
```

I dla nich dopisujemy:

```
acl slaves {
	79.98.145.35;
	195.80.237.194;
};
```

Warto dodać zezwolenia dla Xname i FreeDNS, oraz zastosować jako Secondary DNS wpisy na obu portalach jednocześnie. Dalej przechodzimy do konfiguracji pliku strefy konkretnej domeny. Odnosząc się do wcześniejszego przykładu, oto zawartość przykładowa pliku **strefa.przykladowa-domena-pl**.

```
; przykladowa-domena.pl
$TTL 3600
@       IN      SOA     ns1.server.pl. root.server.pl. (
2008112301  ; Serial
86400       ; Refresh
3600        ; Retry
3600000     ; Expire
10800)      ; Negative Cache TTL
;
IN      NS              ns1.server.pl.
IN      NS              ns0.xname.org.
IN      NS              ns1.xname.org.
;
@               IN      A               195.000..10
www             IN      CNAME           @
```

Powyższy plik składa się z kilku zmiennych, a domeny - **co ważne!** - kończą się kropką **"."** I tak:

```
$TTL 3600
```

Wartość określa czas w sekundach, przez jaki poszczególne wartości wpisów są buforowane.

```
@       IN      SOA     ns1.server.pl. root.server.pl. (
```

Określa nasz serwer, który konfigurujemy jako Primary DNS pod nazwą **ns1.server.pl**.

Wartość **Serial** określa indywidualny numer, który należy zmienić po każdej aktualizacji pliku na wyższy. Z reguły składa się on z RRRRMMDDNN.

> R - rok (np. 2008)
> M - miesiąc (11 - listopad)
> D - dzień (23)
> N - numer zmiany w danym dniu w pliku.

**Refresh** odpowiada za częstotliwość odświeżania wpisów w zapasowych serwerach nazw. Po tym czasie następuje ponowne sprawdzenie czy nie zaszły zmiany w strefach, i jeżeli zaszły, następuje ich odświeżenie i odpowiednie rozesłanie.

**Retry** określa częstotliwość ponownego zapytania o zawartość pliku stref, jeżeli nie można było tego zrobić w odpowiednim czasie, określonym zmienną Refresh.

**Expire** to czas wygaśnięcia wpisów w DNS, jeżeli nie udało się pobrać nowych danych. Po tym czasie usuwane są stare wpisy w serwerach nazw.

**Negative Cache TTL** odpowiada za kontrolowanie czasu buforowania przez inne serwery odpowiedzi, mówiącej, że dana domena nie istnieje.

```
IN      NS              ns1.server.pl.
IN      NS              ns0.xname.org.
IN      NS              ns1.xname.org.
```

**IN NS** odpowiedzialny jest za określenie nazwy serwera DNS w domenie. Dalsze wpisy określają serwery typu Secondary.

```
@               IN      A               195.000..10
www             IN      CNAME           @
```

{{% ads-in-article %}}

Powyższy wpis pokarzę na przykładzie:

Jeżeli ktoś wprowadzi w przeglądarce domenę **przykladowa-domena.pl** to odnosić się będzie ona do adresu/serwera IP 195.000..10 na którym to może znajdować się strona WWW.

Natomiast drugi wpis odnosi się do aliasu **www**, czyli, jak ktoś wpisze www.przykladowa-domena.pl zostanie odniesiony do tej samej strony/adresu/serwera.

Należy pamiętać, że konfigurację aliasów należy dokonać również po stronie serwera, np. Apache, gdyż inaczej, wszystkie będą odnosiły się do adresu IP wskazującego na jedną lokalizację.

Dalej pozostaje nam konfiguracja serwerów zapasowych. O tym piszę dalej, na przykładzie Xname oraz polski FreeDNS oparty na skrypcie Xname.

Jeżeli jednak dysponujemy innym serwerem BIND, możemy wykorzystać go jako zapasowy - secondary. Wówczas konfiguracja jest podobna, z tym że, w **named.conf.local** podajemy np.:

```
zone "przykladowa-domena.pl" IN {
type slave;
masters { 213.162.0.23; };
file "/etc/bind/strefa.secondary-przykladowa-domena-pl";
};
```

Tutaj, **master** określa adres IP serwera BIND pracującego jako Primary DNS.

Dalej należy utworzyć plik **strefa.secondary-przykladowa-domena-pl** i nadać mu odpowiednie prawa.

```
touch /etc/bind/strefa.secondary-przykladowa-domena-pl
chown bind /etc/bind/strefa.secondary-przykladowa-domena-pl
chmod 644 /etc/bind/strefa.secondary-przykladowa-domena-pl
```

Tyle, jeżeli chodzi o BIND - wystarczy jego przeładowanie.

Przejdźmy dalej do **Xname** i **Free DNS**.

## Xname i FreeDNS

Aby skorzystać z usługi darmowych serwerów DNS trzeba się poważnie zastanowić co wybrać. W tym przypadku nie możemy sobie pozwolić na takie, które często siadają lub mają inne problemy. Mając to na uwadze, mój wybór padł na Xname.org jako dość stabilny i darmowy serwer DNS - [FreeDNS::42](http://freedns.42.pl).

Konfiguracja Xname i FreeDNS jest identyczna, więc odwołam się jedynie do jednego serwisu. Zaawansowane opcje postaram się przedstawić w innych artykułach.

> **Uwaga na wstępie do zawartości stref!** Jeżeli chodzi o BINDa, to aby ograniczyć sobie konieczności przepisywania naszej podstawowej domeny (np.: wieckiewicz.org.jpg) stosuje się symboliczną "małpę" (@). Niestety, w przypadku Xname i FreeDNS, takiego udogodnienia nie możemy zastosować, gdyż powoduje to wystąpienie błędu. Pozostaje nam wprowadzanie całej nazwy domeny z "kropką" na końcu. Znajduje to zastosowanie tylko dla rekordu A i PTR.

Na początku musimy sobie założyć konto na stronie  [**xname.org**](http://www.xname.org) korzystając z odnośnika po lewej stronie create a new user (utwórz nowego użytkownika).

Mając już konto i będąc zalogowanym wybieramy **Create zone** (Utwórz strefę).

Jeżeli chcemy utworzyć Secondary DNS, **zone** wpisujemy naszą domenę. Zaznaczamy typ jako **secondary** (zapasowe) i klikamy przycisk **Create** (Utwórz).

Tak mamy utworzoną naszą strefę na zapasowym serwerze DNS.

W konfiguracji serwera BIND należy pamiętać, aby wpisać odpowiednie odniesienie do serwerów DNS w wartości **acl slaves**, o którym pisałem wcześniej.

Aby masz serwer komunikował się z Secondary DNS, wchodzimy w **View zones** (Lista stref) i wybieramy naszą domenę.

Dalej w:

```
primary name server IP(s) (use ';' as separator)
```

wpisujemy adres IP naszego serwera Primary DNS - **nie adres ns1.server.pl tylko adres IP!**

Wybieramy **Modify** (Modyfikuj) i czekamy aż serwery się skomunikują i pobiorą odpowiednie dane. Przy pierwszym pobraniu otrzymamy stosowną wiadomość na maila podanego podczas rejestracji na stronie.

Tyle wystarczy.

Innym rozwiązaniem, jeżeli nie mamy własnego serwera, możemy całkowicie wykorzystać Xname/FreeDNS jako serwer **Primary DNS** (podstawowe) i **Secondary DNS** (zapasowe). Dla osób mniej zaawansowanych, lub skupiających się na ustawieniu Primary DNS, polecam wybranie FreeDNS.

W takim przypadku, wybieramy **Create zone** (Utwórz strefę).

W **zone** (Nazwa strefy) wpisujemy nazwę naszej domeny, wybieramy typ **primary** (podstawowy) i klikamy **Create** (Utwórz).

> Możemy również, podczas tworzenia strefy, pobrać odpowiednie wpisy z naszego serwera DNS aby, w dalszym etapie oszczędzić dobie przepisywania konfiguracji. Wówczas w polu **Import zone from following authoritative server** (Importuj strefy z autorytatywnego serwera)  wpisujemy adres IP naszego serwera DNS.

Przechodzimy do **View zones** (Lista stref) i klikamy na naszą domenę aby odpowiednio skonfigurować strefę, tak jak to robiliśmy w przypadku serwera BIND.

Większość wartości jest domyślnie ustawiona, jednakże niektóre z nich musimy wprowadzić.

Główne - podstawowe wartości do wprowadzenia znajdują się w **Address (A) records** i tam dopisujemy:

> **Name:** przykladowa-domena.pl. **<--- pamiętajmy o kropce na końcu! IP:** XXX.xxx.XXX.xxx /nasz IP serwera

W przypadku dodawania aliasu do domeny, robimy to w **Canonical Name (CNAME) records** i wygląda to tak:

> **Alias:** www **Name:** przykladowa-domena.pl. **IP:** XXX.xxx.XXX.xxx /nasz IP serwera

Można też zrobić to w **Address (A) records** i wygląda następująco:

> **Alias:** www **IP:** XXX.xxx.XXX.xxx /nasz IP serwera

Powyższe wpisy odniosą się do **www.przykladowa-domena.pl** na podanym IP.

Na koniec klikamy w **Generate zone configuration** (Utwórz konfigurację strefy)

Jak wejdziemy ponownie do **View zones** (Lista stref) zobaczymy, że mamy skonfigurowaną naszą domenę dla dwóch serwerów nazw xname.org, z czego pierwszy odpowiada za Primary DNS, a drugi za Secondary DNS.

Jeżeli korzystamy tylko z serwerów DNS w oparciu o FreeDNS/Xname, dla naszej domeny przypisane będą dwa serwery DNS. Warto na jednym (np. FreeDNS) utworzyć strefę podstawową (Primary) dla naszej domeny, a na innym (np. Xname) dla tej samej domeny strefę zapasową (Secondary). Czynność ta umożliwi szybsze rozgłoszenie naszej domeny oraz umożliwi ciągłe jej działanie, w przypadku gdy np. serwery FreeDNS będą miały problemy. Wówczas, gdy serwery FreeDNS będą niedostępne, zapytania do domeny nie zostaną bez odpowiedzi i w najgorszym wypadku nie zostaną usunięte ze światowych serwerów DNS (wpisy), tylko przejmą ich funkcjonalność serwery DNS Xname do czasu powrotu do pełnej funkcjonalności.

Aby tego dokonać, należy wykonać jeszcze **jedną czynność**.

Wybierając naszą domenę z listy domen (na Primary DNS), przechodzimy do jej konfiguracji. Na samym dole strony znajduje się sekcja **Komputery, którym wolno transferować całe strefy**. W tym miejscu wpisujemy adresy IP serwerów DNS, z którymi będą wymieniane informacje. Nie będę się rozpisywał, lecz zachęcam do cofnięcia się o kilka stron w niniejszym Artykule i przeczytanie części o **acl slaves** dla BINDa, gdyż to jest to samo.

Wracając do sedna sprawy, w tym miejscu wpisujemy adresy IP.

Jeżeli jako Primary DNS używamy FreeDNS a jako Secondary będziemy Xname, wówczas wpisujemy następujące wartości:

> 195.234.42.1; 87.98.164.164; 88.191.64.64

Teraz, tworzymy strefę Secondary na Xname.

Jako serwery, które służą jako Primary DNS (primary name server IP(s)), w konfiguracji strefy na Xname wpisujemy:

> 79.98.145.34; 195.80.237.194

**Co nam jeszcze zostało do zrobienia?**

Otóż należy przekierować naszą domenę na nasze serwery DNS. Dokonać tego możemy u usługodawcy, u którego wykupiliśmy domenę. W przypadku **nazwa.pl** po zalogowaniu się do panelu administracyjnego, dokonujemy tego w opcjach domeny.

To by było na tyle. W razie pytań proszę pisać i komentować.

Jak tylko czas pozwoli, postaram się dodać kilka wpisów odnośnie możliwości wykorzystania domeny na własnych serwerach DNS do konfiguracji poczty Gmail we własnej domenie itp.

Pozdrawiam.


---
## Huawei E180 w Windows 64bit
- **URL:** https://dariusz.wieckiewicz.org/huawei-e180-w-windows-64bit/
- **Date:** 2009-03-03
- **Tags:** Sprzęt, dc-files.com, e180, huawei, huawei mobile partner, iPlus Manager, Mobile Partner, sterowniki, vista, vista 64bit, windows 7, Windows 7 64bit, zeroCD

### Content

Użytkowników systemów **64-bitowych** nie jest jeszcze tak dużo, ale Ci co je używają, natykają się co pewien czas na problemy z instalacją dodatkowego sprzętu i zmuszenia go do działania.

<!--more-->

Jak dotąd, poważne utrudnienie mają osoby korzystające z internetu od operatorów GSM  w oparciu o modem **Huawei E180**. Osobiście posiadam ten modem w sieci **Plus**. Plus GSM i ich program **iPlus Manager**, nie wspierają tego modemu w systemie 64-bitowym. Informację, jakie można uzyskać od przedstawicieli operatorów, są takie, iż trwają prace nad ich udostępnieniem.

**Nie chcąc wracać na 32bitową odmianę Windowsa, postanowiłem poeksperymentować...**

**Uwaga:** przed instalacją wg poniższej metody proszę usunąć wszelkie oprogramowanie związane z modemem, _sterowniki Huawei_ i oprogramowanie _iPlus Manager_ z _Programy i funkcje_ w _Panelu sterowania_.

Sterowniki to nie jest największy problem, gdyż istnieje możliwość zainstalowania modemu w Windows 64-bit. Gorzej jest, jeżeli chcemy zmusić go do współpracy z programem operatora (w tym przypadku **iPlus Manager 2.0** - _wersja 2.1 nie wpiera oficjalnie tego modemu_).

Po zainstalowaniu sterowników i uruchomieniu iPlus Managera nadal otrzymujemy komunikat, aby podłączyć modem. Jest na to rozwiązanie, ale **ma ono swoje skutki uboczne...**

Otóż, z oficjalnej strony Huawej należy pobrać firmware do naszego modemu.

W momencie pisania tego posta, najnowsza wersja oznaczona jest jako:  
**[E180 Client Software WINMACB300D00SP05C03 (UTPS11.030.01.13.03_MAC11.202.08.00.03) for WinXP&2K&Vista & Mac](http://www.huaweidevice.com/worldwide/downloadCenter.do?method=downloadFile&flay=software&fileName=27763&attachmentName=27763.zip)** (ok. 10MB)

**\- Aktualizacja 09.09.2010 -**

Jako, że nawet producent modemów nie przykłada wagi aby na jego stronie było dostępne zawsze aktualne oprogramowanie, polecam stronę [dc-files.com](http://www.dc-files.com), na której znajdziemy jeszcze nowsze oprogramowane, od tego dostępnego powyżej:

[**E180Update_126.04.02.18B416**](http://www.dc-files.com/files/huawei/modems/E180/) (ok. 15,5MB) - po wejściu na stronę wybrać **Firmware Update (latest version)** i przycisnąć mały obrazek, symbolizujący modem (po prawej od listy wyboru).

**Przed aktualizacją oprogramowania, pobierzmy jeszcze sobie [ze strony Plusa](http://iplus.pl/indywidualni-pobierz-iplus-manager.html), program iPlus Manager 2.0 i zapisujemy go na komputerze lub karcie MicroSD w naszym modemie.**

Oficjalny modem od operatora Plus zawiera własną pamięć, w której zapisana jest aplikacja iPlus Manager, dzięki czemu, zaraz po podłączeniu jesteśmy w stanie zainstalować oprogramowanie do jego obsługi bez konieczności sięgania po płytę CD (_tzw. zeroCD_).

Pobieranie oprogramowania _iPlus Manager_ jest całkowicie dobrowolne, gdyż można w codziennej pracy posługiwać się programem _Mobile Partner_ od _Huawei_. Program ten jest o wiele szybszy i stabilniejszy, ale... po angielsku. O konfiguracji Mobile Partner napisze na samym końcu.

**Jak wspomniałem wcześniej**, wgrania najnowszego firmware **ma pewien skutek uboczny**. A mianowicie, z modemu zostanie usunięty iPlus Manager i wgrane zostanie oprogramowanie producenta modemu Mobile Partner.

Mając na uwadze, iż nasz modem wyposażony jest dodatkowo w kartę pamięci, można bez obaw na niej przechowywać nasz program, który ulegnie skasowaniu z pamięci wbudowanej podczas aktualizacji.

Przechodząc dalej i nie zwracając uwagi na ta niedogodność, która nie wpływa w żaden inny sposób na funkcjonowanie modemu rozpocznijmy instalowanie go w systemie Windows 64-bit.

Jeżeli wcześniej instalowaliśmy nasz modem i oprogramowanie iPlus Manager, należy je usunąć korzystając z **Programy i funkcje** w **Panelu sterowania**, po czym uruchomić komputer ponownie.

Następnie podłączamy nasz modem do portu USB i czekamy aż wszystko się zainstaluje tak, że otrzymamy w Mój komputer (Komputer) ikonę dysku wymiennego z oprogramowanie Mobile Partner oraz dostęp do czytnika kart MicroSD.

Aby nasz modem zaczął działać, należy zainstalować firmowe oprogramowanie Huawei, **Mobile Partner**. Instalacja trochę potrwa. Instalator Mobile Partner zatrzymuje się na ok. 35% i tak pracuje kilka minut, należy uzbroić się w cierpliwość i poczekać ok. 5 minut do końca. Klikamy przycisk Finisz i czekamy cierpliwie. W tym czasie zauważyć będzie można, iż zainstalowane zostaną sterowniki modemu dla naszego systemu - 64-bitowego, po czym modem i karta pamięci pojawią się w oknie (Mój) _Komputer_.

Po zakończonej instalacji, nie uruchamiając ponownie komputera (_nie ma to najmniejszego sensu_) uruchamiamy program Mobile Partner. Po włączeniu zauważymy, iż modem jest wykryty poprawnie, zaloguje się do sieci i poprosi o podanie numeru PIN. Numer ten podajemy, czekamy na zalogowanie do sieci i wyłączamy program.

**Następnie pora na oprogramowanie iPlus Manager 2.0.**

**Uwaga:** Instalujemy wersję 2.0 programu iPlus Managera, nie starszą ani nie nowszą!

Instalujemy nasze oprogramowanie zaznaczając posiadamy przez nas modem marki Huawei. Program zainstaluje się bez najmniejszego problemu z pominięciem ponownego instalowania sterowników.

Nie uruchamiając ponownie komputera, **odpalamy iPlus Manager** z ikony na pulpicie. Czekamy chwilkę na zalogowanie się do sieci i w momencie wyświetlenia się nazwy z nadajnika pozostaje nam połączenie się z Internetem i **uśmiech na twarzy**, gdyż wszystko przebiegło prawidłowo a modem działa w systemie, w którym to wg polskich operatorów nie powinien działać.

Do czasu wypuszczenia nowszych wersji programu iPlus Manager, które będą wspierać nasz modem, powyższe rozwiązanie wydaje się być najbardziej optymalne.

W systemie Vista i nowszym, z włączoną kontrolą użytkownika, może wystąpić problem z uruchamianiem się **iPlus Checker** - czyli ikony w tray'u (koło zegarka), która wykryje nasz modem i uruchomi program _iPlus Manager_. W tym wypadku należy zapoznać się z oficjalnym dokumentem Plusa [na stronie operatora](http://www.iplus.pl/materialy/iplus_manager_1_9_vista.pdf?t=6071.483155241541-42.pdf) - najważniejsza jest strona 6 (w przypadku błędu pobierania, polecam [mirror](/pobierz/iplus_manager_1_9_vista.pdf)).

Życzę powodzenia i **proszę o rozwagę podczas aktualizowania urządzenia**, gdyż robicie to na własną odpowiedzialność. **Jeżeli coś zrobicie nie zgodnie z instrukcją i komunikatami pojawiającymi się na ekranie, możecie uszkodzić nieodwracalnie modem, za co nie biorę żadnej odpowiedzialności.**

**Jeszcze na szybko, jak zamiast iPlus Managera używać Mobile Partner.**

Po uruchomieniu Mobile Partner, wprowadzeniu kodu PIN, może się zdarzyć, że w polu **Profile Name** nie będziemy mieli żadnej opcji dostępnej. Wówczas, aby połączyć się z internetem, należy wybrać z menu **Tools** pozycję **Options** po czym w **Profile Management** dodać Nowy (**New**).

W **Profile Name** wpisujemy dowolnie np.: iPlus. **APN** wybieramy **Static** i wpisujemy słowo **internet**. Resztę pozostawiamy bez zmian, upewniając się, że w polu **Authentication** i **Access number** mamy **\*99#**.

Dodatkowo, klikamy w przycisk **Set as Default**, aby dany profil był profilem domyślnym.

Teraz w głównym oknie możemy się połączyć za pomocą przycisku **Connect**.

**Powodzenia.**

{{% ads-in-article %}}


---
## Windows Vista przyśpiesza...
- **URL:** https://dariusz.wieckiewicz.org/windows-vista-przyspiesza/
- **Date:** 2009-02-13
- **Tags:** Windows, downgrade, optymalizacja, Pamięć wirtualna, plik stronicowy, RAM, ReadyBoost, Service Pack, UAC, vista, Windows

### Content

Jak wielu użytkowników zauważyło, najnowsze dziecko Microsoftu, **Windows Vista** jest nieco ociężały. Narzekać mogą osoby, które próbują instalować go na komputerach, które nie były dla niego projektowane.

Jedno-rdzeniowe procesory i pamięć do 1GB to nie komputer do Visty. Jednakże na nowych, dwu-rdzeniowych komputerach nie zawsze wszystko działa jak należy. Szczególnie jeżeli kupujemy gotowy komputer np. laptop, do którego producent wgrał pełno "śmieci".

<!--more-->

W niektórych wersjach systemu Vista (Business i Ultimate) jest możliwość zrobienia **downgrade**. Można też zakupić licencję Windows XP, ale nie zawsze można. Producenci wypuszczający laptopy z Vistą często nie zadają sobie trudu w udostępnienie na swojej stronie sterowników do XP, zakładając że użytkownik będzie korzystał z pre-instalowanego systemu. Wówczas jesteśmy skazani na Vistę.

Aby zacząć komfortowo pracować w nowym systemie, trzeba podjąć pewne kroki, zmierzające do poprawy jego wydajności. Jeżeli mamy komputer dwu-rdzeniowy wyposażony tylko w **1GB pamięci RAM** (DDR2 lub nowszy), wówczas **musimy** skłonić się do inwestycji i dołożenie pamięci, aby jej ilość nie była mniejsza niż **2GB!**. W przeciwnym wypadku, efekty pracy na takim komputerze będą mizerne, z różnica o 1GB jest znacząca.

Do czasu, aż nie dokupimy sobie wystarczającej ilości pamięci, możemy po części przyśpieszyć nasz system, korzystając z funkcji **ReadyBoost**. W tym celu najlepiej posłużyć się dobrym **pendrive** o pojemności najlepiej **ok. 2GB**. Dzięki tej operacji, odczujemy różnicę, choć nie aż tak dużą jak dołożenie pamięci RAM.

Posiadając już dostosowany nasz komputer, należy dostosować system, aby nie działał ociężale. Pierwszym krokiem jest instalacja dodatku **Service Pack 1**. Operacja zajmie nam ok. 1 godz., ale warto, również ze względów bezpieczeństwa. Moim skromnym zdaniem, dla zaawansowanych użytkowników, warto wyłączyć **UAC (Kontrolę konta użytkownika)**. Jest to dość denerwujące, gdyż w moim przypadku rzuca się jak chce się połączyć z Internetem za pomocą aplikacji **iPlus Manager**.

Aby to zrobić wybieramy **Start > Panel sterowania >** (wygląd klasyczny) **\> Konta użytkowników**

Dalej wybieramy **Włącz lub wyłącz funkcję Kontrola konta użytkownika**, odznaczamy ptaszka **Użyj funkcji ...**, klikamy **OK**, po czym uruchamiamy ponownie komputer.

Następnie, pora na konfigurację Usług systemu.

W tym celu należy uruchomić konfigurację Usług. Aby to zrobić, wciskamy klawisz **Windows+R**,  i wpisujemy **services.msc**, i akceptujemy.

Wyszukujemy usługi wg poniższej listy i **klikając 2gim przyciskiem myszy** na pole **Właściwości**, zmieniamy odpowiednio tryb uruchomienia.

- Logowanie pomocnicze **(Ręczny)**
- Pliki trybu Offline (nie we wszystkich wersjach Visty występuje) **(Ręczny)**
- ReadyBoost **(Ręczny)** - chyba że używamy stale tej funkcji do podniesienia wydajności, wówczas pozostawiamy opcję domyślną.
- Usługa wprowadzania na komputerze typu Tablet **(Wyłączony)** - chyba że mamy komputer typu Tablet, z dotykowym ekranem, wówczas zostawiamy domyślną wartość.
- Windows Search (znany jako Usługa wyszukiwania systemu Windows) **(Wyłączony)** - opcja domyślnie była wyłączona w Windows XP, a w systemie Vista przy bardzo dużej ilości plików na dysku powoduje tylko jego ciągłą prace i spowolnienie.
- Usługa raportowania błędów systemu Windows **(Ręczny)** - umożliwia wysyłanie informacji o błędach do Microsoftu.

Aby wszystko zaczęło funkcjonować, należy oczywiści uwzględnić ponowne uruchomienie komputera. Można to oczywiście zrobić po wykonaniu wszystkich zabiegów. Pora na ograniczenie tzw. **wodotrysków**, czyli niepotrzebnych efektów wizualnych. Oczywiście nie wszystkich, nie przesadzajmy, system też musi jakoś wyglądać :), przecież nie chcemy powrotu do Windows 95. Klikamy 2gim przyciskiem myszy **na ikonę Komputer** (pulpit lub menu start) i wybieramy opcję **Właściwości**.

Z lewego Menu wybieramy **Zaawansowane ustawienia systemu**. W zakładce **Zaawansowane** wybieramy przycisk **Ustawienia** przy pozycji **Wydajność**. Wybieramy opcję **Dostosuj dla uzyskania najlepszego wyglądu** i **odznaczamy** poniższe pozycje:

- Animuj formanty i elementy wewnątrz okien
- Pokaż cienie pod menu
- Pokaż cienie pod wskaźnikiem myszy
- Stosuj... (wszystkie)
- Wysuwaj otwarte pola kombi
- Wysuwaj przyciski paska zadań

W tym samym oknie jest również zakładka **Zaawansowane**, w której to możemy ustalić jeszcze jedną ważną wartość, a mianowicie **Pamięć wirtualną**.

Jak klikniemy przycisk **Zmień**, domyślnie system Vista automatycznie zarządza rozmiarem pliku stronicowania. Plik ten przechowuje informacje na dysku, które spokojnie mogły by być przechowywana w pamięci RAM. Zmieniając tą wartość, możemy znacząco poprawić wydajność a nawet ograniczyć miejsce na dysku twardym.

Odznaczamy opcję **Zarządzaj automatycznie...** i dla partycji systemowej (domyślnie C:) ustalmy **Rozmiar niestandardowy**. W przypadku komputerów, których ilość pamięci jest mniejsza niż 2GB, zaleca się, aby plik wymiany był ustawiony, a jego wartość wynosiła min. (3x) trzykrotną wartość pamięci RAM (np. dla 1GB = 3072MB).

W przypadku komputerów posiadających **2GB RAM i więcej**, optymalnym rozwiązaniem jest **całkowite wyłączenie pliku stronicowego**, dzięki czemu, informacje z którymi system pracuje, będą przechowywane w pamięci RAM a nie na dysku.

**Dlaczego napisałem optymalny?** Jeżeli nasz komputer wykorzystujemy do pracy, internetu i obsługi bardziej, lub mniej wymagających programów, wyłączenie pliku stronicowego jest dobrym rozwiązaniem. Jednakże dla **graczy**, szczególnie tych, którzy grają w gry dziejące się na rozległym terenie, najlepiej jest pozostawić plik wymiany włączony.

_Dla przykładu_, przy wyłączonym pliku wymiany w grze, można doświadczyć **okresowego klatkowania**, objawiającego się zatrzymaniem gry na niespełna _1 sekundę_ co pewien okres czasu. Niby to nie dużo, ale podczas wartkiej akcji, problem ten jest dość poważny. Wówczas plik wymiany niweluje problem, który wiąże się ściśle ze zwolnieniem i ponownym zapełnieniem danymi pamięci RAM.

Należy pamiętać, iż aby zmiany odniosły skutek, należy kliknąć w przycisk **Ustaw** i ponownie uruchomić system. Kolejną rzeczą którą możemy zrobić, jest **Ograniczenie miejsce dla odzyskiwania systemu**, które może czasem zajmować na dysku pokaźna jego ilość (np. 10GB).

Aby to ograniczyć, należy po wciśnięciu przycisku **Windows+R** wpisać poniższą komendę.

**vssadmin resize shadowstorage /For=C: /On=C: /MaxSize=3000MB**

Podobnie dla dysku D: i innych (zmieniając analogicznie C:)

Dzięki tej operacji, nasze punkty przywracania nie będą zajmować nam więcej niż ~3GB miejsca na dysku. Ma to oczywiście swój minus, a mianowicie mniejsza ilość wstecznych punktów przywracania dostępna dla użytkownika, choć z reguły przywraca się pierwszy-starszy punkt, w momencie gdy wystąpiła awaria systemu.

**Ostatnią radą** jest przyśpieszenie o kilkanaście procent szybkości ładowania systemu Vista na komputerach wielordzeniowych. Domyślnie Vista nie używa wszystkich rdzeni przy ładowaniu systemu.

W tym celu uruchamiamy komendę **msconfig** (_Windows+R_), i w zakładce **Rozruch** wybieramy **Opcje zaawansowane**, zaznaczamy ptaszkiem **Liczbę procesorów** i wybieramy maksymalną wartość odpowiadającą ilości rdzeni jakie posiadamy. Klikamy **OK** i uruchamiamy ponownie komputer.

> Jak się okazało, powyższa "porada" to Mit. Jako, że nie ja ją wymyśliłem, a jedynie użyłem przy tworzeniu całości, chciałbym odnieść was [do tego artykułu](http://dobreprogramy.pl/index.php?dz=8&a=222&Koniec+z+przyspieszaniem+bootowania), z którego jasno wynika, że niby to przyśpieszenie ładowania systemu Windows wzrasta o nawet 30% to fikcja.

> **Aktualizacja:** 14 czerwiec 2009

Jak wiadomo, po każdej aktualizacji systemu Windows Vista i innych, na komputerze pozostają pliki tymczasowe, które służą jedynie do możliwości ich odinstalowania, z czego 99% użytkowników nie korzysta. Do momentu wydania finalnej wersji **Service Pack 2** dla systemu **Windows Vista** oraz zaraz po instalacji, nasz system mógł "urosnąć" o spore GiB danych, które, tak naprawdę, niepotrzebnie zajmują miejsce.

Część tych danych można usunąć darmowym programem [**CCleaner**](http://www.ccleaner.com/), ale co z resztą?

Otóż, Microsoft pomyślał co nieco o użytkownikach i po zainstalowaniu Service Pack 2, możliwe jest stałe zintegrowanie aktualizacji z systemem i usunięcie ich plików tymczasowych, de\`instalatorów i innych niepotrzebnych nikomu rzeczy.

Aby to wykonać, należy z poziomu linii poleceń **cmd** (_Windows+R_) uruchomić komendę **compcln.exe**. Po potwierdzeniu chęci trwałego zainstalowania wszystkich dodatków Service Pack, nasz komputer zacznie pracować i usuwać niepotrzebne GiB danych. Warto zapisać sobie ilość zajmowanego miejsca przez system przed wykonaniem tej operacji i po. **W moim przypadku**, przy czystym systemie, różnica wyniosła **ok. 3GiB**, a w przypadku systemów "używanych", mamy do czynienia z dwu a nawet w skrajnym wypadku trzycyfrowym zwolnieniu cennych GiB z dysku.

**Operacja ta jest 100% bezpieczna** i nie ma co się obawiać, że jakieś ważne dane ulegną bezpowrotnemu straceniu.

Inną rzeczą, ważną przede wszystkim użytkownikom laptopów jest **Hibernacj**a. Plik **hiberfil.sys** rezydujący na głównej partycji systemowej potrafi w skrajnym wypadku pożreć nam trochę danych. Aby się go pozbyć, należy zadać sobie pytanie, czy hibernacja jest nam potrzebna?

Większość użytkowników laptopów wykorzystuje tzw. **tryb wstrzymania**, który jest niezależny od hibernacji, szybszy, mimo to wyczerpujący znacznie szybciej baterię komputera.

W systemie **Windows XP**, wyłączenie hibernacji było o tyle proste, iż ograniczało się do odwiedzenia **Panelu sterowania** i **Opcji zasilania**. Niestety, Microsoft skrupulatnie ukrył tą opcję w Windows Vista w miejscu, którego nie może znaleźć standardowy użytkownik komputera.

Jeżeli już zadaliśmy sobie pytanie i stwierdziliśmy, że hibernacji do szczęścia nie potrzebujemy, możemy ją wyłączyć. Aby tego dokonać, należy z poziomu linii poleceń **cmd** (_Windows+R_) uruchomić komendę **powercfg -h off**, która spowoduje wyłączenie Hibernacji i po chwili, usunięcie pliku **hiberfil.sys** z dysku systemowego.

W przypadku, gdy zdecydujemy się ponownie korzystać z hibernacji, wystarczy wykonać analogiczną komendę **powercfg -h on**, aby ją ponownie uruchomić.

To by było na tyle, jak coś sobie przypomnę, to postaram się dopisać.

Mam nadzieje, że moje wskazówki komuś się przydadzą. Jednocześnie zaznaczam, iż użytkujecie je na własna odpowiedzialność.

Pozdrawiam.

{{% ads-in-article %}}


---
## 64-bity na codzień
- **URL:** https://dariusz.wieckiewicz.org/64-bity-na-codzien/
- **Date:** 2009-02-09
- **Tags:** Windows, 64-bit, Prawo Murphiego, Radeon, RAM, Windows Vista, Windows XP

### Content

Ostatnimi czasy przewinęły się przez moje ręce przeróżne laptopy (do zrobienia, sprzedania), w różnorakiej konfiguracji oraz systemami z rodziny Windows w przeróżnych wersjach. Z niektórymi nie było większych problemów, inne natomiast wymagały poszukiwania odpowiednich sterowników i głowienia się co, jak i w jakiej kolejności.

Osobiście również postanowiłem zmienić Laptopa, a jako że ceny pamięci nie są juz tak wygórowane, postanowiłem wyposażyć go w **4GB**. Od **4GB** zaczęły się przeboje.

<!--more-->

System operacyjny **Windows XP 32-bit** wyposażony w **SP3** (MSDN AA) nie wykrył poprawnie pamięci. Jego maksimum to **3GB**, przy jednoczesnym wyłączeniu pamięci wymiany SWAP. Troszkę mnie to zirytowało. Bo skoro mam 4GB to dlaczego tego nie wykorzystywać. Oprócz błędnego pokazywania samej pamięci, miałem na uwadze fakt, iż wbudowana w laptop karta graficzna **ATI Radeon HD.0**, która posiadała własnej pamięci **256MB**, korzysta również z systemowej.

Jak wiadomo, im więcej pamięci graficznej, tym lepiej, jeżeli chodzi o wymagające programy graficzne oraz gry.

Windows XP 32-bit SP3 przydzielił karcie graficznej nieco ponad **1500MB**. Niby ok, ale może dało by się więcej? O tym dalej... 

Szukając rozwiązania dla systemu XP 32-bit, aby poprawnie identyfikował pamięć, zacząłem natykać się w Internecie na wpisy mówiące, że systemy 32-bitowe mają wąskie gardło, które ograniczają ich możliwość do max. 4GB.

Ale mój XP widział tylko 3GB... hmm...

Nie posiadając, a raczej nie chcąc instalować 64-bitowej wersji systemu Windows XP (spore niedobory sterowników), postanowiłem dać szansę **Windows Vista Home Premium**, który to zakupiłem wraz z laptopem.

Na pierwszy ogień poszła fabryczna 32-bitowa edycja.

Po zainstalowaniu, również zaobserwowałem niemiłą dolegliwość z XP, a mianowicie 3GB RAM.

Zacząłem mieć wątpliwości, jakoby laptop miał problem z prawidłową współpracą z dwoma kośćmi po 2GB. Więc zaktualizowałem BIOS do najnowszej wersji.

Z poziomu BIOSu wyświetlane były poprawnie obie kości, sumarycznie dając 4096MB.

**Niestety**, Vista 32-bit nadal nie widziała jej poprawnie. 

Szperając dalej po forach, dowiedziałem się, iż Service Pack 1 do systemu Vista rozwiązuje problem z pamięcią 4GB.

A więc ruszyłem do instalacji i po godzinie był już zainstalowany, a system poprawnie, **"prawie"** poprawnie wyświetlał **4GB** pamięci RAM.

Niestety, wyświetlanie 4GB to tylko fikcja, gdyż w **Menadżerze zadań**, maksymalna ilość pamięci jaka była obsługiwana przez system, nadal wyświetlana była jako 3072MB a karta graficzna również otrzymała tyle pamięci z systemu co w XP.

Oczywiści, ktoś może powiedzieć gdzie podziała się pamięć. Została oddelegowana do grafiki. Jednak nie tutaj!

Obcinanie pamięci i przekazanie jej dla grafiki, owszem, ale nie w dedykowanych kartach graficznych. Przy dedykowanych grafikach, sprawa wygląda nieco inaczej, a mimo iż otrzymują one dodatkową pamięć z RAM, nie odzwierciedla się to w tym, że w systemie pokazywana jest mniejsza jej ilość.

Kontynuując małe, prywatne dochodzenie, z tym co jest nie tak... postanowiłem zainstalować **Vistę** w wersji **64-bit**.

Jako że laptop wyposażony jest w procesor z Instrukcjami **EM64T**, czyli obsługą 64-bitowego systemu, ruszyłem do instalacji.

Od razu po zainstalowaniu systemu bez Service Pack, oczom moim ukazał się napis **z obsługą 4GB RAM**. Również w **Menadżerze zadań**, wykorzystywana ilość pamięci wynosiła **4096MB** (4093).

Już na wstępie byłem zadowolony.

Przystąpiłem do instalacji sterowników, o które producent laptopa (**TOSHIBA**) zadbał również dla systemu 64-bit. 

Wszystko przebiegło gładko i sprawnie. Ostatnim krokiem było sprawdzenie, ile to pamięci przydzielone zostało dla karty graficznej.

I tutaj również miła niespodzianka. Obok własnej pamięci 256MB, karta graficzna dostała **od systemu 1791MB**, do w sumie dało całkowitą **pamięć graficzną** na poziomie niespełna **2GB** :)

I tak od instalacji systemu minął miesiąc i wszystko ładnie działa. Oby tak dalej. Jak widać, zarówno w sklepach jak i na aukcjach internetowych, 2GB RAMu w komputerach przenośnych zaczyna być standardem, a odwołując się do **Prawa Murphiego**, za niecałe 2-lata liczba ta ulegnie podwojeniu.

Już teraz, co lepsze laptopy wyposażone są w 4GB pamięci.

W związku z tym, jeżeli zamierzacie takiego kupić, z systemem operacyjnym lub bez, zastanówcie się już teraz nad instalacją systemu 64-bit, bo po co ma się marnować 1GB RAMu.

Jeżeli nie, to może lepiej kupić inny egzemplarz z 2GB, oszczędzając tym samym troszkę pieniążków, nie wpływając zbytnio na wydajność, gdyż w rezultacie różnicy nie będzie. Bo co to za różnica przy 2GB ram i 2GB SWAP a systemem obsługującym 3GB RAM z wyłączonym SWAP.

Pozostawiam wam to do przemyślenia oraz zachęcam do komentowania.

Pozdrawiam.

{{% ads-in-article %}}


---
## Pilot X10 i Windows Media Center w Vista
- **URL:** https://dariusz.wieckiewicz.org/pilot-x10-i-windows-media-center-w-vista/
- **Date:** 2008-12-26
- **Tags:** Sprzęt, Windows, allegro, MediaPortal, OR24E, pilot radiowy do komputera x10, Sławomir Włodkowski, Vista Home Premium, Windows Mecia Center, x10, Zdalne Sterowanie, zdalne sterowanie x10

### Content

Zawsze chciałem zrobić użytek z komputera i wykorzystać jego elementy do budowy Media Center. Niestety, jako że finanse na to nie pozwalają, postanowiłem pójść prostszą drogą i podłączyć swojego laptopa do telewizora.

Aby móc bez przeszkód oglądać firmy i poczuć pełną swobodę, zainwestowałem i kupiłem na Allegro pilot radiowy X10 wyposażony w odbiornik na USB (_RF MCE Remote Control OR24E_).

<!--more-->

Jego zaleta jest prosta. Nie potrzeba go kierować w oczko podczerwieni, gdyż wszystko sterowane jest radiowo.

![Pilot X10 (OR24E)](pilot.jpg)

Nie chcąc wydawać zbyt dużej sumy pieniędzy, kupiłem produkt widoczny na zdjęciu. O ile korzystałem z Windows XP i programu MediaPortal, który bez problemu obsługiwał mój pilot, o tyle po przejściu na Vista Home Premium, chciałem wykorzystać do tego celu wbudowany Windows Media Center. I tutaj zaczęły się problemy.

Gdybym zainwestował w droższy pilot, który po podłączeniu wykrywany jest prawidłowo przez WMC w Viscie, nie było by problemu. W przypadku mojego niezbędne było jego przystosowanie.

Nieodzownym elementem do pilota X10 jest program polskiego autora, _Sławomira Włodkowskiego_, a mianowicie, **Zdalne Sterowanie w wersji 2.1**.

**W związku z okresową niedostępnością strony domowej autora, a tym samym brakiem możliwości pobrania programu, zamieszczam (za jego zgodą) [mirror](/pobierz/x10setup.zip).** 

WMC w Viscie można obsługiwać bez problemu za pomocą odpowiednich skrótów klawiszowych. W związku z tym, z wykorzystaniem ZS, można zaprogramować odpowiednio pilot tak, aby symulował klawiaturę.

Jako że w Internecie nie znalazłem żadnego pliku konfiguracyjnego dla mojego pilota, postanowiłem odpowiednio go przyuczyć, aby spełniał wszystkie powierzone mu zadania. Jednocześnie plik konfiguracyjny udostępniam go wam, abyście mogli oszczędzić sobie trochę czasu.

Poniżej zamieszczam archiwum zawierające **plik INI** z konfiguracją **pod Windows Media Center** w Viscie oraz krótką instrukcję dotyczącą skrótów klawiszowych i ich odpowiedników na pilocie.

[Pobierz](/pobierz/MedionX10USBRemote-WindowsXPx64.zip)

W związku z faktem, iż coraz częściej systemy 64bitowe zagęszczają w naszych domach, dobrze by było móc używać naszego pilota również w nich. W Windows Vista 32bit po zainstalowaniu ZS nie pa potrzeby instalowania sterowników. Niestety, w 64bitowej wersji trzeba zainstalować sterowniki 64bitowe. W związku z tym, iż nie tak łatwo je znaleźć, zamieszczam dla was plik ze sterownikami do systemu Windows XP 64bit, które pasują również do Windows Vista 64bit.

[Pobierz](/pobierz/pilot_x10_w_vistawmc.zip)

Życzę udanego użytkowania.

{{% ads-in-article %}}


---
## Stanowisko pracy - Solarium
- **URL:** https://dariusz.wieckiewicz.org/stanowisko-pracy-solarium/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, ergonomia, pdf, solarium

### Content

Moja praca zaliczeniowa ze studiów.  
Publikacja na temat ergonomii stanowiska pracy pracownika solarium, napisana wraz z moim kolegą na zaliczenie przedmiotu Ergonomia.

<!--more-->

[Pobierz](/pobierz/stanowisko_pracy_pracownika_solarium.pdf)

{{% ads-in-article %}}


---
## Instalacja bezprzewodowej karty sieciowej - acx100/111
- **URL:** https://dariusz.wieckiewicz.org/instalacja-bezprzewodowej-karty-sieciowej-acx100111/
- **Date:** 2008-11-01
- **Tags:** Linux, acx100, Linux, mandrake, pdf, texas instruments

### Content

> **Uwaga:** Wersja niniejszego dokumentu została opublikowana jakiś czas temu. Do tego czasu w systemach z rodziny Linux dużo się zmieniła, a opisane w nim elementy mogą być już nieprzydatne.

Niniejsza publikacja przedstawia jak w prosty sposób zainstalować kartę sieciową WiFi opartą na chipie Texas Instruments w systemie Mandrake Linux w oparciu o sterowniki acx100/111.

<!--more-->

[Pobierz](/pobierz/acx-mandrake130.zip)

{{% ads-in-article %}}


---
## Podstawy konfiguracji BIOSu na przykładzie
- **URL:** https://dariusz.wieckiewicz.org/podstawy-konfiguracji-biosu-na-przykladzie/
- **Date:** 2008-11-01
- **Tags:** Komputery, award, bios, instrukcja, manual, pdf, procomp

### Content

Moja publikacja, a po części Instrukcja (Manual) przedstawiająca większość typowych opcji w Biosie komputerów stacjonarnych oraz ich opis. Z pewnością przyda się każdej osobie, które dopiero zaczynają swoją naukę w dziedzinie komputerowej.

<!--more-->

[Pobierz](/pobierz/bios-ks.pdf)

{{% ads-in-article %}}


---
## Schemat budowy odbiornika podczerwieni na port COM (RS-232)
- **URL:** https://dariusz.wieckiewicz.org/schemat-budowy-odbiornika-podczerwieni-na-port-com-rs-232/
- **Date:** 2008-11-01
- **Tags:** Sprzęt, com port, odbiornik, odbiornik ir, pdf, podczerwieni, rs-232, schemat

### Content

Schemat odbiornika **IR** (nie mylić z IRDA) na porcie **RS-232** - popularnie COM

Poniższy sposób wykonania nie jest do końca mojego autorstwa. Osobiście postarałem się przygotować dokument dla osób - **nie-elektroników**, w celu przedstawienia, jak w domowym zaciszu zbudować odbiornik podczerwieni pozwalającym na sterowanie komputera za pomocą dowolnego pilota RTV.

Sposób zobrazowania i budowy pozwoli na jego skonstruowanie nawet osobie, które nie miała większego styku z elektroniką, ale wie jak się przylutowuje elementy.

<!--more-->

[Pobierz](/pobierz/schemat_bop.pdf)

{{% ads-in-article %}}


---
## Wylicznik dochodu netto 2003
- **URL:** https://dariusz.wieckiewicz.org/wylicznik-dochodu-netto-2003/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, dochód netto, excel, wylicznik, xls

### Content

> **Uwaga:** Wersja niniejszego dokumentu została opublikowana jakiś czas temu. Do tego czasu dużo się zmieniło, a opisane w nim elementy mogą być już nieprzydatne.

Arkusz kalkulacyjny XLS, mający za zadanie pokazać, jak za pomocą kilku funkcji można zastosować go w codziennej pracy. Arkusz wylicza dochód netto po uwzględnieniu typowych odliczeń idących do Państwa z uwzględnieniem stawek obowiązujących w 2003 roku.

<!--more-->

[Pobierz](/pobierz/WDN2003.zip)

{{% ads-in-article %}}


---
## Średnia akademicka
- **URL:** https://dariusz.wieckiewicz.org/srednia-akademicka/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, excel, średnia, średnia akademicka, xls

### Content

Arkusz kalkulacyjny XLS do wyliczania średniej akademickiej, czyli średniej ocen wg. systemu stosowanego na studiach wyższych.

**Skrócony sposób obliczeń:** Suma (godziny zajęć \* ocena ) dzielone przez Sumę godzin

<!--more-->

[Pobierz](/pobierz/srednia-akademicka.zip)

{{% ads-in-article %}}


---
## Opakowania do żywności i ich cechy charakterystyczne
- **URL:** https://dariusz.wieckiewicz.org/opakowania-do-zywnosci-i-ich-cechy-charakterystyczne/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, opakowania, pdf, żywność

### Content

Moja praca zaliczeniowa ze studiów.  
Dokument opisuje pokrótce kilka opakowań do żywności z różnych typów grup, cechy charakterystyczne i przeznaczenie. Warte uwadze.

<!--more-->

[Pobierz](/pobierz/praca_opakowania.pdf)

{{% ads-in-article %}}


---
## Przykładowy Biznes Plan
- **URL:** https://dariusz.wieckiewicz.org/przykladowy-biznes-plan/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, biznes plan, pdf, przykład, przykładowe

### Content

> **Uwaga:** Wersja niniejszego dokumentu została opublikowana jakiś czas temu. Do tego czasu dużo się zmieniło, a opisane w nim elementy mogą być już nieprzydatne.

Przykładowy biznes plan, szczególnie przydatny dla osób które muszą go napisać a nie wiedzą jak się za to zabrać.

<!--more-->

[Pobierz](/pobierz/biznes_plan.pdf)

{{% ads-in-article %}}


---
## Przykładowe Dyskontowanie Weksli
- **URL:** https://dariusz.wieckiewicz.org/przykladowe-dyskontowanie-weksli/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, dyskontowanie, ekonomia, excel, weksle, xls

### Content

Przykładowe dyskontowanie weksli jest Arkuszem kalkulacyjnym XLS do przeznaczenia studyjnego, dla osób mających na etapie kształcenia przedmiot związany z Organizacją i Zarządzaniem (szczególnie w odniesieniu do studentów Politechniki Koszalińskiej).

<!--more-->

**Wersja 1.0 Beta 2**

[Pobierz](/pobierz/oiz_dskweksle_pk.zip)

{{% ads-in-article %}}


---
## Monitory Ekranowe
- **URL:** https://dariusz.wieckiewicz.org/monitory-ekranowe/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, ergonomia, lcd, monitor, monitory ekranowe, pdf

### Content

Jedna z moich prac ze studiów, na zaliczenie przedmiotu Ergonomia.

Dokument opisujący w prosty sposób, znacznie uproszczony, zagadnienie związane z monitorami ekranowymi, i ergonomii pracy z nimi. Można w nim znaleźć m.in. sposób prawidłowego usadowienia użytkownika komputera przed monitorem.

<!--more-->

[Pobierz](/pobierz/monitory_ekranowe.pdf)

{{% ads-in-article %}}


---
## Koncentracja równowagowa w procesie wymiany masy
- **URL:** https://dariusz.wieckiewicz.org/koncentracja-rownowagowa-w-procesie-wymiany-masy/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, koncentracja równowagowa, pdf, wilgotność, wymiana masy

### Content

Praca kontrolna napisana przeze mnie na potrzeby zaliczenia przedmiotu Inżynieria Procesów Przetwarzania, opisująca zagadnienie koncentracji równowagowej. Poruszany jest w niej przykład zboża, które przy wilgotności 20% ziarna i powietrzu 50% będzie schło - i dlaczego tak się dzieje.

<!--more-->

[Pobierz](/pobierz/koncentracja_rownowagowa.pdf)

{{% ads-in-article %}}


---
## Gęstość objętościowa gleby i jej znaczenie dla urodzajności
- **URL:** https://dariusz.wieckiewicz.org/gestosc-obetosciowa-gleby-i-jej-znaczenie-dla-urodzajnosci/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, gęstość objętościowa, gleba, pdf

### Content

Jedna z moich prac zaliczeniowych dotycząca zagadnienia "Gęstości objętościowej gleby i jej znaczenia dla urodzajności". W prosty sposób opisany jest fakt, iż na glebie bardziej gęstszej objętościowo rośną plony inaczej, niż na rzadszej.

<!--more-->

[Pobierz](/pobierz/gleby_ppr.pdf)

{{% ads-in-article %}}


---
## Dieta (1 dzień) + Zawartość wody
- **URL:** https://dariusz.wieckiewicz.org/dieta-1dzien-zawartosc-wody/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, dieta, excel, html, woda, xls

### Content

Dieta na 1 dzień to Arkusz kalkulacyjnych, pozwalający w znacznie szybszy sposób dobrać elementy o określonych wartościach energetycznych, mineralnych i innych, tak, aby skonstruować dietę jednodniową, ściśle odpowiadającą wartościom normatywnym, przypadającą dla danej grupy osób.

Dodatkowo - strona WWW w wersji offline pomocna przy określeniu zawartości wody w produktach.

<!--more-->

[Pobierz](/pobierz/dietazaw_wodyx97.zip)

{{% ads-in-article %}}


---
## Czekolada jako środek wpływający na zdrowie człowieka
- **URL:** https://dariusz.wieckiewicz.org/czekolada-jako-srodek-wplywajacy-na-zdrowie-czlowieka/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, czekolada, pdf, zdrowie

### Content

Referat na temat czekolady, napisany przeze mnie na potrzeby przedmiotu o żywieniu na studiach.

Wielu z was uważa zapewne, że czekolada jest zła, że przez nią się tyje, dostaje wyprysków i innego typu schorzeń. Przeczytajcie poniższy artykuł i dowiedzcie się w jakim to jesteście błędzie.

Wszelkie zamieszczone materiały w referacie są sprawdzone i oparte na wiarygodnych badaniach. Zachęcam do przeczytania.

<!--more-->

[Pobierz](/pobierz/czekolada-praca.pdf)

{{% ads-in-article %}}


---
## Plan Spłaty Kredytu
- **URL:** https://dariusz.wieckiewicz.org/plan-splaty-kredytu/
- **Date:** 2008-11-01
- **Tags:** Dydaktyka, ekonomia, excel, kredyt, plan spłaty, spłata, xls

### Content

Plan spłaty kredytu jest Arkuszem kalkulacyjnym XLS do przeznaczenia studyjnego, dla osób mających na etapie kształcenia przedmiot związany z Organizacją i Zarządzaniem (szczególnie w odniesieniu do studentów Politechniki Koszalińskiej).

**Arkusz przedstawia sposób obliczeń dla dwóch metod:** kapitałowej i annuitetowej.

<!--more-->

[Pobierz](/pobierz/PSK-12.zip)

{{% ads-in-article %}}


---
## Sernik na zimno
- **URL:** https://dariusz.wieckiewicz.org/sernik-na-zimno/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, przepis, sernik

### Content

> Trudność: **Mała**
> Czas przygotowania: **ok. 30 minut** 
> Czas schładzania: **ok. 60 (sernik) +10 (galaretki) minut** 

<!--more-->

## Składniki

*   0,5 kg sera białego - twarogowego
*   kostka margaryny
*   szklanka cukru
*   bakalie
*   4 jaja (żółtka + białka)
*   6 łyżeczek żelatyny
*   cukier wanilinowy
*   galaretka (wg gustu)
*   owoce (pomarańcze, mandarynki)

{{% ads-in-article %}}

## Wykonanie

Do głębokiego naczynia wsypać cukier i cukier waniliowy, dodać żółtka i margarynę a następnie wszystko utrzeć na jednolitą masę. Po osiągnięciu jednolitej, sztywnej masy, dodać ser twarogowy. Wszystko wymierać.

Przygotować żelatynę, rozrabiając ją w kubeczku gorącej, ale nie wrzącej wody. Dodać do naszej masy. Żelatyna podczas dodawania może być ciepła.

Białka ubić na sztywną pianę i dodać do ciasta. Wszystko wymieszać.

Na samym końcu dodajemy bakalie (rodzynki), i delikatnie mieszając rozprowadzamy je po całej masie na sernik. Tak przygotowane ciasto przelewamy do formy i odstawiamy na 60 minut do lodówki.

Po zastygnięciu ciasta układamy na wierzch owoce i zalewamy przygotowaną w między czasie galaretką (w miarę wystudzoną). Ponownie wkładamy nasze ciasto do lodówki w celu zastygnięcia galaretki.

Podawać udekorowane bitą śmietaną.

**Smacznego :)**


---
## Torcik truskawkowy
- **URL:** https://dariusz.wieckiewicz.org/torcik-truskawkowy/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, bita śmietana, przepis, tort, truskawki

### Content

> Trudność: **Mała**
> Czas przygotowania: **25 minut**
> Czas schładzania: **ok. 30 minut**

<!--more-->

## Składniki

*   2 galaretki o smaku truskawkowym
*   1 opakowanie okrągłych biszkoptów
*   1/2 kg truskawek
*   600g serka homogenizowanego
*   bita śmietana

{{% ads-in-article %}}

## Wykonanie

Bierzemy średniej wielkości tortownicę i wykładamy jej dno biszkoptami. 

Oczyszczone truskawki układamy na biszkoptach. 

Bierzemy 2 opakowania galaretki i rozpuszczamy je w 1/2 litra gorącej wody. Odczekujemy trochę aby galaretka nam ostygła, ale żeby nie zastygła! 

Gdy galaretka zacznie już nieco tężeć dodajemy do niej serek homogenizowany (lub mascarpone). Pomału mieszamy aby uzyskać jednolitą masę, i taką wylewamy na wcześniej przygotowane truskawki. 

Całość wstawiamy do lodówki na ok. 30 minut (do stężenia). 

Podajemy udekorowane bitą śmietaną. 

**Smacznego :)**


---
## Placek włoski
- **URL:** https://dariusz.wieckiewicz.org/placek-wloski/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, bakalie, jabłka, placek, przepis

### Content

Ciasto dla smakoszy bakalii... 

> Trudność: **Średnia**
> Czas przygotowania: **20 minut**
> Czas pieczenia/schładzania: **20 minut**

<!--more-->

## Składniki

*   6 jabłek
*   1 szklanka cukru
*   3 jaja
*   2 szklanki mąki
*   1 łyżeczka sody
*   1 łyżeczka proszku do pieczenia
*   1 szklanka pokrojonych bakalii (rodzynki, orzechy włoskie, skórka pomarańczy)

{{% ads-in-article %}}

## Wykonanie

Jabłka należy umyć, obrać i pokroić w kostkę, zasypać cukrem, dodać bakalie i odstawić na godzinę do chłodnego miejsca.

Po godzince do naszego naczynia wbijamy jajka i wsypujemy mąkę wymieszaną z proszkiem do pieczenia i sodą. Wszystkie składniki mieszamy, a następnie wkładamy do wysmarowanej tłuszczem i wysypanej mąką blachy.

Tak przygotowaną formę z ciastem wkładamy na ok. 40 minut do średnio nagrzanego piekarnika (160-180 st. Celsjusza). Gdy ciasto nam się ładnie przyrumieni sprawdzamy wykałaczką czy jest już gotowe, i jemy.

**Smacznego :)**


---
## Lody bananowe
- **URL:** https://dariusz.wieckiewicz.org/lody-bananowe/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, banany, lody, przepis

### Content

> Trudność: **Łatwa**
> Czas przygotowania: **1 godzina, 5 minut**
> Czas pieczenia/schładzania: **30 minut**

<!--more-->

## Składniki

*   4 banany
*   ½ szklanki soku jabłkowego
*   odrobina soku z cytryny

{{% ads-in-article %}}

## Wykonanie

Banany obieramy ze skórki, zawijamy w folię i wkładamy na 2 godzinki do lodówki. Następnie kroimy je w plasterki.

Pokrojone plasterki wkładamy do miksera z metalowymi nożami (jak do robienia przecierów).

Następnie wlewamy sok jabłkowy i cytrynowy. Miksujemy aż wszystko nabierze konsystencji kremu.

Tak przygotowany krem wkładamy do miseczek i umieszczamy na 30 minut w zamrażarce.

Podawane mogą być nie do końca zmrożone, ale żeby nie pływały. 

**Smacznego :)**


---
## Jabłecznik z cynamonem
- **URL:** https://dariusz.wieckiewicz.org/jablecznik-z-cynamonem/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, cynamon, jabłecznik, jabłka, przepis

### Content

> Trudność: **Łatwa**
> Czas przygotowania: **1 godzina, 20 minut**
> Czas pieczenia/schładzania: **45 minut**

<!--more-->

## Składniki

*   4 szklanki mąki
*   1 szklanka cukru
*   2 jaja
*   cynamon
*   1 łyżeczka proszku do pieczenia
*   2 łyżki smalcu
*   5 łyżek śmietany
*   100g kostki margaryny
*   2kg jabłek

{{% ads-in-article %}}

## Wykonanie

Jabłka należy umyć, obrać i zetrzeć na grubej tarce. Następnie mąkę, cukier i proszek do pieczenia mieszamy ze sobą, po chwili wlewając śmietanę i roztopiony smalec (ale żeby nie był gorący!). Wyrabiamy ciasto.

Kiedy ciasto osiągnie odpowiednią konsystencję dzielimy je na 2 w miarę równe części i wkładamy na godzinę do chłodziarki.

Jedną część ciasta rozwałkowujemy i wkładamy do wysmarowanej tłuszczem formy. Nakładamy nasze jabłka, które następnie obsypujemy cynamonem. Rozwałkowujemy drugą część ciasta i przykrywamy nią jabłka. Tak przygotowaną blachę z ciastem wkładamy na 45 minut do piekarnika nagrzanego na 180 st. Celsjusza.

**Smacznego :)**


---
## Receptury na gofry
- **URL:** https://dariusz.wieckiewicz.org/receptury-na-gofry/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, gofry, przepis, wafle

### Content

Przygotuj sam pyszne gofry i poczuj się znowu jakbyś był dzieckiem.

> Trudność: **Łatwa**
> Czas przygotowania: **5 minut**
> Czas pieczenia/schładzania: **25 minut**

<!--more-->

## Gofry Holenderskie

### Składniki

- 450g mąki wrocławskiej
- 0.5 l mleka
- 75g cukru pudru
- szczypta soli
- 100g masła
- 2 jaja
- 15g proszku do pieczenia

{{% ads-in-article %}}

### Wykonanie

Wszystkie podane składniki miksujemy tworząc konsystencję ciasta naleśnikowego.

## Wafle z jaj

### Składniki

- 2 jaja
- 150g wody
- 400g mąki
- 3 łyżki rozpuszczonego masła
- 300g gęstej śmietany
- utarta skórka połówki cytryny

### Wykonanie

Mąkę należy wymieszać z wodą. Jaja ubić na pianę, rozbełtać z roztopionym masłem i utartą skórką z cytryny a następnie ubitą śmietaną.

## Tanie wafle

### Składniki

- 2 szklanki mleka
- 3 szklanki mąki
- 1 jajko
- 150g margaryny
- 1 łyżeczka proszku do pieczenia
- łyżeczka cukru i szczypta soli

### Wykonanie

Wszystkie składniki dokładnie wymieszać, podawać ciepłe.

## Wafle kruche

### Składniki

- 450g mąki
- 3-4 szklanki śmietany kremówki
- 1-2 szklanki wody
- sól, cukier do smaku

### Wykonanie

Ubić śmietaną aż będzie bardzo gęsta i wymieszać z mąką. Gdy masa jest za gęsta, dodać wody. Dodać szczyptę soli i cukru, w zależności od gustu.

## Gofry ze śmietaną

### Składniki

- 50g masła lub margaryny
- 300g mąki pszennej
- 200g zimnej wody
- 0,3 l śmietany

### Wykonanie

Tłuszcz stopić i ostudzić. Zmieszać mąkę z wodą, miksować dodając tłuszcz, a następnie śmietanę. Piec na kolor złotożółty

**Smacznego :)**


---
## Dipy, czyli pomysł na sos
- **URL:** https://dariusz.wieckiewicz.org/dipy-czyli-pomysl-na-sos/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, dip, majonez, przepis, śmietana, sos

### Content

Dipy, są to zimne sosy bazujące na śmietanie, służące jako sosy do sałatek warzywnych, lub jako dodatek do grzanek. Zastosowanie ich może być różne. Sam polecam je do stosowania do frytek, chipsów i innych ostrych smakołyków. Tradycyjny dim jest słony z odrobiną pikanterii, co podkreśla jego smak ale nie przewyższa nad aromatem całej potrawy. 

> Trudność: **Bardzo łatwa**
> Czas wykonania: **5 minut**

<!--more-->

## Składniki

*   śmietana lub majonez
*   sól i pieprz oraz pikantne przyprawy, typu curry, chilli itp.
*   dodatki takie jak cytryna, szczypiorek, cebula, papryka, zielona pietruszka, czosnek, ogórek kiszony itp.

{{% ads-in-article %}}

## Wykonanie

Przyrządzenie całego "Dipu" jest banalnie proste, a przede wszystkim szybkie. 

Do miseczki wlewamy sporą ilość śmietany, w zależności od rodzaju dipa dodajemy różne dodatki. 

Śmietanę solimy i dodajemy pieprzy, następnie odrobinę curry i innych przypraw. Polecam również kilka kropel Tabasco. 

Wszystko doprawiamy według uznania i tak przygotowanym dipem polewamy naszą potrawę lub zostawiamy jako smaczny dodatek, tak aby goście sami wybrali czy chcą z, czy bez. 

Osobiście polecam zrobienie kilku rodzai dipów wstawienie je na środek dużego talerza w małych miseczkach, na który później wysypujemy duże chipsy, tworząc tak zwane Oko :). 

Polecam eksperymentowanie, w końcu każdemu to może wyjść tylko na zdrowie. 

**Smacznego :)**


---
## Wakacyjne ciasto w 3 minuty
- **URL:** https://dariusz.wieckiewicz.org/wakacyjne-ciasto-w-3-minuty/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, ciasto, jaja, owoce, przepis

### Content

> Trudność: **Mała**  
> Czas przygotowania: **3 minuty + dekorowanie**
> Czas pieczenia: **50-70 minut**

<!--more-->

## Składniki

*  4 jaja
*  1 szklanka cukru
*  1 torebka cukru wanilinowego (opcjonalnie)
*  1/2 szklanki oleju
*  1 1/2 szklanki mąki tortowej
*  2 łyżeczki proszku do pieczenia
*  owoce

{{% ads-in-article %}}

## Wykonanie

Całe jaja, cukier i cukier wanilinowy miksujemy, po chwili dodając olej, mąkę tortową oraz proszek do pieczenia. Ciasto po osiągnięciu jednolitej, dosyć gęstej masy wylewamy do wysmarowanej tłuszczem formy (np. tortownicy).

Może się nam wydawać, że ciasta jest mało, ale zobaczycie później, jak wyrośnie. Następnym krokiem jest poukładanie dowolnie wybranych owoców (np. truskawki, śliwki, agrest) wstępnie obtoczonych w mące (dla aromatu można użyć kisielu) w miarę gęsto na całym cieście.

Tak przygotowaną formę wstawiamy na 50 do 70 minut do nagrzanego na 180 st. Celsjusza piekarnika. Od czasu do czasu sprawdzamy wykałaczką stan naszego wypieku i jeżeli ciasto uzyska dosyć sprężystą formę, a na wykałaczce nie będą zostawały kawałki ciasta, to nasz smakołyk jest gotowy. Co więcej, po ostygnięciu ciasta możemy go posypać cukrem pudrem.

**Smacznego :)**


---
## Chipsy ogórkowe
- **URL:** https://dariusz.wieckiewicz.org/chipsy-ogorkowe/
- **Date:** 2008-10-27
- **Tags:** Kulinaria, chipsy, ogórki, przepis

### Content

Chipsy ogórkowe to wspaniała zdrowa alternatywa dla nafaszerowanych chemikaliami chipsami ziemniaczanymi, które można kupić w sklepie. Dzięki składników z jakich są wykonane oraz dodatków ziół, cenione są przez szerokie grona pasjonatów zdrowego odżywiania. 

> Trudność: **Mała**
> Czas przygotowania: **15-30 minut**
> Czas pieczenia: **do 5 minut na porcję** 

<!--more-->

## Składniki

*   3 pokrojone w talarki ogórki szklarniowe długie
*   2 szczypty soli morskiej
*   suszone, drobno pokruszone zioła
*   papryka mielona, carry
*   olej do pieczenia

{{% ads-in-article %}}

## Wykonanie

Ogórki pokroić w talarki o grubości od 2 do 4mm. Następnie rozłożyć na bibule i przełożyć od wierzchniej strony, w celu odsączenia soku. 

Sól, zioła i inne składniki zmieszać razem. 

Plastry przełożyć na tackę i starannie posypać mieszanką przypraw z obu stron. 

Smażyć na rozgrzanym oleju do lekkiego zarumienienia. 

Chipsy spożywać na bieżąco bądź rozłożyć na bibule w celu odsączenia z nadmiaru tłuszczu, ostudzić i umieścić w szczelnie zamkniętym worku (najlepiej hermetycznym). 

Idealny dodatek do dipów. 

**Smacznego :)**


---
## O Strzelcach
- **URL:** https://dariusz.wieckiewicz.org/o-strzelcach/
- **Date:** 2008-10-27
- **Tags:** jowisz, strzelec, turkus, znak zodiaku

### Content

Jako że sam jestem strzelcem, pragnę wam przedstawić trochę informacji o tym znaku i osobach pod nim urodzonym.

<!--more-->

![Jowisz](jowisz.png)

**Strzelec** (_z ang. Sagittarius_)

Planeta panująca: **Jowisz**

Szczęśliwy klejnot: **Turkus**

Pozytywny kolor dla strzelca: **Żółty**

Najlepszy dzień: **Czwartek**

![Turkus](turkus.png)

_Turkus_ jest dla strzelca tym, czym dla ryb woda. Chroni go od nieszczęśliwych wypadków, pomaga w utrzymaniu harmonii w życiu. A gdy tylko jego właściciel zachoruje lub znajdzie się w niebezpieczeństwie daje o sobie znać zmieniając barwę.

**Okres panowania Strzelca - od 22 listopada do 21 grudnia**

## Charakterystyka znaku

Motto: **Widzę**

_Pierwsza dekada_ znaku to stuprocentowy Strzelec. Zuchwały, bezkompromisowy, przyjaźnie nastawiony do świata, cechuje go duże poczucie sprawiedliwości, życiowy optymizm i wielkoduszność.

_Druga dekada_ znaku to połączenie cech Strzelca i Barana. Szeroki gest, zaspokajanie różnych zachcianek, pozowanie na bohatera imponowanie otoczeniu i ogólny entuzjazm oraz gotowość do nowych wyczynów cechuje tego Strzelca.

_Trzecia dekada_ znaku to Strzelec z naleciałościami Lwa. Łatwo przyswaja wiedzę i wykorzystuje ją w praktyce. Jest odpowiedzialny i przewidujący, ma poważny stosunek do życia. Odważny, ale w granicach zdrowego rozsądku.

## Charakter i osobowość

Strzelca, zwanego również łucznikiem, wyróżnia duża aktywność, impulsywność, odwaga, niecierpliwość, często zbyt gwałtowne reakcje i nieprzemyślane decyzje.

Osoby spod znaku strzelca cenią w swoim ubiorze prostotę. Lubią czuć się swobodnie a jednocześnie pragną pokazać siebie z jak najlepszej strony przed innymi. Wytworny ubiór to ich domena, nie lubią rzeczy pospolitych. Wolą jednak coś, co od razu rzuci się w oczy innym, a strzelca pokaże w całkiem innym świetle. W mniej licznym towarzystwie najlepiej czują się w ubraniach typowo sportowych.

Strzelce często tracą umiar w jedzeniu, nie stronią również od mocnych trunków. Dopiero, gdy zaczną odczuwać dolegliwości będące konsekwencją takiej diety, postanawiają zmienić swoje przyzwyczajenia.

Osoby te unikać nadmiernego spożywania tłuszczów zwierzęcych, słodyczy i alkoholu, a do swojego jadłospisu powinny wprowadzić więcej warzyw i owoców.

Zodiakalne Strzelce to osoby o szerokich horyzontach myślowych, angażujące się w każdą przygodę, jaka im się przydarzy. Patronem Strzelców jest planeta Jowisz, ich żywioł to ogień.

Strzelce to szczęściarze losu. Są ciągle w ruchu, kochają wolność i niezależność. Zmierzają prosto do celu i nic nie odwiedzie ich z raz obranej drogi. Swoje opinie wyrażają bez ogródek, są szczere aż do bólu. Są wścibskie, w życiu powinny uczyć się taktu i dyplomacji. Niebezpiecznie jest powierzać im sekrety, z przejęcia podzielą się cudzymi kłopotami z innymi. W życiu szukają przygód. Mają duże poczucie sprawiedliwości, zawsze staną w obronie słabszych.

Oburza go w głębi każda podłość, każde łajdactwo, każda krzywda i wyzysk, choćby to dotyczyło jego osoby.

Można powiedzieć, że Strzelec ma sportowe podejście do życia: razi go każdy faul i w takich wypadkach głośno protestuje, a nawet chętnie interweniuje. Wielu ludzi spod znaku Strzelca uprawia z zamiłowania sporty. Często widuje się w ich wyczynach przesadę.

Lubią taniec i muzykę, dobre towarzystwo, mają zwykle dobre samopoczucie, łatwo nawiązują kontakty. Są lojalni i wierni w przyjaźni, oraz uczciwi w miłości. Lubią zwierzęta, a szczególnie konie, psy i koty. Najchętniej przebywają na świeżym powietrzu.

Jak wszyscy miłośnicy zwierząt i przyrody, Strzelcy są zwykle życzliwi i uczynni. Nie znoszą cwaniactwa, nieuczciwości, podłości. Wobec przyjaciół i bliskich Strzelcy są szczodrzy, użyteczni, bezinteresowni.

![Jel](jel.png)

Fascynują dla tego znaku są sprawy duchowe, zgłębiają oni systemy religijne i mistyczne różnych kultur. Mają skłonność do filozofowania i budowania własnych systemów wyjaśniających istotę świata.

Zodiakalne Strzelce są lekkomyślne, nie zawsze dotrzymują obietnic. Są hojne, zazwyczaj jednak wydają za dużo. Dla dobrej zabawy zrobią wszystko.

W pracy Strzelce są kreatywne i niekonwencjonalne, potrzebują dużo swobody i nie mogą się nudzić. Najlepiej czują się w zawodach związanych z podróżami i przemieszczaniem się. Są poliglotami, pracują więc jako nauczyciele języków obcych lub piloci wycieczek. Nieustannie się dokształcają, są więc dobrymi nauczycielami, często wybierają karierę akademicką. Jako że zgłębiają zagadnienia religijne, zostają nieraz duchownymi i kaznodziejami.

Strzelce lubią odpoczywać w ruchu. Wolą przemieszczać się z miejsca na miejsce niż zostać gdzieś na dłużej. Są urodzonymi podróżnikami, pociągają ich dalekie kraje i obce kultury. Ze sportów Strzelce lubią rajdy oraz wyścigi samochodowe i motocyklowe, jak również jazdę konną i strzelanie.

Strzelce zakochują się od pierwszego wejrzenia i natychmiast zaczynają adorować obiekt uczuć. Są śmiali i uwielbiają flirtować, nawet gdy są już w stałym związku. Seks jest dla nich sposobem wyrażania sympatii i uczuć, lubią śmiałe eksperymenty na tym polu. Na małżeństwo decydują się późno. Wolą przygody i pogonie za nową zdobyczą. Strzelce gwarantują parterom wesołe i pełne niespodzianek życie.

![Leonardo](leonardo.png)

## Żywioł - ogień

Dewizą tego żywiołu dla Strzelców jest _"iść ciągle w górę"_.

Kariera, sukces towarzyski - oto ich cele. Ludzie ognia są dzielni i nie obawiają się stanąć twarzą w twarz ze wszystkim, co niesie im życie. Przeciwności zostaną na tej drodze zniszczone.

Strzelce są równie nieokiełznane, jak płomień, a przy tym mają w sobie wspaniałą siłę przyciągania i magnetyczny urok ognia. Są inteligentni i wielkoduszni, przywiązani do swoich przyjaciół, rodziny i bliskich.

Wbrew pozorom są wrażliwi, głęboko przeżywają odrzucenie i nieodwzajemnioną miłość. Nie są wstanie pogodzić się z biedą i ubóstwem, dlatego włożą wiele wysiłków w zapewnienie dostatku sobie i bliskim.

## W miłości

Strzelce podchodzą do seksu z radością i wielkim entuzjazmem. Można nawet powiedzieć, że erotyka jest ich ulubionym hobby, o którym godzinami potrafią rozmawiać z przyjaciółmi i poświęcać mu wiele czasu. Strzelce chciałyby z każdym przeżyć intymne chwile sam na sam, uważają bowiem, że nic tak dobrze nie robi, jak seks w ich wydaniu.

Trudno oprzeć się zalotom Strzelca. Jest tak wesoły, sympatyczny i oddany sprawie uczuć. Do tego obsypuje prezentami i nie szczędzi środków, żeby stworzyć romantyczny nastrój.

Nie można się dziwić czy oburzać, jeśli usłyszy się od Strzelca niedwuznaczną i wyrażoną wprost propozycję pójścia do łóżka już po pięciu minutach znajomości. Jedno jest pewne - na pewno nie będzie nudno czy mało seksownie.

Słowo _"na zawsze"_ robi na Strzelcach złe wrażenie. Jak można przysięgać sobie miłość po grób, jeśli nie wiadomo, co przyniesie jutro? Dlatego obietnice Strzelców trzeba traktować z przymrużeniem oka i cieszyć się ich obecnością, póki można. Strzelce potrafią wnieść w życie partnera wiele radości i niezwykłości. Codzienność zabija je i sprawia, że marnieją. Dlatego tak chętnie wyjeżdżają za granicę w dalekie i egzotyczne kraje.

Pan Strzelec szuka wesołej i pozbawionej pruderii partnerki o sportowej sylwetce i smukłych nogach. Pani Strzelec odpowiadają mężczyźni niebanalni, zaskakujący swoim trybem życia czy pomysłami spędzania wolnego czasu. Strzelce bardzo chętnie romansują również z cudzoziemcami czy cudzoziemkami. Kochać się mogą Strzelce wszędzie i o każdej porze dnia. Marzą, aby robić to na tylnym siedzeniu samochodu lub w garażu. Nie stronią też od myśli o seksie grupowym. Są w stanie wydać i zrobić dużo, aby tylko stworzyć odpowiedni nastrój. W łóżku Strzelce puszczają wodze fantazji i robią wszystko, co przyjdzie im do głowy. Żadne perwersje ani eksperymenty ich nie zawstydzą. Dlatego partnerzy Strzelców nie powinni dziwić się niczemu i... zaskakiwać jeszcze bardziej dziwnymi pomysłami.

Miłość Strzelca nie jest pełna, jeśli nie może o niej nikomu opowiedzieć. Najlepszym rozmówcą są w tym przypadku Bliźnięta. Partner nie może liczyć na dyskrecję Strzelca nawet, jeśli chodzi o bardzo intymne szczegóły pożycia. Jedyna rada: trzeba się do tego... przyzwyczaić.

Panie spod znaku Strzelca są pełne wigoru, dowcipu i ironicznego humoru. Lubią dobre maniery, zwracają uwagę na powierzchowność i sposób bycia.

Panna Strzelec, mimo sugerującej celność, niezbyt łatwo trafia do ołtarza z powodu zbyt wygórowanych - jak na dzisiejsze mocno uproszczone obyczaje - ambicji matrymonialnych.

Wymagać od Strzelca wierności mogą tylko zdesperowane i wściekłe Skorpiony. Ale nawet ich Strzelec nie posłucha. Sensem jego życia jest wieczna podróż w pogoni za ciągle nowymi wrażeniami, przygodami i partnerami. Strzelce tworzą udane związki z wesołymi Baranami i pięknymi Lwami. Nigdy się ze sobą nie nudzą i prześcigają się w wymyślaniu nowych pomysłów na spędzenie czasu. Najbardziej egzotyczny związek tworzyć może Strzelec z Bliźniętami. Kiedy oba te znaki znajdą się razem w jednym miejscu, nie ma przeszkód, które mogłyby je rozdzielić. Nawet po latach utrzymują kontakt i pozostają w zgodnej przyjaźni.

Żona Strzelca musi nadmiar pytań, dociekań i małostkowość wyrzucić poza burtę rodzinnej nawy i przyjąć sposób działania dyskretny i taktowny, a wówczas może liczyć na pełnię szczęścia i zrozumienia.

Strzelec w życiu małżeńskim lubi być dostrzegany, doceniany, a nawet chwalony, łatwo go zranić nadmierną krytyką, a szczególnie ignorowaniem, czy lekceważeniem jego wysiłków. W pracy Strzelec jest lubiany za rozmach, koleżeńskość i gest.

{{% ads-in-article %}}

## Procentowy zakres erotycznej aktywności Strzelca

![sq-2](sq-2.png)

Temperament: **90%**

Wyobraźnia: **70%**

Aktywność: **70%**

Harmonia: **70%**

Pewność siebie: **90%**

Wrażliwość: **40%**

Pomysłowość: **100%**

Gotowość do podjęcia ryzyka: **90%**

![sq-1](sq-1.png)

{{% ads-in-article %}}

## Kochankowie dla Strzelca

_Byk_ - układ bez skazy. Mają podobne pragnienia. Uważać musi tylko, aby seksu nie zdominowała pogoń za gadżetami.

_Bliźnięta_ - w partnerach spod tego znaku Strzelec znajdzie naprawdę pomysłowych kochanków.

_Panna_ - Rewelacja! Ich bezpośredniość może uwolnić uwięzioną w nich seksualną bestię.

## Strzelcu - unikaj!
_Raka, Koziorożca i Ryb_. Szkoda twojego wysiłku, gdyż odbieracie na zupełnie innych falach.

## Jak kochać strzelca?
Zostawiając go czasem w spokoju, nie znosi bezsensownej zazdrości.

## Jak z nim rozmawiać?
Inteligentnie i używając starannej polszczyzny.

## Jak go rozszyfrować?
Pod wpływem silnych emocji ma wszystko wypisane na twarzy.

## Ona - jak ją zdobyć?
Nienaganne maniery i wysoki poziom intelektualny, zainteresowanie sportem, turystyką zrobi na niej wrażenie. Zabieraj ja na koncerty, do kawiarni, kina, na dyskotekę itp. Obsypuj ją kwiatami i prezentami a pozwoli na przełamanie pierwszych lodów. Jeśli umiesz jej ustępować, lubisz życie pełne przygód to partner w sam raz.

## Z kim najlepiej czuje się pani Strzelec?

_Bardzo dobrze z:_ Bykiem, Rakiem, Wagą i Skorpionem.

_Dobrze z:_ Lwem, Wodnikiem, Rybami.

_Obojętnie z:_ Bliźniętami.

_Źle z:_ Baranem i Strzelcem.

## On - jak go zdobyć?
Nie jest łatwo, zdobądź jego zaufanie. Lubi szczere otwarte i bezpośrednie kobiety zaskakujące wyglądem i sposobem bycia. Szuka towarzyszki jego eskapad i kompana zachwycającego się jego planami i pasjami. Potrzebuje swobody, wolności, nie toleruje dąsów i głupoty.

## Z kim najlepiej czuje się pan Strzelec?

_Bardzo dobrze z:_ Rakiem, Panną, Koziorożcem i Wodnikiem.

_Dobrze z:_ Nie ma nikogo takiego

_Obojętnie z:_ Bliźniętami.

_Źle z:_ Baranem, Bykiem, Lwem, Wagą, Skorpionem, Strzelcem i Rybami.

## Czym jest dla ciebie jako strzelca życie intymne?
Łóżko jest dla ciebie miejscem relaksu i zabawy. Seks traktujesz tak naturalnie, jak rozgwieżdżone niebo w sierpniu.

Czy człowiek przy zdrowych zmysłach ignoruje prawa przyrody? W sypialni spotykasz się nie po to, by usłyszeć, że on/ona cię kocha.

Nie uważasz, by erotyka musiała iść w parze z uczuciem. Miłosne zapasy, w których z takim entuzjazmem uczestniczysz z partnerem/erką, są dla ciebie zabawą.

Radość dawania i brania czynią was, Strzelców otwartymi na każdą propozycję. Chcecie się rozkoszować wszystkim, co znajduje się w zasięgu ludzkich zmysłów.

## Odpowiednie prezenty

- opowieści, albumy i zdjęcia z dalekich podróży
- atlasy nieba, książki religijne i filozoficzne
- filmy o obcych kulturach
- egzotyczne przedmioty o nieznanym przeznaczeniu
- zaproszenia na mecze, prelekcje, wystawy

Strzelce cenią też przedmioty praktyczne, o prostym wzornictwie i jasnych kolorach. Nie lubią nadmiaru ozdób i falbanek. Sportowa odzież, kamizelki, praktyczne futerały i pojemniki, sprzęt sportowy, akcesoria do samochodu czy komputera będą odpowiednimi prezentami.

Lubią też wina i piękne talie kart.

## Wady
Gniew, wybuchowość i zbyt częste zrażanie sobie osób uczciwych i przyjaznych.

## Zalety
Prawdomówność, szczerość, uczciwość i otwartość.

Kobiety nie legitymują się tymi wszystkimi zaletami, ani też nie posiadają wyżej opisanych wad. Są co prawda zarozumiałe, nie czułe na dole innych, ale równocześnie czułe dla rodziny i bliskich, nawet bardzo szlachetne w prostolinijnym postępowaniu.

## Porady dla urodzonych pod znakiem Strzelca
Ludzi spod tego znaku czekają różne niepowodzenia i nieporozumienia małżeńskie, dlatego muszą wykazywać we współżyciu wiele cierpliwości, opanowania, wyrozumiałości dla słabostek drugiej osoby. Jeżeli nie będą tak postępować, to małżeństwu grozi szybki kryzys, aż do rozpadu włącznie. W takiej sytuacji musi nad nerwami wziąć górę rozsądek.

Osoby spod Strzelca są z zdolne osiągnąć powodzenie zawodowe, dlatego powinny śmiało podejmować ryzyko. Mogą także odnosić sukcesu handlowe i dyplomatyczne. Pisane jest im spędzanie wiele czasu poza domem i ojczyzną, bowiem w handlu czy też polityce mogą odnosić poważne sukcesy. Do trybu ich życia wpisane są podróże.

## Według Fr. Rengiela
Strzelec ma temperament żółciowo-nerwowy, podobnie jak Lew i Baran, a charakter choleryczno-sangwiniczny.

## Słynne Strzelce
Horacy, Charles de Gaulle, Fryderyk Engels, Winston Churchill, Józef Piłsudski, Frank Sinatra, Józef Glemp.

![Sagittarius Coin](coin.png)

_źródło: materiały zebrane z całego Internetu, z różnych horoskopów, astrologii, numerologii, książek zodiakalnych itp._



---
## Uwaga oszust
- **URL:** https://dariusz.wieckiewicz.org/uwaga-oszust/
- **Date:** 2008-10-27
- **Tags:** Blog, 3g, bb5, oszust, simlock

### Content

W sieci coraz częściej pojawiają się ogłoszenia o treści:

> _"usuwanie simlocków z telefonów 3 generacji np. Nokia 6680 czy 6630 itp.wszystkie sieci (również zagraniczne) Kontakt 0-504-460044 (cała Polska)"_

> _"Zdalne usuwanie blokad simlock ze WSZYSTKICH TELEFONÓW komórkowych KODEM!!! (bez potrzeby podłączania do komputera). Na podstawie danych telefonu podajemy kod sieci (lub Master kod lub NCK itp.jpg) w ok.15 miunut który usunie simlocka z Twojego telefonu. Obsługujemy również telefony z simlockami z zagranicznych sieci oraz telefony 3G (np. Nokia 6680 itp.jpg). Kontakt telefon: 886162376 lub 504460044"_

Wszystko było by pięknie, gdyby to była prawda.

<!--more-->

**Poniżej przedstawię wam wyrafinowany sposób postępowania oszustów**

Kontakt z tą osobą rozpoczyna się od wstępnej rozmowy i profesjonalnego przekonania, iż ta osoba mówi prawdę, że nie jest żadnym oszustem (choć jak się później okazuje jest całkiem inaczej).

Osoba przedstawia w pierwszej kolejności, że na co dzień jest przedstawicielem sieci Orange w dziale serwisu (pan Tomasz C., i że jeżeli chcemy to możemy to sprawdzić), oraz że ma na co dzień dostęp do serwerów różnych sieci komórkowych co umożliwia mu w łatwy sposób generowanie kodów umożliwiających zdjęcie blokad z telefonów 3G.

Przestawienie sposobu działania jest na tyle prawdopodobne, że ciężko uwierzyć że osoba tak wprawiona w swojej gatce wciska nam kit!

Po krótkiej rozmowie, osoba ta przedstawia sposób zdejmowania simlocka z telefonu. M.in. że odbywa się to za pomocą 2-ch kodów, pierwszy służy do wejścia do menu serwisowego operatora a 2gi do zdjęcia simlocka. Po czym osoba prosi o informacje w jakiej sieci założony jest simlock, a następnie prosi aby potencjalna osoba do oszukania, poczekała z 5-10 minut na to aby, nasz oszust mógł sprawdzić czy teoretycznie ma dostęp do sieci operatora z której wygeneruje kody.

Po 10 minutach dostajemy SMS (stała formułka: **PROSZĘ ZADZWONIĆ DO MNIE TERAZ.**, lub po prostu **PROSZĘ ZADZWONIĆ TERAZ**).

Dzwoniąc do tej osoby, przedstawia nam ona optymistyczną dla nas wersję, że akurat ma dostęp do tej sieci i będzie mógł w stanie wygenerować kody do odblokowania simlocka. Dodatkowo przy 2-gim telefonie, po odbiorze udaje lekko zapracowanego i prosi o przypomnienie o jaki telefon chodzi i czy dzwoniliśmy w sprawie tego telefonu z numeru z którego wykonujemy połączenie.

Jako tłumaczenie mówi nam, że właśnie zdejmuje simlocki innym osobą (bądź ma akurat 2 telefonu z których równocześnie zdejmuje blokady) i ciężko mu się połapać z kim właśnie rozmawiał.

Po teoretycznej weryfikacji, informuje nas iż możemy przejść do zdejmowania blokady, i że koszt usługi będzie wynosić 70zł.

Jednakże, osoba zaznacza iż nim wpłacimy jakąkolwiek sumę, chciała by się upewnić że kody będą wygenerowane, w związku z tym prosi nas o nr IMEI telefonu (\*#06#) oraz datę oprogramowania (\*#0000#), po czym znowu każe nam poczekać ok. 15 do nawet 30 minut, tłumacząc się tym, że postara się teraz zlecić operatorowi wygenerowanie kodów (że niby to tyle trwa), i jak już będzie je mieć to da znać żeby się z nim skontaktować.

No więc czekamy pełni nadziei że nas telefon zacznie działać w polskiej sieci.

Po ok. 30 minutach dostajemy SMS ze standardową formułką i prośbą o zadzwonienie. A więc dzwonimy.

Osoba tym razem wie już o kogo chodzi, jakimś cudem nie miesza się tym żeby przypomnieć mu o co chodziło, po czym przechodzi do sedna.

Informuje nas, iż ma już wygenerowane kody i aby mógł nam je podać niezbędne jest wpłacenie kwoty 70zł na jego konto.

Dodatkowo pragnąc przyśpieszyć transakcję, sugeruje nam żeby wpłacić pieniążki bezpośrednio w filii jego banku - eurobank. Wypytuje nas z jakiej miejscowości dzwonimy, oraz doradza nam gdzie znajduje się najbliższa filia banku.

Jest na tyle uprzejmy że nawet jest w stanie nam pomóc w znalezieniu banki. Czysty profesjonalizm oszustwa.

**Po krótkiej konwersacji podaje nam nr konta:** _61 1470 0002 2106 1840.9 0001_ **lub** _(najświeższe dane)_**:** _96 1470 0002 2102 1890 3423 0001_ **Oraz wszystkie niezbędne dane:** _Tomasz Jacek C. Rentowo 11 73-108 Kobylanka k. Szczecina_ **lub** _(najświerzsze dane)_**:** _Rafał C. ul. Wysockiego 12 m 9 Warszawa_.

Dodatkowo, aby udać bardziej wiarygodnego, mówi nam że konto jest zarejestrowane na siedzibę gdzie na co dzień przebywa i żeby nie było problemu w banku podaje nam swoje dane dotyczące zameldowania - oto one: _Ul. Wysockiego 12/2 03-343 Warszawa_ **lub** _(najświeższe dane)_**:** _os Centrum D2 mieszkania 141 31-932 Kraków_

_"Podobno Tomasz C. jest kolegą niejakiego Rafała C. zamieszkującego miejscowość Krzeszowice. Telefon kontaktowy który udało nam się ustalić wraz z innymi oszukanymi w poszukiwaniach 012 282 46 72."_

Po tym miłym wstępie, prosi nas byśmy pojechali do banku i wpłacili pieniążki. Dodatkowo słyszymy, że jak wpłacimy już całą kwotę, abyśmy do niego zadzwonili, a on już nie będzie sprawdzać czy faktycznie pieniążki są na koncie, mówiąc nam:

_"już żebym nie biegał zobaczyć czy pieniążki są na koncie, nie przedłużać, zaufam panu na słowo, to tylko 70zł więc myślę że mnie pan nie oszuka"_.

Zakładając ze wpłaciliśmy pieniądze, dzwonimy do niego. Osoba ta prosi już tylko o nazwę wpłacającego oraz tytuł wpłaty aby mogła zidentyfikować naszą wpłatę na koncie.

I teraz zaczyna się czarny dzień! Osoba prosi nas abyśmy zadzwonili do niej za jakieś 20 minut, bo akurat jest w trakcie zdejmowania blokad z kilku telefonów, i jak tylko to zrobi zajmie się nami (przypominam że wcześniej mówił nam że kody są już wygenerowane).

Minęło 20 minut i dostajemy standardowego SMSa.

Po czym dzwonimy do tej osoby i mówimy że chcemy kody za które zapłaciliśmy.

Osoba mile odpowiada, _"tak oczywiście już panu wysyłam SMSem"_ i się rozłącza.

I koniec! Czekamy 30, 60 minut a tu nic, żadnego SMSa z kodami.

Zaczynamy się niecierpliwić więc dzwonimy do tej osoby. Jak tylko ona odbiera mówi nam iż już wysyła i znowu się rozłącza.

Ponawiając próbę i przedstawiając się, iż dzwonimy w sprawie telefonu i kodów, już bez odzewu bezczelnie się rozłącza.

Dobra, pomyślmy że może to przypadek. Więc dzwonimy jeszcze raz z pytaniem dlaczego się pan rozłącza, to tylko słyszymy _"To nie ja się rozłączam, to mi telefon się rozłą... . (...jpg)"_ i koniec rozmowy, znowu rozłączenie.

Ponawiając próbę nadziewamy się już na skrzynkę pocztową, zarówno na jeden jak i 2-gi podany numer telefonu.

Słyszymy w niej iż wita nas serwis (nazwy nie pamiętam), i że jeżeli dzwonimy w sprawie usunięcia blokady SimLock prosimy zostawić wiadomość po sygnale.

I tyle, nie mamy ani pieniędzy ani zdjętego simlocka.

Czekając chwilkę ponawiamy, już bardziej stanowczy telefon. Po odebraniu mówimy, _"No co jest grane, czy ja mam na Policje to zgłosić"_... i słyszymy _"Nie, no po co ... (z uśmieszkiem w głosie) ... pik pik... "_ i znowu rozłączenie.

Dalej już zgłasza się poczta głosowa.

Jak widzimy, osoba ta jest w pełni wyrachowanym i wyćwiczonym oszustem i naciągaczem.

Z przeprowadzonych analiz w Internecie, wyszło że osób oszukanych jest więcej. Zapewne wszystkie dane które nam podał, co do wpłaty itp. Są w jakim stopniu fałszywe, jednakże warto spróbować, i zgłosić całą sprawę na Policję, gdyż z powiązania może coś da się wskórać.

Niestety, człowiek mimo że na co dzień dużo się już nauczył, prowadząc różne transakcję, nigdy nie ustrzeże się oszustów takich jak ci ludzie. Również ja, niestety wpadłem w sidła tej osoby i po całej sytuacji wręcz zadziwia mnie wyrachowanie i profesjonalizm w oszukiwaniu ludzi i stwarzaniu takich pozorów, że nawet najbardziej doświadczony sprzedawca nie będzie nic podejrzewać.

W moim przypadku nie popuszczę tak łatwo, sprawa wyląduje na policji w wydziale do spraw przestępczości gospodarczej. O dalszych postępach wszystkich was internautów poinformuje.

Jeżeli ty też zostałeś oszukany przez tą osobę, zachęcam do zgłoszenia sprawy na policję. Im nas będzie więcej tym większa szansa że śledztwo nie zostanie umorzone.

Dodatkowo chcąc zrzeszyć ludzi oszukanych i walczących o swoje, proszę o kontakt przez maila wszystkie osoby, które również zaufały w magiczny sposób ściągania simlocka. Może razem sprawimy że sprawiedliwość zwycięży.

**Pozdrawiam.**

{{% ads-in-article %}}


---
## Sprzedaż na Allegro.pl – praktyczny sposób na zysk
- **URL:** https://dariusz.wieckiewicz.org/sprzedaz-na-allegro-pl-praktyczny-sposob-na-zysk/
- **Date:** 2008-10-27
- **Tags:** Artykuły, allegro, sprzedaż

### Content

Witam wszystkich serdecznie. Postanowiłem napisać krótki tekst o sprzedaży przedmiotów za pośrednictwem serwisu Allegro, w celu podzielenia się swoimi opiniami z innymi.

Obserwując szereg aukcji, widzę jak wiele osób nie wie, jak sprawnie wystawić przedmiot na sprzedaż, wypromować go tak, aby osiągnąć cenę, jaką się założyło. Wiadomym jest, iż cena za produkt nie jest do końca ceną, za jaką chcemy sprzedać, lecz ceną, za jaką ktoś jest w stanie od nas kupić. To wiekowe już stwierdzenie ma również swoje odbicie w aukcjach na Allegro, jednakże nie zawsze tak jest. Aby wam wszystko co nieco przybliżyć, zachęcam do przeczytania całego artykułu.

<!--more-->

**Po któtce...**

Niniejszy artykuł nie jest dla ludzi, którzy sprzedają setki produktów z importu jako czarna strefa, nie płacąc podatków. Ukierunkowany jest głównie dla każdego, kto chce coś sprzedać, również osób które dopiero co zaczynają swoją przygodę na Allegro.

W momencie pisania tego teksu posiadam 566 punktów z komentarzy od 570 użytkowników, z czego pozytywnych mam 686, neutralnych 4 i negatywnych 4. Możecie powiedzieć, iż z tyloma komentarzami to mam większą szansę na sprzedaż. Oczywiście, to jest w pewnym sensie prawda, ale pamiętajcie, że ja też kiedyś zaczynałem od zera i jakoś się to wszystko uzbierało. Więc nie przerażajcie się tym swoimi 5 komentarzami, macie czas na zdobycie ich znacznie więcej. A więc zaczynamy.

**Motto: Orientacja na klienta** Możecie zapytać się każdego marketingowca, i powie wam to samo. Aby zaistnieć ze swoimi produktami na rynku, trzeba wiedzieć czego chce rynek i jego klienci, oraz trafić z takimi produktami, na które jest w danej chwili zapotrzebowanie.

Przed rozpoczęciem sprzedaży należy wiedzieć:

**Klient kupuje oczami**, a co za tym idzie, na aukcji internetowej starajmy się zamieścić jak najwięcej zdjęć naszego produktu, w jak najlepszej jakości. Portal Allegro pozwala na dodanie kilku zdjęć do aukcji. Jest to użyteczna funkcja, lecz jeżeli naprawdę chcemy zyskać w oczach klienta, musimy zrobić o wiele więcej.

Moje aukcje z reguły posiadają kilkanaście zdjęć, zamieszczone w postaci miniaturek, które prowadzą co wysokiej jakości obrazów, w rozdzielczości nie mniejszej niż 800x600. Do tego celu nie wystarcza opcja dodawania zdjęć. Na Allegro ilość zdjęć jakie możemy dodać to max. 8, a gdy chcemy więcej? Wówczas niezbędna jest nam dodatkowa przestrzeń na dysku. Z pomocą wówczas przychodzą nam serwisy oferujące takową na własny użytek. Może być to serwer na stronę WWW gdzie zamieścimy nasze pliki, lub serwis hostingowy zdjęć. Pierwsze rozwiązanie jest lepsze, o tyle, iż możemy zaprowadzić naszego klienta bezpośrednio do zdjęcia. Jest to jednak droższe rozwiązanie, gdyż za taką przestrzeń dyskową i transfer jaki generujemy naszymi zdjęciami musimy zapłacić. W przypadku serwisów hostingowych, zdjęcia możemy zamieszczać za darmo, z tym jednak, iż przekierowując naszego klienta do nich, zmuszony on jest z reguły do obejrzenia oprócz zdjęcia, reklamę, którą dany portal zamieszcza aby usługa była opłacalna. Najgorszą wizją tego rozwiązania jest moment, gdy kupujący wejdzie na takie zdjęcie, i zamiast ono, zainteresuje się reklamą, na którą kliknie i zacznie się w nią dalej zagłębiać, tracąc pierwotny zamiar przejrzenia naszej oferty na aukcji. Ale coś za coś.

Stąd też, zamieszczajmy na aukcjach jak najwięcej zdjęć. Dla przykładu posłużę się sprzedażą telefonu komórkowego.

Zróbmy zdjęcia z każdej strony produktu, w oddali i znacznym zbliżeniu. Pokażmy każde szczegóły i detale, cechy indywidualne zarówno te dobre jak i złe. Wszytko po to, aby potencjalny klient mógł się napatrzeć. Gwarantuję wam, jeżeli taki klient wejdzie na waszą aukcję na której jest 20 zdjęć telefonu komórkowego i pójdzie na inną gdzie są 2 i to jeszcze w słabej jakości i ostrości, to mimo niższej ceny konkurencji, będzie wolał wrócić do was i zdecydować się na zakup, gdyż tutaj widzi co tak naprawdę kupuje.

**Nie okłamuj potencjalnych klientów i nie wprawiaj ich w niepewność co do sprzedawanego produktu**. To jest ważna zasada, szczególnie ignorowana przez masowych sprzedawców, którzy nie zawsze dbają o swoich klientów, bo zależy im na masowej sprzedaży produktów a nie trosce, czy najmniejszy detal produktu jest taki, jak został opisany na aukcji. Stąd też musimy na to zwrócić uwagę.

Nawiązując do aukcji telefonu komórkowego. Jeżeli wiemy o jakiejś wadzie naszego produktu, to nie starajmy się tego ukryć, gdyż nie wiemy kim jest nasz potencjalny klient. Jeżeli się okaże, iż trafimy na osobę z większą wiedzą i praktyką, nie dosyć że stracimy renomę oraz otrzymamy niekorzystny komentarz, to na dodatek będziemy zmuszeni ponieść koszta na przyjęcie towaru z powrotem i zwrot pieniędzy. Tak, tak... zwrot pieniędzy. Ta zasada obowiązuje szczególnie przy aukcjach typu Kup teraz!. Kupujący który skorzystał z tego typu transakcji, ma pełne prawo na zwrot towaru w przeciągu 10 dni i żądania zwrotu pieniędzy (tutaj kwestia pomniejszenia o koszt wysyłki). I nie ma o co się tutaj sprzeczać, gdyż transakcję internetowe również podlegają czynnością prawnym, z którymi możemy się zgłosić do Rzecznika Praw Konsumenta czy nawet w skrajnych przypadkach na Policję lub prokuraturę.

W związku z tym, jeżeli sprzedawany przez nas telefon posiada jakieś rysy, obicia, napiszmy o tym i dodatkowo pokażmy to na zdjęciach, tak żeby kupujący zobaczył, iż może nie jest to tak poważna niedogodność jak by mu się wydawało. I tutaj przestroga co do zdjęć przedmiotu. Nie starajmy się ukrywać wad, robić zdjęcia spod takich kątów, z których wydają się one mniejsze, bo jak ktoś taki przedmiot kupi, to przecież zobaczy jak jest naprawdę i wówczas mogą zacząć się schody.

Jeżeli chodzi o samą niepewność co do sprzedawanego produktu. Nie piszmy tak: _„Sprzedaję telefon komórkowy marki XXXX model YY. Jedyną wadą telefonu jest kamera, która się nie włącza. Na allegro można kupić taką za 30zł i telefon będzie jak nowy”_

Taki prosty przykład wzbudza wiele wątpliwości. Skoro na allegro jest część do niego za tak niską cenę, to dlaczego sami jej nie kupiliśmy, wymieniliśmy i dzięki czemu sprzedawany przedmiot by miał większą wartość. Może tak naprawdę nie to jest uszkodzone lecz coś innego. I tutaj zaczynają się wątpliwości, które w większości zniechęcą od zakupu. Wierzcie mi, tak jest!

**Cena za produkt**. Najcięższy orzech do zgryzienia w transakcjach Internetowych. Cenę należy tak dobrać, aby był szansa na sprzedaż danego przedmiotu. Nie możemy się tutaj wzorować na własnych odczuciach czy porównywaniem z cenami w sklepach. Allegro jest miejscem, na których bardzo dużo rzeczy nowych jest dużo tańszych niż w sklepie. Mogą to być nawet te same przedmioty, a różnica w cenie może sięgać nawet 25%.

Przed określeniem ceny za nasz produkt, rozejrzyjmy się po innych aukcjach, za ile sprzedają dany produkt inni.

Dla przykładu mamy telefon którego ceny wahają się od 600zł za używany bez akcesoriów, do 1199zł za nowy, bez simlocka, pełny komplet, akcesoria.

Mamy nasz telefon, który jest używany, posiada kilka rys czy niewielkie obicia. Jednakże mamy pełny komplet papierów, pudełko, kable, karty pamięci. Więc optymalna cena jest wyższa niż 600zł. Dodatkowo zamieściliśmy pełno zdjęć, wypisaliśmy jego wady i zalety. W trakcie jego użytkowania dokupiliśmy do niego futerał lub inne elementy, których standardowo w komplecie nie ma. Dzięki temu, wartość naszego telefonu wzrasta. Domyślnie, przy takim rozplanowaniu aukcji, możemy zażyczyć sobie za nasz przedmiot ok. 850zł. Nie myślmy sobie, że mamy używany telefon, który jest w super stanie, bez rys, mamy dodatkowe akcesoria i będziemy chcieli go sprzedać za 1100zł, bo to jest nie realne. Samo pojęcie, że towar jest używany zmniejsza jego wartość diametralnie. Tym bardziej, ktoś kto będzie zainteresowany kupnem, będzie wolał dołożyć niewielką kwotę aby mieć produkt nowy, na gwarancji, a niżeli inwestować w używany. W przypadku ceny 850zł w stosunku do 1199zł za nowy, potencjalny kupujący ma powody do namysłu, czy opłaca mu się wydać więcej za nowy, czy jednak kupić używany. Tutaj trzeba rozważyć taką sprawę, iż nawet jeżeli dzisiaj kupimy telefon za 1199zł nowy i będziemy go chcieli sprzedać jutro, to tej samej ceny już nie uzyskamy, jest to mało prawdopodobne. Taki jest rynek.

**Porządny opis przedmiotu**. Większości kupujących nie chce się szukać informacji w Internecie. Oczekują że ty, jako sprzedający przedstawisz im wszystko to co jest potrzebne.

Niejednokrotnie widzę jak masowi sprzedawcy zamieszczają opis przedmiotu w dwóch zdaniach, jedno zdjęcie i CAŁA STRONA ekranowa jak sfinalizować transakcję. To jest wręcz śmieszne, bo najważniejsze jest wiedzieć co się kupuje a nie to, że po zakupie należy w tytule przelewu wpisać numer aukcji i nicka. Takie rzeczy się przekazuje w liście, po wygraniu, a nie na aukcji.

Jeżeli sprzedajemy telefon komórkowy, napisz porządnie skąd go mamy, jaki jest jego stan techniczny, jakie ma możliwości oraz co najważniejsze, dodajmy wyciąg ze specyfikacji technicznej. Nie odsyłajmy potencjalnych kupujących do stron gdzie mogą sobie poczytać całą specyfikację, ani nie piszmy że mogą ją znaleźć w Google. Nie dosyć że nie wygląda to najlepiej, to jest większe prawdopodobieństwo, że kupujący znajdzie te informacje u konkurencji i tam sfinalizuje transakcję.

**Kontakt i finalizacja transakcji**. Pozwólmy potencjalnym klientom zobaczyć, iż jesteśmy otwarci na ich uwagi, pytania i wątpliwości. Odpowiadajmy regularnie na zadawane pytania drogą elektroniczną, umożliwmy kontakt za pośrednictwem komunikatorów zamieszczając stosowną informację na aukcji, oraz telefonicznie. Nie bójmy się podawać telefonu. Z praktyki wiem, że jeżeli sprzedajemy wartościowy przedmiot, kontakt telefoniczny i profesjonalne podejście do sprawy wzbudza większe zaufanie wśród klientów i sprawia, że przedmiot możemy sprzedać znacznie szybciej.

Kontakt w czasie trwania aukcji jest najważniejszy. Ważne jest również zadbanie o pełny komfort kupującego w trakcie oczekiwania na przesyłkę. Informujmy go o postępach w płatnościach, wysyłce, potwierdzajmy fakt wysłania przesyłki i odpowiadajmy na każde maile z pytaniami po realizacji zakupu. Krok ku zadowolonemu klientowi jest w pełnej i przejrzystej komunikacji, nie mówiąc już o jakości sprzedawanych towarów, bo o tym już pisałem wcześniej.

**Sprzedaż poza aukcją**. Sprzedaż poprzez serwis Allegro to nie tylko większa pewność i informacja zarówno o sprzedającym jak i kupującym ale również opłaty wiążące się ze sprzedażą. Sprzedając przedmiot poza Allegro możemy ich uniknąć, ale niekiedy jest to nie najlepsze rozwiązanie, za względów bezpieczeństwa. Skupiając się jednak na innym przypadku, nie nastawiajmy się na super okazję w postaci:

_„Cześć. Daję 600zł i borę telefon od ręki”_ _„Cześć, daję 750zł ale ty pokrywasz koszt wysyłki”_

Maile w tej postaci są wręcz śmieszne, zważywszy na to, iż założyliśmy cenę naszego produktu na 850zł + koszt wysyłki. Osoby, które piszą taki maile liczą na naszą naiwność i pazerność. Z reguły tak się dzieje, jak nasz przedmiot jest na aukcji kilka dni, a zainteresowanie jest nikłe, popadamy w lekką frustrację i wówczas możemy popełnić kardynalny błąd. Przypominając nasze wcześniejsze ustalenia co do ceny, wiemy jakimi kryteriami kierowaliśmy się ustalając wartość naszego produktu. W związku z tym, należy się tych kryteriów trzymać. Pamiętajmy również, że jeżeli nasz przedmiot nie sprzeda się w przeciągu 14 dni, to wcale nie znaczy że cena jest za wysoka, może się tak zdarzyć, i często tak jest, że osoba naprawdę zainteresowana nie miała okazji trafić na naszą aukcję. Starajmy się ponowić wystawienie naszej oferty, i czekajmy spokojnie. Jeżeli natomiast kolejny raz nie uda nam się sprzedać, wówczas rozważny obniżenie ceny, ale rozsądnie, na początek z 850zł na np. 830zł. Z praktyki wiem, iż jest to dobry sposób na zachęcenie klientów, a jeszcze lepszym sposobem są atrakcyjne dla oka ceny.

**Atrakcyjne ceny**. Jak zauważyliście sami, na sklepowych półkach przeważają ceny z końcówką ,99zł. Jest to typowy chwyt marketingowy. Osoba widząc np. napój za 2,00zł i za 1,99, kupi ten tańszy, bo to nie 2zł tylko 1,99zł. Taka ludzka natura.

Na aukcjach jest podobnie. Jeżeli chcemy wystawić nasz przykładowy telefon za 850zł, to rozważmy opcję 849,00zł. Niby 1zł różnicy a sprawia złudzenie większe, a to z dwóch powodów. Pierwszy powód opisałem powyżej na przykładzie napoju, a drugi jest fakt wyszukiwarki na allegro wg cen. Jeżeli ktoś na allegro w wyszukiwarce wpisze, że jest zainteresowany telefonem komórkowym w przedziale cenowym od 600 do 849,99zł, to nasz produkt przy cenie 850zł nie załapie się do wyniku wyszukiwania. W przypadku 849zł, klient go zauważy. Dlatego trzeba stosować pewne praktyki marketingowe i unikać cen dla przykładu 855zł. Lepiej poświęcić kilka złotych i wystawić 849,99zł ale mieć większą pewność, że trafimy odpowiednio do klienta.

**Promocja drogą do sukcesu**. Kolejne pojęcie marketingowe, które znajduje odzwierciedlenie w transakcjach internetowych.

W tym jednak przypadku, chciałbym wam zwrócić uwagę na opcję „wyróżnienia aukcji na stronie kategorii – 12,00zł”. Ktoś może powiedzieć, że jest to za duża kwota i nie opłaca się w nią inwestować. Zgodzę się z tym, jeżeli w danej kategorii jest mało produktów. Wówczas potencjalny klient zdoła przejrzeć wszystkie oferty, lub jeżeli produkt jest mało wartościowy. Jednakże, jeżeli konkurencja i asortyment jest znaczny, wówczas należy rozważyć drobną inwestycję. Dodając taką opcję zwiększamy w znaczny sposób ilość potencjalnych klientów odwiedzających naszą aukcję, a co za tym idzie, zwiększamy szansę na szybszą sprzedaż. Nawiązując do przykładowego telefonu za 849zł, 12zł dodatkowych nie zrobi aż takiej różnicy, biorąc pod uwagę, iż osiągniemy ceną, jaką sobie założyliśmy.

**Wygląd aukcji**. Wygląd w połączeniu z opisem, zdjęciami oraz rozsądną ceną jest rzeczą ważną, ale nie najważniejszą. Spora część sprzedawców korzysta z gotowych szablonów aukcyjnych, kupionych od innych. Wyglądają one ładnie, niby profesjonalnie, a jak przychodzi co do czego, to sprzedawca okazuje się amatorem i przyprawia klienta o zszargane nerwy i nieprzespane noce. Nie należy przesadzać. Oczywiście, schludność, profesjonalizm jest wskazany, ale w połączeniu ze wszystkimi innymi opisanymi wyżej aspektami. Bez tego jest jak kolorowe pismo na F..., wygląda kolorowo, dużo tekstu, ale w rezultacie to zwykły nic nie warty szmatławiec.

Sam niejednokrotnie wystawiałem aukcję bez zbędnych dekoracji. Zestawienie w tabeli, odpowiedni tekst, opis, zdjęcia i cena. W rezultacie osiągałem to czego chciałem. Wszystko też zależy od charakteru sprzedawcy. Jeżeli jest to sklep, to wiadomo, że warto dbać o całokształt, ale w przypadku mniejszych allegrowiczów liczy się przede wszystkim schludność.

Z tych praktycznych zasad korzysta większość obeznanych sprzedawców na allegro oraz spora rzesza prawdziwych Super sprzedawców.

Zastosowanie się do niniejszych zasad, solidne przygotowanie aukcji, jej wyglądu, może wydłużyć nieco czas na jej wystawienie, jednakże efekt końcowy jest najważniejszy, czyli sprzedaż, i tym należy się kierować.

Mam nadzieję, że opisane powyżej własne przemyślenia pomogą wam w drodze do sukcesu.

**Pozdrawiam**

{{% ads-in-article %}}


---
## Szukaj na stronie
- **URL:** https://dariusz.wieckiewicz.org/szukaj/
- **Date:** 0001-01-01


### Content

{{< search-form >}}

{{< search >}}


---
## Twoja wiadomość została wysłana!
- **URL:** https://dariusz.wieckiewicz.org/kontakt/wyslano/
- **Date:** 0001-01-01


### Content

Dziękuję za wypełnienie formularza kontaktowego.

Postaram odpowiedzieć w miarę możliwości czasowych.

Pozdrawiam.

[< Powrót](/kontakt/)


