Przejdź do treści

Blog

Programowanie, systemy operacyjne i cyberbezpieczeństwo – 61 artykułów.

Dziel i zwyciężaj: Merge, Quick, Heap, Tree, IntroSort i TimSort

algorytmyPython

Druga część cyklu o algorytmach sortowania: sortowanie przez scalanie, szybkie, przez kopcowanie i drzewiaste, a potem hybrydy, które naprawdę pracują w bibliotekach – IntroSort z C++ i TimSort z Pythona oraz Javy. Implementacje w Pythonie, animacje, wybór pivota, przypadek pesymistyczny quicksorta na żywo i pytanie, dlaczego szybkie bije scalanie mimo identycznej złożoności.

Czytaj dalej →

Algorytmy sortowania w akcji: od bąbelkowego do Shella

algorytmyPython

Wyścig dziewięciu algorytmów sortowania na żywo w przeglądarce, a potem spokojny rozbiór tych najprostszych: bąbelkowego, koktajlowego, grzebieniowego, gnoma, przez wybieranie, przez wstawianie i Shella. Implementacje w Pythonie, liczniki porównań i zapisów, stabilność, sortowanie w miejscu i adaptacyjność. Oraz to, o czym podręczniki milczą: kiedy O(n kwadrat) naprawdę wygrywa.

Czytaj dalej →

Dlaczego godzina ma 60 minut, a doba 24 godziny

matematykaPythonJavaScript

W kieszeni nosisz babiloński kalkulator sprzed czterech tysięcy lat. Skąd wziął się system sześćdziesiątkowy i liczenie na paliczkach, czemu 60 i 12 wygrywają z 10 liczbą dzielników, jak Egipcjanie podzielili noc na 12 godzin, skąd pochodzą słowa minuta i sekunda – i dlaczego rewolucyjna Francja przegrała z 10-godzinną dobą, choć jej dziesiętny czas przeżył w uniksowym timestampie.

Czytaj dalej →

Cyfry kontrolne – jak PESEL, NIP, IBAN i numer karty łapią literówki

matematykaJavaScriptPython

Ostatnia cyfra PESEL-u, NIP-u, numeru karty płatniczej i dwie cyfry w IBAN-ie nie są losowe – to sumy kontrolne oparte na arytmetyce modularnej. Jakie błędy człowiek robi najczęściej, dlaczego wagi i moduł pierwszy łapią przestawione cyfry, algorytm Luhna w 15 linijkach oraz implementacje walidacji PESEL, NIP i IBAN w Pythonie, PHP i JavaScript.

Czytaj dalej →

Od dni do sekund – uniksowy timestamp, problem roku 2038 i strefy czasowe

JavaScriptPythonLinux

Trzecia część cyklu o czasie: komputery nie liczą dat, tylko sekundy od 1970 roku. Skąd się bierze problem roku 2038 (i kogo naprawdę dotknie), czym są sekundy przestępne i dlaczego znikną do 2035, oraz czemu strefy czasowe to baza danych IANA, a nie matematyka – z dniami, które nie istnieją, i godzinami, które zdarzają się dwa razy.

Czytaj dalej →

Flask, FastAPI, Django – jak poznawałem trzy Pythony do weba

PythonFlaskFastAPI

Nie ranking z internetu, tylko moja droga: Flask, gdy chciałem najszybciej wystawić HTML; FastAPI, gdy potrzebowałem szybkiego API z walidacją i /docs; Django, gdy chciałem użytkowników, panel i ORM z pudełka. Trzy frameworki przez pryzmat roboty, do której po nie sięgałem – z kodem i szczerą tabelą decyzyjną.

Czytaj dalej →

Jak dodałem WebMCP i frontową wyszukiwarkę – blog gotowy na agenty AI

GEOWebMCPLighthouse

Analiza i praktyka: czy statyczny blog (bez backendu) da radę wystawić WebMCP i czy da się ubić pełne 6/6 w Lighthouse Przeglądanie agentowe. Imperatywne navigator.modelContext.registerTool, deklaratywne adnotacje formularza (toolname/tooldescription), kliencka wyszukiwarka i szczera analiza, co naprawdę znaczy ten wynik.

Czytaj dalej →

Platforma webowa dogoniła biblioteki – co możesz dziś usunąć z projektu

Front-endCSSJavaScript

jQuery, lodash, moment, Popper, jQuery UI datepicker – całe pokolenie bibliotek łatało dziury w przeglądarce. Dziś tych dziur już nie ma: CSS, HTML i natywny JavaScript przejęły to, co latami doklejaliśmy zależnościami, a miejscami CSS wyprzedził JavaScript. Przegląd z konkretnymi przykładami before/after i aktualnym stanem Baseline.

Czytaj dalej →

Zamiana Liczb: Od Dziesiętnego do Binarnego

phpJavaScriptPython

Zamiana liczb dziesiętnych na binarne – z częścią całkowitą i (rzadko porządnie tłumaczoną) częścią ułamkową. Algorytm mnożenia przez 2, kiedy ułamek jest skończony, a kiedy nieskończony, wykrywanie okresu oraz implementacje w Pythonie, JavaScript, PHP i C++. Plus most do niedokładności liczb zmiennoprzecinkowych.

Czytaj dalej →

Kalendarz w czystym JavaScript – bez jQuery

Front-endJavaScriptWeb Components

Ten sam kalendarz miesięczny co w serii z jQuery, ale bez żadnych zależności: Web Component, natywne API DOM, Intl do nazw miesięcy i dni oraz fetch zamiast AJAX-a. Pokazuję, że w 2026 jQuery jest po prostu zbędne.

Czytaj dalej →