[{"data":1,"prerenderedAt":263},["ShallowReactive",2],{"blog-posts-en":3,"blog-post-jev-a-model-that-only-decides":80},[4,17,28,34,44,53,64,72],{"path":5,"stem":6,"title":7,"description":8,"date":9,"tags":10,"readingTime":15,"lang":16},"/blog/what-cra-compliance-takes-for-a-small-hardware-team","blog/what-cra-compliance-takes-for-a-small-hardware-team","What CRA compliance actually takes for a small hardware team","I turned every Cyber Resilience Act obligation for device makers into one checklist. What it asks of a connected product, and what I would do first.","2026-10-04",[11,12,13,14],"cra","iot","security","compliance","8 min read","en",{"path":18,"stem":19,"title":20,"description":21,"date":22,"tags":23,"readingTime":27,"lang":16},"/blog/one-golden-certificate-for-the-whole-production-line","blog/one-golden-certificate-for-the-whole-production-line","One golden certificate for the whole production line","Give every device its own X.509 identity in AWS IoT Core without flashing certificates unit by unit, using a shared claim certificate and fleet provisioning.","2026-10-01",[12,24,13,25,26],"aws","provisioning","esp32","9 min read",{"path":29,"stem":30,"title":31,"description":32,"date":22,"tags":33,"readingTime":27,"lang":16},"/blog/the-cra-clock-is-already-running","blog/the-cra-clock-is-already-running","The CRA clock is already running on devices you shipped years ago","Since 11 September 2026 the CRA's 24-hour reporting duty covers every connected product on the EU market, old ones too. What it means for a small hardware team.",[11,12,13,14],{"path":35,"stem":36,"title":37,"description":38,"date":39,"tags":40,"readingTime":43,"lang":16},"/blog/updating-firmware-on-a-fleet-without-bricking-it","blog/updating-firmware-on-a-fleet-without-bricking-it","Updating firmware on fifty thousand ESP32s without bricking any","Over-the-air updates for a large ESP32 fleet: partition layout and rollback, signed images, staged rollouts and the cost of sending a megabyte to every device.","2026-09-30",[12,26,41,42],"firmware","ota","7 min read",{"path":45,"stem":46,"title":47,"description":48,"date":39,"tags":49,"readingTime":43,"lang":16},"/blog/where-the-battery-goes-on-an-lte-m-sensor","blog/where-the-battery-goes-on-an-lte-m-sensor","Where the battery goes on an LTE-M sensor","The power budget of a battery powered LTE-M sensor, why the radio dominates it, and the settings that decide whether a battery lasts one year or five.",[12,50,51,52],"embedded","lte-m","low-power",{"path":54,"stem":55,"title":56,"description":57,"date":58,"tags":59,"readingTime":63,"lang":16},"/blog/building-an-llm-trading-bot","blog/building-an-llm-trading-bot","So everyone is building LLM trading bots now","I kept hearing about language models that trade on their own, so I dug into how these bots work, where they fall apart and what I would build instead.","2026-09-29",[60,61,62],"ai","llm","trading","6 min read",{"path":65,"stem":66,"title":67,"description":68,"date":58,"tags":69,"readingTime":71,"lang":16},"/blog/jev-a-model-that-only-decides","blog/jev-a-model-that-only-decides","JEV: a model that only decides","TypeSafe AI's JEV returns typed answers with calibrated probabilities and never writes a word. What it is, where it fits, and what to be careful about.",[60,61,70],"jev","5 min read",{"path":73,"stem":74,"title":75,"description":76,"date":58,"tags":77,"readingTime":15,"lang":16},"/blog/storing-a-reading-a-minute-from-100k-devices","blog/storing-a-reading-a-minute-from-100k-devices","Storing a reading a minute from 100,000 devices","What it actually takes to ingest, deduplicate and keep a year of per-minute telemetry from a fleet of a hundred thousand devices, and where the costs hide.",[12,78,79],"data-engineering","timescaledb",{"original":81,"pl":176},{"id":82,"title":67,"author":83,"body":84,"date":58,"description":68,"extension":168,"lang":16,"meta":169,"navigation":170,"path":65,"readingTime":71,"seo":171,"sitemap":172,"stem":66,"tags":173,"updated":174,"__hash__":175},"blog/blog/jev-a-model-that-only-decides.md","Bartosz Szczepanik",{"type":85,"value":86,"toc":159},"minimark",[87,91,94,99,102,106,109,112,115,119,127,130,133,137,140,143,146,149,153,156],[88,89,90],"p",{},"A surprising amount of what companies use large language models for has nothing to do with writing. Is this support ticket about billing or about a bug? Does this transaction look like fraud? Should this alert wake someone up at three in the morning? We ask a model that can write poetry to answer with a single word, then we write code to parse that word, retry when it comes back as a paragraph, and hope the format holds on the next model version.",[88,92,93],{},"JEV, released by TypeSafe AI on 15 September 2026, is built around that observation. It is the first public model in what the company calls System One models, and it does exactly one thing. You give it some state and a set of questions with answers you have already defined, and it gives you back a choice or a score for each question, along with a probability.",[95,96,98],"h2",{"id":97},"who-made-it","Who made it",[88,100,101],{},"TypeSafe AI was founded in 2024 and spent about two years in stealth before the launch. The chief executive, Diogo Almeida, previously worked at OpenAI on reinforcement learning from human feedback. Erik Gafni is CTO and Sasha Sheng, who worked in research engineering at Meta's FAIR lab, is COO. The name System One reads like a nod to Daniel Kahneman's fast, intuitive mode of thinking, and that is a fair description of what the model is trying to be.",[95,103,105],{"id":104},"how-it-works","How it works",[88,107,108],{},"The input to JEV is unstructured program state, which can be a ticket, a log excerpt, a chunk of JSON or whatever else describes the situation, together with a list of typed questions about it. A question might ask the model to pick one of a fixed set of categories, to produce a score, or to answer yes or no. The model evaluates all of the questions in one parallel pass and returns every answer at once, each with a calibrated confidence.",[88,110,111],{},"Because the answers are chosen from a set you declared before the call, the output always matches your schema. There is no string to parse and no way for the model to invent a category that does not exist. TypeSafe describes the approach as Reinforcement Learning for Calibrated Decisions, and the emphasis on calibration is the part I find most interesting. A probability you can trust lets you set thresholds in code, send the uncertain cases to a person or to a bigger model, and measure the trade-off explicitly.",[88,113,114],{},"Skipping text generation is also where the speed comes from. Responses come back in somewhere between 70 and 500 milliseconds, which puts it tens to a couple of hundred times ahead of the big LLMs on this kind of bounded question. Pricing follows the same logic. At launch it costs $0.042 per million input tokens, and output is free, since there is almost no output to speak of.",[95,116,118],{"id":117},"where-it-fits","Where it fits",[88,120,121,122,126],{},"The obvious uses are the ones that already run through LLMs today with a lot of glue code around them. Routing and triage, scoring leads or risk, moderation and guardrail checks in front of a more expensive model. Anything where the question is bounded and the answer feeds straight into an ",[123,124,125],"code",{},"if"," statement.",[88,128,129],{},"In the kind of systems I usually work on, I can see it sitting in the alerting path of an IoT platform. When a device reports something odd, the last hour of its telemetry and a bit of context about the site could go in as state, with a single question about whether this looks like a sensor fault, a real event worth acting on, or noise. At a few hundred milliseconds and a fraction of a cent per call, that is cheap enough to run on every alert, and the probability gives you a natural place to draw the line for waking someone up.",[88,131,132],{},"I have not put JEV in front of real traffic yet, so take all of this as first impressions from reading about it and poking at the idea. A few things do make me cautious.",[95,134,136],{"id":135},"what-to-be-careful-about","What to be careful about",[88,138,139],{},"The first thing I would want is my own numbers. The accuracy figures floating around so far come from TypeSafe's own test setups, and as far as I can tell they measure how often JEV agrees with other big LLMs. That is a reasonable start, but I would not trust it for a real decision until I had run it against a few hundred cases that a person labelled by hand.",[88,141,142],{},"The idea that JEV cannot hallucinate also needs a careful reading. It cannot return a value outside your schema, which is a real and useful guarantee. It can still pick the wrong option with high confidence, and when it does, you get a number and no explanation of how it got there. For debugging, and for any regulated setting where you need to justify a decision, that missing rationale is a genuine gap.",[88,144,145],{},"From what I have seen so far it also takes instructions very literally, cannot count reliably, struggles with arithmetic and date comparisons, loses accuracy on questions that need several steps of indirect reasoning, and degrades when the state is padded with lots of irrelevant material. Most of that is unsurprising for a model designed to answer in one fast pass, and it suggests keeping the state tight and the questions direct.",[88,147,148],{},"Access is the last practical point. The direct API is in early access behind a waitlist, although the model is already available through Vercel AI Gateway, OpenRouter and Cloudflare AI Gateway. The request formats differ slightly between these providers, so it is worth pinning one and testing against it before copying examples around.",[95,150,152],{"id":151},"why-it-matters-anyway","Why it matters anyway",[88,154,155],{},"Even with those caveats, JEV is a useful correction to how we have been using language models. Plenty of production systems need a fast, cheap and well calibrated decision thousands of times a day, and until now the only way to get one from a large model was to ask for text and hope. A model whose output is typed by construction and whose confidence means something is a good fit for the boring, high-volume decisions that make up most of a real system.",[88,157,158],{},"I expect the interesting architectures of the next year or two to mix both kinds. A System One model handles the thousands of small, bounded calls, a general LLM takes the few cases that genuinely need reasoning or an explanation, and the probability from the first decides which is which. I plan to try exactly that on an alerting pipeline and will write up what I find.",{"title":160,"searchDepth":161,"depth":161,"links":162},"",2,[163,164,165,166,167],{"id":97,"depth":161,"text":98},{"id":104,"depth":161,"text":105},{"id":117,"depth":161,"text":118},{"id":135,"depth":161,"text":136},{"id":151,"depth":161,"text":152},"md",{},true,{"title":67,"description":68},{"loc":65},[60,61,70],null,"F0OhgV4xRQtHuCNv0TOWWNx3I1fVX_H3pVeQCmBzL4M",{"id":177,"title":178,"author":83,"body":179,"date":58,"description":256,"extension":168,"lang":257,"meta":258,"navigation":170,"path":65,"readingTime":259,"seo":260,"stem":66,"tags":261,"updated":174,"__hash__":262},"blogPl/blog/jev-a-model-that-only-decides.md","JEV: model, który tylko decyduje",{"type":85,"value":180,"toc":249},[181,184,187,191,194,198,201,204,207,211,217,220,223,227,230,233,236,239,243,246],[88,182,183],{},"Spora część zastosowań dużych modeli językowych w firmach wbrew pozorom nie ma nic wspólnego z pisaniem. Czy to zgłoszenie do supportu dotyczy płatności, czy błędu? Czy ta transakcja wygląda na oszustwo? Czy ten alert powinien kogoś obudzić o trzeciej w nocy? Model, który umie pisać wiersze, prosimy o odpowiedź jednym słowem, potem piszemy kod, który to słowo parsuje, ponawiamy zapytanie, gdy zamiast słowa wraca cały akapit, i liczymy, że format przetrwa do następnej wersji modelu.",[88,185,186],{},"JEV, który TypeSafe AI wypuściło 15 września 2026 roku, zbudowano właśnie wokół tej obserwacji. To pierwszy publiczny model z kategorii, którą firma nazywa modelami System One, i robi dokładnie jedną rzecz. Podajesz mu stan oraz zestaw pytań z wcześniej zdefiniowanymi odpowiedziami, a on dla każdego pytania zwraca wybraną opcję albo ocenę liczbową, razem z prawdopodobieństwem.",[95,188,190],{"id":189},"kto-za-tym-stoi","Kto za tym stoi",[88,192,193],{},"TypeSafe AI powstało w 2024 roku i przed premierą przez mniej więcej dwa lata działało w trybie stealth. Prezes, Diogo Almeida, pracował wcześniej w OpenAI nad uczeniem ze wzmocnieniem na podstawie informacji zwrotnej od ludzi (RLHF). CTO jest Erik Gafni, a COO Sasha Sheng, która w Mecie zajmowała się research engineeringiem w laboratorium FAIR. Nazwa System One brzmi jak ukłon w stronę opisanego przez Daniela Kahnemana szybkiego, intuicyjnego trybu myślenia i dość trafnie oddaje to, czym ten model próbuje być.",[95,195,197],{"id":196},"jak-to-działa","Jak to działa",[88,199,200],{},"Na wejściu JEV dostaje nieustrukturyzowany stan programu, czyli zgłoszenie, wycinek logów, kawałek JSON-a albo cokolwiek innego, co opisuje sytuację, plus listę typowanych pytań na jego temat. Pytanie może polegać na wyborze jednej z ustalonych kategorii, wystawieniu oceny albo odpowiedzi tak lub nie. Model przetwarza wszystkie pytania w jednym równoległym przebiegu i od razu zwraca komplet odpowiedzi, każdą ze skalibrowaną pewnością.",[88,202,203],{},"Odpowiedzi pochodzą ze zbioru, który deklarujesz przed wywołaniem, więc wynik zawsze zgadza się ze schematem. Nie ma stringa do parsowania, a model nie ma jak wymyślić nieistniejącej kategorii. TypeSafe nazywa to podejście Reinforcement Learning for Calibrated Decisions i właśnie nacisk na kalibrację wydaje mi się w nim najciekawszy. Jeśli prawdopodobieństwu da się ufać, możesz ustawić w kodzie progi, odsyłać niepewne przypadki do człowieka albo do większego modelu i wprost zmierzyć ten kompromis.",[88,205,206],{},"Szybkość bierze się właśnie z rezygnacji z generowania tekstu. Odpowiedzi wracają w czasie od 70 do 500 milisekund, więc przy tego typu zamkniętych pytaniach JEV jest od kilkudziesięciu do paruset razy szybszy niż duże LLM-y. Z tej samej logiki wynika cennik. Na start JEV kosztuje 0,042 USD za milion tokenów wejściowych, a wyjście jest darmowe, bo praktycznie go nie ma.",[95,208,210],{"id":209},"gdzie-się-sprawdzi","Gdzie się sprawdzi",[88,212,213,214,216],{},"Oczywiste zastosowania to te, które już dziś obsługują LLM-y otoczone mnóstwem kodu klejącego. Routing i triage, scoring leadów albo ryzyka, moderacja i guardraile przed droższym modelem. Wszędzie tam, gdzie pytanie jest zamknięte, a odpowiedź trafia prosto do instrukcji ",[123,215,125],{},".",[88,218,219],{},"W systemach, nad którymi zwykle pracuję, widzę dla niego miejsce na ścieżce alertów platformy IoT. Gdy urządzenie zgłasza coś dziwnego, jako stan mogłaby trafić ostatnia godzina jego telemetrii i trochę kontekstu o miejscu instalacji, a do tego jedno pytanie: czy to wygląda na awarię czujnika, na prawdziwe zdarzenie wymagające reakcji, czy na szum. Przy kilkuset milisekundach i ułamku centa za wywołanie jest to na tyle tanie, że można to puszczać przy każdym alercie, a prawdopodobieństwo wyznacza naturalne miejsce na granicę, powyżej której kogoś budzimy.",[88,221,222],{},"Nie puściłem jeszcze JEV na produkcyjny ruch, więc traktuj to wszystko jako pierwsze wrażenia z lektury i z zabawy samym pomysłem. Kilka rzeczy każe mi jednak zachować ostrożność.",[95,224,226],{"id":225},"na-co-uważać","Na co uważać",[88,228,229],{},"Najpierw chciałbym mieć własne liczby. Wyniki dokładności, które dotąd krążą, pochodzą z testów samego TypeSafe i, o ile dobrze rozumiem, mierzą, jak często JEV zgadza się z innymi dużymi LLM-ami. Na początek to rozsądne, ale przy prawdziwej decyzji nie zaufałbym mu, dopóki sam nie sprawdzę go na kilkuset przypadkach oznaczonych ręcznie przez człowieka.",[88,231,232],{},"Twierdzenie, że JEV nie może halucynować, też trzeba czytać ostrożnie. Model nie zwróci wartości spoza schematu i to jest realna, przydatna gwarancja. Wciąż jednak może z dużą pewnością wybrać złą opcję, a wtedy dostajesz liczbę bez żadnego wyjaśnienia, skąd się wzięła. Przy debugowaniu i w każdym regulowanym środowisku, w którym trzeba umieć obronić decyzję, brak uzasadnienia to poważna luka.",[88,234,235],{},"Z tego, co do tej pory widziałem, model traktuje też polecenia bardzo dosłownie, nie potrafi rzetelnie zliczać, ma kłopoty z arytmetyką i porównywaniem dat, traci na dokładności przy pytaniach wymagających kilku kroków pośredniego rozumowania i radzi sobie gorzej, gdy stan jest napchany nieistotnymi danymi. Większość z tego nie dziwi w przypadku modelu, który ma odpowiadać w jednym szybkim przebiegu, i podpowiada, żeby stan był zwięzły, a pytania bezpośrednie.",[88,237,238],{},"Ostatnia praktyczna kwestia to dostęp. Bezpośrednie API jest w early access i trzeba zapisać się na listę oczekujących, ale model jest już dostępny przez Vercel AI Gateway, OpenRouter i Cloudflare AI Gateway. Formaty zapytań trochę się między tymi dostawcami różnią, więc warto zdecydować się na jednego i na nim testować, zanim zacznie się przeklejać przykłady.",[95,240,242],{"id":241},"dlaczego-to-i-tak-ma-znaczenie","Dlaczego to i tak ma znaczenie",[88,244,245],{},"Nawet z tymi zastrzeżeniami JEV to przydatna korekta tego, jak dotąd używaliśmy modeli językowych. Mnóstwo systemów produkcyjnych potrzebuje tysiące razy dziennie szybkiej, taniej i dobrze skalibrowanej decyzji, a do tej pory jedynym sposobem, żeby dostać ją od dużego modelu, było poprosić o tekst i liczyć na szczęście. Model, którego wyjście jest typowane z definicji, a pewność naprawdę coś znaczy, dobrze pasuje do nudnych, masowych decyzji, z których składa się większość prawdziwego systemu.",[88,247,248],{},"Spodziewam się, że ciekawe architektury najbliższego roku czy dwóch będą łączyć oba rodzaje modeli. Model typu System One obsłuży tysiące małych, zamkniętych wywołań, ogólny LLM weźmie na siebie nieliczne przypadki, które naprawdę wymagają rozumowania albo wyjaśnienia, a o tym, który przypadek trafi gdzie, zdecyduje prawdopodobieństwo zwrócone przez pierwszy model. Zamierzam wypróbować dokładnie taki układ w pipelinie alertów i opiszę, co z tego wyszło.",{"title":160,"searchDepth":161,"depth":161,"links":250},[251,252,253,254,255],{"id":189,"depth":161,"text":190},{"id":196,"depth":161,"text":197},{"id":209,"depth":161,"text":210},{"id":225,"depth":161,"text":226},{"id":241,"depth":161,"text":242},"JEV od TypeSafe AI zwraca typowane odpowiedzi ze skalibrowanym prawdopodobieństwem i nie pisze ani słowa. Czym jest, gdzie się sprawdzi i na co uważać.","pl",{},"5 min czytania",{"title":178,"description":256},[60,61,70],"IUtcrgiekkxM8qagF0ycf2GUNoTW9PtDJkS9HS_r45w",1792141329645]