RSSAmplifier

Blog

Johnny Devriese

Thoughts on programming, data science, and more.

johnnydevriese.github.ioRSS feed ↗52 posts

Latest posts

The Big Three Trap: Why Open Weights Are Squeezing Closed AI Labs

The Big Three Trap: Why Open Weights Are Squeezing Closed AI Labs The competitive landscape in AI is changing faster than many expected. Just a year ago, proprietary models held a clear lead in capability, making premium API pricing relatively easy to justify. Today, that gap is narrowing. Recent op...

RoPE Is Just a Clock with a Thousand Hands

RoPE Is Just a Clock with a Thousand Hands *A visual guide to Rotary Position Embeddings. Forget the linear algebra for a moment. Think in rotations, frequencies, and resonance - the way a physicist would.* > ~~"RoPE encodes absolute position by multiplying query and key vectors by a block-diagonal ...

The Functional Analysis of DeepSeek-V4

The Functional Analysis of DeepSeek-V4: Bounding Operators at 1.6 Trillion Parameters When DeepSeek-V4 dropped, most of the attention went to the replacement of Multi-head Latent Attention (MLA) with sequence-level compression. The KV cache story matters, but it is not the whole architecture. At 1.6...

The Bitter Lesson Is Not a Law

The Selection Effect _On benchmarks, compression, and what counts as a principle_ --- Rich Sutton's _Bitter Lesson_ is routinely cited as the organizing truth of modern AI — seventy years of history distilled into a single directive, presented as something close to a law. A law is only as strong as ...

Building Enterprise Agents That Actually Work

Building Enterprise Agents That Actually Work Over the past year our team built an agentic system for enterprise financial workflows — invoice extraction, lease parsing, payment matching, analytics. We learned most of our lessons the hard way. This post distills the architectural patterns that survi...

Prompting vs. Tuning: The Banking77 Intent Classification Bake-off

Prompting vs. Tuning: The Banking77 Intent Classification Bake-off So, you've got 77 possible banking intents and 10,000 customer queries. How do you build a classifier that doesn't just "kind of work," but actually nails the nuances between "my card was declined" and "my card is blocked"—two very d...

The GenAI Inversion: Building the Map After You Have the Engine

The GenAI Inversion: Building the Map After You Have the Engine In traditional data science, the workflow is linear. You collect data, investigate it, engineer features, train a model, run your evals. The data _is_ your map, and getting your hands dirty in the dataset is how you learn the actual sha...

Deconstructing DeepSeek's Engine: A Physicist's Guide to GRPO

Deconstructing DeepSeek's Engine: A Physicist's Guide to GRPO The release of DeepSeek-R1-Zero energized the AI community, demonstrating that massive reasoning capabilities can be unlocked using pure reinforcement learning—without the crutch of sophisticated supervised fine-tuning. At the heart of th...

Understanding Large Language Models: A Mental Model for Software Engineers

Understanding Large Language Models: A Mental Model for Software Engineers The fundamental insight An LLM is a machine that reads text and predicts what comes next. That's the entire system in one sentence. Everything else—the apparent reasoning, the helpfulness, the creativity, the mistakes—emerges...

Glucose Buddy: Turning an AI Agent into a Real Product

Glucose Buddy: Turning an AI Agent into a Real Product Last year I wrote about building an AI agent for glucose tracking. That first version was useful as an experiment in agent design, typed tools, and natural-language interaction. It proved the concept. It did not yet feel like a product. This new...

The Shannon Problem: Why We Need a Mathematics of Neural Networks

The Shannon Problem: Why We Need a Mathematics of Neural Networks In 1937, Claude Shannon was a master's student at MIT working on a theoretical problem that seemed narrow and academic: could you describe electrical circuits using algebra? Before Shannon, people built circuits by trial and error. Th...

The Librarian in the Machine: Retrieval, Generation, and the Search for Truth

The Librarian in the Machine: Retrieval, Generation, and the Search for Truth An LLM can sound like it has read everything while still failing to remember anything specific. Ask it about Medicare rules or orbital mechanics and it may answer confidently, but the confidence is not evidence. Check the ...

The Loop Unwound - How Deep Networks Are Just Optimized Algorithms in Disguise

The Loop Unwound: How Deep Networks Are Just Optimized Algorithms in Disguise Hey there, fellow travelers on the AI frontier! As a research engineer, especially one with a physics background, you've probably felt that familiar pull towards understanding the "why" behind the "what works." We've seen ...

Virigina Tech Bicycle Helmets

Building an AI Agent for Glucose Tracking

Building an AI Agent for Glucose Tracking The Promise of Agentic AI in Healthcare AI agents are useful when a model needs to do more than produce text. Instead of only answering a prompt, an agent can choose tools, call APIs, inspect results, and decide what to do next from a natural language reques...

How To Debug A Model

Learning curves are plots that show how model performance changes as you add more training data. They're incredibly useful for diagnosing model behavior. Let me break down the key aspects: 1. What Learning Curves Show: - Training score: How well the model performs on training data - Cross-validation...

Adaptive Bayesian Scanning Algorithms For Aesa Rad

Adaptive Bayesian Scanning Algorithms for AESA Radar Systems **Author:** Johnny Devriese --- Abstract Traditional Active Electronically Scanned Array (AESA) radar systems often employ linear or predetermined scanning patterns that, while effective in many scenarios, may not optimally allocate resour...

Stats Test Vs Building Model

My macOS Setup

My macOS Setup This is my current macOS development setup that I've refined over the years to maximize productivity and maintain a clean workflow. Essential Apps Development Tools - **VS Code** - My primary code editor with GitHub Copilot integration - **iTerm2** - Superior terminal emulator with sp...

Theneedledrop Ratings

Decision Trees (CART) Decision trees are defined by recursively partitioning the input space, and defining a local model in each resulting region of input space. The overall model can be represented by a tree, with one leaf per region. (image removed because Kaggle was complaininga about size limits...

Pytorch Examples

Computation graphs MLPs are a simple kind of DNN in which each layer feeds directly into the next, forming a chain structure, as shown in Figure 13.10. However, modern DNNs can combine differentiable components in much more complex ways, to create a computation graph, analogous to how programmers co...

Mathematics Of Deep Neural Nets

Mathematics of Deep Neural Nets Neural Nets are defined by a **learning function** $F(x,v)$ where the **weights** are $x$ and the **training data** are $v$. The most important aspects of creating $F$: 1. Composition $ F = F_3(F_2(F_1(x,v,)))$ 2. Chain Rule for $x$-derivatives of $F$ 3. Stochastic Gr...

Detecting The Higgs Boson With Tpus

Searching for the Higgs Boson # The Standard Model is a theory in particle physics that describes some of the most basic forces of nature. One fundamental particle, the Higgs boson, is what accounts for the *mass* of matter. First theorized in the 1964, the Higgs boson eluded observation for almost ...

Monet Cyclegan Tutorial

Introduction and Setup This notebook utilizes a CycleGAN architecture to add Monet-style to photos. For this tutorial, we will be using the TFRecord dataset. Import the following packages and change the accelerator to TPU. For more information, check out TensorFlow and Keras CycleGAN documentation p...

Exploring Features

var3: nationality of the customer Add feature that counts the number of zeros in a row num_var4 : number of bank products Var38 var38 is important according to XGBOOST see https://www.kaggle.com/cast42/santander-customer-satisfaction/xgboost-with-early-stopping/files Also RFC thinks var38 is importa...

Tpu Flowers

TPU or GPU detection Competition data access TPUs read data directly from Google Cloud Storage (GCS). This Kaggle utility will copy the dataset to a GCS bucket co-located with the TPU. If you have multiple datasets attached to the notebook, you can pass the name of a specific dataset to the get_gcs_...

Multi Layer Architecture In Node.js

We need a separation of concerns when building an API. Often times there will be a distinction between the , , and layer. The request layer is where we handle preparing the data to pass to the layer and also handling the responses. The layer is where all business logic is placed and calls to the dat...

Using JWTs For API Access Tokens

Introduction The old way of doing authentication is for you to manage an authentication server that issues credentials for your partners. An example of this would be something like IdentityServer4. However, this can easily be offloaded to a service such as Auth0 or Okta. A cloud provider makes the m...

Fibonacci Sequence In JavaScript

I was looking into the often posed question of how to solve the Fibonacci sequence in . I always figured if asked this I would just answer with "Look up the list of the Fibonacci numbers and throw them in an array. Voila!" However, it turns out there's perhaps more clever but less cheeky version whi...

Running PostgreSQL in Docker

PostgreSQL is like therapy after trying to wrangle Cassandra for years! Lets get it up and running in a docker container. I tried to install/run with brew but got an error connection refused. I think this has to do with other fuzion config found in /etc/hosts So instead we can just run it in a docke...

Serverless Data Lake On AWS

What is a data lake and why is everyone talking about it?

Introduction to Pyspark

I've spent a load of time learning about botht the internals of Spark as well as learning about Pyspark for analytics. I still need to collect my thoughts but this is more of a placeholder.

React and Redux - A New World

Learning about components and managing state with redux. A great place to start it CRA

Filtering Elements By Value

very good answer: https://stackoverflow.com/questions/286141/remove-blank-attributes-from-an-object-in-javascript Need to think about this one that uses recursion.

Git Merge Tricks

Sometimes you might just want to merge and accept the master branch (or whomevers) changes because you know they will overrule you no matter what. So this is a pretty slick Git trick. Git merge ours and theirs Try this: To accept theirs changes: To accept yours: Nice! ##

Manually Making Requests to S3 (don't)

You should probably be a normal human being and use the SDK, but one day I was tasked with figuring this out. So I figured I should document it. we need to derive the signing key and could use Crypto.js And then we have to manually sign requests if we are making making direct HTTP/HTTPS requests. An...

Finding String In JS Array

Pretty slick, for JS.

Using Google Maps API to Return the Local Time

This is some half baked code that we copy/pasted the variables around. Essentially just a proof of concept. This just shows how we could get a timestamp and geolocation from the browser, send that to the Maps API and get back both the offset and daylight savings offset too. From the docs: The local ...

Lazy Loading Images

This takes a placeholder image in src tag and then we replace it with the actual data-src.

Dictionary To Run Function

Getting a taste of the power of Functional Programming. A similiar way of doing it is like this:

Thoughts On Programming

Interesting thoughts from /u/drawkbox that sort of remind me of the 'The Zen of Python'. --- "Programmers with lots of hours of maintaining code eventually evolve to return early, sorting exit conditions at top and meat of the methods at the bottom. Same way you evolve out of one liners. Same way co...

Async Await an AJAX Request

This will only work on more modern browsers! :)

Clever jQuery Chaining

"With jQuery, you can chain together actions/methods. Chaining allows us to run multiple jQuery methods (on the same element) within a single statement."

Callback Hell

Avoid the callback triangle of doom with three simple rules: 1. keep your code shallow 2. modularize 3. handle every single error example:

Check For An Key In Object in JS and PHP

Coming From Python this felt a little funny since Python has so many nice features for looking up keys and setting defaults etc. Check if object has a key in JavaScript https://stackoverflow.com/questions/455338/how-do-i-check-if-an-object-has-a-key-in-javascript check if array has a key in PHP

AJAX URL Path Issue

You need to be careful becasue if in your pathURL argument you have a relative path (something like ../../foo/bar) it will break when we use that prototype/ ajax call within a different file because the ajax call uses the path from the CURRENT PAGE you are on. So, it seems if you want to make the sa...

Composer and phantomjs (for PDF and Excel reports on Analytics)

Despite the directions in the google drive they don't actually work because wants a file which doesn't get created when we do: . All it does is creates a file. And then when we try to use composer to install all of our projects dependencies which it would usually get from our file (much like npm's f...

PHP JSON parsing problem

**Problem**: json_encode() returns FALSE. This means that our crap is broken. Intially it looked like the depth could be set wrong, but that didn't solve the issue. Fix: Use json_last_error_msg() which will output why it is broken. We could write an entire error handler so we would know about these ...

Arrays in PHP 7

Turns out it's not good to instantiate an array by using: . PHP does not appreciate or tolerate such things. So we have to change them to in order for things to work properly.

How to Train A Tiger

Training a Tiger is no simple task. You first need salmon. In actuality you need a LOT of salmon.