sobota, 14 lutego 2026

🏞️Azure Spatial Analysis - analiza przestrzeni

Załóżmy że chcesz założyć sklep i zaprojektować go w jak najbardziej efektywny sposób. Na pewno zauważyłeś, że niektóre miejsca są źle zaprojektowane. Tworzące się strumienie ludzi powodują zattory, ludzie nie wiedzą, gdzie znaleźć artykuły pierwszej potrzeby, często proszą personel o pomoc. 

Azure Spatial Analysis to usługa, która pozwala na monitorowanie wielu aspektów przemieszczania się obiektów w przestrzeni. W przykładzie sklepu, pozwala na tworzenie efektywnej nawigacji, analizowanie ruchu w sklepie w czasie rzeczywistym oraz przedstawianie cyfrowych etykiet. Dzięki pomocy takiej usługi, można jak najlepiej wykorzystać eksponowane miejsca w sklepie. 

Analizę przestrzeni wykorzystuje się też w produkcji. Sensory mogą monitorować strefy w których pracują niebezpieczne maszyny i wyłączyć je automatycznie, jeśli wykryją, że zbliża się do nich niepowołana osoba. Inne zastosowania to budownictwo i zdalne wsparcie przy naprawach.

Jakiś czas temu wyszło na jaw, że sklepy Amazona  działające w koncepcji Just Walk Out, były w rzeczywistości obsługiwane przez osoby z Indii. W 2026 prawdziwe sklepy bezobsługowe są już w Polsce (Żabka Nano).

Podobne rozwiązania stosuje się też w robotyce i zapewne, będzie się stosowało w inteligentnych miastach.  Kłania się film Wróg publiczny z 1998.

Odwołanie i Precyzja (Recall i Precision)

2 ważne metryki w uczeniu maszynowym to odwołanie (recall) i precyzja (precision). 

Najpierw narysujmy sobie macierz pomyłek (Confusion Matrix).

 

Nano Banana wygenerowało taki obrazek :) 

Recall odpowiada na pytanie, ile pozytywnych przypadków udało nam się prawidłowo wykryć.

Przykładowo, jeśli mamy 100 osób chorych, a model umie rozpoznać chorobę u 80 z nich, to recall wynosi 80%. Pozostałe 20% to wyniki False negatives, bo model niepoprawnie uznał je za zdrowe.

Recall ma ważne znaczenie w systemach, w których koszt pominięcia False Positive jest większy, niż koszt fałszywego alarmu. 

  • Jeśli mamy system medyczny, lepiej jest zrobić fałszywy alarm i wysłać kogoś na dodatkowe badania, nawet, jeśli był zdrowy.
  • W systemie wykrywania fraudów lepiej jest komuś zablokować tymczasowo transakcję, niż dopuścić do wypłacenia pieniędzy oszustowi.

Systemy mające duży Recall mogą powodować jednak więcej fałszywych alarmów i mieć mniejszą precyzję. Z kolei za duża precyzja oznacza, że model zaczyna przegapiać przypadki co do których można mieć wątpliwości.

Co śmieszne, model może oznaczyć każdy przypadek jako pozytywny i wtedy jego recall będzie wynosił 100%. Dochodzi wtedy do sytuacji, że wiele rzeczy jest oznaczonych niepotrzebnie jako false postive.

Recall oblicza się dzieląc TP na TP + FN.

Precyzja skupia się na oznaczeniu, jakie jest prawdopodobieństwo, że jeśli model coś zaznaczył jako positve, to jest to prawda. Pomaga to uniknąć fałszywych alarmów.

Przykładowo, mamy w skrzynce mailowej 100 maili, z czego 90% to jest spam. Model oznaczył 100% maili jako spam, czyli recall wynosi 100%. Precyzja jest miarą dokładniejszą, wynosi 90%. 

Obliczamy ją, dzieląc TP na TP + FP

Precyzja jest główną metryką w systemach, w których nie chcemy podnosić fałszywych alarmów. Używana jest między innymi w rekomendacjach na YT czy Spotify, gdzie lepiej jest otrzymać wyniki bardziej dopasowane, niż pokazywać użytkownikowi propozycje jak leci. 

piątek, 13 lutego 2026

📦Azure Data Box - wyślij dane kurierem📦

 W jaki sposób najłatwiej będzie przesłać 800 TB danych? Według Gemini, pobranie takie ilości trwa delikatnie mówiąc, dość długo

 

Przeglądając doksy Azure znalazłem zaskakujące rozwiązanie, które jest jednocześnie bardzo proste. Możemy zamówić sobie usługę Azure Data Box, w której dostajemy urządzenie o wybranej pojemności, pozwalające transportować dane do Azure. Dane są szyfrowane. Urządzenie zamawiamy do naszej firmy, kopiujemy na nie dane i następnie odsyłamy. Dane są potem kopiowane na nasze konto. Takie rozwiązanie można też użyć do tworzenia wielkiej kopii zapasowej.

Najciekawszą opcją jest Data Box Heavy, który ma pojemność dla użytkownika 800 TB. Wygląda jak mała szafa Rack na kółkach i waży ponad 200 kg.

 

📃Azure Document Intelligence

Wszyscy znamy systemy OCR. Przykładowo, na niektórych stronach nie można kopiować tekstu, a chcemy go gdzieś sobie wkleić. Obecnie można zrobić zrzut ekranu, wkleić go w LLM i poprosić żeby zrobił OCR. 

Teraz wyobraźmy sobie bardziej skomplikowany przykład. Mamy dużą ilość zeskanowanych dokumentów, które są takiego samego formatu. Mogą być to:

  • Faktury
  • Paragony
  • Dokumenty wydania towaru

Chcemy ten archaiczny zbiór dokumentów umieścić w naszym systemie. Takie zadanie jest znacznie trudniejsze niż zwykły OCR, ponieważ AI musi wiedzieć, jak wyłuskać dane z nagłówków, tabel i innych sekcji. 

W tym celu można użyć Azure Document Intelligence, który pozwala na wybranie jednego z predefiniowanych formatów dokumentów, albo tworzenie własnych. 

Document Intelligence to zaawansowany OCR, który bierze pod uwagę także umiejscowienie poszczególnych sekcji. Należy do sekcji Foundry Tools. Miejmy nadzieję, że zapotrzebowanie na systemy tego typu (przetwarzanie papierowych dokumentów), będzie coraz mniejsze.

https://azure.microsoft.com/en-us/products/ai-foundry/tools/document-intelligence 


czwartek, 12 lutego 2026

Azure Vision Image Analysis

W poprzednim poście pisałem o tym, jak rozpoznawać w tekście nazwane encje (NER). A co, jeśli chcemy analizować nie tekst, a zdjęcia?

W tym celu można użyć Azure Vision Image Analysis. Znajdziemy tam wiele opcji dostępnych out of the box, na przykład:

  • Opisywanie zdjęć
  • Wykrywanie obiektów na zdjęciach
  • OCR - czytanie tekstu ze zdjęć
  • Klasyfikowanie obiektów 

Podobne opcje są wykorzystywane na przykład na blogach. Wystarczy wrzucić jakieś zdjęcie, a następnie, sztuczna inteligencja może wygenerować jego opis, bez naszej ingerencji. Innym rozwiązaniem jest wykrywanie obiektów na obrazku. 

Rozpoznawanie obiektów opiera się na procentach, model przedstawia nam, jak bardzo jest pewny swojego wyboru. 

 

Czerwonymi ramkami zaznaczono wykryte obiekty - ryby.  

Klasyfikowanie obiektów to klasyczny problem - wykryj czy coś jest jabłkiem czy bananem.  

Wykrywanie obiektów idzie krok dalej, na zdjęciu może znajdować się wiele obiektów, model może je zaznaczyć kolorowymi ramkami. Jeśli jesteś w sklepie, możesz być pewny że nagrywa Cię kamera, która śledzi twoje ruchy. Następnie model może analizować Twoje zachowanie. 

 

Jak to wszystko działa pod spodem? W ogromnym uproszczeniu, modele, w tym te używane przez Azure Vision, były trenowane na dużej ilości etykietowanych danych, dzięki czemu, nauczyły się rozpoznawać obiekty.

Google Photos radzi sobie z rozpoznawaniem obiektów bardzo dobrze i nawet oferuje wyszukiwanie tekstowe w obrazach i filmach. Prawdopodobnie obrazy są rozpoznawane gdzieś w tle i następnie rozpoznane obiekty dodawane są do metadanych obrazków. Zauważ, że zdjęcie 1, 2 i 4 poniżej są bardzo niskiej jakości, a model rozpoznał je poprawnie.

 

Te same opcje można znaleźć też w modelach dostępnych za darmo, albo wytrenować własne model. 

środa, 11 lutego 2026

Czym jest NER - Named Entity Recognition?

Zaczynam serię wpisów na temat AI w Azure. Tematy będą powiązane z egzaminami AI-900 oraz AI-102, do których się przymierzam.

Wyobraź sobie sytuację, że masz tekst, i w tym tekście chcesz znaleźć jakieś specyficzne wyrażenia. Przykładowo, prowadzisz sieć restauracji i w recenzjach klientów, poszukujesz takich wyrażeń, jak:

  • Miasto której dotyczy recenzja (Lokacja)
  • Nazwa potrawy, która była spożywana podczas wizyty
  • Data kiedy miała miejsce wizyta.

niedziela, 8 lutego 2026

Darmowy ebook Opanuj swoje rozproszenie

Cześć, na poprzednim blogu opublikowałem swój e-book na temat radzenia sobie z rozproszeniami, w formie 6 postów. Ten materiał pasuje także na tą stronę i jest super wartościowy, a że nie chce mi się go publikować ponownie, wrzuciłem całość w jeden wygodny do pobrania dokument Google.

Ebook został napisany własnoręcznie przez autora (to ja :), nie jest to jakiś AI Slop. Zero AI. 

Opanuj swoje rozproszenie

sobota, 7 lutego 2026

🙈🙉🙊Trzy małpki

Był kiedyś taki film, Nic nie widziałem, nic nie słyszałem. Jakby dodać do tego, nic nie mówiłem, wyszła by z tego przypowieść o 3 małpkach.

  • Małpka nie widzi nic złego
  • Małpka nie słyszy nic złego 
  • Małpka nie mówi nic złego 

Zaciekawiło mnie to, bo sam zacząłem używać tych emotikonów, bez znajomości kontekstu. W sieci można znaleźć wiele interpretacji, także tych, że te zasady namawiają nas do nie reagowania na zło. Ja widzę to inaczej. 

czwartek, 29 stycznia 2026

🎻⚓Kotwiczenie cząstek wiedzy⚓🎻

Załóżmy, że słuchasz sobie radia z muzyką poważną. Może być to https://www.radioswissclassic.ch/en

Radio ma w repertuarze ponad 7500 utworów, po każdym utworze można usłyszeć, kto był wykonawcą, kompozytorem i jaki utwór grano. Utwory też można sobie podejrzeć. Alternatywą może być słuchanie bardzo długiej playlisty muzyki na Spotify. Po jakim czasie będziesz w stanie regularnie wiedzieć, kto jest kompozytorem i jaki grano utwór na podstawie losowych nagrań?

Prawdopodobnie nigdy, nawet jakbyś słuchał tego radia 24/7. To nie popularna stacja radiowa, w której hity katowane są przez cały dzień i zaraz masz ich dość. 

Jest jednak tak, że niektóre utwory udaje nam się zgadnąć, pytanie, dlaczego. 

😵‍💫Dezinformacja😵‍💫 na YT i nie tylko

 Każdy post lub film zaczynający się od:

  • Przestań używać x
  • Rzeczy które chciałbym wiedzieć zanim zacząłem x
  • Nie rób x póki nie poznasz y
  • Zacznij robić x by osiągać efekty tak szybko, że będzie się to wydawało nielegalne 
  • Musisz zacząć używać x w bieżącym roku!!! 

jest jedynie próbą złapania twojej uwagi. Ciągłe oglądanie takich materiałów sprawia, że odddajesz kontrolę w ręce innych osób, nie używasz swojego doświadczenia, tylko łykasz jak pelikan.

Osoby dociekliwe, powinny od razu poblokować kanały proponujące tego typu treści.  

 

wtorek, 27 stycznia 2026

🚀Systemy typu Fire & Forget 🚀

Moim ulubionym rodzajem systemów są systemy, w których podejmujesz akcję by załatwić ważną sprawę, i potem nigdy nie dostajesz odpowiedzi. Albo dostajesz ją po nieakceptowalnie długim czasie.

Potrzebujesz recepty - możesz pójść do lekarza, albo wypełnić wniosek o e-receptę. Niestety, wniosek o e-receptę nie ma żadnego terminu ani statusu, po prostu go wysyłasz i czekasz w nieskończoność. Na koniec i tak idziesz do lekarza.

niedziela, 4 stycznia 2026

Mendix - wstęp

Mendix to platforma low-code znajdująca się obecnie w posiadaniu firmy Siemens. 

O co chodzi z tym całym low-code (LC) i i czemu w 2026 roku nie lepiej jest zvibekodować backendu i frontendu aplikacji?

W większości projektów robimy te same rzeczy. Prawdopodobnie będziemy potrzebowali takich elementów aplikacji webowej, jak:

  • Łączenie się do zewnętrznych API
  • Tworzenia bazy danych i wystawiania jej w formie API (przydałby się też jakiś ORM)
  • Tworzenia logowania  
  • Zaawansowanych opcji security, między innymi RBAC
  • Tworzenia widoków dla encji i list, oraz operacji CRUD
  • Tworzenia nawigacji
  • Tłumaczenia

Dodatkowo, musimy w miarę dynamicznie reagować na zmiany modelu bazy, poprawiając wtedy jednocześnie backend i frontend.

sobota, 3 stycznia 2026

Mój obecny setup do programowania

Dzisiaj trochę luźniejszy post na tematy sprzętowe. Kilka lat temu zaczynałem programować z jednym laptopem 14 cali, jednak szybko przeniosłem się na nieco bardziej zaawansowany setup. Miałem też dużo wtop, głównie dotyczących monitorów. Obecnego ustawienia nie zmieniam od około 2 lat bo po prostu daje radę.

Komputer

  • Pracowy Dell Latitude 32 gb ram. 
  • Macbook Air M1 16 gb ram - do nauki jest ok, do większych projektów - w zasadzie dalej daje radę lepiej niż Dell. Bardzo polecam
  • MiniPC BlackView MP100 32 gb ram z Ryzen 5852 - malutki komputerek mający wszystko co mi potrzeba. Jest szybki, trochę hałasuje ale i tak zwykle słucham jakiegoś białego szumu. 

Kiedyś używałem głównie poleasingowych laptopów Lenovo i mają one jeden problem - na starcie są już dość stare i służą krócej niż nowy laptop klasy biznes ze sklepu. Są jednak o wiele tańsze i można łatwo wyposażyć je w dodatkowy ram czy tani dock.

niedziela, 28 grudnia 2025

Programistyczne podsumowanie roku 2025

Tradycyjny post co tam się robiło przed tym komputerem...

Języki obce

Wbiłem na Duolingo około 1040 dni nauki bez przerwy i stwierdziłem, że zmiany na platformie idą tylko w złym kierunku. Aplikacja uniemożliwia efektywną naukę bez premium, a dodatkowo, na wersji mobilnej wprowadzają jakąś energię która jeszcze bardziej to utrudni. Zacząłem uczyć się niemieckiego z dużo lepszej aplikacji https://readlang.com, czytając sobie po trochę tekstu codziennie. Przypomniało mi się zresztą, że angielski poprawiłem w znacznym stopniu właśnie czytając książki na Kindle i sprawdzając nieznane wyrazy.

poniedziałek, 15 grudnia 2025

Kalendarium ostatnich katastrof internetowych

  • 05 grudnia 2025 - Znowu nie działa Cloudflare. Przyczyna - błąd w kodzie
  • 03 grudnia - Znaleziono krytyczne podatności w kodzie Reacta i Next. 11 grudnia opublikowano inforacje o kolejnych
  • 18 listopada 2025 - Nie działa Cloudflare . Przyczyna - błąd w kodzie
  • 20 października 2025 - Przestaje działać AWS
  • 19 lipca 2024 - awaria Microsoftu spowodowana przez CrowdStrike
Dziwnym trafem liczba wielkich katastrof internetowych zwiększyła się, od czasów rozpowszechnienia vibecodingu. Czyżby czekał nas scenariusz jak z filmu Idiokracja?

piątek, 28 listopada 2025

Citizen Developer

Proces wytwarzania oprogramowania jest skomplikowany. Dodanie jednego pola na widoku wiąże się, z koniecznością zmiany kilku warstw w aplikacji i wymaga pracy co najmniej jednego dewelopera. To jest jeden z najprostszych przykładów.

Z tego powodu, tworzy się duża przestrzeń między wymaganiami biznesu a szybkością implementacji zmian.

Z drugiej strony, w każdej firmie jest dużo osób mających świetne pomysły dotyczących oprogramowania. Taką osobą może być np. pracownik sklepu zielarskiego, który tworzy na kartce system do zamówień (to byłem kiedyś ja), albo użytkownik automatyzujący sobie jakieś rzeczy. Wielu użytkowników biznesowych wie, jak oprogramowanie ma działać, ale nie chce spędzać czasu na naukę języków programowania.  Osoby podejmujące się zadań związanych z oprogramowaniem, nie będące programistami, można sklasyfikować wspólną rolą - citizen deweloper. 

Osoby takie nie muszą podlegać pod dział IT, co może mieć ogromną zaletę w postaci możliwości bardzo szybkiego wytwarzania własnego oprogramowania, albo zmian obecnego.

Problemem może być natomiast tworzenie aplikacji spójnych, bezpiecznych i łatwych w rozwoju. Program napisany w Excell nie będzie skalować się dla całej organizacji. Co innego aplikacje LCNC (Low Code No Code).

Narzędzia Low Code i No Code umożliwiają takim osobom, bardzo szybkie tworzenie software z użyciem interface wizualnego. Przykładem może być Mendix, w którym utworzenie aplikacji łączącej się z bazą danych, zawierającej kilka endpointów, to kwestia minut, a nie dni.  

W przykładzie z początku tego wpisu, dodanie jednego pola w Mendix, to po prostu dodanie pola w encji i tyle. Nie trzeba robić zgłoszenia w Jirze, nie trzeba angażować kilku osób z działu IT. Często mam wrażenie, że do roku 2024 tworzenie oprogramowania w korporacjach zostało maksymalnie skomplikowane. CI/CD, Code Review, testy na wielu poziomach, to wszystko pomaga tworzyć bezpieczny software, ale znacznie opóźnia czas wdrożenia zmian.  

niedziela, 23 listopada 2025

Dwa sposoby nauki

Gdy chcemy poznać jakieś zagadnienie, możemy zrobić to na kilka sposobów:
  • Uczyć się o nim pobieżnie i wyrywkowo, gdy już naprawdę nie możemy zrobić postępu - tak działa większość ludzi
  • Przeczytać dokładnie dokumentację albo książkę i na tej podstawie mieć pojęcie na temat powierzchni tego, co mamy wiedzieć. Z czasem poznamy całe zagadnienie, ale możemy nie wytrwać do końca książki, bo się nam to znudzi. Na wykresie zależy nam, by zarysować całe pole.



  • Albo zacząć intensywnie uczyć się losowych rzeczy na temat tego zagadnienia. 

    Poznajemy wtedy dużo chunków wiedzy, które początkowo nie łączą się ze sobą, ale z czasem zauważamy ich połączenia. Z biegiem czasu wygląda to tak

    Różne odnogi danego tematu łączą się z innymi. Czasem mamy też momenty Aha, kiedy rozumiemy dlaczego coś kiedyś działało tak, a nie inaczej, albo znamy odpowiedzi na pytania, których się jeszcze nie uczyliśmy. 
Ten trzeci sposób może polegać na:
  • Uczeniu się pytań z aplikacją Anki
  • Regularnym czytaniu na jakiś temat w niesformalizowanej formie, na przykład zapisując się na newsletter albo oglądając o nim kanał z krótkimi materiałami
  • W przypadku egzaminów, przerabianiu arkuszy z pytaniami z poprzednich lat
Jego minusem jest to, że może utrudniać naukę zorganizowanych zagadnień. Dobrym przykładem jest Duolingo i nauka odmian słów. Ucząc się z Duolingo najpierw zgadujemy jak odmienić jakieś słowo, a potem zapamiętujemy tą odmianę w kontekście. Jeśli uczylibyśmy się po kolei, trafilibyśmy na tabelę odmiany:


niedziela, 16 listopada 2025

Na co Ci to potrzebne...

Kiedy chodziłem do szkoły policealnej, dużą część nauki stanowiły rzeczy związane z ziołami. Każdy mówił wtedy, że po co Ci to potrzebne, lepiej zrobić ściągę i nie uczyć się o tych ziołach. Mnie ten temat wciągnął, przeczytałem nawet kilka książek. 

2 lata później znalazłem pracę w sklepie zielarskim i założyłem bloga na temat ziół, który potem sprzedałem za równowartość kilku pensji.

 --

Potem wymyśliłem że będę pisał teksty. Ludzie mówili, po co Ci to pisanie, na tym nie da się zarobić. W swojej firmie copywriterskiej zarobiłem w 2 miesiącu prowadzenia 2 razy więcej niż na etacie. Gdy firma się ustabilizowała, zarabiałem około 4 razy więcej. 

 -- 

Poznałem paru programistów, wymyśliłem sobie, że zamknę tę firmę i będę koderem. Ludzie mówili, po co Ci to potrzebne, dla kogo będziesz robił te strony. Po trzech latach okazało się, że osiągnąłem najwyższe możliwe zarobki w mojej dziedzinie.

--

Potem wymyśliłem sobie że zacznę uczyć się chmury i zrobię certyfikaty z Azure. Prawie każdy znajomy programista powiedział - po co Ci ta chmura...

sobota, 15 listopada 2025

🎯Update do update AZ900🎯

Dzisiaj zdałem podstawowy egzamin z Azure czyli AZ900. Chciałem trochę przybliżyć, jak to wszystko wygląda z perspektywy przygotowania i samego egzaminu.

Tak jak pisałem w poprzednim wpisie, uczyłem się głównie z materiałów dostępnych na YT, sylabusa i materiałów Microsoftu. Podczas nauki wyszło, że najgorzej rozumiem kwestie bezpieczeństwa chmury i sieci, dlatego pod koniec uczyłem się wyłącznie tego. Fajnie by było napisać że egzamin jest bardzo prosty i można go zrobić z marszu, jednak moim zdaniem, jest dość wymagający. 

środa, 12 listopada 2025

Update - nauka do certyfikatu

Certyfikat AZ900 z Azure chodził za mną już jakiś czas. Ostatnio pociągnąłem za spust i zapisałem. Wygląda to tak, że najpierw wpłaca się opłatę (w Polsce 59 dolarów + podatek), i następnie egzamin jest za kilka dni. 

Przygotowania wyglądają tak:

  • Nauka z YouTube (John Savill, Adam Marczak)
  • Kursy utworzone za pomocą Gemini
  • Powtórki z Anki

Fingers crossed 

poniedziałek, 20 października 2025

Cytaty wielkich ludzi - edycja Allegro

"Sama byłam świadkiem, jak kiedyś pracownik pracując akurat zdalnie udostępnił wyszukiwarkę gdzie było otwarte okno z muzyką na Youtube. Tak dobrze czytacie, było to w godzinach pracy! A o skutkach spadku wydajności w takich warunkach chyba nie muszę mówić." 

poniedziałek, 6 października 2025

Doom Engine

Wyobraź sobie, że dostajesz w pracy zadanie skonstruowania czegoś zupełnie nowego. Czegoś, co jeszcze nie do końca wiadomo jak ma działać, ale musi być zrobione. Inżynier z mojej miejscowości Mieczysław Bekker pracował na przykład w latach 60tych nad łazikiem księżycowym dla Nasa. Co za zadanie.

sobota, 27 września 2025

Json Driven UI / Server driven UI

Co by się stało, gdyby kod frontendowy aplikacji można było by generować lub pisać w formie JSON?Przykładowo, każda podstrona aplikacji mogła by być pobierana jako osobny plik konfiguracyjny, który zostanie załadowany do kompilatora i z niego, odtworzone zostaną sekcje oraz logika. 

Obecnie widoki robimy tak, że pobieramy dane z serwera i czasem mapujemy je na widoki niemal 1:1, a czasem, po prostu wstawiamy je w już istniejące komponenty.  

Przykładem może być komponent tabelki.