<?xml version="1.0" encoding="UTF-8"?><feed
	xmlns="http://www.w3.org/2005/Atom"
	xmlns:thr="http://purl.org/syndication/thread/1.0"
	xml:lang="pl-PL"
	>
	<title type="text">matipl</title>
	<subtitle type="text">blog o PHP, IT i nie tylko</subtitle>

	<updated>2023-09-06T13:17:41Z</updated>

	<link rel="alternate" type="text/html" href="https://matipl.pl" />
	<id>https://matipl.pl/feed/atom/</id>
	<link rel="self" type="application/atom+xml" href="https://matipl.pl/feed/atom/" />

	
	<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[PHPCon Poland &#8211; warto tu być!]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2023/09/06/phpcon-poland-warto-tu-byc/" />

		<id>https://matipl.pl/?p=180432</id>
		<updated>2023-09-06T13:17:41Z</updated>
		<published>2023-09-06T13:17:41Z</published>
		<category scheme="https://matipl.pl" term="php" /><category scheme="https://matipl.pl" term="phpcon" />
		<summary type="html"><![CDATA[Jeszcze raz &#8211; ogromne podziękowania dla Organizatorów za 2022 rok. Reaktywacja PHPCon Poland udała się w 100% i bardzo się cieszę, że przed nami edycja 2023....]]></summary>

					<content type="html" xml:base="https://matipl.pl/2023/09/06/phpcon-poland-warto-tu-byc/"><![CDATA[<p>Jeszcze raz &#8211; ogromne podziękowania dla Organizatorów za 2022 rok. Reaktywacja PHPCon Poland udała się w 100% i bardzo się cieszę, że przed nami edycja 2023.</p>
<p>PHPCon Poland to konferencja sięgająca roku 2010, kiedy miejscem spotkania był Jodłowy Dwór w Szklanej Hucie (tuż obok Świętego Krzyża). Były to piękne czasy, kiedy organizacją konferencji zajmował się jeszcze PLUG (koszt udziału wtedy był podzielony na 3 składowe &#8211; zakwaterowanie, akredytacja i obiad niedzielny).<br />
Co to była za konferencja &#8211; BoBsoN, Zyx, eRIZ czy Piotr Macuk wśród prelegentów.<br />
Wtedy programiści skupieni byli głównie na optymalizacji i nowościach (memcached, cachowanie danych, SOAP, git).<br />
Sama konferencja zaczynała się w piątek po 16:00, a kończyła obiadem o 13:00 w niedzielę.</p>
<p>Jakby ktoś z Was chciał wrócić do tamtych wspomnień, sprzed 13 lat, zapraszam na <a href="https://www.flickr.com/photos/kaminskimateusz/sets/72157624142967680">Flickr &#8211; PHPCon Poland 2010</a>.<br />
To wszystko było, minęło, już nie wróci. Życie. Świat niesamowicie się zmienił przez te lata, ale PHPCon Poland po przerwie prawie wrócił do źródeł.</p>
<p><img fetchpriority="high" decoding="async" src="https://matipl.static.am5.pl/uploads/2023/09/IMG_4061.jpg" alt="PHPCon Poland 2022" width="1000" height="450" class="aligncenter size-full wp-image-189469" srcset="https://matipl.pl/wp-content/uploads/2023/09/IMG_4061.jpg 1000w, https://matipl.pl/wp-content/uploads/2023/09/IMG_4061-300x135.jpg 300w, https://matipl.pl/wp-content/uploads/2023/09/IMG_4061-768x346.jpg 768w, https://matipl.pl/wp-content/uploads/2023/09/IMG_4061-320x144.jpg 320w, https://matipl.pl/wp-content/uploads/2023/09/IMG_4061-640x288.jpg 640w, https://matipl.pl/wp-content/uploads/2023/09/IMG_4061-360x162.jpg 360w, https://matipl.pl/wp-content/uploads/2023/09/IMG_4061-720x324.jpg 720w, https://matipl.pl/wp-content/uploads/2023/09/IMG_4061-800x360.jpg 800w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>Tym razem nie było 250 osób, ale 600. Jesień zamiast wiosny. Tylko jeden dzień, zamiast trzech. Hotel inny, część Polski również. Ale atmosfera została taka sama&#8230; A do tego spora dawka wiedzy. Było świetnie.</p>
<p>Przed nami edycja 2023. Znów mamy możliwość spotkania się w Zawierciu, niedaleko autostrad A1 i A4. A do tego kilka kroków od hotelu Villa Verde jest stacja kolejowa (Zawiercie Borowe Pole).<br />
Tym razem konferencja zacznie już się w piątek popołudniem, a zakończy integracją późnym sobotnim wieczorem. Coraz bardziej wracamy do korzeni.</p>
<p>Jest już podana <a href="https://2023.phpcon.pl/pl/#agenda">lista prelekcji</a> (z ciekawymi kąskami) oraz są dostępne <a href="https://2023.phpcon.pl/pl/#tickets">bilety</a> (720 zł za sobotę, lub 2 dni za 1350 zł). Jeśli ktoś nie lubi płacić w ciemno to nie musi. </p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2023/09/06/phpcon-poland-warto-tu-byc/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2023/09/06/phpcon-poland-warto-tu-byc/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[Revolut &#8211; architektura]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2023/03/24/revolut-architektura/" />

		<id>https://matipl.pl/?p=185305</id>
		<updated>2023-03-24T08:23:04Z</updated>
		<published>2023-03-24T08:23:04Z</published>
		<category scheme="https://matipl.pl" term="programowanie" /><category scheme="https://matipl.pl" term="technologie" /><category scheme="https://matipl.pl" term="architektura aplikacji" /><category scheme="https://matipl.pl" term="boiling frogs" /><category scheme="https://matipl.pl" term="java" /><category scheme="https://matipl.pl" term="kafka" /><category scheme="https://matipl.pl" term="legacy" /><category scheme="https://matipl.pl" term="over-engineering" /><category scheme="https://matipl.pl" term="postegresql" /><category scheme="https://matipl.pl" term="revolut" /><category scheme="https://matipl.pl" term="System Design Interview" />
		<summary type="html"><![CDATA[Boiling Frogs 2023 już za nami, nie wiem czy znajdę czas aby podsumować całą konferencję&#8230; Ale przynajmniej chciałbym Wam opisać jedną z ważniejszych prezentacji. Prezentacja Wojtka...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2023/03/24/revolut-architektura/"><![CDATA[<p>Boiling Frogs 2023 już za nami, nie wiem czy znajdę czas aby podsumować całą konferencję&#8230;</p>
<p>Ale przynajmniej chciałbym Wam opisać jedną z ważniejszych prezentacji. Prezentacja Wojtka Ptaka z Revoluta pt. &#8222;Hypergrowth scaling made simple&#8221;.<br />
<span id="more-185305"></span><br />
Wojtek wziął nas pod włos zaczynając wystąpienie robiąc widowni szybkie &#8222;<em>System Design Interview</em>&#8222;. Jak to działa? Przychodzimy na rekrutację i dostajemy problem do rozwiązania. Przy każdej iteracji, gdy przedstawimy rozwiązanie rekruter podkręca skalę problemu dodając kolejne wymogi wyimaginowanego Klienta (rekruter nic nie podpowiada, ale może odpowiadać na nasze pytania).<br />
Na tej podstawie przyszła firma jest w stanie określić nasze rzeczywiste doświadczenie i umiejętności zawodowe.</p>
<p>Całość wyglądała jakbyśmy mieli za zadanie zrobić architekturę Revoluta. Zadaniem było zaprojektowanie architektury dla banku, w którym możemy płacić za dany przedmiot/usługę w ecommerce za pomocą karty płatniczej.<br />
<center><img decoding="async" class="aligncenter size-full wp-image-185323" src="https://matipl.static.am5.pl/uploads/2023/03/revolut_DSC1579.jpg" alt="Revolut - Let's start" width="1000" height="667" srcset="https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579.jpg 1000w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579-300x200.jpg 300w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579-768x512.jpg 768w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579-320x213.jpg 320w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579-640x427.jpg 640w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579-360x240.jpg 360w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579-720x480.jpg 720w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1579-800x534.jpg 800w" sizes="(max-width: 1000px) 100vw, 1000px" /></center>Na wirtualnej rekrutacji poszliśmy w mikroserwisy i Wojtek przedstawił pierwszą iterację, która wyglądała bardzo prawdziwie (Payments Service, Payments Gateway połączony z PSP, a do tego Ledger i Wallet DB).</p>
<p>Następnie okazało się, że odnosimy sukces, bank rośnie, Klientów i operacji przybywa, wchodzimy na kolejne rynki, pojawiają się operacje walutowe.<br />
Dlatego na kolejnych ekranach widzieliśmy jak pojawia się Load Balancer, Kafka, MongoDB (jako cache dla kursów walut), serwis do wysyłki SMS-ów z powiadomieniami o płatnościach, FDS (Fraud Detecton Service). Do tego doszły modele Machine-Learningowe (ML, Spark).<br />
Aby nie powodować opóźnień dla Klientów otwieramy Data Center (DC) na każdym kontynencie, to powoduje, że musimy synchronizować w locie dane. Pojawiają się transakcje rozproszone. Aby to robić musimy mieć zegary atomowe (<a href="https://research.google/pubs/pub45855/">Spanner, TrueTime &amp; The CAP Theorem</a>)&#8230;</p>
<p>W ostateczności wyszła ogromna kobyła, która wydawała się bardzo realna.<br />
<center><a href="https://matipl.static.am5.pl/uploads/2023/03/revolut_DSC1586.jpg"><img decoding="async" class="aligncenter size-full wp-image-185326" src="https://matipl.static.am5.pl/uploads/2023/03/revolut_DSC1586.jpg" alt="Revolut - Nuclear option - ledger .999 availability" width="1000" height="667" srcset="https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586.jpg 1000w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586-300x200.jpg 300w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586-768x512.jpg 768w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586-320x213.jpg 320w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586-640x427.jpg 640w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586-360x240.jpg 360w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586-720x480.jpg 720w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1586-800x534.jpg 800w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></center>Ale to był wkręt <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zabieg ten miał pokazać, że bardzo skomplikowaną domenę rozwiązaliśmy w bardzo skomplikowany sposób.</p>
<p>Obecnie Revolut ma już ponad 30 mln Klientów na całym globie. A architektura jest o wiele prostsza niż przedstawiona wcześniej.<br />
Musimy pamiętać, że im większego skomplikowanie tym trudniej dane rozwiązanie utrzymywać.</p>
<p>Revolut tak naprawdę posiada prostą architekturę, a na zapleczu korzysta z rozwiązań sieciowych Google Cloud Platform.<br />
Chciano jak najbardziej uniknąć losowości systemu (randomness z książki Waldmana), bo im większe skomplikowanie tym większa losowość w działaniu.</p>
<h3>Jak ograniczyć losowość aplikacji/architektury?</h3>
<ul>
<li>ograniczyć tooling &#8211; wspólna baza dla wszystkich zespołów/projektu (języki programowania, frameworki, biblioteki)</li>
<li>ograniczyć procesy &#8211; ich ilość i różnorodność, wspólne dla zespołów/projektu</li>
<li>umiejętności zespołu &#8211; umiejętności, doświadczenie w ramach osób w zespole powinno być podobne</li>
</ul>
<p><strong>Praca zespołu powinna polegać na zmniejszaniu randomness (losowości). Za wszelką cenę powinniśmy zmniejszać złożonośc systemu poprzez zmniejszanie jego losowości.</strong><br />
<center><a href="https://matipl.static.am5.pl/uploads/2023/03/revolut_DSC1590.jpg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-185343" src="https://matipl.static.am5.pl/uploads/2023/03/revolut_DSC1590.jpg" alt="Revolut - cloud native by design" width="1000" height="667" srcset="https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590.jpg 1000w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590-300x200.jpg 300w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590-768x512.jpg 768w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590-320x213.jpg 320w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590-640x427.jpg 640w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590-360x240.jpg 360w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590-720x480.jpg 720w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1590-800x534.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a></center></p>
<h3>Jak do tego aspektu podchodzi Revolut?</h3>
<ul>
<li>prosta architektura &#8211; skupiamy się na tym co ważne dla firmy &#8211; Core, reszta oddelegowana do Google Cloud Platform</li>
<li>simplicity standard &#8211; ograniczenie ilości narzędzi, standaryzowanie procesów, np. playbook do tworzenia serwisu</li>
<li>bardzo skrócona ścieżka feedbacku &#8211; TDD na poziomie firmy, testy automatyczne, monitoring, wyśrubowane SLA i MTTR (Mean Time To Recovery)</li>
</ul>
<p>Prosta architektura to nie tylko slogan, Revolut wprowadził to w życie. <strong>Rdzeń systemu opiera się na czystej Javie</strong> (Vanilla Java) z użyciem <strong>wewnętrznego frameworku do DDD</strong>.<br />
Do tego dochodzi uczenie maszynowe (ML Models) oparte o serwisy w Pythonie, które wykorzystują do wszelkich danych.<br />
Całość opakowana jest w klaster Kubernetes i to wszystko.</p>
<p>Natomiast persitence layer (przechowywanie danych) oparte jest na <strong>PostgresSQL</strong>, który wykorzystany jest zarówno jako baza danych i Event Store.<br />
<center><a href="https://matipl.static.am5.pl/uploads/2023/03/revolut_DSC1592.jpg"><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2023/03/revolut_DSC1592.jpg" alt="Revolut - Architecture components of a global bank" width="1000" height="667" class="aligncenter size-full wp-image-185352" srcset="https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592.jpg 1000w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592-300x200.jpg 300w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592-768x512.jpg 768w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592-320x213.jpg 320w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592-640x427.jpg 640w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592-360x240.jpg 360w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592-720x480.jpg 720w, https://matipl.pl/wp-content/uploads/2023/03/revolut_DSC1592-800x534.jpg 800w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a></center></p>
<p>A wszelkie usługi sieciowe zostały wyniesione na zewnątrz do GPC (Google Platform Cloud).</p>
<h3>Przede wszystkim szybkość</h3>
<p>Wprowadzenie wszystkich wspomnianych standardów spowodowało skupienie się na szybkości &#8211; działania, wdrożenia, oddania nowych funkcjonalności.<br />
<strong>Większość serwisów (API) odpowiada poniżej 50ms</strong>, niektóre w granicach 1ms. Górną granicą ustaloną w Revolut jest 150ms, ale kiedy się do niej zbliżamy musimy się tłumaczyć.</p>
<p>Infrastruktura to ponad 40 klastrów Kubernetes, 1500+ maszyn, 200+ serwisów, 350+ baz danych, gdzie największa to 20+TB danych. I to wszystko obsługuje 12 osób.</p>
<p>Aby osiągnąć wysoką responsywność zespołu są tylko 2 środowiska: dev i prod, ze względu na nastawienie na TDD (testy architektury ewolucyjnej) i nie tylko, w Revolut nie ma stanowiska dla QA Engineer (Quality Assurance).</p>
<h3>Zespół</h3>
<p>Moim zdaniem sukcesem takiej wydajności i jakości jest odpowiednie podejście do tworzenia zespołu. w Revolut są zespoły produktowe (np. Konta, Karty itd).<br />
Zespół odpowiada za swoje serwisy, pokrycie testami, aktualność testów, optymalizację wydajności.<br />
A do tego dochodzą standardy i wykorzystanie istniejących wzorców architektury, które są z nami od dekad.</p>
<p>Pod tym względem warto obejrzeć prezentację Barry O&#8217;Reilly z konferencji DDD Europe 2022, na której opowiada jak trudna jest architektura oprogramowania:</p>
<p><iframe loading="lazy" class="youtube-player" width="635" height="358" src="https://www.youtube.com/embed/MZytZW_k-9Y?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=pl-PL&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></p>
<h3>Legacy</h3>
<p>Jeśli optymalizujemy na prędkość (hypergrowth) powinniśmy ustalić plan wydawniczy i dowozić go jak najszybciej. Firma powinna zmieniać się szybciej niż aspekty wokół niej (rynkowe, biznesowe).<br />
W takim wypadku zawsze pojawi nam się <strong>legacy</strong> w projekcie i to jest dobrze. Ponieważ <strong>głównym naszym wrogiem jest over-engineering, a nie legacy</strong> (YOW! 2011: <a href="https://www.youtube.com/watch?v=OTF2Y6TLTG0">Eric Evans &#8211; Domain Driven Design Strategies for Dealing With Legacy Systems</a>).</p>
<p>To co powinniśmy zrobić to wyeliminować nieodwracalność naszych decyzji w systemie. Bardzo często robimy ogromną ilość przypuszczeń, jak coś powinno funkcjonować. Lepiej w takich wypadkach odwlekać nasze decyzje.</p>
<h3>Sposób na sukces wg Revoluta</h3>
<p>Stwórz najprostszy produkt, który ma sens, a następnie upewnij się, że jest używany (nie każdy produkt, który ma sens jest używany).<br />
Jeśli to zadziała stwórz odpowiednie metryki biznesowe, podążaj za swoim użytkownikiem, analizuj jego potrzeby.<br />
I w kolejnej iteracji dodaj te funkcjonalności z dużym naciskiem na optymalizację szybkości działania.</p>
<p>Jeśli odnosisz sukces skaluj się za pomocą tych narzędzi, które już posiadasz. A kiedy już Tobie to nie starcza to: <strong>refactor, rewrite lub&#8230; stwórz nowy produkt</strong>.</p>
<p>I na koniec. Większość naszych problemów jest wtórnych, zostały już dawno rozwiązane i wystarczy umieć szukać odpowiedzi. Książki, które takie odpowiedzi przynoszą to:</p>
<ul>
<li>Thinking systems need systems thinking &#8211; J. D. Waldman</li>
<li>The Software Architect Elevator &#8211; Gregor Hohpe</li>
<li>Analysis Patterns &#8211; Martin Flower</li>
<li>Data Model Patterns &#8211; David C. Hay</li>
<li>The Data Model Resource Book &#8211; Len Silverston</li>
</ul>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2023/03/24/revolut-architektura/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2023/03/24/revolut-architektura/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[Starlink &#8211; dlaczego nie?]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2022/11/08/starlink-dlaczego-nie/" />

		<id>https://matipl.pl/?p=180536</id>
		<updated>2022-11-08T15:19:05Z</updated>
		<published>2022-11-08T12:37:43Z</published>
		<category scheme="https://matipl.pl" term="internet" /><category scheme="https://matipl.pl" term="technologie" /><category scheme="https://matipl.pl" term="0202122" /><category scheme="https://matipl.pl" term="satelita" /><category scheme="https://matipl.pl" term="starlink" /><category scheme="https://matipl.pl" term="telekomunikacja polska" />
		<summary type="html"><![CDATA[W przeciągu ostatniego roku mentalnie robiłem kilka podejść do Starlinka. Głównie z myślą o zapasowym łączu (obecnie jako zapas mam modem GSM), ale również z myślą...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2022/11/08/starlink-dlaczego-nie/"><![CDATA[<p>W przeciągu ostatniego roku mentalnie robiłem kilka podejść do Starlinka.<br />
Głównie z myślą o zapasowym łączu (obecnie jako zapas mam modem GSM), ale również z myślą o podróżach &#8211; wbrew powszechnej opinii jest bardzo małe pokrycie GSM w Polsce czy Europie. Wystarczy odjechać gdzieś od głównych miast, nie mówiąc o lesie czy górach (pozdro Bieszczady) i zaczynają się problemy.<span id="more-180536"></span></p>
<p>Szczególnie przekonującą ofertą jest <a href="https://www.starlink.com/rv">Starlink RV</a> &#8211; płacimy za miesiące, w których rzeczywiście korzystamy z usługi oraz możemy korzystać w każdym miejscu, gdzie jest pokrycie statelitami (spora część Europy).</p>
<h3>Opłaty</h3>
<p>Bez znaczenia jaką oferte wybierzemy to na start musimy zapłacić obecnie 2200 zł za sprzęt, tzw. starter kit (początkowo 2960 zł, później 2300 zł).<br />
Natomiast opłaty miesięczne dość często ulegają zmianom:</p>
<table>
<tr>
<td>Opcja</td>
<td>do 23.08</td>
<td>od 24.08</td>
<td>od 19.11</td>
</tr>
<tr>
<td>Residental (mieszkaniowy)</td>
<td>449 zł</td>
<td>230 zł</td>
<td>335 zł</td>
</tr>
<tr>
<td>RV (kamper)</td>
<td>~ 585 zł</td>
<td>285 zł</td>
<td>430 zł</td>
</tr>
</table>
<p>Nie są to wysokie kwoty &#8211; zgadzam się, szczególnie w miejscach gdzie nie mamy dostępu do stałego Internetu, lub gdzie nawet GSM nie daje rady. Trzeba pamiętać, że obecnie Starlink udostępnia nam wyłącznie WiFi, jeśli potrzebujemy dostępu po ethernet, musimy dokupić odpowiedni adapter.</p>
<h3>Zasada działania &#8211; kiedyś</h3>
<p>Internet z satelity &#8211; brzmi dobrze. Pamiętam late 90-te, gdzie w pewnym sensie taka technologia już istniała.<br />
W Polsce w <strong>1996</strong> roku Telekomunikacja Polska udostępniła ogólnopolski numer 0-20-21-22, aby móc wdzwonić się do darmowego Internetu (płaciło się tylko za czas połączenia).<br />
Wystarczyło posiadać modem 33.6k lub 56k oraz telefon stacjonarny. A także zasobny portfel &#8211; <strong>cena impulsu wynosiła 29 groszy</strong>, naliczana co 3 minuty. Plik MP3 potrafił pobierać się 10-15 minut w szczycie.<br />
To były również czasy telewizji satelitarnej, która &#8222;dostarczała&#8221; mnóstwo kanałów telewizyjnych przez całą dobę (alternatywą była telewizja naziemna z kilkoma kanałami).<br />
Szybko powstały firmy, które dostarczały &#8222;Internet z satelity&#8221;, ale antena satelitarna służyła wyłącznie jako kanał zwrotny. Poprzez modem (upload) zlecało sie niejako dane, których potrzebujemy, a odbiór był przez satelitę (download).</p>
<p>Później nastał w Polsce czas SDI (Szybki Dostęp do Internetu) i Neostrady (łącze stałe) i zapomnianano o modemach i satelitach na szeroką skalę.<br />
Obecnie nadal istnieją usługi Internetu satelitarnego i to dwukierunkowego (np. Tooway do 50 Mb/s w cenie 139,99 zł/m-c), ale jakość połączenia często zależna jest od pogody i innych warunków. </p>
<p><center><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2022/11/How-Does-Starlink-Work-1024x576-1.png" alt="Starlink - zasada działania" width="1024" height="576" class="aligncenter size-full wp-image-180540" srcset="https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1.png 1024w, https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1-300x169.png 300w, https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1-768x432.png 768w, https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1-320x180.png 320w, https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1-640x360.png 640w, https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1-360x203.png 360w, https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1-720x405.png 720w, https://matipl.pl/wp-content/uploads/2022/11/How-Does-Starlink-Work-1024x576-1-800x450.png 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></center></p>
<h3>Zasada działania &#8211; dziś</h3>
<p>Ale są miejsca na Ziemi, nawet w rozległych Stanach gdzie trudno szukać powszechnego dostępu do Internetu &#8211; brak stacji przekaźnikowych GSM lub w ogóle miast, w których mamy okablowanie w każdym kwartale.<br />
Tą sytuację między innymi wykorzystuje firma Starlink, która skonstruowała cały nowy system &#8211; anteny naziemne, małe satelity, i stacje naziemne.</p>
<p>W tej chwili działa niespełna 3000 satelit na orbitach operacyjnych (~550km, 1⁄30 orbity geostacjonarnej, dzięki temu opóźnienia są na poziomie 25-35ms), ale liczba działających satelit jest zmienna (uszkodzenia, usterki, w ich miejsce wysyłane są nowe itp). Jest jeszcze orbita parkingowa (~380km), na której satelity są bardziej widoczne dla nas, ale nie biorą udziału w komunikacji do momentu zmiany orbity.</p>
<p>Ogólny problemem, który już się pojawił to &#8222;zaśmiecanie nieba&#8221;, co utrudnia na przykład obserwacje astronomiczne, jak również zmusza misje kosmiszne do dodatkowych obliczeń specjalnych trajektorii omijających Starlinki.</p>
<p>Pokrycie i aktualne położenie satelit Starlink mozna obserwować na stronie <a href="https://starlink.sx/">Starlink.sx</a>.<br />
<center><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2022/11/starlink-mapa.png" alt="starlink - mapa" width="610" height="450" class="aligncenter size-full wp-image-180543" srcset="https://matipl.pl/wp-content/uploads/2022/11/starlink-mapa.png 610w, https://matipl.pl/wp-content/uploads/2022/11/starlink-mapa-300x221.png 300w, https://matipl.pl/wp-content/uploads/2022/11/starlink-mapa-320x236.png 320w, https://matipl.pl/wp-content/uploads/2022/11/starlink-mapa-360x266.png 360w" sizes="auto, (max-width: 610px) 100vw, 610px" /></center></p>
<h3>Wąskie gardło</h3>
<p>Wąskim gardłem całego systemu są stacje naziemne (Ground Station), które służą za huby do przekazywania ruchu internetowego pomiędzy klientem, a satelitą do docelowego miejsca Internetu, z którego chcemy skorzystać.</p>
<p>Po obniżeniu cen w sierpniu 2022 roku przepustowość sieci znacznie spadła, szczególnie w USA. Wcześniej przy małej ilości użytkowników prędkości pobierania dochodziły nawet do 150-250Mbps, w tegoroczne wakacje niektórzy klienci zgłaszali, że maksymalna przepustowość momentami jest rzędu 10Mbps.<br />
Obniżenie przepustowości połączeń potwierdzają m.in. badania Ookla:</p>
<blockquote><p>Starlink&#8217;s median download speeds in the US dropped from 90.6Mbps to 62.5Mbps between the first and second quarters of 2022, according to Ookla speed tests. Starlink&#8217;s median upload speeds in the US dropped from 9.3Mbps to 7.2Mbps in the same timeframe.</p></blockquote>
<p>Za <a href="https://arstechnica.com/tech-policy/2022/09/ookla-starlinks-median-us-download-speed-fell-nearly-30mbps-in-q2-2022/">ArsTechnica</a>. Oczywiście są to średnie dane.</p>
<p>Dla Europy jakość połączeń i szybkość jest bardzo dobra, ale wynika to głównie z powodu małej ilości użytkowników, a jednocześnie dużej ilości stacji naziemnych. W zasięgu Polski są 4 naziemne stacje:</p>
<ul>
<li>Wola Krobowska, Polska</li>
<li>Kaunas, Litwa</li>
<li>Aerzen, Niemcy</li>
<li>Frankurt, Niemcy (tak naprawdę 4 stacje)</li>
</ul>
<p>Wraz ze wzrostem ilości użytkowników, przesyłanych danych stacje naziemne mają problem z przepustowością danych.<br />
W innej sytuacji są operatorzy naziemni (firmy komórkowe, kablówki, ISP), którzy realizują usługi na klasycznej sieci szkieletowej. Nawet gdy pojawiają się problemy z zapychaniem łącz, mają większe możliwości zwiększenia przepustowości.</p>
<p>Ogólnie sytuacja dotycząca Starlink zmienia się bardzo szybko. W zeszłym tygodniu firma ogłosiła, że odchodzi od nielimitowanego transferu dla klientów w USA i Kanadzie &#8211; coś co wyróżniało Starlink w USA w stosunku do tradycyjnej konkurencji internetu satelitarnego (np. HughesNet i Viasat).<br />
I <a href="https://www.cnet.com/home/internet/data-caps-are-coming-to-elon-musks-starlink-satellite-internet/">od 1 grudnia Starlink wprowadza limit danych na poziomie 1TB</a>, powyżej którego nasz ruch straci priorytet (ruch pomiędzy 23:00 a 7:00 nie będzie wliczany do limitu, trochę jak 0202122 kiedyś).</p>
<p>Nie odradzam Starlinka, ale należy pamiętać, że poza wachaniem cen, przed nami również wachania przepustowości, wydajności itp. Dlatego ja nie skorzystam.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2022/11/08/starlink-dlaczego-nie/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2022/11/08/starlink-dlaczego-nie/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[pi-hole &#8211; rozwiązanie na niechciane reklamy, strażnik dla dzieci]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2021/05/05/pi-hole-rozwiazanie-na-niechciane-reklamy-straznik-dla-dzieci/" />

		<id>https://matipl.pl/?p=167866</id>
		<updated>2021-05-14T09:19:35Z</updated>
		<published>2021-05-05T09:58:02Z</published>
		<category scheme="https://matipl.pl" term="linux" /><category scheme="https://matipl.pl" term="dns" /><category scheme="https://matipl.pl" term="docker" /><category scheme="https://matipl.pl" term="pi-hole" />
		<summary type="html"><![CDATA[Nawet jeśli korzystamy z VPN-a ze względu na naszą prywatność (np. ProtonVPN), to nie ustrzeże on nas przed niechcianymi reklamami (takimi, że dorosłemu robi się niedobrze,...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2021/05/05/pi-hole-rozwiazanie-na-niechciane-reklamy-straznik-dla-dzieci/"><![CDATA[<p>Nawet jeśli korzystamy z VPN-a ze względu na naszą prywatność (np. <a href="/2021/04/29/protonvpn-prywatnosc-przede-wszystkim/">ProtonVPN</a>), to nie ustrzeże on nas przed niechcianymi reklamami (takimi, że dorosłemu robi się niedobrze, a co dopiero dziecku) czy treściami w Internecie nie odpowiednimi dla dzieci.<br />
Jak rozwiązać taki problem systemowo?<span id="more-167866"></span></p>
<p>Z pomocą przychodzi nam usługa/aplikacja Pi-hole. Pewnie czytając &#8222;Pi-hole&#8221; od razu pomyśleliście o Raspberry Pi? Słusznie, ponieważ usługa została zaprojektowana z myślą, aby działać na małych urządzeniach, ale można go uruchomić na każdej dystrybucji Linuksa.<br />
<center><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2021/05/przyklad_reklam_gier.png" alt="Przykład reklam w grach" width="900" height="962" class="aligncenter size-full wp-image-167893" srcset="https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier.png 900w, https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier-281x300.png 281w, https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier-768x821.png 768w, https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier-320x342.png 320w, https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier-640x684.png 640w, https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier-360x385.png 360w, https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier-720x770.png 720w, https://matipl.pl/wp-content/uploads/2021/05/przyklad_reklam_gier-800x855.png 800w" sizes="auto, (max-width: 900px) 100vw, 900px" /></center></p>
<p>Potrzeba wynikła jak zawsze z życia. Jedno z dzieci grało w grę <em>Idle Theme Park Tycoon</em> &#8211; budujesz park rozrywki, ale co jakiś czas wyskakuje komunikat, że aby zwiększyć 2x zarobki należy obejrzeć reklamę i dziecko naciska ładny zielony guzik automatycznie. OK, można wykupić brak reklam &#8211; problem rozwiązany.<br />
Kilka tygodni później była inna gra &#8211; prymitywne budowanie miasta, ale liczył się spryt (City Takeover). Nie ma krwi, nie wiadomo jakich rzeczy w grze. Zainstalowałem. Dziecko gra obok.. aż tu nagle, w trakcie gry reklama na pełny ekran jakiś żywych trupów, nagle bez zapowiedzi. Tego było za dużo. I postanowiłem znów wdrożyć Pi-hole.</p>
<h3>Instalacja</h3>
<p>Pi-hole służy do blokowania możliwości śledzenia nas oraz blokowania reklam w Internecie, szczególnie tych uciążliwych np. w Smart TV czy w aplikacjach mobilnych (jak w przykładzie powyżej). Działa na zasadzie zapory sieciowej, dlatego niechciana zawartość nie trafia w żaden sposób na docelowe urządzenie użytkownika, ponieważ jest blokowana na poziomie sieci (tym samym powoduje mniejsze obciążenie naszego łącza internetowego).<br />
Osoby chcące zobaczyć jak dokładnie działa ten mechanizm u podstaw (FTLDNS, cURL, lighttpd, PHP) mogą pobrać <a href="Pi-hole - Ustawienia nadrzędnego DNS">kod źródłowy usługi z GitHub</a>.</p>
<p>Mamy niesamowite możliwości wyboru sposobu instalacji Pi-hole. Ja korzystam z <a href="https://registry.hub.docker.com/r/pihole/pihole/">gotowego kontenera Docker</a>. Na stronie DockerHub jest przykład konfiguracji docker-compose.yml , jedyne co musimy zrobić przed uruchomieniem to skonfigurować parametr z hasłem do panelu zarządzania (<em>WEBPASSWORD</em>).</p>
<p>Jeśli macie dedykowane urządzenie na Pi-hole (np. malinę lub inne urządzenie z dystrybucją Linuksa) możecie użyć jednolinijkowej komendy do instalacji:</p><pre class="crayon-plain-tag">curl -sSL https://install.pi-hole.net | bash</pre><p> </p>
<h3>Konfiguracja</h3>
<p>Po instalacji możemy już korzystać z Pi.hole, ponieważ działa jako serwer DNS dla sieci prywatnej (domowej/firmowej), zastępując jakikolwiek wcześniej skonfigurowany serwer DNS w komunikacji do użytkownika.<br />
Pozostaje nam na routerze (lub innym urządzeniu, który robi za serwer DHCP) skonfigurować, aby serwer DNS wskazywał na adres IP maszynki, gdzie zainstalowaliśmy Pi-hole.</p>
<p>Ja zawsze jedyną rzeczą jaką ustawiam na Pi.hole to konkretny serwer macierzysty DNS, z którego usługa ma korzystać.<br />
Możecie po prostu zaznaczyć w Ustawieniach odpowiednio predefiniowany serwer (Google, OpenDNS, Cloudfare itp.) lub podać samodzielnie odpowiedni adres IP.<strong> Panel administracyjny dostępny jest pod adresem:</strong></p>
<ul>
<li>http://pi.hole/admin/ &#8211; w przypadku gdy korzystamy już z Pi-hole jako serwer DNS</li>
<li>http://ADRES_IP_GDZIE_JEST_PIHOLE/admin/</li>
</ul>
<p><center><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2021/05/pi-hole-settings.png" alt="Pi-hole - Ustawienia nadrzędnego DNS" width="981" height="872" class="aligncenter size-full wp-image-167870" srcset="https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings.png 981w, https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings-300x267.png 300w, https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings-768x683.png 768w, https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings-320x284.png 320w, https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings-640x569.png 640w, https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings-360x320.png 360w, https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings-720x640.png 720w, https://matipl.pl/wp-content/uploads/2021/05/pi-hole-settings-800x711.png 800w" sizes="auto, (max-width: 981px) 100vw, 981px" /></center></p>
<p>W przypadku, <strong>gdy korzystamy już z ProtonVPN</strong> (w wersji premium) powinniśmy ustawić następujący jeden adres IP:</p>
<ul>
<li>10.8.8.1 &#8211; gdy korzystamy z konfiguracji UDP</li>
<li>10.7.7.1 &#8211; gdy korzystamy z konfiguracji TCP</li>
</ul>
<p>to umożliwi uniknięcia wykrycia np. przez serwisy VOD, że nie jesteśmy u siebie. Jak również poprawi nasze ukrycie za VPN-em.</p>
<h3>Bezpieczeństwo dzieci i innych</h3>
<p>Pi-hole to można powiedzieć cały system do sterowania ruchem domenowym w naszej sieci. W panelu sterowania mamy możliwość skonfigurowania masy rzeczy (blokowanie poszczególnych domen, wprowadzenie własnych domen, kierujące na podany adres IP). I często to nam już wystarczy.</p>
<p>Ale zdarza się, że sama blokada niechcianych reklam jest niewystarczająca, szczególnie gdy w domu są dzieci. Pi-hole umożliwia nam bezpośrednio z panelu zarządzania dodać kolejne linki z listami reguł, które na bieżąco są sprawdzane, importowane i wdrażane umożliwiając automatyczne blokowanie nowych nieodpowiednich serwisów.<br />
W Internecie można znaleźć ich naprawdę dużo (blokady reklam, crypto, drugs, fraud, malware, scam tracking itp.). Przykładowy zestaw znajdziecie chociażby na <a href="https://trainax.github.io/PiHoleLists/">PiHoleLists</a>.</p>
<p>Ale to nie wszystko. Bardzo dużo firm pozwala na tzw. <strong>bezpieczne wyszukiwanie </strong>(np. Google, Bing, DuckDuckGo, Youtube). Dzieci wtedy nie zobaczą nieodpowiedniej zawartości na YouTube, albo będzie ona naprawdę w znikomej ilości. Jak z tego skorzystać?</p>
<p>Robi się to w bardzo prosty sposób &#8211; ustawiając CNAME z restrict (restrict.youtube.com zamiast www.youtube.com). Ale nie musimy sami wprowadzać dziesiątek nazw, ponieważ Jayke Peters stworzył <strong>prosty skrypt, który zrobi odpowiednie zmiany w Pi-hole automatycznie</strong>:</p><pre class="crayon-plain-tag">wget https://raw.githubusercontent.com/jaykepeters/Scripts/Deployment/Pi-hole_SafeSearch.sh
mv ./Pi-hole_SafeSearch.sh /usr/local/bin/
chmod a+x /usr/local/bin/Pi-hole_SafeSearch.sh
Pi-hole_SafeSearch.sh --enable</pre><p> </p>
<p>Oczywiście musimy taką zmianę wykonać jako użytkownik root (ostatnie polecenie). W moim przypadku zawsze na świeżej instalacji muszę ostatnie polecenie uruchomić 2x, bo jest problem ze zdublowanymi wpisami w pobranej konfiguracji. Czy skrypt zadziałał wystarczy zobaczyć czy istnienie plik <strong>05-*.conf</strong> w katalogu <em>/etc/dnsmasq.d/</em> .<br />
Cały projekt dostępny jest na <a href="https://github.com/jaykepeters/pss">GitHub</a>.</p>
<p>Ja posiadam jedną instancję Pi-hole dla każdej podsieci, aby móc lepiej sterować regułami (dzieci, goście, praca). Na RaspberryPi zainstalowałem Dockera, skonfigurowałem obsługę dodatkowych podsieci, a następnie w każdym docker-compose.yml ustawiłem przekierowanie portu wewnętrznego na konkretny adres IP, oraz dodatkowo konfigurację trzymam po NFS na Synology:</p><pre class="crayon-plain-tag">version: "2"

services:
  pihole:
    container_name: pihole-vlan100
    hostname: pi-vlan100
    domainname: local
    image: pihole/pihole:latest
    ports:
      - "192.168.100.70:443:443/tcp"
      - "192.168.100.70:53:53/tcp"
      - "192.168.100.70:53:53/udp"
      - "192.168.100.70:67:67/udp"
      - "192.168.100.70:80:80/tcp"
    environment:
      VIRTUAL_HOST: 'pi-vlan100.hole'
      DNSMASQ_LISTENING: 'all'
      ServerIP: '192.168.100.70'
      TZ: 'Europe/Warsaw'
      WEBPASSWORD: 'HASLO_JAKIE_MA_BYC_DO_PANELU'
    # Volumes store your data between container upgrades
    volumes:
      - 'nfs-pihole-vlan100-etc:/etc/pihole/'
      - 'nfs-pihole-vlan100-dnsmasq:/etc/dnsmasq.d/'
    cap_add:
      - NET_ADMIN
    restart: always

volumes:
  nfs-pihole-vlan100-etc:
    driver: local
    driver_opts:
      type: nfs
      o: nfsvers=4,addr=IP_SYNOLOGY,rw
      device: ":/volume1/rpi/docker/pihole-vlan100/"
  nfs-pihole-vlan100-dnsmasq:
    driver: local
    driver_opts:
      type: nfs
      o: nfsvers=4,addr=IP_SYNOLOGY,rw
      device: ":/volume1/rpi/docker/pihole-vlan100/dnsmasq.d/"</pre><p> </p>
<p>PS: CERT Polska udostępniła listę ostrzeżeń przed niebezpiecznymi stronami. Aby ją dodać, to w menu &#8222;Group Management&#8221; wybieramy opcję „Adlists”. W polu „Address” wpisujemy: http://hole.cert.pl/domains/domains_hosts.txt</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2021/05/05/pi-hole-rozwiazanie-na-niechciane-reklamy-straznik-dla-dzieci/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2021/05/05/pi-hole-rozwiazanie-na-niechciane-reklamy-straznik-dla-dzieci/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[ProtonVPN &#8211; prywatność przede wszystkim]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2021/04/29/protonvpn-prywatnosc-przede-wszystkim/" />

		<id>https://matipl.pl/?p=167823</id>
		<updated>2021-04-29T06:34:01Z</updated>
		<published>2021-04-29T06:34:01Z</published>
		<category scheme="https://matipl.pl" term="internet" /><category scheme="https://matipl.pl" term="linux" /><category scheme="https://matipl.pl" term="privacy" /><category scheme="https://matipl.pl" term="proton mail" /><category scheme="https://matipl.pl" term="proton vpn" /><category scheme="https://matipl.pl" term="security" /><category scheme="https://matipl.pl" term="vpn" />
		<summary type="html"><![CDATA[Przynajmniej kilka razy w tygodniu w moim czytniku RSS pojawia się informacji jaki rewelacyjny jest VPN firmy XYZ. Zawsze informacje w tej samej nucie i zawsze...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2021/04/29/protonvpn-prywatnosc-przede-wszystkim/"><![CDATA[<p>Przynajmniej kilka razy w tygodniu w moim czytniku RSS pojawia się informacji jaki rewelacyjny jest VPN firmy XYZ. Zawsze informacje w tej samej nucie i zawsze brakuje pewnego ale&#8230;<br />
Jestem uczulony na takie zorganizowane informowanie o rewelacyjnym produkcie. Zawsze w takim wypadku wolę samemu sprawdzić, który produkt jest dobry i pasuje do moich potrzeb.</p>
<p>Często zdarza się, że wystarczy wyjść poza polską część Internetu i się okazuje, że już takiej dobrej opinii dany produkt nie ma. A nieraz przytrafia się, że mimo że to produkt zagraniczny ciężko znaleźć jakiekolwiek informacje poza polskojęzycznymi stronami.</p>
<p>Wracając do usługi VPN (Virtual Private Network). Tym terminem określa się każdą technologię, która umożliwia enkapsulację i przesyłanie danych sieciowych. W ogólności nawiązujemy połączenie Klient<>Serwer i kierujemy do takiego połączenia (tunelu) nasz ruch sieciowy z lokalnego komputera/sieci.</p>
<p>Jeszcze 10 lat temu VPN-y używany były wyłącznie w celach biznesowych &#8211; możliwość podłączenia do sieci korporacyjnej np. z domu lub podróży, czy zestawienie połączenia pomiędzy serwerami w różnych lokalizacjach celem zabezpieczenia ruchu pomiędzy nimi.<br />
Dzisiaj częściej używa się VPN w celach zapewnienia prywatności, lub ominięcia regionalizacji usług VOD.</p>
<h3>Jakie informacje udostępniam?</h3>
<p>Pewnie zastanawiasz się w tej chwili, czy coś udostępniasz&#8230; Przecież nie podajesz gdzie popadnie adresu e-mail, numeru telefonu, tym bardziej adresu&#8230; Ale co z Twoim adresem IP?</p>
<p>Prosty test możesz zrobić <a href="https://ip.me">na stronie IP.me</a>. Na podstawie najprostszej bazy adresów IP możesz dostrzec chociażby miasto gdzie mieszkasz (mimo, że nie udostępniasz swojej lokalizacji), często nawet więcej.<br />
Dodatkowo dochodzi revDNS &#8211; czyli &#8222;przyjazny&#8221; adres, który może być przypisany przez naszego usługodawcę (Multimedia, Vectra, UPC, Plus, Orange, Play itd.) i dzięki temu osoba po drugiej stronie może zdobyć informację z usług jakiego operatora korzystasz&#8230;<br />
Kolejnymi elementami, z których bardzo często dzisiaj się korzysta to <em>fingerprint</em> &#8211; odcisk, który zostawia nasza przeglądarka internetowa zostawiając ślad po stronie serwera (nazwa przeglądarki, rozdzielczość, nazwa systemu operacyjnego, używane wtyczki, czcionki, rodzaj CPU/GPU itp.).<br />
Jeśli jesteście ciekawi jak wyglądają te dane możecie skorzystać z serwisu <a href="https://www.experte.com/browser-privacy-check">Experte Privacy Check</a>.</p>
<p><center><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2021/04/public-ip-warsaw.png" alt="Warszawa - publiczny IP" width="914" height="538" class="aligncenter size-full wp-image-167831" srcset="https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw.png 914w, https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw-300x177.png 300w, https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw-768x452.png 768w, https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw-320x188.png 320w, https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw-640x377.png 640w, https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw-360x212.png 360w, https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw-720x424.png 720w, https://matipl.pl/wp-content/uploads/2021/04/public-ip-warsaw-800x471.png 800w" sizes="auto, (max-width: 914px) 100vw, 914px" /></center></p>
<p>W 2020 roku testowałem usługę Hotspot Shield. Była jakaś super promocja przy opłaceniu abonamentu za 2 lub 3 lata z góry. Przez pierwszy okres usługa działała zadowalająco, później był problem nie tylko z prędkością transmisji, co z niemożliwością korzystania ze zwyczajnych portali, z których nie chcieliśmy dzielić się informacjami o sobie (np. usługi od Facebooka).<br />
Mimo, że Hotspot Shield udostępnia ponad 115 lokalizacji, coraz większa ich ilość była &#8222;spalona&#8221;.</p>
<p>Sporadycznie korzystałem z usług VPN, ale postanowiłem sprawdzić jaka jest konkurencja, o której nie znajduję informacji w moich RSS-ach. W ten sposób przypomniałem sobie, że dawno temu zainstalowałem aplikację na telefonie &#8211; ProtonVPN.</p>
<h3>ProtonMail</h3>
<p>ProtonVPN został stworzony kilka lat temu (2017) przez szwajcarską firmę Proton Technologies AG. Ta sama firma w 2014 roku stworzyła ProtonMail, który oferuje serwer pocztowy z szyfrowaniem end2end.<br />
Serwis został stworzony przez pracowników CERN z myślą, aby nikt postronny nie miał dostępu do zawartości naszej skrzynki pocztowej. Miała to być odpowiedź na takie produkty jak gmail.com czy outlook.com. Serwery ProtonMail znajdują się w lokalizacjach na terenie Szwajcarii, poza jurysdykcją USA i EU.</p>
<p>Konto ProtonMail dawno temu założyłem, ale nie korzystałem &#8211; &#8222;ceny szwajcarskie&#8221; (>6€/m-c), a na początku nie posiadali jeszcze tak dobrych mechanizmów (np. szukania) jak konkurencja, która żyje z danych w naszych skrzynkach pocztowych (tak &#8211; analizują algorytmy, ale chociażby <a href="https://matipl.pl/2019/08/21/czy-odbiorca-e-mail-wie-gdzie-jestem/">polska konkurencja lubi dzielić się naszym adresem IP ze światem</a>).<br />
Kwestię dbania o naszą prywatność dobrze pokazuje porównanie danych, z których korzysta ProtonMail i Gmail w iOS 14.5.</p>
<p><center><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2021/04/protonmail_vs_gmail_app_privacy-1024x512.png" alt="ProtonMail vs gmail - app privacy" width="635" height="318" class="aligncenter size-large wp-image-167837" srcset="https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-1024x512.png 1024w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-300x150.png 300w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-768x384.png 768w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-320x160.png 320w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-640x320.png 640w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-360x180.png 360w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-720x360.png 720w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-1080x540.png 1080w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy-800x400.png 800w, https://matipl.pl/wp-content/uploads/2021/04/protonmail_vs_gmail_app_privacy.png 1200w" sizes="auto, (max-width: 635px) 100vw, 635px" /></center></p>
<h3>ProtonVPN</h3>
<p>Jednym słowem ProtonVPN to <strong>bezpieczeństwo</strong> przeniesione z usługi ProtonMail na poziom połączenia sieciowego.<br />
Na poziomie ich VPN-a bezpieczeństwo głównie przejawia się brakiem&#8230; Brakiem logowania jakichkolwiek działań &#8211; nie rejestrują odwiedzanych witryn, ruchu, naszego adresu IP, długości sesji, żadnych informacji opartych o lokalizacji.<br />
Te wymogi podobnie jak w przypadku ProtonMail wynikają trochę z przepisów Szwajcarii, która ma jedne z &#8222;silniejszych&#8221; przepisów dotyczących ochrony danych i prywatności.<br />
Do tego kody źródłowe aplikacji ProtonVPN są dostępne jawnie na <a href="https://github.com/ProtonVPN/">GitHub</a>.</p>
<p>Nie korzystałem z ProtonVPN mimo zainstalowania aplikacji, ponieważ w darmowej wersji oferują bardzo mało (3 lokalizacje, brak lepszych zabezpieczeń dot. prywatności, ale nie zbierają danych o nas).<br />
Ale szukając konkurencji odnalazłem ich po latach. Oferują zupełnie inne warunki niż na początku, a ich oferta jest bardziej dopracowana.<br />
Mnie najbardziej zainteresował pakiet Plus &#8211; 10€ miesięcznie (8€/m-c przy płatności rocznej) dostajemy:</p>
<ul>
<li>10 jednoczesnych połączeń VPN</li>
<li>serwery w 55 krajach (często wiele maszyn w danym kraju)</li>
<li>Secure Core VPN</li>
<li>NetShield</li>
<li>wsparcie dla P2P/BitTorrent, Tor, streamingu</li>
</ul>
<p>Podsumowując. ProtonVPN zapewnia nam nie tylko prywatność dzięki lokalizacji firmy (Szwajcaria), tym samym zapewnienie o nielogowaniu informacji o nas, ale również dodatkowe zabezpieczenia przed śledzeniem nas w sieci.</p>
<h4>NetShield</h4>
<p>NetShield chroni nas przed modułami śledzącymi (przed personalizowanymi reklamami), blokuje złośliwe i szpiegujące oprogramowanie, na które możemy natknąć się przeglądając Internet. Dodatkowo NetShield wspiera nas, aby za pomocą DNS nie była ujawniana nasza historia przeglądania (oferują własne serwery DNS po drugiej stronie tunelu VPN).</p>
<p><center><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2021/04/protonvpn-list.png" alt="ProtonVPN - lista serwerów" width="308" height="468" class="aligncenter size-full wp-image-167828" srcset="https://matipl.pl/wp-content/uploads/2021/04/protonvpn-list.png 308w, https://matipl.pl/wp-content/uploads/2021/04/protonvpn-list-197x300.png 197w" sizes="auto, (max-width: 308px) 100vw, 308px" /></center></p>
<h4>Secure Core VPN</h4>
<p>Druga usługa, która zwróciłą moją uwagę to <a href="https://protonvpn.com/support/secure-core-vpn/">Secure Core VPN</a>. Dłuższy czas zastanawiałem się co można polepszyć w VPN używanym dzisiaj przez prywatnych Klientów. Jak jeszcze bardziej (obok NetShield) poprawili prywatność i bezpieczeństwo?<br />
Najczęstszą metodą ujawnienia ruchu VPN jest złamanie zabezpieczeń serwera po drugiej stronie tunelu. Ryzyko jest szczególnie prawdopodobne w przypadku serwerów zlokalizowanych w jurysdykcjach wysokiego ryzyka (Rosja, Turcja, Iran  czy  USA, Wielka Brytania).<br />
<em>Secure Core</em> to po prostu dodatkowe serwery VPN, które pośredniczą w naszym ruchu do docelowego serwera VPN, który znajduje się w jurysdykcji wysokiego ryzyka. Serwery <em>Secure Core</em> umiejscowione one są w państwach z surowymi przepisami dotyczących prywatności (Szwajcaria, Islandia, Szwecja), jak również w dobrze zabezpieczonych centrach danych (Szwecja/Szwajcaria podziemne centra, Islandia to dawna baza wojskowa). Są one również w pełni własnością ProtonVPN, łączą się z Internetem za pomocą dedykowanej sieci.</p>
<h3>Podsumowanie</h3>
<p>Przeanalizowałem jeszcze informacje dotyczące kilku innych firm, ale zostały daleko z tyłu za Protonem jeszcze przed testami. Ostatecznie po małych testach zdecydowałem się, że przez miesiąc będę korzystać wyłącznie z ruchu puszczanego przez ProtonVPN. Tym bardziej, że nie musimy korzystać z aplikacji, ponieważ oferuje wsparcie dla OpenVPN i IPSec (w tym wypadku m.<br />
Dodatkowo w końcu dojrzałem i odrzuciłem inne wyszukiwarki internetowe i przełączyłem się wszędzie na DuckDuckGo w konfiguracjach przeglądarek internetowych.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2021/04/29/protonvpn-prywatnosc-przede-wszystkim/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2021/04/29/protonvpn-prywatnosc-przede-wszystkim/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[iOS/tvOS/watchOS/iPadOS 14.5 i MacOS 11.3]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2021/04/27/ios-tvos-watchos-ipados-14-5-i-macos-11-3/" />

		<id>https://matipl.pl/?p=167842</id>
		<updated>2021-04-27T12:05:43Z</updated>
		<published>2021-04-27T12:04:44Z</published>
		<category scheme="https://matipl.pl" term="apple" /><category scheme="https://matipl.pl" term="technologie" /><category scheme="https://matipl.pl" term="apple watch" /><category scheme="https://matipl.pl" term="AppleTV" /><category scheme="https://matipl.pl" term="homePod" /><category scheme="https://matipl.pl" term="iOS" /><category scheme="https://matipl.pl" term="macOS" /><category scheme="https://matipl.pl" term="privacy" />
		<summary type="html"><![CDATA[Po wielu miesiącach oczekiwania, niespodzianie w poniedziałek Apple wypuścił nowe wersje swoich systemów operacyjnych iOS/tvOS/watchOS/iPadOS 14.5 oraz MacOS w wersji 11.3. Są one dostępna dla wszystkich...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2021/04/27/ios-tvos-watchos-ipados-14-5-i-macos-11-3/"><![CDATA[<p>Po wielu miesiącach oczekiwania, niespodzianie w poniedziałek Apple wypuścił nowe wersje swoich systemów operacyjnych iOS/tvOS/watchOS/iPadOS 14.5 oraz MacOS w wersji 11.3. Są one dostępna dla wszystkich obecnych urządzeń, które posiadały poprzednią najnowszą wersję.<br />
<span id="more-167842"></span></p>
<p>iOS 14.5 zainstalujemy na iPhone 6S i nowszych (oraz iPod touch 7h), iPadOS 14.5 zainstalujemy na iPad mini 4, iPad 5, iPad Air 2 i nowszych (oraz wszystkie iPad Pro).<br />
Natomiast wersję systemu na zegarek (watchOS 7.4) wgramy tylko na Apple Watch serii 3 i nowszych, a tvOS 14.5 na Apple TV HD i Apple TV 4K.</p>
<p>Mimo, że są to zmiany klasy minor (Major.Minor.Patch) przyniosły one sporo nowości i na nich się skupię. </p>
<h3>Prywatność</h3>
<p>Moim zdaniem najważniejszą zmianą jest wymuszenie przez Apple właściwego podejścia do prywatności przez programistów aplikacji na systemy Apple.<br />
Od nowych wersji poza wprowadzeniem funkcji <strong>App Tracking Transparency</strong>, która wymaga, aby aplikacje prosiły użytkowników o pozwolenie na śledzenie ich w innych aplikacjach i witrynach, wprowadzono również <strong>App Privacy</strong>.<br />
Każda aplikacja dodawana teraz do sklepu AppStore musi zaprezentować nam czy będzie nas śledzić i zbierać o nas informacje, i jeśli tak to dokładnie jakie. Dzięki temu możemy sugerować się przed pobraniem aplikacji nie tylko ceną, oceną, funkcjonalnością, ale również informacją jakimi danymi dzielimy się z firmą trzecią korzystając z danej aplikacji.</p>
<p><a href="https://matipl.static.am5.pl/uploads/2021/04/app-privacy-compare-scaled.jpg"><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2021/04/app-privacy-compare-1024x576.jpg" alt="App Privacy - porównanie Signal, iMessage, WhatsApp, Facebook Messenger" width="635" height="357" class="aligncenter size-large wp-image-167851" srcset="https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-1024x576.jpg 1024w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-300x169.jpg 300w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-768x432.jpg 768w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-1536x864.jpg 1536w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-2048x1152.jpg 2048w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-320x180.jpg 320w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-640x360.jpg 640w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-360x202.jpg 360w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-720x405.jpg 720w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-1080x607.jpg 1080w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-800x450.jpg 800w, https://matipl.pl/wp-content/uploads/2021/04/app-privacy-compare-1280x720.jpg 1280w" sizes="auto, (max-width: 635px) 100vw, 635px" /></a></p>
<h3>Odblokowanie iPhone&#8217;a za pomocą Apple Watch</h3>
<p>W przypadku gdy mamy zasłoniętą twarz i nie możemy odblokować telefonu za pomocą Face ID od teraz, jeśli jesteśmy posiadaczami Apple Watch, możemy odblokować telefon nic nie robiąc. Wystarczy, że zegarek jest z nami.<br />
Aby funkcja zadziałała musimy posiadać przynajmniej Watch serii 3, telefon z Face ID, oraz zaktualizowane urządzenia do najnowszych wersji.<br />
Funkcję znajdziecie w telefonie: Ustawienia -> Face ID &#038; Kod. I tam obecnie znajduje się sekcja &#8222;Odblokowuj, używając Apple Watch&#8221; (Unlock with Apple Watch).</p>
<h3>Kalibracja balansu koloru w AppleTV</h3>
<p>Nowa funkcja dostępna jest dla wszystkich AppleTV, które otrzymały wersję tvOS 14.5. Aby skorzystać z tej funkcjonalności musimy dodatkowo posiadać telefon z iOS 14.5 oraz Face ID.<br />
Funkcja balansu koloru (Colour Balance) pozwala zmierzyć obecny balans koloru naszego telewizora i stworzenia jakby osobnego profilu koloru w AppleTV. W trakcie badania balansu koloru AppleTV na telewizorze wyświetla m.in. kolory RGB, a telefon wysyła wyniki wprost do urządzenia. I faktycznie w moim wypadku zaproponował profil delikatnie poprawiający odwzorowanie kolorów i jasności.</p>
<p><img loading="lazy" decoding="async" src="https://matipl.static.am5.pl/uploads/2021/04/homepod-duo.jpg" alt="HomePod" width="800" height="457" class="aligncenter size-full wp-image-167847" srcset="https://matipl.pl/wp-content/uploads/2021/04/homepod-duo.jpg 800w, https://matipl.pl/wp-content/uploads/2021/04/homepod-duo-300x171.jpg 300w, https://matipl.pl/wp-content/uploads/2021/04/homepod-duo-768x439.jpg 768w, https://matipl.pl/wp-content/uploads/2021/04/homepod-duo-320x183.jpg 320w, https://matipl.pl/wp-content/uploads/2021/04/homepod-duo-640x366.jpg 640w, https://matipl.pl/wp-content/uploads/2021/04/homepod-duo-360x206.jpg 360w, https://matipl.pl/wp-content/uploads/2021/04/homepod-duo-720x411.jpg 720w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<h3>AppleTV &#8211; integracja z innymi głośnikami</h3>
<p>Do tej pory w AppleTV mieliśmy możliwość wyboru wyjścia audio w 2 opcjach: głośniki TV lub HomePod (jeśli takie posiadamy).<br />
Od wersji tvOS 14.5 w sekcji wyjścia audio pojawiła się opcja &#8222;Inne głośniki bezprzewodowe&#8221;, gdzie mamy do wyboru wszystkie głośniki w naszej sieci, które obsługują AirPlay (np. firmy Sonos).</p>
<h3>macOS i sparowane HomePody</h3>
<p>Mimo, że Apple wstrzymało sprzedaż dużych HomePodów to same głośniki nadal są wspierane i dostają aktualizacje.<br />
Ale to nie wszystko &#8211; wraz z macOS 11.3 pojawią się wszystkie HomePody (duże, małe, sparowane) w opcjach wyjścia dźwięku systemowego. Wcześniej były dostępne tylko w aplikacji Music.</p>
<h3>Wszystkie nowości i poprawki bezpieczeństwa</h3>
<p>Zachęcam do zapoznania się z pełną listą zmian w poszczególnych systemach:</p>
<ul>
<li><a href="https://support.apple.com/pl-pl/HT211808#145">iOS 14.5</a></li>
<li><a href="https://support.apple.com/pl-pl/HT211807#145">iPadOS 14.5</a></li>
<li><a href="https://support.apple.com/en-us/HT207936">tvOS 14.5</a></li>
<li><a href="https://support.apple.com/en-us/HT211896#macos113">macOS 11.3</a></li>
<li><a href="https://support.apple.com/pl-pl/HT211815#74">watchOS 7.4</a></li>
</ul>
<p>W szczególności zachęcam, aby zobaczyć jak dużo błędów bezpieczeństwa zostało przy okazji poprawionych:</p>
<ul>
<li><a href="https://support.apple.com/pl-pl/HT212317">iOS &#038; iPadOS 14.5</a></li>
<li><a href="https://support.apple.com/pl-pl/HT212323">tvOS 14.5</a></li>
<li><a href="https://support.apple.com/pl-pl/HT212325">macOS 11.3</a></li>
<li><a href="https://support.apple.com/pl-pl/HT212324">watchOS 7.4</a></li>
</ul>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2021/04/27/ios-tvos-watchos-ipados-14-5-i-macos-11-3/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2021/04/27/ios-tvos-watchos-ipados-14-5-i-macos-11-3/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[DDNS &#8211; DynDns &#8211; dynamiczny DNS]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2021/04/26/ddns-dyndns-dynamiczny-dns/" />

		<id>https://matipl.pl/?p=167783</id>
		<updated>2021-04-26T13:56:31Z</updated>
		<published>2021-04-26T13:56:31Z</published>
		<category scheme="https://matipl.pl" term="internet" /><category scheme="https://matipl.pl" term="php" /><category scheme="https://matipl.pl" term="bind" /><category scheme="https://matipl.pl" term="ddns" /><category scheme="https://matipl.pl" term="dyndns" />
		<summary type="html"><![CDATA[W zasadzie większość z nas ma stały adres IP, najczęściej zmienia się tylko w przypadku gdy nasz router ponownie nawiązuje połączenie z usługodawcą (ISP). W takiej...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2021/04/26/ddns-dyndns-dynamiczny-dns/"><![CDATA[<p>W zasadzie większość z nas ma stały adres IP, najczęściej zmienia się tylko w przypadku gdy nasz router ponownie nawiązuje połączenie z usługodawcą (ISP).<br />
W takiej sytuacji, np. w warunkach domowych, aż pragnie się wystawić na świat np. album zdjęć lub inne rzeczy, których nie chcemy umieszczać bezpośrednio na serwerach firm trzecich (w tzw. chmurze).<br />
Tylko jak przekazać link innym? Przecież za każdym razem nie będziemy podawać czegoś w stylu <em>http://125.130.125.2</em>. Po pierwsze ponieważ jutro możemy mieć już inny publiczny adres IP nadany przez ISP (np. modem się zrestartował), a po drugie łatwiej zapamiętać <em>http://home.domena.pl</em> .<br />
<span id="more-167783"></span></p>
<h3>DDNS &#8211; zewnętrzni usługodawcy</h3>
<p>Skonfigurowanie subodmeny to rzecz prosta. Pozostaje inna kwestia &#8211; jak zautomatyzować proces, aby adres <em>home.domena.pl</em> zawsze kierował na naszą domową maszynę? Nic prostszego &#8211; możemy wykorzystać DDNS / DynDNS / dynamiczny DNS.<br />
Proces polega na tym, że wydzielamy z naszej domena.pl subdomenę, która ma inny TTL (czas odświeżania) i zarządzamy samą domeną oddzielnie (co też umożliwia lepszą kontrolę pod względem bezpieczeństwa).<br />
Możemy wykorzystać darmowe serwisy oferujące usługę DDNS, gdzie dostaniemy subdomenę w ramach ich domeny. Z naszej strony pozostaje ustawić cykliczną operację (cron) na wysłanie zapytania do API celem aktualizacji wpisu DNS dla subdomeny.</p>
<p>Taką usługę oferuje chociażby <a href="https://freedns.afraid.org/">FreeDNS</a>. Rejestracja jest bardzo prosta, po wszystkim pozostaje nam wywołanie przekazanego URI z tokenem naszej subdomeny w naszej sieci lokalnej (router/serwer/etc):</p><pre class="crayon-plain-tag">[~] $ curl https://sync.afraid.org/u/CyTXMbtq5cPnLjEg5vKHTPDE/
Updated demo.freshdns.com from 107.170.238.X to 50.23.197.94</pre><p> </p>
<p>Jeśli posiadacie własną domenę i korzystacie z gotowego panelu do zarządzania domeną to często jest możliwość skonfigurowania bezpośrednio tam DDNS. Taką usługę oferuje chociażby OVH.</p>
<h3>DDNS &#8211; własne rozwiązanie</h3>
<p>Ale może niektórzy z Was lubią posiadać większą kontrolę nad domeną (specyficzne rekordy) niż oferuje firma, w której opłacacie domenę. Posiadacie np. własną instancję BIND, gdzie trzymacie kilka domen (prostą <a href="/2010/11/19/bind-serwer-nazw-konfiguracja/">konfigurację BIND opisałem w 2010 roku</a>) i chcielibyście wykorzystać ten serwer nazw do DDNS.<br />
Sam tak właśnie pomyślałem, gdy okazało się, że na jednym z interfejsów zewn. posiadam dość zmienną adresację.</p>
<h3>DDNS &#8211; modyfikacja w BIND</h3>
<p>Zacznijmy od zmiany w samym BIND. Powiedzmy, że posiadamy domenę domena.pl i jej strefa u nas wygląda następująco:</p><pre class="crayon-plain-tag">$TTL 86400
$ORIGIN domena.pl.
@ IN SOA dns1.domena.pl. root.domena.pl. (
        2010111801 ;; serial
        2H         ;; refresh
        1H         ;; retry
        7D         ;; expire
        1D         ;; TTL
        )
@               IN      NS      dns1.domena.pl.
@               IN      NS      dns2.domena.pl.

@               IN      MX      10 mail.domena.pl.

@               IN      A       XXX.XX.XX.X
dns1            IN      A       XXX.XX.XX.X
dns2            IN      A       YYY.YY.YY.Y

www             IN      CNAME   @
mail            IN      CNAME   @
ftp             IN      CNAME   www</pre><p>I gdy chemy dodać dodać naszą domową/lokalną subdomenę tworzymy dodatkową pozycją:</p><pre class="crayon-plain-tag">home            IN      A       ZZZ.ZZ.ZZ.Z</pre><p>Ale w naszym przypadku dodajemy home.domena.pl z informacją, że jest zarządzana osobno:</p><pre class="crayon-plain-tag">home            IN      NS      dns1.domena.pl.</pre><p></p>
<p>Czyli &#8222;powiedzieliśmy&#8221;, że <em>home.domena.pl</em> będzie osobą strefą&#8230; Tak też zróbmy, w naszym pliku gdzie definiujemy strefy (np. <em>etc/bind/named.conf.local</em>) dodajemy stosowną informację:</p><pre class="crayon-plain-tag">zone "home.domena.pl" {
        type master;
        file "/etc/bind/M/home.domena.pl";
        notify yes;
        allow-update { XXX.XXX.XXX.XX; key home.domena.pl; };
};</pre><p>Jak widzicie pozwalamy na modyfikację domeny (allow-update) przez serwer XXX.XXX.XXX.XX, ale również wykorzystując klucz, który nazywa się home.domena.pl. Są to 2 różne sposoby na zabezpieczenie zmian w domenie przez niepowołane osoby.<br />
Oczywiście bezpieczniejsza opcja to poprzez klucz szyfrujący i na tym się skupimy.</p>
<p>Algorytm klucza możemy dobrać wg uznania, dla ułatwienia wybierzemy &#8222;krótką&#8221; wersję (HMAC-MD5). Tworzymy odpowiedni katalog na klucze i generujemy:</p><pre class="crayon-plain-tag">mkdir /etc/bind/tsig
cd /etc/bind/tsig
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST home.domena.pl</pre><p></p>
<p>W wyniku otrzymamy 2 pliki, z których interesuje nas zawartość pliku *.key:</p><pre class="crayon-plain-tag">Khome.domena.pl.+157+35440.key
Khome.domena.pl.+157+35440.private

cat Khome.domena.pl.+157+35440.key
home.domena.pl. IN KEY 512 3 157 BFQTloe90QYscNMUpwptlQ==</pre><p></p>
<p>Naszym kluczem (TSIG) jest ciąg BFQTloe90QYscNMUpwptlQ== , któremu nadajemy odpowiednią nazwę, abyśmy mogli z niego korzystać.<br />
W tym celu tworzymy plik z kluczami i informujemy o tym nasz serwer nazw. W  pliku named.conf dodajemy:</p><pre class="crayon-plain-tag">include "/etc/bind/named.conf.tsig";</pre><p>i tworzymy podany plik (named.conf.tsig) z odpowiednią wartością dla klucza i informacją o rodzaju klucza:</p><pre class="crayon-plain-tag">key "home.domena.pl" {
    algorithm hmac-md5;
    secret "BFQTloe90QYscNMUpwptlQ==";
};</pre><p>Przeładowujemy BIND i możemy już aktualizować naszą strefę home.domena.pl uwierzytelniając się wprowadzonym kluczem lub uderzając z wprowadzonego adresu serwera </p>
<h3>DDNS &#8211; serwer z PHP i request aktualizacyjny</h3>
<p>Mamy przygotowane już zaplecze, pozostaje nam stworzyć fragment kodu, który będzie aktualizował strefę DNS. Jeśli mamy gdzieś dostępny serwer z PHP możemy posłużyć się takim fragmentem kodu:</p><pre class="crayon-plain-tag">/**
 * @param string $domain     nazwa domeny, ktorej modyfikujemy wartosc A
 * @param string $secret     klucz do podpisania zadania
 * @param string $ip         adres IP ktory ma byc uzyty w rekordzie A
 * @param string $actualIP   obecny adres IP z rekordu A
 * @param string $serverDns  nazwa serwera nazw
 * @return mixed|null
 */
function updateDomain($domain, $secret, $ip, $actualIP, $serverDns)
{
    if ($ip == $actualIP) {
        return null;
    }

    $nsUpdateParam = $secret ? ' -y hmac-md5:' . $secret : '';
    $process = proc_open(
        'nsupdate' . $nsUpdateParam,
        [
            0 => ['pipe', 'r'],
            1 => ['pipe', 'w'],
        ],
        $pipes,
        NULL,
        NULL
    );
    fwrite($pipes[0], 'server ' . $serverDns . "\n");
    fwrite($pipes[0], 'update delete ' . $domain . ". A\n");
    fwrite($pipes[0], 'update add ' . $domain . '. 2 A ' . $ip . "\n\n");
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]) . PHP_EOL;

    $return = proc_close($process);
    if ($return == 0) {
        return $ip;
    }

    return null;
}</pre><p>Prosty, ale w pełni funkcjonalny <a href="https://github.com/matipl-pl/ddns-update/blob/main/update.php">kod update.php dostępny na GitHub</a>.<br />
Jak widzicie korzystamy z PIPE-ów i polecenia dostępnego w większości systemów Linux &#8211; nsupdate (łącząc się, usuwając stary rekord A, dodając nowy rekord A).<br />
Plik wystarczy umieścić gdzieś gdzie mamy PHP, może to być localhost.</p>
<p>Parametr <em>secret</em> składa się z 2 części: nazwy klucza i samego klucza. Możemy ten ciąg znaków uzyskać następująco posiłkując się danymi z miejsca, gdzie generowaliśmy klucz:</p><pre class="crayon-plain-tag">#nazwa_klucza:wartość_klucza
php -r "echo rawurlencode('home.domena.pl:v/BFQTloe90QYscNMUpwptlQ==') . PHP_EOL;"</pre><p></p>
<p>Pozostaje nam już tylko uderzyć. Jeśli nasz router na to pozwala, lub jakiś lokalny serwer (np. NAS Synology) to tworzymy operację cykliczną (cron) z czasem ustawionym np. co 5 minut podając:</p><pre class="crayon-plain-tag">http://serwer_php/update.php?domain=home.domena.pl&secret=home.domena.pl%3Av%2FBFQTloe90QYscNMUpwptlQ%3D%3D</pre><p></p>
<p>Jeśli chcecie sprawdzić czy operacja się udała, możecie skorzystać z polecenia dig:</p><pre class="crayon-plain-tag">dig home.domena.pl A @dns1.domena.pl</pre><p>i zweryfikować aktualnie ustawione rekord A.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2021/04/26/ddns-dyndns-dynamiczny-dns/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2021/04/26/ddns-dyndns-dynamiczny-dns/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[Rekrutacja w IT, czyli spotkanie]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2020/04/27/rekrutacja-w-it-czyli-spotkanie/" />

		<id>https://matipl.pl/?p=158357</id>
		<updated>2020-04-27T13:43:26Z</updated>
		<published>2020-04-27T13:43:26Z</published>
		<category scheme="https://matipl.pl" term="php" /><category scheme="https://matipl.pl" term="programowanie" /><category scheme="https://matipl.pl" term="przemyślenia" /><category scheme="https://matipl.pl" term="konferencje" /><category scheme="https://matipl.pl" term="rekrutacja" /><category scheme="https://matipl.pl" term="rozwój" />
		<summary type="html"><![CDATA[W zeszłym tygodniu wspomniałem m.in. o spostrzeżeniach jakimi dzieli się Ola Kunysz. W drugim vlogu zatytułowanym &#8222;Wstyd się przyznać do niewiedzy?&#8221; poruszyła ona temat rekrutacji w...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2020/04/27/rekrutacja-w-it-czyli-spotkanie/"><![CDATA[<p>W zeszłym tygodniu wspomniałem m.in. o spostrzeżeniach jakimi dzieli się Ola Kunysz. W drugim vlogu zatytułowanym <a href="https://www.youtube.com/watch?v=3enxy5_m7Jg">&#8222;Wstyd się przyznać do niewiedzy?&#8221;</a> poruszyła ona temat rekrutacji w IT z punktu widzenia rekrutera.<br />
Bardzo dobre pogaduchy, ale zatrzymałem się myślami nad:</p>
<blockquote><p>Znacie pewnie te rozmowy rekrutacyjne, na których ktoś pyta: jak wywołać Garbage Collector?</p></blockquote>
<p>Czy, aby na pewno jest to pytanie z &#8222;podręcznika dobrych pytań na rozmowę rekrutacyjną?&#8221; Nie sądzę, ponieważ takiego podręcznika nie mam (a jest dostępny?), a zdarza mi się pytać o bardziej niskopoziomowe sprawy&#8230;<br />
I tak zastanawiając się nad tym pytaniem zdałem sobie sprawę, że nie dzieliłem się tutaj sprawami dotyczącymi rekrutacji. Od ponad 10 lat w różnych firmach wcielam się w rolę rekrutera. Masa doświadczenia za mną. Po latach wiem na pewno jakiej osoby szukam i to bez znaczenia na stanowisko (absolwent, osoba starająca się przekwalifikować, programista z kilkuletnim doświadczeniem, architekt itd.).</p>
<h3>Osoba z pasją</h3>
<p>Kogo szukam? Osoby z pasją, której błyszczą się oczy, gdy tylko mówi o tym co lubi robić. Pasją w tej chwili nie musi być IT, możesz być na początku swojej drogi w IT, jako programista, mieć naprawdę małe doświadczenie, ale w trakcie luźnej rozmowy da się wyczuć, że jesteś osobą ambitną, lubiącą rozwój i posiadasz odpowiedni sposób myślenia, kojarzenia faktów.</p>
<p>Ponieważ technologie, biblioteki, języki czy znajomość dobrych praktyk programistycznych (np. wzorce, psr-y) są to rzeczy nabyte. Jeśli posiada się otwarty umysł na wiedzę, chęć rozwoju (i nie mówię tutaj o szumnych zapowiedziach, ale faktycznych działaniach) to z czasem taka osoba może wszystko nadrobić i stać się nawet liderem w zespole.<br />
Mógłbym tutaj przytoczyć masę historii osób, które teraz są świetnymi programistami, rozwiązującymi skomplikowane zagadnienia. A na rekrutacji były to osoby zasiedziałe w firmie jednego projektu, gdzie zajmowały się od lat wyłącznie utrzymaniem, lub osoby, które ogarniały w firmie wszystko z małą ilością czasu na programowanie. Oczywiście, zdarzały się osoby znakomite pod względem doświadczenia już na rekrutacji, ale cześto pojawiały się na rozmowie, bo w obecnym miejscu były redukcje.<br />
Jak również znam kilka osób, które widziałbym w IT, a teraz są zupełnie w innych branżach. Wiem, że rewelacyjnie poradziliby sobie jako analitycy czy programiści, widzę podczas rozmów jak rozwiązują pewne zagadnienia, łącza fakty&#8230; ale nie widzą się w IT. Szkoda.</p>
<p><img loading="lazy" decoding="async" src="https://static.am5.pl/matipl.pl/uploads/2015/11/phpcon2015_gadzety.jpg" alt="PHPCon Poland 2015 - gadżety" width="620" height="465" class="aligncenter size-full wp-image-6275" srcset="https://matipl.pl/wp-content/uploads/2015/11/phpcon2015_gadzety.jpg 620w, https://matipl.pl/wp-content/uploads/2015/11/phpcon2015_gadzety-300x225.jpg 300w, https://matipl.pl/wp-content/uploads/2015/11/phpcon2015_gadzety-320x240.jpg 320w, https://matipl.pl/wp-content/uploads/2015/11/phpcon2015_gadzety-360x270.jpg 360w" sizes="auto, (max-width: 620px) 100vw, 620px" /></p>
<h3>Trudne pytania?</h3>
<p>Czy nieraz pojawia się pytanie o OpCache? W jaki sposób i gdzie PHP przechowuje dane, czy da się coś zoptymalizować w konfiguracji, czy pisało się własne rozszerzenia w C. Tak &#8211; pojawiają się takie pytania, ponieważ projekty są różne i różne jest zapotrzebowanie kadrowe.<br />
Ale nie zrażaj się takimi pytaniami. Nie wiesz i tyle, wiedza rzecz nabyta tylko o tym powiedz.<br />
Inną kwestią jest co zrobisz ze swoją niewiedzą po spotkaniu? Poprosisz o maile z podsumowaniem, czego nie wiedziałeś, sam poszukasz w Internecie odpowiedzi, douczysz się dla samego siebie&#8230; Czy stwierdzisz &#8211; co za głupia rekrutacja, po co mam to wiedzieć&#8230;</p>
<h3>Rozmowa</h3>
<p>Rozmawiam o wszystkim. Moim punktem startu, jest to co otrzymam od kandydata. Nieraz się zdarza, że poza pytania dotyczące CV w ogóle nie wychodzimy, ponieważ jest interesujące (nie tylko sprawy z IT), są miejsca, których można się &#8222;uczepić&#8221; (np. Raspberry Pi).<br />
Gdy czasami CV jest ubogie, i po 2-3 pytaniach nie mamy o czym rozmawiać to zaczynam zadawać pytania ogólne dotyczące rozwiązywania problemów. Nie są to pytania o algorytmy, wiedzę stricte uniwersytecką, ale o życiowy projekt i problem jaki się tam zdarzył lata temu. Jakbyś go rozwiązał?<br />
Gdy wiem lub czuję, że to osoba z całą teczką wykonanych projektów, z niesamowitą ilością problemów, które spotkała w IT zadaje kilka pytań związanych z dzisiaj używanymi technologiami i tyle. Koniec, kropka w notatce ze spotkania&#8230;</p>
<p>To jest rozmowa, techniczna, ale rozmowa. Zdarza się nieraz, że w trakcie rozmowy odkrywam, że dana osoba ma predyspozycje do pracy zdalnej lub samodzielnego projektu, niż pracy w zespole kilkuosobowym.<br />
Ale najczęściej sprawami dotyczących kompetencji tzw. miękkich zajmuje się dział HR, który jest po prostu w tym lepszy.</p>
<h3>Czego się uczyć?</h3>
<p>Mam wrażenie, że podczas spotkań (rekrutacji) coraz mniej osób pyta jak zdobyć wiedzę, co mogą poprawić, jaka jest poprawna odpowiedź na zadane pytanie.<br />
Dzisiejszy świat dostępu do informacji jest zupełnie inny niż 15 lat temu i można z tego skorzystać. Jest masa spotkań lokalnych (<a href="https://matipl.pl/kalendarz/">zapraszam do kalendarza</a>, teraz odbywających się online), konferencji w Polsce, a konferencje za granicą stały się łatwiej dostępne.<br />
A nawet jeśli nas nie stać na wyjazd, poświęcenia dnia pracy, to jest masa nagrań z konferencji w Internecie (<a href="https://www.youtube.com/channel/UCgUfIjfLvWmARsQ-d5gPzrw">Boiling Frogs</a>, <a href="https://www.youtube.com/channel/UCsW5s-_MvcUBIun4Yl4Y5zA">PHPCon Poland</a>, <a href="https://www.youtube.com/user/NetgenBroadcast">WebSummerCamp</a>) czy <a href="/2020/04/24/podcasty-mariusz-gil-better-software-design-ola-kunysz-o-jakosci/">podcasty</a>.<br />
Może w tej chwili nie użyjesz technologii, o której usłyszysz na konferencji. Ale przy rozpoczęciu następnego projektu okaże się, że znasz idealne narzędzie do rozwiązania tego problemu?</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2020/04/27/rekrutacja-w-it-czyli-spotkanie/#comments" thr:count="1" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2020/04/27/rekrutacja-w-it-czyli-spotkanie/feed/atom/" thr:count="1" />
			<thr:total>1</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[Podcasty: Mariusz Gil (Better Software Design) &#038; Ola Kunysz (O jakości)]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2020/04/24/podcasty-mariusz-gil-better-software-design-ola-kunysz-o-jakosci/" />

		<id>https://matipl.pl/?p=158342</id>
		<updated>2020-04-24T08:56:11Z</updated>
		<published>2020-04-24T08:56:11Z</published>
		<category scheme="https://matipl.pl" term="php" /><category scheme="https://matipl.pl" term="programowanie" /><category scheme="https://matipl.pl" term="technologie" /><category scheme="https://matipl.pl" term="architektura aplikacji" /><category scheme="https://matipl.pl" term="ddd" /><category scheme="https://matipl.pl" term="mariusz gil" /><category scheme="https://matipl.pl" term="ola kunysz" /><category scheme="https://matipl.pl" term="podcast" /><category scheme="https://matipl.pl" term="segfault" /><category scheme="https://matipl.pl" term="vlog" />
		<summary type="html"><![CDATA[Spora część z nas, osób pracujących w IT ograniczyła ilość spotkań, udział w konferencjach czy lokalnych spotkaniach. Dlatego tym bardziej cieszy mnie, że pojawia się w...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2020/04/24/podcasty-mariusz-gil-better-software-design-ola-kunysz-o-jakosci/"><![CDATA[<p>Spora część z nas, osób pracujących w IT ograniczyła ilość spotkań, udział w konferencjach czy lokalnych spotkaniach.<br />
Dlatego tym bardziej cieszy mnie, że pojawia się w Sieci coraz więcej materiałów wartych uwagi, dzięki którym nie tylko początkujący w branży (programiści, testerzy, analitycy) mogą wiele się nauczyć i poznać inny punkt widzenia.<br />
Dzisiaj chcę zapoznać Was z 2 interesującymi osobami, a raczej z ich działalnością w Internecie&#8230;</p>
<p><a href="https://podcasts.apple.com/pl/podcast/better-software-design/id1508298430"><img loading="lazy" decoding="async" src="https://static.am5.pl/matipl.pl/uploads/2020/04/mariusz_gil_podcast_cover-1024x516.png" alt="Mariusz Gil - Better Software Design" width="635" height="320" class="aligncenter size-large wp-image-158349" srcset="https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-1024x516.png 1024w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-300x151.png 300w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-768x387.png 768w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-1536x773.png 1536w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-2048x1031.png 2048w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-320x161.png 320w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-640x322.png 640w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-360x181.png 360w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-720x363.png 720w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-1080x544.png 1080w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-800x403.png 800w, https://matipl.pl/wp-content/uploads/2020/04/mariusz_gil_podcast_cover-1280x644.png 1280w" sizes="auto, (max-width: 635px) 100vw, 635px" /></a></p>
<h3>Mariusz Gil (Better Software Design)</h3>
<p>Wydaje mi się, że Mariusza nie trzeba przedstawiać &#8211; programista wywodzący się z PHP, architekt oprogramowania, obecnie &#8222;opowiada&#8221; o DDD.<br />
W kwietniu rozpoczął nowy projekt &#8211; podcast  <a href="https://podcasts.apple.com/pl/podcast/better-software-design/id1508298430">Better Software Design</a>. Jest to podcast o architekturze, szczegółach implementacyjnych, problemach życia codziennego projektów widziany trochę z wyższej półki, opowiedziane przez osoby ze sporym dorobkiem zawodowym. Jest on prowadzony w formie wywiadów.<br />
Obecnie ukazały się 4 odcinki, które krążą wokół DDD (Domain-Driven Design) i wydajności. Jest to wyśmienite uzupełnienie szkoleń organizowanych przez Bottegę, czy ścieżki Bottega IT minds na konferencji 4Developers, na których Mariusz i inne osoby z Bottegi dzielą się swoim doświadczeniem z walki w dużych projektach.</p>
<p><a href="https://podcasts.apple.com/pl/podcast/podcast-oli-kunysz/id1494168727"><img loading="lazy" decoding="async" src="https://static.am5.pl/matipl.pl/uploads/2020/04/ola_kunysz_podcast_cover-1024x544.png" alt="Ola Kunysz - O jakości dla programistów" width="635" height="337" class="aligncenter size-large wp-image-158351" srcset="https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-1024x544.png 1024w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-300x159.png 300w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-768x408.png 768w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-1536x816.png 1536w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-2048x1087.png 2048w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-320x170.png 320w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-640x340.png 640w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-360x191.png 360w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-720x382.png 720w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-1080x573.png 1080w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-800x425.png 800w, https://matipl.pl/wp-content/uploads/2020/04/ola_kunysz_podcast_cover-1280x680.png 1280w" sizes="auto, (max-width: 635px) 100vw, 635px" /></a></p>
<h3>Ola Kunysz (podcast &#038; vlog)</h3>
<p>Ola jest programistką, z wieloletnim doświadczeniem w branży, z bardziej Javowej strony. Mogliście ją już posłuchać na licznych konferencjach, gdzie udzielała się jako prelegentka (np. Boiling Frogs, Wrocław JUG, Sphere.IT).<br />
Od pewnego czasu dzieli się swoim doświadczeniem, spojrzeniem na oprogramowanie tworząc podcast <a href="https://podcasts.apple.com/pl/podcast/podcast-oli-kunysz/id1494168727">&#8222;O jakości dla programistów&#8221;</a>, a bardziej regularnie jest aktywna na <a href="https://www.youtube.com/channel/UCOC53X22gT0MoHOPhxv-vDg/videos">YouTube</a>. Tam też (na YT) od kilku dni ukazuje się vlog Oli &#8211; serdecznie polecam. Porusza tematy zaczynając od procesu rekrutacji w firmach kończąc na pasji, perfekcjonizmie. Bardzo wartościowe uwagi szczególnie dla twórców oprogramowania z krótkim stażem, ale również wieloletni ludzie z branży znajdą coś dla siebie.</p>
<p>Również SegFault stara się wystartować z własnymi audycjami, ale na razie powstał tylko 1 odcinek w ramach <a href="https://podcasts.apple.com/pl/podcast/segfault-audio/id1505388477">&#8222;segfault audio&#8221;</a>. Mam nadzieję, że będzie więcej.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2020/04/24/podcasty-mariusz-gil-better-software-design-ola-kunysz-o-jakosci/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2020/04/24/podcasty-mariusz-gil-better-software-design-ola-kunysz-o-jakosci/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>matipl</name>
							<uri>http://matipl.pl</uri>
						</author>

		<title type="html"><![CDATA[(Wielkanoc 2020) Andrea Bocelli: Music For Hope &#8211; Live]]></title>
		<link rel="alternate" type="text/html" href="https://matipl.pl/2020/04/11/wielkanoc-2020-andrea-bocelli-music-for-hope-live/" />

		<id>https://matipl.pl/?p=158316</id>
		<updated>2020-04-11T07:03:02Z</updated>
		<published>2020-04-11T07:03:02Z</published>
		<category scheme="https://matipl.pl" term="miszmasz" /><category scheme="https://matipl.pl" term="andrea bocelli" /><category scheme="https://matipl.pl" term="koncert" /><category scheme="https://matipl.pl" term="milano" /><category scheme="https://matipl.pl" term="online" /><category scheme="https://matipl.pl" term="pro-bono" /><category scheme="https://matipl.pl" term="włochy" /><category scheme="https://matipl.pl" term="youtube" />
		<summary type="html"><![CDATA[Już jutro dzień Zmartwychwstania Pańskiego, zupełnie inny niż poprzednie. Sporo wydarzeń, lokalnych spotkań, a nawet konferencji IT przeniosło się do Internetu. Świat muzyki również stara się...]]></summary>

					<content type="html" xml:base="https://matipl.pl/2020/04/11/wielkanoc-2020-andrea-bocelli-music-for-hope-live/"><![CDATA[<p>Już jutro dzień Zmartwychwstania Pańskiego, zupełnie inny niż poprzednie.<br />
Sporo wydarzeń, lokalnych spotkań, a nawet konferencji IT przeniosło się do Internetu. Świat muzyki również stara się odnaleźć w tej rzeczywistości &#8211; niektórzy nie mają z tym problemu, ponieważ od lat prowadzą transmisję online. A niektórzy dopiero się uczą jak obsłużyć dużo większy ruch.</p>
<p>Na przykład <a href="https://fabrykakoncertow.com.pl">FabrykaKoncertów</a> o 18:00 w niedzielę będzie transmitować koncert Gospel Joy i Agnieszki Gorączkowskiej pt. „Zmartwychwstał”.</p>
<p>Ale wieczór będzie należał do Bocelli&#8217;ego, który przyjął zaproszenie władz Mediolanu i osób duchownych:</p>
<blockquote><p>W dniu, w którym świętujemy wiarę w zwycięstwo życia nad śmiercią, z wielką pokorą i radością odpowiadam ‘si’ na zaproszenie miasta i katedry Mediolanu</p></blockquote>
<p>Będzie to koncert solo włoskiego tenora w historycznej katedrze Duomo w Mediolanie, która pozostaje zamknięta. Muzykę będzie można usłyszeć z największych organów na świecie (organista Emanuele Vianelle). Dlatego utwory zostały starannie wybrane i zaaranżowane specjalnie dla głosu solowego i organów.</p>
<p>Mimo, że transmisja będzie na żywo na kanale YouTube będzie w pełni profesjonalna. Przy wsparciu Google produkcją zajmuje się Sugar Music oraz Universal Music Group.</p>
<p><a href="https://www.youtube.com/watch?v=huTUOek4LgU">Link do YT</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://matipl.pl/2020/04/11/wielkanoc-2020-andrea-bocelli-music-for-hope-live/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://matipl.pl/2020/04/11/wielkanoc-2020-andrea-bocelli-music-for-hope-live/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
	</feed>
