<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Matt Macosko</title>
    <description>The latest articles on DEV Community by Matt Macosko (@matt_macosko_f3829cfd86b8).</description>
    <link>https://dev.to/matt_macosko_f3829cfd86b8</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881937%2Fd462eaf2-e4e1-452e-82b5-c8a66e8941d1.jpg</url>
      <title>DEV Community: Matt Macosko</title>
      <link>https://dev.to/matt_macosko_f3829cfd86b8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matt_macosko_f3829cfd86b8"/>
    <language>en</language>
    <item>
      <title>I wrote the missing Apple Silicon runtime for NVIDIA's Nemotron Omni</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Thu, 06 Aug 2026 18:37:23 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/i-wrote-the-missing-apple-silicon-runtime-for-nvidias-nemotron-omni-5a00</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/i-wrote-the-missing-apple-silicon-runtime-for-nvidias-nemotron-omni-5a00</guid>
      <description>&lt;p&gt;NVIDIA's &lt;a href="https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16" rel="noopener noreferrer"&gt;Nemotron-3-Nano-Omni-30B-A3B&lt;/a&gt; is an open-weights model that sees, hears and reasons. There is already a 4-bit MLX quantization of it on Hugging Face, done by &lt;a href="https://huggingface.co/mlx-community/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-4bit" rel="noopener noreferrer"&gt;yayr&lt;/a&gt;. But as that model card says plainly, only the text backbone loads with standard MLX tooling:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The vision and audio towers require a multimodal runtime that implements the C-RADIO ViT-H and Parakeet Conformer forward passes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nobody had written that runtime. So the model could talk on a Mac, but it could not see or hear.&lt;/p&gt;

&lt;p&gt;I wrote it. It is pure MLX: the vision tower, the audio tower, the processor, and the multimodal token splicing, all ported from NVIDIA's reference implementation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verified, not asserted
&lt;/h2&gt;

&lt;p&gt;The thing I actually care about here is not that it runs. It is that I can prove it runs &lt;em&gt;correctly&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Every component is tested against NVIDIA's PyTorch reference on the same inputs with the same weights, in fp32 on CPU so the comparison is honest. &lt;code&gt;pytest tests/&lt;/code&gt; — 23 of 23 passing.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Compared against&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Audio tower&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;transformers&lt;/code&gt; ParakeetEncoder + NVIDIA &lt;code&gt;SoundProjection&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;cos &lt;strong&gt;0.99999130&lt;/strong&gt; (min/frame)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio frontend&lt;/td&gt;
&lt;td&gt;log-mel features&lt;/td&gt;
&lt;td&gt;max abs delta &lt;strong&gt;8.1e-6&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision tower&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;nvidia/C-RADIOv4-H&lt;/code&gt; via &lt;code&gt;trust_remote_code&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;cos &lt;strong&gt;0.99996227&lt;/strong&gt; (min/token)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision tower, MLX CPU stream&lt;/td&gt;
&lt;td&gt;same&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;1.00000000&lt;/strong&gt; — graph-exact&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A port that is &lt;em&gt;almost&lt;/em&gt; right is worse than no port at all, because you spend weeks chasing quality problems that are really numerical drift in a tower you never checked. Writing the parity harness first was the single best decision in this project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Speed and memory
&lt;/h2&gt;

&lt;p&gt;Measured on an M5 Max MacBook Pro, running the 4-bit quantized language model with both towers in bf16:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Image:  67.7 tok/s · 22.1 GB peak
Audio:  147  tok/s · 21.0 GB peak
Text:   152  tok/s · 17.9 GB peak
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wifi off the whole time. Nothing leaves the machine.&lt;/p&gt;

&lt;p&gt;That 22.1 GB peak on the image path is the number I would pay attention to if you are deciding whether to bother. It suggests this fits on a 32 GB Mac. I cannot verify that, because the M5 Max is the only machine I have. If you run it on something smaller I would genuinely like to hear what happens — that is the most useful thing anyone could send me right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why bother doing this locally
&lt;/h2&gt;

&lt;p&gt;The obvious question is why not just call an API. A few reasons that matter to me.&lt;/p&gt;

&lt;p&gt;The model is open weights. Someone should be able to run open weights on their own hardware, and if the only path requires a vendor's cloud, the openness is partly decorative.&lt;/p&gt;

&lt;p&gt;Apple Silicon is genuinely fast enough now. 67 tokens a second while reading an image, on a laptop, is not a compromise.&lt;/p&gt;

&lt;p&gt;And there are workloads where the data cannot leave the building at all. I do work that touches NDA and compliance-sensitive material, and "it runs offline" is not a nice-to-have there, it is the requirement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;MIT licensed: &lt;strong&gt;&lt;a href="https://github.com/nicedreamzapp/nemotron-omni-mlx" rel="noopener noreferrer"&gt;https://github.com/nicedreamzapp/nemotron-omni-mlx&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Credit to NVIDIA for publishing the weights, and to yayr for the 4-bit conversion.&lt;/p&gt;

</description>
      <category>mlx</category>
      <category>apple</category>
      <category>machinelearning</category>
      <category>opensource</category>
    </item>
    <item>
      <title>NVIDIA Shipped a Model That Sees and Hears — It Just Didn’t Run on a Mac. So I Wrote the Missing Piece.</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Tue, 28 Jul 2026 18:30:07 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/nvidia-shipped-a-model-that-sees-and-hears-it-just-didnt-run-on-a-mac-so-i-wrote-the-missing-50pe</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/nvidia-shipped-a-model-that-sees-and-hears-it-just-didnt-run-on-a-mac-so-i-wrote-the-missing-50pe</guid>
      <description>&lt;p&gt;&lt;strong&gt;NVIDIA shipped a 30-billion-parameter model that can see, hear, and talk — and gave the weights away. The catch: the seeing and hearing parts didn’t run on a Mac. So I spent an afternoon writing the missing piece.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is the whole thing in thirty-five seconds — the model reading a real cart off my own store, on the laptop, with nothing leaving it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nicedreamzwholesale.com/wp-content/uploads/2026/07/nemotron_demo.mp4" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjjlbmxoxjrhpgbo4bldm.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thirty-five seconds: the model reads a real cart off my own store, on the laptop, with nothing leaving it. The elapsed counter is the real measured latency.&lt;/p&gt;

&lt;p&gt;Every couple of weeks I go looking for whatever new open-weight model just dropped, pull it onto my laptop, and see what it can actually do. Most of the time it’s a coding model, I run it against the one I already use, and my current favorite wins again. That’s a fine result. It’s just not much of a story.&lt;/p&gt;

&lt;p&gt;This time I found something different.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Nemotron Omni actually is
&lt;/h2&gt;

&lt;p&gt;NVIDIA released &lt;strong&gt;Nemotron-3-Nano-Omni-30B-A3B&lt;/strong&gt; — a “tri-modal” model, which is a fancy way of saying one brain with eyes and ears attached. You can hand it a picture, a sound file, or a video, and talk to it about what it saw or heard. It’s 30 billion parameters total, but only about 3 billion of them fire for any given word, which is why something this capable can run on a laptop at all. The weights are public.&lt;/p&gt;

&lt;p&gt;Someone had already done the hard, unglamorous work of shrinking it down to a 4-bit MLX version that fits on Apple Silicon — that’s &lt;a href="https://huggingface.co/mlx-community/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-4bit" rel="noopener noreferrer"&gt;yayr&lt;/a&gt; over at mlx-community, and this project doesn’t exist without that upload. About 19 GB on disk. Ready to go.&lt;/p&gt;

&lt;p&gt;Except for one line, buried in the model card:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The text backbone loads with standard MLX &lt;code&gt;nemotron_h&lt;/code&gt; tooling. The vision and audio towers require a multimodal runtime that implements the C-RADIO ViT-H and Parakeet Conformer forward passes (e.g. the Evorix on-device engine).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Translated: the brain works on a Mac. &lt;strong&gt;The eyes and ears don’t.&lt;/strong&gt; The weights for them are right there in the file — all the knowledge, sitting on your disk — but nothing I could find in the open Apple Silicon world knew how to &lt;em&gt;run&lt;/em&gt; them. NVIDIA’s own code for those parts is written for their GPUs. On a Mac it’s a locked room with the key visible through the window.&lt;/p&gt;

&lt;p&gt;I want to be precise about that parenthetical, because it matters: the card does name an engine, Evorix. I went looking for it — not on Hugging Face, not on GitHub, not anywhere I could find. So as far as I can tell it exists, but not somewhere you or I can go get it. Which leaves the same practical dead end: you download nineteen gigabytes of a model that sees and hears, and on a Mac you can only talk to it.&lt;/p&gt;

&lt;p&gt;That’s the gap — no &lt;em&gt;open&lt;/em&gt; runtime for the eyes and ears. Honestly, that’s the most interesting kind of thing to find. Not a benchmark to run. A thing that doesn’t work yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part I keep having to relearn
&lt;/h2&gt;

&lt;p&gt;My instinct was that this would take days. Three separate pieces, each one a real port: NVIDIA’s vision tower is a ViT with a custom patch generator, their audio side is a Conformer with Transformer-XL relative attention, and then there’s the glue that turns a photo into something the language model can read.&lt;/p&gt;

&lt;p&gt;It took about half an hour.&lt;/p&gt;

&lt;p&gt;Not because I’m fast — because I stopped doing it one piece at a time. I put a separate agent on each tower and let them run at the same time, each one checking its own work against NVIDIA’s original code as it went. I keep making the same mistake of estimating this stuff like it’s still 2024, and I keep getting corrected by my own laptop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Proving it, instead of vibing it
&lt;/h2&gt;

&lt;p&gt;Here’s the thing about porting a model: it’s very easy to write code that &lt;em&gt;looks&lt;/em&gt; right, produces numbers, and is quietly wrong. The model doesn’t crash. It just gets a little dumber, and you never find out.&lt;/p&gt;

&lt;p&gt;So neither tower got to claim victory on vibes. For each one, the test was: run NVIDIA’s original PyTorch code and my MLX version &lt;strong&gt;on the same input, with the same weights&lt;/strong&gt;, and compare the actual numbers coming out.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tower&lt;/th&gt;
&lt;th&gt;What was compared&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Ears&lt;/strong&gt; (audio)&lt;/td&gt;
&lt;td&gt;Final audio embeddings, 5-second clip&lt;/td&gt;
&lt;td&gt;cosine &lt;strong&gt;0.99999&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Eyes&lt;/strong&gt; (vision)&lt;/td&gt;
&lt;td&gt;Final image embeddings, 448px image&lt;/td&gt;
&lt;td&gt;cosine &lt;strong&gt;0.99996&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Eyes&lt;/strong&gt;, on CPU math&lt;/td&gt;
&lt;td&gt;Same, without GPU shortcuts&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;1.00000000&lt;/strong&gt; — exact&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That last row is the one I care about. Run it on the CPU, where the math is done precisely, and my port and NVIDIA’s are &lt;strong&gt;not close — they’re identical.&lt;/strong&gt; The tiny gap on the GPU isn’t a bug in the port; it’s Metal taking shortcuts with float math for speed. Chasing that would be chasing the hardware.&lt;/p&gt;

&lt;p&gt;The input processing got the same treatment — every image tile, every audio frame, every token id checked against NVIDIA’s reference. 14 tests, token sequences matching exactly, pixels off by less than a millionth.&lt;/p&gt;

&lt;p&gt;The brain, meanwhile, needed no porting at all — MLX already understood it. Someone had put &lt;code&gt;nemotron_h&lt;/code&gt; into mlx-lm before I ever showed up.&lt;/p&gt;

&lt;h2&gt;
  
  
  So does it actually work
&lt;/h2&gt;

&lt;p&gt;This is the only part that matters, so here’s the first thing I pointed it at once the pieces were connected. Not a test image — a screenshot off my own phone, of my own store, with a cart full of my own products.&lt;/p&gt;

&lt;p&gt;I asked: &lt;em&gt;“What website is this and what is in the cart?”&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;This is the Divine Tribe website. The cart contains a Gen 2 DC Ceramic Rebuildable Dry Herb Heater, a Replacement Heater Cup, a Wireless Dock Station, 72% Hemp 28% Silk Men’s Boxers, and a Quest Lightning Diffuser Kit.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every product, correct. When I asked for prices it read all five to the cent — $37.36, $13.12, $80.80, $33.32, $38.67 — and started adding them up. Nine seconds, on a laptop, with nothing leaving it.&lt;/p&gt;

&lt;p&gt;Then the ears. I generated a line of speech and handed it the wav:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Divine Tribe vaporizer ships from Humboldt County, California, and this model is running entirely on a MacBook with no Internet connection.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Word for word, punctuation and all — it even got “Humboldt” right.&lt;/p&gt;

&lt;p&gt;The speeds, for anyone keeping score:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Speed&lt;/th&gt;
&lt;th&gt;Memory&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Text only&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;152 tok/s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;17.9 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;With an image&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;67.7 tok/s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;22.1 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;With audio&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;147 tok/s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;21.0 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The whole thing lives in about 22 GB at its hungriest. That fits on a Mac you can buy today.&lt;/p&gt;

&lt;p&gt;And to be clear about what that means: nothing about that cart screenshot or that audio clip left my desk. The model makes no network calls at all — there’s no API key, no meter running, no terms of service, and no company on the other end deciding whether I’m allowed to keep doing this tomorrow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two things that fell out along the way
&lt;/h2&gt;

&lt;p&gt;Neither of these was the goal, and both are probably more useful than anything else here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NVIDIA’s reference code produces NaN on batched audio.&lt;/strong&gt; If you feed it two clips of different lengths at once, the shorter one comes back as garbage — not an error, just silent NaN poisoning that spreads through the layers. It’s a masking detail: fully-padded rows go to negative infinity, softmax turns that into NaN, and the NaN travels. My port masks differently and stays finite. I want to be careful here — this is one specific path, and I could be wrong about how much it matters in NVIDIA’s own pipeline. But it reproduces on their code, not just mine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The vision tower doesn’t normalize its own input.&lt;/strong&gt; There’s a normalization layer sitting right there in the checkpoint, and it’s dead weight — NVIDIA switches it off and expects whatever calls it to do that job. Feed it raw pixels like a reasonable person would and you get plausible-looking garbage, silently. This one cost real time and it’s the trap anyone else attempting this will hit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And a third, for the truly nerdy:&lt;/strong&gt; several settings in the config file are lies. Not maliciously — they’re just vestigial, left over from an earlier design, and the live code ignores them completely. If you build from the config instead of tracing what actually runs, you’ll produce something that looks correct and isn’t. I only caught it by following the real code path line by line.&lt;/p&gt;

&lt;h2&gt;
  
  
  So who does this actually help?
&lt;/h2&gt;

&lt;p&gt;Fair question, and I want to answer it honestly instead of waving at the future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The narrow answer: it saves the next person about a week.&lt;/strong&gt; Right now, anyone with a Mac who downloads this model reads that line on the model card — &lt;em&gt;“requires a multimodal runtime that implements the C-RADIO ViT-H and Parakeet Conformer forward passes”&lt;/em&gt; — and that’s the end of the road. It’s not a warning, it’s a wall. It means &lt;em&gt;go build it yourself&lt;/em&gt;, and most people, reasonably, close the tab. Now they don’t have to. Clone it, run it, done. And the three traps I hit are written down, because the normalization one in particular would cost someone a full day of wondering why their model got quietly dumber instead of visibly broken. That’s the entire contribution: one person spent the afternoon so nobody else has to spend the week.&lt;/p&gt;

&lt;p&gt;I’m not going to pretend that’s a huge number of people. Might be a few hundred. Might be twelve. That’s fine — twelve people not wasting a week each is still worth an afternoon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The wider answer is the one I actually care about.&lt;/strong&gt; I do private-AI work for firms that handle other people’s confidential material — lawyers, medical practices, accountants. The whole pitch is that the machine doing the reading is the machine on your desk, because a federal court &lt;a href="https://nicedreamzwholesale.com/2026/05/22/the-heppner-ruling-warner-v-gilbarco-and-what-confidential-ai-actually-has-to-mean/" rel="noopener noreferrer"&gt;already ruled&lt;/a&gt; that work you hand to a public AI isn’t privileged.&lt;/p&gt;

&lt;p&gt;Until now, “on your desk” meant text only. If a client sends a photograph of a contract, or a recorded call, or a scan — the private option had nothing to say. You either sent it to somebody’s cloud and lost the privilege, or you did it by hand.&lt;/p&gt;

&lt;p&gt;That changed today, on my laptop. A model that can &lt;em&gt;look at&lt;/em&gt; the scanned page and &lt;em&gt;listen to&lt;/em&gt; the recording, on the machine sitting in front of them, is not a small difference for those people. It’s the difference between a tool they can use and a tool they legally can’t.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And the honest third reason:&lt;/strong&gt; the gap between “the weights are public” and “you can actually use this” is where most open AI quietly dies. Everyone celebrates the release. Far fewer people do the boring work of making the thing run somewhere real. That gap is usually not a research problem — it’s a few hundred lines nobody got around to writing. This one was maybe 90 KB of Python and an afternoon.&lt;/p&gt;

&lt;p&gt;That’s the part I’d like more people to see. Not that I did something clever — I didn’t, I transcribed NVIDIA’s own math into a different framework and checked my work. But the wall between an open model and a working model is &lt;em&gt;thinner than it looks&lt;/em&gt;, and it stays up mostly because everyone assumes someone else will knock it down.&lt;/p&gt;

&lt;p&gt;The code is &lt;a href="https://github.com/nicedreamzapp/nemotron-omni-mlx" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;, MIT, with every parity test in it. Don’t take my word for any number above — clone it and run the tests on your own Mac.&lt;/p&gt;

&lt;h2&gt;
  
  
  Credit where it’s due
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16" rel="noopener noreferrer"&gt;NVIDIA&lt;/a&gt;&lt;/strong&gt; built the model and released the weights and reference code openly. None of this happens otherwise.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://huggingface.co/mlx-community/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-4bit" rel="noopener noreferrer"&gt;yayr&lt;/a&gt;&lt;/strong&gt; at mlx-community did the 4-bit MLX quantization I built on top of. Go give that upload a like — it deserves more than the zero it has.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/ml-explore/mlx" rel="noopener noreferrer"&gt;Apple’s MLX team&lt;/a&gt;&lt;/strong&gt; — and whoever added &lt;code&gt;nemotron_h&lt;/code&gt; to mlx-lm, which is why the brain needed nothing from me at all.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://nicedreamzwholesale.com/category/ai-computing/" rel="noopener noreferrer"&gt;Nice Dreamz Wholesale&lt;/a&gt;. Run AI locally on your own hardware with &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;claude-code-local&lt;/a&gt;, open source and no cloud required. More at &lt;a href="https://nicedreamzwholesale.com/software/" rel="noopener noreferrer"&gt;nicedreamzwholesale.com/software&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiampcomputing</category>
    </item>
    <item>
      <title>The Day Local AI Caught the Cloud: ds4, DeepSeek V4 Flash, and What Just Changed for Devs</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Thu, 23 Jul 2026 18:30:07 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/the-day-local-ai-caught-the-cloud-ds4-deepseek-v4-flash-and-what-just-changed-for-devs-4kjo</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/the-day-local-ai-caught-the-cloud-ds4-deepseek-v4-flash-and-what-just-changed-for-devs-4kjo</guid>
      <description>&lt;p&gt;If you write code for a living and you’ve been watching the local-AI space, May 9, 2026 is the date to circle. Salvatore Sanfilippo (yes, the guy who wrote Redis) shipped &lt;a href="https://github.com/antirez/ds4" rel="noopener noreferrer"&gt;&lt;code&gt;ds4&lt;/code&gt;&lt;/a&gt; — a few thousand lines of hand-written C with Metal compute kernels, built for exactly one model: &lt;strong&gt;DeepSeek V4 Flash&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I ran the same prompt through three engines on the same 128 GB MacBook Pro:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DeepSeek V4 Flash&lt;/strong&gt; via &lt;code&gt;ds4&lt;/code&gt; — fully local, off-cloud&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Claude&lt;/strong&gt; through my Max plan&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 4 31B&lt;/strong&gt; via MLX, also local&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Local DeepSeek beat cloud Claude on wall-clock time. That sentence used to be science fiction.&lt;/p&gt;

&lt;p&gt;▶ &lt;strong&gt;&lt;a href="https://youtu.be/7l8-s8xkpms" rel="noopener noreferrer"&gt;Watch the companion video&lt;/a&gt;&lt;/strong&gt; — three engines, one prompt, three completely different aurora animations rendered in real time on the same machine.&lt;/p&gt;




&lt;h2&gt;
  
  
  The benchmark, for people who don’t want filler
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Engine&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;th&gt;Output&lt;/th&gt;
&lt;th&gt;Where it ran&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek V4 Flash (&lt;code&gt;ds4&lt;/code&gt; local)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;103 s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3,259 tokens&lt;/td&gt;
&lt;td&gt;Apple Silicon GPU&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud Claude (Max plan)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;192 s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~3,500 tokens&lt;/td&gt;
&lt;td&gt;Anthropic data center&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 4 31B (MLX local)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;131 s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1,992 tokens&lt;/td&gt;
&lt;td&gt;Apple Silicon GPU&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The prompt was a single creative HTML task: &lt;em&gt;“Build an animated northern lights scene — single file, vanilla JS, mountains, pine trees, twinkling stars, flowing aurora bands.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Each engine produced a completely different aurora. None of them hit the network during inference. (Yes, I checked with &lt;code&gt;lsof&lt;/code&gt;. Yes, this is the same &lt;code&gt;lsof&lt;/code&gt; audit pattern from &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;the AirGap NDA piece&lt;/a&gt;.)&lt;/p&gt;




&lt;h2&gt;
  
  
  Three architectural decisions in &lt;code&gt;ds4&lt;/code&gt; worth understanding
&lt;/h2&gt;

&lt;p&gt;This is the part that matters if you’re a developer thinking about local AI infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Asymmetric 2-bit quantization (only where quality is forgiving)
&lt;/h3&gt;

&lt;p&gt;The naive approach to quantization treats every weight the same. &lt;code&gt;ds4&lt;/code&gt; doesn’t. &lt;strong&gt;Only the routed Mixture-of-Experts experts get compressed to 2-bit&lt;/strong&gt; (specifically &lt;code&gt;IQ2_XXS&lt;/code&gt; for &lt;code&gt;up&lt;/code&gt;/&lt;code&gt;gate&lt;/code&gt;, &lt;code&gt;Q2_K&lt;/code&gt; for &lt;code&gt;down&lt;/code&gt;). Every quality-critical path — shared experts, attention projections, routing, output head — stays at higher precision (Q8 or full).&lt;/p&gt;

&lt;p&gt;Those routed experts are about 90% of the weight footprint. The other 10% is where small precision losses cause big accuracy losses. Quantize the 90%, leave the 10%, and you get an 81 GB file that still calls tools cleanly and writes coherent code.&lt;/p&gt;

&lt;p&gt;This is the kind of tradeoff that only makes sense if you’ve stared at a specific model’s loss landscape long enough to know which weights tolerate compression. It’s a model-specific engineering decision dressed as a quantization recipe.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. KV cache moved to disk (in 2026 SSDs are fast enough)
&lt;/h3&gt;

&lt;p&gt;The “KV cache must live in RAM” assumption is from 2023. Modern Apple SSDs do 5+ GB/s sequential reads. &lt;code&gt;ds4&lt;/code&gt; writes session state to disk and &lt;strong&gt;reuses it across runs&lt;/strong&gt;, keyed by SHA1 of token IDs.&lt;/p&gt;

&lt;p&gt;The practical effect: when Claude Code sends its 25k-token system prompt, that prefill happens exactly once, ever. Every subsequent session — including totally different agent runs that happen to share that prefix — reads from disk in milliseconds instead of recomputing from token zero.&lt;/p&gt;

&lt;p&gt;If you’ve used long-context models locally, you know prefill is the slowest thing in the loop. &lt;code&gt;ds4&lt;/code&gt; makes it free after the first hit. That’s the kind of “small change, huge implication” move that took years to normalize. (See also: &lt;a href="https://github.com/antirez/ds4#disk-kv-cache" rel="noopener noreferrer"&gt;the disk-KV section in the ds4 README&lt;/a&gt;.)&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Pure Metal, not CUDA-with-a-shim
&lt;/h3&gt;

&lt;p&gt;There’s no PyTorch, no TensorFlow, no &lt;code&gt;llama.cpp&lt;/code&gt; wrapper layer in the hot path. The compute kernels under &lt;code&gt;metal/*.metal&lt;/code&gt; are &lt;strong&gt;written specifically for this one model on this one architecture&lt;/strong&gt;. The acknowledgments thank &lt;code&gt;llama.cpp&lt;/code&gt; and GGML — &lt;code&gt;ds4&lt;/code&gt; borrows quant layouts and select kernels — but it’s not a fork.&lt;/p&gt;

&lt;p&gt;This narrowness is the point. Generic frameworks pay a tax for being generic. When you commit to one model on one chip, you can hand-tune away that tax. ~27 tok/s on an M3 Max 128 GB. ~32 tok/s on M5 Max. For agent loops on a laptop, that’s plenty.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this matters for compliance-sensitive devs
&lt;/h2&gt;

&lt;p&gt;The same week, I’m still maintaining &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;AirGap AI&lt;/a&gt; — a wi-fi-off, &lt;code&gt;lsof&lt;/code&gt;-audited workflow for analyzing privileged documents (NDAs, client files, PHI, etc.) on a laptop with no outbound connections. Until last week, that was a Llama 3.3 70B story. The capability ceiling was real.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ds4&lt;/code&gt; raises that ceiling materially:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1M-token context&lt;/strong&gt; — entire codebases, full deposition transcripts, complete contract sets, all in-memory in a single conversation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quasi-frontier reasoning&lt;/strong&gt; — if you’ve used Claude Sonnet or Opus, DeepSeek V4 Flash sits in the same neighborhood for most agentic tasks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool calling that works&lt;/strong&gt; — Antirez tested it under coding agents (opencode, Pi, Claude Code) and the tool calls land reliably&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For law firms, medical practices, and compliance-bound shops, the math just changed. You don’t have to choose between “frontier-grade reasoning” and “data never leaves the building.” The hardware exists, the engine exists, the model exists, and the integration with Claude Code exists.&lt;/p&gt;

&lt;p&gt;(If you’re trying to get a bar-association-defensible AI workflow off the ground, &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;the AirGap landing page&lt;/a&gt; is where I keep my notes. The ds4 stack is going in there next week.)&lt;/p&gt;




&lt;h2&gt;
  
  
  How to actually run it
&lt;/h2&gt;

&lt;p&gt;The full stack, all open-source:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Build the engine (Apple Silicon with Metal)&lt;/span&gt;
git clone https://github.com/antirez/ds4
&lt;span class="nb"&gt;cd &lt;/span&gt;ds4 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make

&lt;span class="c"&gt;# 2. Pull the q2 weights (~81 GB)&lt;/span&gt;
./download_model.sh q2

&lt;span class="c"&gt;# 3. Boot the local Anthropic-compatible server&lt;/span&gt;
./ds4-server &lt;span class="nt"&gt;--ctx&lt;/span&gt; 200000 &lt;span class="nt"&gt;--kv-disk-dir&lt;/span&gt; ~/Library/Caches/ds4-kv &lt;span class="se"&gt;\&lt;/span&gt;
             &lt;span class="nt"&gt;--kv-disk-space-mb&lt;/span&gt; 16384

&lt;span class="c"&gt;# 4. Point Claude Code at it&lt;/span&gt;
&lt;span class="nv"&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://127.0.0.1:8000 &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nv"&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;dsv4-local &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nv"&gt;ANTHROPIC_MODEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;deepseek-v4-flash &lt;span class="se"&gt;\&lt;/span&gt;
claude
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or just clone &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;&lt;code&gt;nicedreamzapp/claude-code-local&lt;/code&gt;&lt;/a&gt; — DeepSeek V4 Flash is now the fourth fighter in the lineup, with a &lt;code&gt;claude-ds4&lt;/code&gt; wrapper that handles all of the above for you.&lt;/p&gt;




&lt;h2&gt;
  
  
  What this slots into
&lt;/h2&gt;

&lt;p&gt;This isn’t a one-off. It’s the next click in a longer arc I’ve been writing about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marijuanaunion.com/three-generations-of-running-claude-code-locally-on-a-macbook-what-i-actually-learned/" rel="noopener noreferrer"&gt;Three Generations of Running Claude Code Locally on a MacBook — What I Actually Learned&lt;/a&gt; — the long path from “barely works” to “actually replaces my cloud usage”&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marijuanaunion.com/cloud-ai-coding-costs-keep-climbing-how-to-pay-0-and-still-use-claude-code/" rel="noopener noreferrer"&gt;Cloud AI Coding Costs Keep Climbing — How to Pay $0 and Still Use Claude Code&lt;/a&gt; — the economic angle, before &lt;code&gt;ds4&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://nicedreamzwholesale.com/2026/04/26/claude-subscription-value-10x/" rel="noopener noreferrer"&gt;Pulling 10x My Subscription Value Out of Claude&lt;/a&gt; — what the cloud math actually looks like&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marijuanaunion.com/what-its-actually-like-to-code-by-voice-with-the-ai-replying-in-my-own-cloned-voice/" rel="noopener noreferrer"&gt;What It’s Actually Like to Code By Voice — With the AI Replying In My Own Cloned Voice&lt;/a&gt; — the voice loop these models now plug into&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marijuanaunion.com/your-medical-practice-is-probably-using-cloud-ai-on-phi-right-now-heres-the-hipaa-problem-nobody-is-talking-about/" rel="noopener noreferrer"&gt;Your Medical Practice Is Probably Using Cloud AI on PHI Right Now&lt;/a&gt; — why on-device matters for healthcare&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marijuanaunion.com/if-your-law-firm-is-using-cloud-ai-on-client-files-you-probably-have-a-problem/" rel="noopener noreferrer"&gt;If Your Law Firm Is Using Cloud AI on Client Files, You Probably Have a Problem&lt;/a&gt; — the legal angle&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marijuanaunion.com/a-field-guide-to-ambient-computing-the-words-for-the-thing-thats-coming/" rel="noopener noreferrer"&gt;A Field Guide to Ambient Computing&lt;/a&gt; — the bigger frame this all sits inside&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;ds4&lt;/code&gt; is the engine that finally makes the local-first version of all of those usable for production work. The local agent doesn’t have to pick which workload it’s good at anymore.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where to follow
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🛠️ &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;github.com/nicedreamzapp/claude-code-local&lt;/a&gt; — the lineup, launchers, and benchmarks&lt;/li&gt;
&lt;li&gt;🐳 &lt;a href="https://github.com/antirez/ds4" rel="noopener noreferrer"&gt;github.com/antirez/ds4&lt;/a&gt; — the engine itself&lt;/li&gt;
&lt;li&gt;🌿 &lt;a href="https://marijuanaunion.com" rel="noopener noreferrer"&gt;marijuanaunion.com&lt;/a&gt; — the broader writing on local AI, voice, and ambient computing&lt;/li&gt;
&lt;li&gt;🔒 &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;nicedreamzwholesale.com/airgap&lt;/a&gt; — the compliance-grade workflow notes&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://discord.gg/g7rgabGD9E" rel="noopener noreferrer"&gt;Discord&lt;/a&gt; — NiceDreamzApps server&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;May 9, 2026. The day a single C file caught up to the data centers.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is the technical companion to &lt;a href="https://marijuanaunion.com/i-just-watched-one-hacker-catch-up-to-a-trillion-dollar-data-center/" rel="noopener noreferrer"&gt;the headline piece on Marijuana Union&lt;/a&gt;. Companion video: &lt;a href="https://youtu.be/7l8-s8xkpms" rel="noopener noreferrer"&gt;youtu.be/7l8-s8xkpms&lt;/a&gt;. For local-AI consulting on compliance-sensitive workloads, see &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;AirGap AI&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://nicedreamzwholesale.com/category/ai-computing/" rel="noopener noreferrer"&gt;Nice Dreamz Wholesale&lt;/a&gt;. Run AI locally on your own hardware with &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;claude-code-local&lt;/a&gt;, open source and no cloud required. More at &lt;a href="https://nicedreamzwholesale.com/software/" rel="noopener noreferrer"&gt;nicedreamzwholesale.com/software&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiampcomputing</category>
      <category>ai</category>
      <category>antirez</category>
      <category>applesilicon</category>
    </item>
    <item>
      <title>The IRS Said Yes — and What That Does and Doesn’t Mean</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Thu, 16 Jul 2026 06:10:44 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/the-irs-said-yes-and-what-that-does-and-doesnt-mean-2lnj</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/the-irs-said-yes-and-what-that-does-and-doesnt-mean-2lnj</guid>
      <description>&lt;p&gt;Back on June 3rd I published a piece here saying the Cannabis Device Safety Institute had filed its federal application, and I made a point of leaning on that word — &lt;em&gt;application&lt;/em&gt;. Filed, not granted. Pending, not approved. Not a tax-exempt charity, contributions not deductible, and we’d say so plainly every time, because saying it any other way would be exactly the kind of thing this institute exists to push against.&lt;/p&gt;

&lt;p&gt;So I owe you the update in the same register.&lt;/p&gt;

&lt;p&gt;The IRS granted it. The determination letter is dated June 29, 2026. CDSI is exempt from federal income tax under Section 501(c)(3), classified as a public charity under Section 509(a)(2) — not a private foundation — with the exemption effective April 27, 2026, retroactive to the day the articles were filed. Contributions are deductible under Section 170.&lt;/p&gt;

&lt;p&gt;That’s the whole announcement. Now let me do the part I think matters more, which is being precise about what it does and doesn’t mean.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it doesn’t mean
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;It is not an endorsement.&lt;/strong&gt; Recognition of exemption is a determination about tax status. The IRS did not review our methodology, did not evaluate our off-gas protocol, and has no opinion whatsoever about whether ceramic donut atomizers off-gas at 650°F. No agency has blessed CDSI’s findings, because CDSI hasn’t published findings yet. If you ever see me imply otherwise, call me on it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It doesn’t make CDSI a regulator.&lt;/strong&gt; We’re a private nonprofit. We have no authority over anyone, we can’t compel any manufacturer to do anything, and we’re not seeking a government designation. The model is UL, ASTM, the NFPA Research Foundation — bodies that earned standing by being useful and rigorous, not by being appointed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It doesn’t mean we have a lab — yet.&lt;/strong&gt; Right now CDSI pays accredited independent labs and publishes what comes back. Pay the lab, not pay to pass. But the goal was never to outsource forever: the plan is for this institute to build and run its own testing bench, because the body that writes the methodology should eventually be able to execute it too — and the determination letter is exactly what makes that fundable. Foundation grants and tax-deductible donations can now go toward standing up a lab of our own. If and when that lab exists, nothing about the discipline changes — open methodology, public reports, every conflict on the cover page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It doesn’t finish the paperwork.&lt;/strong&gt; California still treats CDSI as a taxable corporation until a separate state filing goes through. That one’s in an envelope, not a press release.&lt;/p&gt;

&lt;h2&gt;
  
  
  About the timeline, honestly
&lt;/h2&gt;

&lt;p&gt;We filed the full Form 1023 on June 3. The determination is dated June 29 — 26 days later.&lt;/p&gt;

&lt;p&gt;The IRS publishes exactly one number about how long this takes: &lt;em&gt;“We issue 80% of Form 1023 application determinations within 191 days.”&lt;/em&gt; That’s from their own “Where’s my application” page. So: 26 days, against a published benchmark of 191, on the long form rather than the 1023-EZ shortcut, with no request for expedited handling.&lt;/p&gt;

&lt;p&gt;I want to be careful with that number, because it would be very easy to turn it into something it isn’t.&lt;/p&gt;

&lt;p&gt;I can’t tell you it’s a record. Nobody can tell you that, about any organization. The IRS’s public files record determination dates by month only — no day — and carry no application-submitted date at all. The interval literally cannot be computed from public data, including the IRS’s own. So anyone claiming a record in this category is claiming something no dataset could check, and I’d rather not be that guy.&lt;/p&gt;

&lt;p&gt;I also can’t tell you the speed proves the application was good. That’s the flattering read, and I don’t think it survives scrutiny. The IRS has fast-track lanes for straightforward cases, and how big those lanes are isn’t published. The six days between answering their follow-up letter and getting the determination is, as far as I can tell, just the IRS’s own internal rule about how fast a specialist has to close a case once you respond. And the biggest variable — when the application got assigned to a human at all — was completely outside my control and I can’t explain why it happened when it did.&lt;/p&gt;

&lt;p&gt;What I can say is what we actually did, and let you decide if any of it mattered:&lt;/p&gt;

&lt;p&gt;We paid $600 for the long form instead of $275 for the EZ, on purpose, because the EZ doesn’t have room to explain why a fee-for-service testing subsidiary serves a public mission — and filings like ours get bounced back to the long form anyway, months later. The slow-looking choice was the fast one.&lt;/p&gt;

&lt;p&gt;We disclosed the conflicts instead of burying them. The founder of a cannabis hardware standards body builds cannabis hardware. That’s on the record, in the conflict of interest policy, in the state charity filing, and it’ll be on the cover page of every report we publish.&lt;/p&gt;

&lt;p&gt;We went through this site and cut every claim we couldn’t prove — before we filed, not after. No “first,” no “leading,” no partnerships that hadn’t happened. Reviewers read your website. There was nothing to pick at because we’d already picked at it ourselves.&lt;/p&gt;

&lt;p&gt;And when the IRS wrote asking for more information, we answered within hours of opening the envelope instead of sitting on the 28 days we had.&lt;/p&gt;

&lt;p&gt;None of that is clever. It’s just doing the boring things in the right order.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it actually changes
&lt;/h2&gt;

&lt;p&gt;Donations to CDSI are now tax-deductible. That’s real — it means a foundation can fund hardware testing, and an individual who cares about this can help and take the deduction.&lt;/p&gt;

&lt;p&gt;CDSI is registered with the federal government and eligible for federal grants — that happened back on June 23, with the SAM.gov registration going active.&lt;/p&gt;

&lt;p&gt;Put those together and here’s the thing I care about: &lt;strong&gt;the money to characterize this hardware can now exist.&lt;/strong&gt; For fourteen years the reason nobody tested the device was that no one would pay for it. In 2016 I paid a lab out of pocket to run an off-gas test on a concentrate vaporizer because there was no funding source in the world for that work. That’s still the founding artifact of this institute, and it’s still the reason it exists.&lt;/p&gt;

&lt;p&gt;Now there’s a vehicle that can receive that money. That’s what a determination letter is. Not a trophy — plumbing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this goes
&lt;/h2&gt;

&lt;p&gt;The next thing I want to make the case for is bigger than safety, and I’ll write it properly soon.&lt;/p&gt;

&lt;p&gt;It’s this: you cannot honestly answer whether inhaled cannabis helps someone until you know what the device contributed to the dose. Heat a vaporizer and it puts its own chemistry into the same stream carrying the cannabis. So every measured outcome — a contaminant, a symptom, a relief — has two possible sources: the material and the machine. That’s not noise you can fix with more study subjects. It’s an attribution problem, and no sample size touches it.&lt;/p&gt;

&lt;p&gt;Every other measurement science solved this a century ago. The chemist runs a blank before running samples. Nobody doses a patient through an uncharacterized nebulizer. Cannabis research does the equivalent constantly, not out of carelessness, but because no one was ever responsible for the device.&lt;/p&gt;

&lt;p&gt;Which means hardware characterization isn’t adjacent to the medical question. It’s upstream of it. First you characterize the device. Then you have a device you can trust as an instrument. Then — and only then — you can ask what the medicine does to a person and believe the answer.&lt;/p&gt;

&lt;p&gt;It all starts with the devices. Not because the devices matter most. The person matters most. But the device is the part you have to understand first in order to understand any of the rest of it honestly.&lt;/p&gt;

&lt;p&gt;That’s the work. The letter just means we can afford to do it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The Cannabis Device Safety Institute is a California nonprofit public benefit corporation, recognized by the IRS as exempt under IRC § 501(c)(3) and classified as a public charity under § 509(a)(2) (determination letter dated June 29, 2026; EIN 42-2429365). Recognition of exemption is a determination of federal tax status and is not an endorsement of the Institute or its findings by the IRS or any government agency. cdsi.click&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://marijuanaunion.com" rel="noopener noreferrer"&gt;Marijuana Union&lt;/a&gt;. The Cannabis Device Safety Institute is an independent 501(c)(3) nonprofit standards body for cannabis consumption hardware — open methodology, public reports, every conflict of interest on the cover page. Methodology, papers, and the public record: &lt;a href="https://cdsi.click" rel="noopener noreferrer"&gt;cdsi.click&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>blog</category>
    </item>
    <item>
      <title>M5 Max + 128GB = a 30B AI Coding Agent Running Locally. Wi-Fi Off.</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Mon, 29 Jun 2026 17:18:47 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/m5-max-128gb-a-30b-ai-coding-agent-running-locally-wi-fi-off-4ggh</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/m5-max-128gb-a-30b-ai-coding-agent-running-locally-wi-fi-off-4ggh</guid>
      <description>&lt;p&gt;&lt;a href="https://nicedreamzwholesale.com/wp-content/uploads/2026/04/qwen_speed_promo_FINAL.mp4" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The M5 Max MacBook Pro with 128 GB of unified memory is the first laptop that can hold a frontier-class coding agent entirely in RAM. No GPU rack. No cloud. No subscription.&lt;/p&gt;

&lt;p&gt;That clip up top isn’t a render. That’s Qwen 3 Coder — 30 billion parameters, 8-bit MLX — running on this MacBook with the Wi-Fi off. Around 55 tokens per second. Total cost to keep running it: zero.&lt;/p&gt;

&lt;p&gt;The thing that matters more than the spec sheet is &lt;strong&gt;what it actually unlocks.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the M5 Max changes the math
&lt;/h2&gt;

&lt;p&gt;Until now, running a 30B+ parameter model meant a GPU rack — or paying a cloud API per token. The M5 Max changes that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;128 GB unified memory.&lt;/strong&gt; The entire model lives in fast RAM. No GPU offload, no quantization tricks past 8-bit. The CPU and “GPU” share the same memory, so there’s no copy step between them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mixture-of-experts plays perfectly with Apple Silicon.&lt;/strong&gt; Qwen 3 Coder is 30B total but only 3B active per token. That’s a math problem the M5 Max’s memory bandwidth eats for breakfast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MLX runs at near-CUDA speed.&lt;/strong&gt; Apple’s native ML framework hits ~55 tok/s on the 8-bit quant. No CUDA tax, no Nvidia driver politics, no $40,000 GPU bill.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It’s a regular store-bought laptop.&lt;/strong&gt; No GPU rack. No data center. No cloud bill. You can run it on a plane.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This wasn’t possible on a laptop a year ago. It is now.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you can do with it now
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Read a legal contract — and have it never leave your machine.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Most AI tools pipe your document to a server somewhere. With this setup, the bytes don’t leave the laptop. NDAs, supplier agreements, employment contracts — review them at your kitchen table without uploading them to anyone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write production code in a couple of seconds.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The video shows it: real Python function, real Qwen output, no edits. The agent’s tool-calling is good enough to drop into Claude Code’s loop, where it’ll edit files, run shell commands, and iterate. It’s plenty for everything from one-off scripts to refactoring real production code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Analyze patient charts without a HIPAA violation.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
For doctors, therapists, intake clinics — anything with PHI on it — local-only AI isn’t a nice-to-have, it’s the only legal option. Same model, same speed, zero bytes leaving the device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build agents that don’t charge you per call.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This is the one most people sleep on. Pay-per-token cloud APIs make agents expensive to leave running. Once the model is local, you can let an agent loop overnight, hit it with thousands of requests, kick off a watcher that scans your inbox every two minutes — and the cost stays at zero.&lt;/p&gt;

&lt;h2&gt;
  
  
  The full stack
&lt;/h2&gt;

&lt;p&gt;Here’s the receipt:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hardware:&lt;/strong&gt; M5 Max MacBook Pro, 128 GB unified memory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; &lt;a href="https://huggingface.co/lmstudio-community/Qwen3-Coder-30B-A3B-Instruct-MLX-8bit" rel="noopener noreferrer"&gt;Qwen3-Coder-30B-A3B-Instruct-MLX-8bit&lt;/a&gt; — about 30 GB on disk. Mixture-of-experts, ~3B params active per token.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server:&lt;/strong&gt; A small Python proxy at localhost:4000 that speaks the Anthropic Messages API, so the &lt;a href="https://claude.com/claude-code" rel="noopener noreferrer"&gt;Claude Code CLI&lt;/a&gt; thinks it’s talking to the cloud — except it’s talking to a hard drive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Total monthly cost:&lt;/strong&gt; $0 once it’s downloaded.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s it. No Docker, no Kubernetes, no VPS. Just a laptop on a desk.&lt;/p&gt;

&lt;h2&gt;
  
  
  The performance, honestly
&lt;/h2&gt;

&lt;p&gt;The local-AI space is full of overclaims, so the straight numbers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;55 tokens per second&lt;/strong&gt; on a real coding task. Sustained, not peak.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Two seconds&lt;/strong&gt; to write a working find_median() function. Three to four seconds for most refactors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool-calling reliability&lt;/strong&gt; is good enough for the Claude Code agentic loop. Not as locked-in as Sonnet 4.6, but plenty for getting work done.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What it’s not:&lt;/strong&gt; a Sonnet replacement for nuanced reasoning, long contexts, or really tricky debugging. For day-to-day code agent work, it more than holds its own.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why the offline part matters
&lt;/h2&gt;

&lt;p&gt;The reason “Wi-Fi off” keeps coming back in the demo isn’t a gimmick. It’s the whole thesis.&lt;/p&gt;

&lt;p&gt;If a tool needs the internet, three things are true:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Someone else can read what you sent.&lt;/li&gt;
&lt;li&gt;Someone else can charge you for it.&lt;/li&gt;
&lt;li&gt;Someone else can take it away.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the same tool runs locally, none of those are true. That’s a different category of software. Not better at every task — but yours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks — actually run, not cited
&lt;/h2&gt;

&lt;p&gt;Big claims need numbers. So here’s what Qwen 3 Coder 30B-A3B (8-bit MLX) actually scores on this MacBook, run end-to-end against the local localhost:4000 server. Every problem solved by the model, executed in a Python subprocess, scored pass/fail. Pass@1, temperature=0, single sample per problem.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;N&lt;/th&gt;
&lt;th&gt;Pass@1&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HumanEval&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;164/164 (full)&lt;/td&gt;
&lt;td&gt;81.7%&lt;/td&gt;
&lt;td&gt;Python function-completion classic. Saturated benchmark; modern coding models cluster 75–95%. 14 min total wall-clock.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;MBPP&lt;/strong&gt; (sanitized)&lt;/td&gt;
&lt;td&gt;168/427 (sampled)&lt;/td&gt;
&lt;td&gt;83.3%&lt;/td&gt;
&lt;td&gt;Mostly Basic Python Problems. Pass rate was stable since n=120; a few outlier tasks induce very long model responses, so I cut off at 168.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Both runs used pass@1, temperature=0, 10s execution timeout, on the local 8-bit MLX quantization. No retries. No best-of-N tricks. Single sample per problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  For context — what the bigger sibling scores on harder benchmarks
&lt;/h3&gt;

&lt;p&gt;The Qwen team didn’t publish HumanEval/MBPP for any Qwen3-Coder variant — they consider those benchmarks saturated. Their &lt;a href="https://qwenlm.github.io/blog/qwen3-coder/" rel="noopener noreferrer"&gt;official benchmarks&lt;/a&gt; are agentic, and they ran them on the flagship Qwen3-Coder-480B-A35B-Instruct (the bigger sibling, ~16× the active params of the 30B-A3B running on this laptop). For context — here’s what the flagship 480B scores on those harder agentic benchmarks compared to the major closed models:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Agentic Benchmark&lt;/th&gt;
&lt;th&gt;Qwen3-Coder 480B&lt;/th&gt;
&lt;th&gt;Claude Sonnet 4&lt;/th&gt;
&lt;th&gt;GPT-4.1&lt;/th&gt;
&lt;th&gt;DeepSeek-V3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;SWE-bench Verified&lt;/strong&gt; (500-turn)&lt;/td&gt;
&lt;td&gt;69.6&lt;/td&gt;
&lt;td&gt;70.4&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Terminal-Bench&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;37.5&lt;/td&gt;
&lt;td&gt;35.5&lt;/td&gt;
&lt;td&gt;25.3&lt;/td&gt;
&lt;td&gt;2.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;BFCL-v3&lt;/strong&gt; (function calling)&lt;/td&gt;
&lt;td&gt;68.7&lt;/td&gt;
&lt;td&gt;73.3&lt;/td&gt;
&lt;td&gt;62.9&lt;/td&gt;
&lt;td&gt;64.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aider-Polyglot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;61.8&lt;/td&gt;
&lt;td&gt;56.4&lt;/td&gt;
&lt;td&gt;52.4&lt;/td&gt;
&lt;td&gt;56.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WebArena&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;49.9&lt;/td&gt;
&lt;td&gt;51.1&lt;/td&gt;
&lt;td&gt;44.3&lt;/td&gt;
&lt;td&gt;40.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Source: &lt;a href="https://qwenlm.github.io/blog/qwen3-coder/" rel="noopener noreferrer"&gt;Qwen team’s official blog&lt;/a&gt;. The 30B-A3B running on this MacBook is a smaller sibling of the 480B — it trades absolute peak agentic ceiling for fitting in 30 GB and running 24/7 on local hardware. For most coding tasks people actually do in a day, HumanEval/MBPP-class accuracy matters more than the SWE-bench top-line, and on those it sits where it should: useful, fast, local.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this is heading
&lt;/h2&gt;

&lt;p&gt;The next year of the AI conversation isn’t going to be “which model is smartest.” It’s going to be “which workloads belong on your machine, and which belong on someone else’s.”&lt;/p&gt;

&lt;p&gt;Compliance-bound work — legal, medical, financial — is going to move local fast. Code-agent loops will follow because the math (per-call cost vs. zero) is brutal. The M5 Max with 128 GB of unified memory is the laptop that lets that happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it yourself
&lt;/h2&gt;

&lt;p&gt;The launchers are open source on GitHub: &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;nicedreamzapp/claude-code-local&lt;/a&gt;. The README walks through downloading the model and pointing Claude Code at the local server.&lt;/p&gt;

&lt;p&gt;For law firms, medical practices, and accountants that want help getting this running on their own hardware — that’s what &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;AirGap&lt;/a&gt; is. 14-day pilot, fixed scope, the data never leaves your machines.&lt;/p&gt;

&lt;p&gt;— matt&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://nicedreamzwholesale.com/category/ai-computing/" rel="noopener noreferrer"&gt;Nice Dreamz Wholesale&lt;/a&gt;. Run AI locally on your own hardware with &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;claude-code-local&lt;/a&gt;, open source and no cloud required. More at &lt;a href="https://nicedreamzwholesale.com/software/" rel="noopener noreferrer"&gt;nicedreamzwholesale.com/software&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiampcomputing</category>
    </item>
    <item>
      <title>4 AI Models Built the Same Game on One Laptop — and a Local One Beat the Cloud</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Tue, 23 Jun 2026 05:34:34 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/4-ai-models-built-the-same-game-on-one-laptop-and-a-local-one-beat-the-cloud-2efo</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/4-ai-models-built-the-same-game-on-one-laptop-and-a-local-one-beat-the-cloud-2efo</guid>
      <description>&lt;p&gt;&lt;strong&gt;Four AI models. One job: build a playable game. One laptop.&lt;/strong&gt; I gave four different AI models the exact same prompt — build a complete, playable Asteroids game in a single HTML file — and then I actually played what each one built. Three ran entirely on my laptop. One was the cloud, as the benchmark to beat. Here is the whole thing in under a minute.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/y-W0tcVr5OU"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I have been doing a lot of these little head-to-heads lately, and I wanted one where the test was real — not a riddle or a trick question, but an actual build. Give every model the same spec, let it write the whole thing in one shot, then open the file and see if the game actually plays. No cherry-picking, no fixing it up afterward. Either it runs or it doesn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;Everything ran on a MacBook Pro M5 Max with 128 GB of memory. Three of the four models ran 100% local — no internet, nothing leaving the machine — through MLX and llama.cpp. The fourth was Cloud Claude Opus, sitting in a data center, there to set the bar.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Where&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;th&gt;Speed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DeepSeek V4 Flash 284B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local&lt;/td&gt;
&lt;td&gt;300s&lt;/td&gt;
&lt;td&gt;31 tok/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud Claude Opus&lt;/td&gt;
&lt;td&gt;Cloud&lt;/td&gt;
&lt;td&gt;48s&lt;/td&gt;
&lt;td&gt;115 tok/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Qwen3-Coder 30B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local&lt;/td&gt;
&lt;td&gt;33s&lt;/td&gt;
&lt;td&gt;95 tok/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Gemma 4 31B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local&lt;/td&gt;
&lt;td&gt;145s&lt;/td&gt;
&lt;td&gt;26 tok/s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The prompt was identical for all of them: a single self-contained HTML file, vanilla JavaScript, no libraries — a ship that rotates and thrusts, bullets, asteroids that split when you shoot them, screen wrap-around, score, lives, and a game-over screen. One shot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happened
&lt;/h2&gt;

&lt;p&gt;All four wrote a real, working game. That part genuinely surprised me — a few years ago, "write me a complete arcade game in one file" was not something you handed to a model running on a laptop and expected to play afterward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DeepSeek&lt;/strong&gt; built the most polished one. A glowing ship with a thrust trail, a starfield background, asteroids that actually broke apart, hearts for lives. It took the longest, but it played beautifully. &lt;strong&gt;Cloud Claude&lt;/strong&gt; was fast and clean — lives, a level counter, even on-screen control hints. &lt;strong&gt;Qwen3-Coder 30B&lt;/strong&gt; was the speed demon, turning out a solid game in 33 seconds. And &lt;strong&gt;Gemma&lt;/strong&gt; delivered a tidy, working game of its own.&lt;/p&gt;

&lt;h2&gt;
  
  
  The verdict
&lt;/h2&gt;

&lt;p&gt;The winner, to my eye, was DeepSeek — and the part that sticks with me is that it was running &lt;em&gt;locally&lt;/em&gt;, on my desk, and it built a better game than the cloud model. Cloud Claude was excellent and much faster, but on the actual finished product, the local 284B model edged it out.&lt;/p&gt;

&lt;p&gt;The bigger point is the one I keep landing on in everything I write here. Three of these four ran completely offline, for free, on one machine. No subscription, no metered tokens, nothing leaving the laptop. The cloud is still faster, and for a lot of work that speed matters. But "you have to use the cloud or it won't be any good" is just not true anymore. Local AI is catching up, and on this particular test it pulled ahead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run local models yourself (free)
&lt;/h2&gt;

&lt;p&gt;If you want to try this, the abliterated MLX models I have converted for Apple Silicon are all free to pull:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/divinetribe" rel="noopener noreferrer"&gt;My Hugging Face — abliterated MLX models for Apple Silicon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;claude-code-local&lt;/a&gt; — run Claude Code against a local model, no API key.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;The narration in the video is local text-to-speech, and the whole comparison was made on one MacBook. The only thing that touched the cloud was the Cloud Claude baseline.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://nicedreamzwholesale.com/2026/06/23/4-ai-models-built-the-same-game-on-one-laptop-and-a-local-one-beat-the-cloud/" rel="noopener noreferrer"&gt;Nice Dreamz Wholesale&lt;/a&gt;. I convert abliterated MLX models for Apple Silicon — all free at &lt;a href="https://huggingface.co/divinetribe" rel="noopener noreferrer"&gt;my Hugging Face&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>localai</category>
      <category>llm</category>
      <category>deepseek</category>
      <category>applesilicon</category>
    </item>
    <item>
      <title>Eight local AI agents on a Mac mini — and the product I'm building from them</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Tue, 26 May 2026 19:04:03 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/eight-local-ai-agents-on-a-mac-mini-and-the-product-im-building-from-them-1i50</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/eight-local-ai-agents-on-a-mac-mini-and-the-product-im-building-from-them-1i50</guid>
      <description>&lt;p&gt;A case study went around recently: a lawyer had wired up 66 AI agents on a Mac mini for his own firm — every one running locally, nothing touching a cloud API — and was looking for a commercial partner before releasing it as open source.&lt;/p&gt;

&lt;p&gt;I read that and realized I had been building the same shape of thing for my own small business for the last year. Eight ambient agents, all running on Apple Silicon, none of them touching cloud APIs. I had not productized any of them. I had also not gotten paid for any of them.&lt;/p&gt;

&lt;p&gt;This post is about what I'm doing about that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The asset base
&lt;/h2&gt;

&lt;p&gt;I shipped a repo called claude-code-local. It's an MLX server that wraps three local language models (Gemma 4 31B, Llama 3.3 70B, Qwen 3.5 122B MoE) behind an OpenAI-compatible API. The setup script picks the right model for your hardware, downloads it, and puts a launcher on your Desktop. Three commands and you're running a 31-billion-parameter language model on your MacBook.&lt;/p&gt;

&lt;p&gt;It has 2,689 stars and 516 forks as of this writing. License is MIT. The whole thing is at github.com/nicedreamzapp/claude-code-local.&lt;/p&gt;

&lt;p&gt;That's the engine. What I had not built was the funnel.&lt;/p&gt;

&lt;h2&gt;
  
  
  The gap that ate me for a month
&lt;/h2&gt;

&lt;p&gt;Stars are people who think "I would love this." Forks are people who started doing the work. Neither converts to revenue.&lt;/p&gt;

&lt;p&gt;Reading that case study, what jumped out was: a lawyer with the technical chops to wire 66 agents could not productize the result. He has the buyer relationships (he is the buyer); I have the go-to-market background (I've sold consumer hardware direct to customers for years). The intersection nobody is shipping is "Mac mini with this stack pre-installed, delivered to your law firm."&lt;/p&gt;

&lt;p&gt;So I sat down and mapped what was actually missing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The market gap, in numbers
&lt;/h2&gt;

&lt;p&gt;I researched the on-device AI market for May 2026. Here is what I found:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free OSS (Ollama, LM Studio, Jan, Atomic Bot, my own repo): saturated, no money flowing&lt;/li&gt;
&lt;li&gt;Paid Mac App Store apps (Private LLM, Enclave AI, Local LLM): $10-30 one-time, real revenue for bootstrapped 2-person teams&lt;/li&gt;
&lt;li&gt;Cloud SaaS with zero-data-retention (Spellbook, CoCounsel): $69-$149/mo per seat, cloud-not-local&lt;/li&gt;
&lt;li&gt;Enterprise legal AI (Harvey): $1,200+/seat/month&lt;/li&gt;
&lt;li&gt;AI-native law firms (Manifest, Avantia, General Legal): not selling tools, they ARE the firm&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two things stand out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The gap between "free OSS" and "$1,200/seat SaaS" is not being filled by subscription products. Private LLM's App Store reviews explicitly call out "no subscription" as the reason buyers picked them. The privacy buyer rejects recurring billing for privacy software. This is not opinion; it is in their reviews.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Mac mini hardware bundle for privileged work is being built privately but not productized. Nobody is shipping it as a SKU.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That is the gap. That is what I am putting a product against.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ladder
&lt;/h2&gt;

&lt;p&gt;I'm skipping the standard SaaS playbook because the market is telling me to. The privacy buyer rejects recurring billing — so the spine is one-time purchases, not subscriptions:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rung&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Audience&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free repo&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;Existing OSS audience, top of funnel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AirGap Box&lt;/td&gt;
&lt;td&gt;$2,995 (Base) / $3,995 (Pro)&lt;/td&gt;
&lt;td&gt;Small firms wanting sovereignty without DIY&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Foundation consulting&lt;/td&gt;
&lt;td&gt;scoped&lt;/td&gt;
&lt;td&gt;Firms ready for deeper, white-glove deployment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The free repo gets you curious. The Box converts the firms who would rather pay $3k than learn MLX. Foundation is for the firms that want it installed, tuned, and documented for their compliance counsel.&lt;/p&gt;

&lt;h2&gt;
  
  
  The three core agents
&lt;/h2&gt;

&lt;p&gt;Three agents that drop on top of any OpenAI-compatible local LLM server (the free claude-code-local repo by default, but they work with Ollama and others too) — and ship pre-installed on the Box:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Folder Watcher — drop a PDF, text, or Markdown file into ~/AirGap-Inbox/. Within 30 seconds, a structured Markdown summary appears in _summaries/. Uses macOS's textutil and mdimport for PDFs and docx without external dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Daily Briefing — every morning at 7:00 a LaunchAgent reads the folders you list in a config file and writes a one-page digest of what changed in the last 24 hours.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Local Q&amp;amp;A — a CLI command &lt;code&gt;airgap ask "your question"&lt;/code&gt; that answers from a single document you point it at, fully offline. Folder-wide indexing and citations across many files is on the roadmap — not something I'd oversell today.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The whole set is ~300 lines of Python. The installer is a &lt;code&gt;.command&lt;/code&gt; file you double-click. Total install time: under 60 seconds on the right hardware.&lt;/p&gt;

&lt;p&gt;I deliberately built them with zero authentication required. No IMAP credentials, no OAuth dance, no API keys — the install works for everyone on day one. The agents that need credentials (email drafting, Reddit lurking, calendar parsing) run on my own machines and ship in the AirGap Box, where there's a setup call to wire them up properly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's in the AirGap Box
&lt;/h2&gt;

&lt;p&gt;The same stack on a Mac mini that arrives at your office. Pre-installed: claude-code-local MLX server, the three core agents, two more that need credentials (email drafter, prompt library), a default-blocked firewall, and a printed compliance memo template.&lt;/p&gt;

&lt;p&gt;Base ($2,995): Mac mini M4 16GB, Gemma 4 31B preloaded.&lt;br&gt;
Pro ($3,995): Mac mini M4 Pro 24GB, Llama 3.3 70B preloaded.&lt;/p&gt;

&lt;p&gt;Both include a 90-minute Zoom setup call and 30 days of email support. After that, you have a working private-AI workstation. We do not phone home. We do not see your data.&lt;/p&gt;

&lt;p&gt;COGS on the base unit is around $940. Margin around 69%. Cash-flow safe because Stripe charges at purchase; hardware ordered after.&lt;/p&gt;

&lt;h2&gt;
  
  
  Validation before scale
&lt;/h2&gt;

&lt;p&gt;I am not ordering inventory on speculation. The plan is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Day 0: launch publicly, with the Box gated by a waitlist (no checkout yet)&lt;/li&gt;
&lt;li&gt;Day 7: first review — Box waitlist signups&lt;/li&gt;
&lt;li&gt;Day 14: hard gate on Box — 20+ verified emails or we revisit positioning&lt;/li&gt;
&lt;li&gt;Day 30: full P&amp;amp;L review, decide whether to scale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the Box waitlist hits 20 in 14 days, I order the first 3 Mac minis. If it hits 5, I have not validated the rung; I revisit positioning before spending hardware money.&lt;/p&gt;

&lt;p&gt;This is the part the grifter posts skip. "I made $14,200/month in 72 hours" is not a thing that happens to honest businesses. What happens to honest businesses is "I opened a waitlist, watched signups for two weeks, decided whether to order inventory based on actual demand, and reported the real numbers."&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest year-1 range
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Month&lt;/th&gt;
&lt;th&gt;Pessimistic&lt;/th&gt;
&lt;th&gt;Realistic&lt;/th&gt;
&lt;th&gt;Stretch&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;$400&lt;/td&gt;
&lt;td&gt;$2,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;$200&lt;/td&gt;
&lt;td&gt;$1,500&lt;/td&gt;
&lt;td&gt;$6,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;$800&lt;/td&gt;
&lt;td&gt;$3,500&lt;/td&gt;
&lt;td&gt;$12,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;$1,500&lt;/td&gt;
&lt;td&gt;$6,000-8,000&lt;/td&gt;
&lt;td&gt;$20,000+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To hit the grifter's $14k/month claim, every rung needs to perform near the top of its range AND consulting needs to land. That happens in months 12-18 with discipline, not in 72 hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I will publish honestly
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Weekly waitlist + signup numbers (real, not vanity)&lt;/li&gt;
&lt;li&gt;The first refund (when it happens) and why&lt;/li&gt;
&lt;li&gt;The first Box install case study (with the firm's permission)&lt;/li&gt;
&lt;li&gt;The Box waitlist → order conversion, as it happens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to see whether this business works, follow along on github.com/nicedreamzapp/claude-code-local and the AirGap landing pages. I'll post the numbers as they happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Free repo: github.com/nicedreamzapp/claude-code-local&lt;/li&gt;
&lt;li&gt;AirGap Box waitlist: nicedreamzwholesale.com/airgap-box&lt;/li&gt;
&lt;li&gt;Demo (NDA review on a laptop with Wi-Fi physically off, lsof on screen): youtube.com/watch?v=V_J1LpNGwmY&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why I'm posting this
&lt;/h2&gt;

&lt;p&gt;Because the next person to read a case study like that and think "I want this" deserves to find a productized version, not another Hacker News thread about MLX setup. And because every honest version of this story I publish is also a receipt — for me, that I built something real, and for the next builder, that the playbook works.&lt;/p&gt;

&lt;p&gt;If you have feedback on the pricing, the positioning, or the agents, leave a comment. I read everything.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm building AirGap — pre-configured local AI on a Mac mini for firms handling private work. &lt;a href="https://nicedreamzwholesale.com/airgap-box" rel="noopener noreferrer"&gt;Join the AirGap Box waitlist&lt;/a&gt;, grab the &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;free open-source stack&lt;/a&gt;, or see &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;AirGap consulting&lt;/a&gt; for compliance-sensitive firms (law, medical, finance).&lt;/em&gt;&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>opensource</category>
      <category>macos</category>
      <category>ai</category>
    </item>
    <item>
      <title>HumanEval on a MacBook — 81.7% pass@1, Wi-Fi off</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Wed, 29 Apr 2026 18:11:49 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/humaneval-on-a-macbook-817-pass1-wi-fi-off-22ap</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/humaneval-on-a-macbook-817-pass1-wi-fi-off-22ap</guid>
      <description>&lt;p&gt;The M5 Max MacBook Pro with 128 GB of unified memory is the first laptop that can hold a frontier-class coding agent entirely in RAM. No GPU rack. No cloud. No subscription.&lt;/p&gt;

&lt;p&gt;I just ran HumanEval on it. Wi-Fi off the entire run.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;81.7% pass@1&lt;/strong&gt; on the full 164-problem benchmark&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen 3 Coder 30B-A3B-Instruct&lt;/strong&gt; (8-bit MLX)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;14 minutes&lt;/strong&gt; wall-clock, &lt;strong&gt;$0/month&lt;/strong&gt; after the model download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;YouTube walkthrough (three real problems, code streaming live, tests going green):&lt;br&gt;
&lt;strong&gt;&lt;a href="https://www.youtube.com/watch?v=muq7VdgxqRk" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=muq7VdgxqRk&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this number matters
&lt;/h2&gt;

&lt;p&gt;The Qwen team didn't publish HumanEval scores for any Qwen3-Coder variant — they consider the benchmark saturated and went straight to agentic ones (SWE-bench Verified, BFCL, Aider-Polyglot). For the 30B variant — the one that actually fits on a laptop — there were no published HumanEval/MBPP numbers. Until this run.&lt;/p&gt;

&lt;p&gt;I also ran &lt;strong&gt;MBPP (sanitized): 83.3% pass@1&lt;/strong&gt; on a 168-problem sample. Pass rate stable since n=120; full 427-run was impractical because a few outlier tasks induce very long model responses (10+ minutes each).&lt;/p&gt;

&lt;h2&gt;
  
  
  Methodology
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Benchmark&lt;/td&gt;
&lt;td&gt;HumanEval — 164 Python tasks (full)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Metric&lt;/td&gt;
&lt;td&gt;pass@1 (first attempt only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Temperature&lt;/td&gt;
&lt;td&gt;0.0 — deterministic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sampling&lt;/td&gt;
&lt;td&gt;single sample per problem, no best-of-N&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Execution&lt;/td&gt;
&lt;td&gt;Python subprocess, 10s timeout&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hardware&lt;/td&gt;
&lt;td&gt;M5 Max MacBook Pro · 128 GB unified memory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model&lt;/td&gt;
&lt;td&gt;Qwen3-Coder-30B-A3B-Instruct-MLX-8bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network&lt;/td&gt;
&lt;td&gt;Wi-Fi &lt;strong&gt;OFF&lt;/strong&gt; the entire run&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wall clock&lt;/td&gt;
&lt;td&gt;14 minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  For context — Qwen3-Coder 480B's official agentic benchmarks
&lt;/h2&gt;

&lt;p&gt;The Qwen team's published numbers for the 480B flagship sibling (the bigger sibling of the 30B running on this MacBook):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Qwen3-Coder 480B&lt;/th&gt;
&lt;th&gt;Claude Sonnet 4&lt;/th&gt;
&lt;th&gt;GPT-4.1&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench Verified (500-turn)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;69.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;70.4&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;37.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;35.5&lt;/td&gt;
&lt;td&gt;25.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BFCL-v3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;68.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;73.3&lt;/td&gt;
&lt;td&gt;62.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aider-Polyglot&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;61.8&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;56.4&lt;/td&gt;
&lt;td&gt;52.4&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Source: &lt;a href="https://qwenlm.github.io/blog/qwen3-coder/" rel="noopener noreferrer"&gt;Qwen team's official blog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the offline part matters
&lt;/h2&gt;

&lt;p&gt;If a tool needs the internet, three things are true:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Someone else can read what you sent.&lt;/li&gt;
&lt;li&gt;Someone else can charge you for it.&lt;/li&gt;
&lt;li&gt;Someone else can take it away.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the same tool runs locally, none of those are true. That's a different category of software — and for law firms, medical practices, and accountants handling client material, it's the only legal one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproduce it yourself
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Open-source launchers: &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;github.com/nicedreamzapp/claude-code-local&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;HumanEval dataset: &lt;a href="https://github.com/openai/human-eval" rel="noopener noreferrer"&gt;github.com/openai/human-eval&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Hardware: any M-series MacBook with ≥32 GB RAM (128 GB Max preferred for full 8-bit weights)&lt;/li&gt;
&lt;li&gt;Total monthly cost: &lt;strong&gt;$0&lt;/strong&gt; after the model download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For law firms, medical practices, and accountants who want help getting this stack running on their own hardware — that's what &lt;a href="https://nicedreamzwholesale.com/airgap" rel="noopener noreferrer"&gt;AirGap&lt;/a&gt; is. 14-day pilot, fixed scope, the data never leaves your machines.&lt;/p&gt;

&lt;p&gt;— matt&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://marijuanaunion.com" rel="noopener noreferrer"&gt;Marijuana Union&lt;/a&gt;. For premium vaporizers visit &lt;a href="https://ineedhemp.com" rel="noopener noreferrer"&gt;iNeedHemp&lt;/a&gt;, wholesale at &lt;a href="https://nicedreamzwholesale.com" rel="noopener noreferrer"&gt;Nice Dreamz&lt;/a&gt;, and seeds at &lt;a href="https://tribeseedbank.com" rel="noopener noreferrer"&gt;Tribe Seed Bank&lt;/a&gt;. Explore the 3D cannabis marketplace at &lt;a href="https://marijuanaunion.com/marketplace/" rel="noopener noreferrer"&gt;The Farmstand&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>benchmark</category>
      <category>macbook</category>
    </item>
    <item>
      <title>Free AI on a MacBook vs $100-a-Month Claude Code — Hexagon Shootout</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Thu, 23 Apr 2026 04:32:47 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/free-ai-on-a-macbook-vs-100-a-month-claude-code-hexagon-shootout-5h1o</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/free-ai-on-a-macbook-vs-100-a-month-claude-code-hexagon-shootout-5h1o</guid>
      <description>&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=2KeTDDodE0A" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kv4avef0epmb8pv5jbv.jpg" alt="FREE AI on a MacBook vs Claude Cloud — Hexagon Shootout" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;▶ Watch the race on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=2KeTDDodE0A" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=2KeTDDodE0A&lt;/a&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;April 22, 2026.&lt;/strong&gt; Anthropic's Claude Code Max plan jumped to $100 a month. I ran a live three-way AI race on the exact same prompt — Gemma 31B local, Llama 70B local, and Claude cloud — on a single MacBook, to see how close a free local stack gets to the paid cloud. Two of three contestants finished with zero cloud calls.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you just want the video, it's here: &lt;a href="https://www.youtube.com/watch?v=2KeTDDodE0A" rel="noopener noreferrer"&gt;FREE AI on a MacBook vs Claude Cloud — Hexagon Shootout&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you want the repo, it's here: &lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;github.com/nicedreamzapp/claude-code-local&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Keep reading for the setup, the numbers, and the three things that surprised me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup — same prompt, three contestants
&lt;/h2&gt;

&lt;p&gt;Hardware: M5 Max MacBook Pro, 128 GB unified memory, Apple Silicon.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 31B&lt;/strong&gt; — local, Apple MLX, 4-bit quantized (Google's code-specialized model)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Llama 70B&lt;/strong&gt; — local, Apple MLX, 8-bit quantized (Meta's generalist)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude cloud&lt;/strong&gt; — the real Anthropic API, using Claude Code unchanged&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Same prompt to every contestant:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Build a single HTML file with inline JavaScript that shows a ball bouncing inside a rotating hexagon. Include gravity and realistic bounce physics.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Simple enough that the answer should be a few kilobytes of code. Interesting enough that it exposes how well a model handles real math — collision detection against rotating geometry, energy conservation, boundary clamping. When models trip, they trip here.&lt;/p&gt;

&lt;p&gt;Every run was recorded end-to-end with a live stats panel: elapsed seconds, output bytes, tokens-per-second. No cherry-picking, no post-hoc edits to the physics code, no "here's what it SHOULD have said." What you see is what came out.&lt;/p&gt;

&lt;h2&gt;
  
  
  The results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Contestant&lt;/th&gt;
&lt;th&gt;Time to ship working HTML&lt;/th&gt;
&lt;th&gt;Tokens/sec&lt;/th&gt;
&lt;th&gt;Cloud calls&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude cloud&lt;/td&gt;
&lt;td&gt;22 s&lt;/td&gt;
&lt;td&gt;N/A (data center)&lt;/td&gt;
&lt;td&gt;yes (via API)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 31B local&lt;/td&gt;
&lt;td&gt;56 s&lt;/td&gt;
&lt;td&gt;~30&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;zero&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Llama 70B local&lt;/td&gt;
&lt;td&gt;2:17&lt;/td&gt;
&lt;td&gt;~11&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;zero&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Claude cloud finished first — it's a data center somewhere. Gemma 31B finished clean in under a minute with working physics. Llama 70B took the longest and produced the most verbose output, but also landed a working demo in the end.&lt;/p&gt;

&lt;p&gt;The headline isn't that one is "best." It's that two of the three ran with Wi-Fi that could have been off the entire time. That's the number that matters for anyone dealing with NDAs, PHI, client files, or just a flight without connectivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three things that surprised me
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Bigger isn't better when "bigger" is a generalist
&lt;/h3&gt;

&lt;p&gt;I went in expecting Llama 70B to beat Gemma 31B on code quality. It's more than twice the parameter count. Gemma beat Llama cleaner and faster on this specific task.&lt;/p&gt;

&lt;p&gt;Why: Gemma 4 is a Google model fine-tuned heavily for coding and math. Llama 3.3 70B is Meta's generalist — it's excellent at conversation, reasoning, creative writing, but it wasn't tuned to punch above its weight on HTML canvas physics.&lt;/p&gt;

&lt;p&gt;If you're buying a local model for coding, you're better off with a 30B that's code-tuned than a 70B that's general. Don't count parameters, read the model card.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Claude Code's harness chokes local models
&lt;/h3&gt;

&lt;p&gt;Claude Code (the CLI agent) sends a 29,000-token system prompt with 60 tool schemas in every request. That's tuned for the cloud — where a frontier model can happily chew through 30K tokens of context before even starting. On a local 70B, that prefill takes a minute or two before generation begins.&lt;/p&gt;

&lt;p&gt;When I bypassed Claude Code and hit the MLX server directly with just the prompt, Llama 70B's wall-clock time dropped from 7+ minutes to under 2.&lt;/p&gt;

&lt;p&gt;The tradeoff: without Claude Code's harness you lose the Write/Edit/Bash tool-use loop, so you can't use Claude Code as an agent, only as a generator. For research, benchmarking, or any single-shot prompt, direct is way faster. For actual coding sessions, the overhead is real but it's what buys you the agent loop.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Circle-approximation collision is the cheat code
&lt;/h3&gt;

&lt;p&gt;All three models eventually produced a bouncing ball. The ones that worked used &lt;strong&gt;circle-approximation collision&lt;/strong&gt; — treat the hexagon as a circle of its apothem radius for collision purposes, reflect velocity when the ball exceeds that radius, clamp the ball back to exactly inside. Five lines of math, reliable, hexagon can rotate as wildly as you want.&lt;/p&gt;

&lt;p&gt;The ones that failed tried to do proper polygon-edge collision — compute the six edges of the rotating hexagon each frame, compute point-to-line distance for each, reflect off the appropriate edge. That's the "right" way, and it fails constantly because floating-point error lets the ball slip through edges during the rotation, and then the model doesn't know how to clamp it back.&lt;/p&gt;

&lt;p&gt;I wouldn't have predicted this. The "simple" approximation is strictly better for the demo because it can't leak. For anything more complex than one ball, the polygon approach is necessary — but for a benchmark, approximation wins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who should care
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Developers&lt;/strong&gt; on laptops with 64+ GB of Apple Silicon unified memory: you can run this today, your hardware already supports it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anyone dealing with confidential work&lt;/strong&gt; — lawyers, accountants, doctors, contractors handling NDAs or PHI: the cost isn't $0 vs $100, it's "does your data leave the machine" vs "does it not."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frequent flyers and people who travel to places with bad internet&lt;/strong&gt;: a 70B model on a laptop keeps working when the plane's Wi-Fi is $18 and throttled.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anyone curious whether Apple's bet on unified memory was actually about AI&lt;/strong&gt;: it was.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to run it yourself
&lt;/h2&gt;

&lt;p&gt;The repo is MIT licensed and open source. Full setup is in the README:&lt;/p&gt;

&lt;p&gt;→ &lt;strong&gt;&lt;a href="https://github.com/nicedreamzapp/claude-code-local" rel="noopener noreferrer"&gt;github.com/nicedreamzapp/claude-code-local&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project pairs a native-MLX Anthropic-API-compatible server with Claude Code. Point Claude Code at &lt;code&gt;localhost:4000&lt;/code&gt; and the official CLI talks to your local model as if it were the cloud API. Swap models with one env var. Ship code without the subscription.&lt;/p&gt;

&lt;p&gt;Around 2,000 stars in the first month. If it's useful, a star helps.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Claude cloud: $100/mo, 22 seconds to a working hexagon.&lt;/li&gt;
&lt;li&gt;Gemma 31B on my MacBook: $0, 56 seconds to a working hexagon.&lt;/li&gt;
&lt;li&gt;Llama 70B on my MacBook: $0, 2:17 to a working hexagon.&lt;/li&gt;
&lt;li&gt;Two of three ran with zero cloud calls.&lt;/li&gt;
&lt;li&gt;Free AI on Apple Silicon is real, now, for a huge slice of what people use cloud APIs for.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The receipts, in video form: &lt;a href="https://www.youtube.com/watch?v=2KeTDDodE0A" rel="noopener noreferrer"&gt;youtube.com/watch?v=2KeTDDodE0A&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://marijuanaunion.com" rel="noopener noreferrer"&gt;Marijuana Union&lt;/a&gt;. For premium vaporizers visit &lt;a href="https://ineedhemp.com" rel="noopener noreferrer"&gt;iNeedHemp&lt;/a&gt;, wholesale at &lt;a href="https://nicedreamzwholesale.com" rel="noopener noreferrer"&gt;Nice Dreamz&lt;/a&gt;, and seeds at &lt;a href="https://tribeseedbank.com" rel="noopener noreferrer"&gt;Tribe Seed Bank&lt;/a&gt;. Explore the 3D cannabis marketplace at &lt;a href="https://marijuanaunion.com/marketplace/" rel="noopener noreferrer"&gt;The Farmstand&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>localllama</category>
      <category>mlx</category>
      <category>applesilicon</category>
    </item>
    <item>
      <title>"It Comes Out Of The Gate Very Fast": Disclosure Day Is An Action Movie</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Mon, 20 Apr 2026 08:03:25 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/it-comes-out-of-the-gate-very-fast-disclosure-day-is-an-action-movie-ff2</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/it-comes-out-of-the-gate-very-fast-disclosure-day-is-an-action-movie-ff2</guid>
      <description>&lt;p&gt;The moment Universal released the December 2025 teaser — wide Kansas sky, a meteorologist tilting her head, one note of John Williams score — the internet settled on an idea of what &lt;em&gt;Disclosure Day&lt;/em&gt; was going to be. Slow. Sparse. Grown-up Spielberg. The &lt;em&gt;Close Encounters&lt;/em&gt; of 2026. A film where the camera dwells on faces looking up, and we watch the sky go strange.&lt;/p&gt;

&lt;p&gt;That idea was half right. Per &lt;a href="https://www.empireonline.com/movies/news/disclosure-day-action-movie-steven-spielberg-very-fast-exclusive/" rel="noopener noreferrer"&gt;Empire's exclusive&lt;/a&gt; for the June 2026 issue, Spielberg has other plans for the first 30 minutes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This movie comes out of the gate very fast. People who are expecting another slow-burn first act — this is not that movie."— Steven Spielberg to Empire&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What We Know About the Opening
&lt;/h2&gt;

&lt;p&gt;Based on the CinemaCon footage, the Super Bowl trailer, and the Empire cover package, the opening stretch of &lt;em&gt;Disclosure Day&lt;/em&gt; includes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A cold open in medias res.&lt;/strong&gt; The first image, per reporters who saw the CinemaCon reel, is not a Kansas cornfield. It's a door being kicked in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Josh O'Connor's fugitive run.&lt;/strong&gt; Daniel Kellner already has the disclosure file when we meet him. He is not discovering anything in act one. He is running with it. This is a huge structural shift from how contact films usually work — the secret is already out, and the movie is about containment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A car-chase-onto-a-train sequence.&lt;/strong&gt; Confirmed by IMDb trivia and hinted at by O'Connor himself ("a car chase that is going to melt people"). The action staging is reportedly why Janusz Kamiński's second unit was in New Jersey for eleven weeks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Kansas City weather broadcast.&lt;/strong&gt; The "click" sequence with Emily Blunt — previously assumed to be the film's quiet centerpiece — is actually in the first act. It's the inciting event, not the climax.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Spielberg Pivoted
&lt;/h2&gt;

&lt;p&gt;David Koepp's prior Spielberg collaborations — &lt;em&gt;Jurassic Park&lt;/em&gt;, &lt;em&gt;War of the Worlds&lt;/em&gt;, &lt;em&gt;Indiana Jones and the Crystal Skull&lt;/em&gt; — are all structured around the escalation of chase and threat. Koepp is not a meditative writer. He is a propulsion writer.&lt;/p&gt;

&lt;p&gt;Spielberg telling Empire that the audience expectations have "caught up" to where the culture is means something specific: in 2026, the public already knows there are congressional UAP hearings happening. They already know Grusch testified. The movie does not need to spend 45 minutes establishing that something strange is going on in the sky. The audience is already there. So Spielberg is skipping that act and starting with the consequences.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Close Encounters Comparison Breaks
&lt;/h2&gt;

&lt;p&gt;If &lt;em&gt;Close Encounters of the Third Kind&lt;/em&gt; spent half its runtime building to the Devils Tower meeting, &lt;em&gt;Disclosure Day&lt;/em&gt; inverts it. The contact is the premise, not the ending. The film is about what happens to Margaret Fairchild, Daniel Kellner, Noah Scanlon, and a handful of other ordinary people once the signal has arrived and the cover has failed.&lt;/p&gt;

&lt;p&gt;That is why Blunt's quote about "questions posed by &lt;em&gt;Close Encounters&lt;/em&gt;" being "answered" works. &lt;em&gt;Disclosure Day&lt;/em&gt; doesn't repeat the 1977 film's arc. It picks up where that film ended — and runs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Means for the Box Office
&lt;/h2&gt;

&lt;p&gt;Universal's tracking reportedly pushed for a more actioned-up back half of the marketing campaign after CinemaCon. Expect the next trailer — which Variety says is locked for early May — to lead with O'Connor running, cars flipping, and Firth's Wardex team closing in. The "look up at the sky" imagery isn't going away. It's just no longer the only mode. &lt;em&gt;Disclosure Day&lt;/em&gt; is a summer action movie with a philosophical third act, not the other way around.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sources
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.empireonline.com/movies/news/disclosure-day-action-movie-steven-spielberg-very-fast-exclusive/" rel="noopener noreferrer"&gt;Empire — Disclosure Day Is An Action Movie That Comes Out Of The Gate Very Fast&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://artthreat.net/21411-80045-disclosure-day-director-steven-spielberg-reveals-action-packed-sci-fi-thriller-d/" rel="noopener noreferrer"&gt;Art Threat — Action-Packed Sci-Fi Thriller&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gizmodo.com/disclosure-day-stephen-spielberg-chacter-details-2000742142" rel="noopener noreferrer"&gt;Gizmodo — Mysterious Main Characters&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure Day&lt;/em&gt; opens in theaters and IMAX on June 12, 2026.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://disclosureday.nicedreamzwholesale.com" rel="noopener noreferrer"&gt;Disclosure Day Hub&lt;/a&gt; — the fan-built resource tracking Steven Spielberg's UFO film (June 12, 2026). Explore the full &lt;a href="https://disclosureday.nicedreamzwholesale.com/news-hub.html" rel="noopener noreferrer"&gt;news hub&lt;/a&gt;, &lt;a href="https://disclosureday.nicedreamzwholesale.com/cast-guide.html" rel="noopener noreferrer"&gt;cast guide&lt;/a&gt;, and &lt;a href="https://disclosureday.nicedreamzwholesale.com/interviews.html" rel="noopener noreferrer"&gt;interview archive&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>disclosureday</category>
      <category>actionmovie</category>
      <category>spielberg</category>
      <category>openingscene</category>
    </item>
    <item>
      <title>Inside Empire's Disclosure Day Cover Story: Every Quote That Matters</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Mon, 20 Apr 2026 08:03:23 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/inside-empires-disclosure-day-cover-story-every-quote-that-matters-54pp</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/inside-empires-disclosure-day-cover-story-every-quote-that-matters-54pp</guid>
      <description>&lt;p&gt;Empire's June 2026 issue hits newsstands this week with &lt;em&gt;Disclosure Day&lt;/em&gt; on the cover and a feature package inside that does something Universal's marketing has not so far: it tells us who the characters actually are, what the film feels like, and why everyone involved keeps using the word "reckoning."&lt;/p&gt;

&lt;p&gt;The headlines from the piece are already everywhere — Emily Blunt saying the film answers &lt;em&gt;Close Encounters&lt;/em&gt; questions, Spielberg calling it an action movie that "comes out of the gate very fast." But the full interview set is richer than the pull-quotes, and lays out the strongest picture we have of the film two months out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steven Spielberg
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Steven Spielberg
&lt;/h3&gt;

&lt;p&gt;Director&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I've been waiting a long time to tell a story where the visitors don't come as the answer to our loneliness — they come as the answer to a question we're finally ready to ask."On the film's central idea&lt;/p&gt;

&lt;p&gt;"I always said I guarantee life in the universe. What I couldn't do in 1977, and what I can do now, is show what happens when that guarantee stops being abstract."On 50 years since Close Encounters&lt;/p&gt;

&lt;p&gt;"David [Koepp] and I rewrote the third act three times during production. Every time a congressional hearing happened, we adjusted. The world kept getting closer to the movie."On the real-world UAP conversation&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Emily Blunt — Margaret Fairchild
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Emily Blunt
&lt;/h3&gt;

&lt;p&gt;Meteorologist / Conduit&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"There are definitely questions posed by &lt;em&gt;Close Encounters&lt;/em&gt; that are answered in &lt;em&gt;Disclosure Day&lt;/em&gt;."The quote that launched a thousand Reddit threads&lt;/p&gt;

&lt;p&gt;"Margaret is a local Kansas City weather anchor. She is extremely ordinary until extremely un-ordinary things start happening through her. That's the movie."On her character&lt;/p&gt;

&lt;p&gt;"The broadcast scene took five days to shoot. Steven wouldn't tell me what sound I was going to make until the morning of. I had to show up and let my body become it."On the now-famous "click" sequence&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Josh O'Connor — Daniel Kellner
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Josh O'Connor
&lt;/h3&gt;

&lt;p&gt;Cybersecurity expert / Whistleblower&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Daniel works for the agency that has been keeping the secret. He's young, he's a little arrogant, he's been told he can handle it, and then he handles it and realizes the people he works for never should have been handling it."On his character's arc&lt;/p&gt;

&lt;p&gt;"It's old-school Spielberg. I say this to everyone. It feels like the movies that made me want to act. There is a car chase in this film that is going to melt people."On the film's tone&lt;/p&gt;

&lt;p&gt;"Colin plays my boss. So you know going in one of us isn't making it out."On working with Colin Firth&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Colin Firth — Noah Scanlon
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Colin Firth
&lt;/h3&gt;

&lt;p&gt;CEO of Wardex&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Noah is not a villain. He is a man who was handed a file in 1987 and told he was now responsible for the most consequential secret in human history. What he does with it over forty years — that is the film."On his character&lt;/p&gt;

&lt;p&gt;"The chair scene that everyone has been talking about from the first-look images — I will not tell you what it is. I will tell you that it is not what you think."On the 'mind control device' image&lt;/p&gt;

&lt;p&gt;"You don't say no to Steven. You just don't. He called me on a Sunday, explained the film in fifteen minutes, and I agreed on the call."On being cast&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Colman Domingo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Colman Domingo
&lt;/h3&gt;

&lt;p&gt;[Role kept under wraps by Universal]&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I bawled reading the script. I bawled again on set. I will probably bawl in the theater. This is a movie about humanity being seen."On his emotional response&lt;/p&gt;

&lt;p&gt;"My character walks into the third act and the floor drops. That's all I can say. Steven made me promise."On third-act secrecy&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Eve Hewson — Jane Blankenship
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Eve Hewson
&lt;/h3&gt;

&lt;p&gt;Daniel's girlfriend&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Jane is the audience. She loves Daniel and she has no idea what he's carrying. When she finds out, she has to decide if the world is worth saving — or if she just wants him safe. That choice is the heart of the film."On her character&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  David Koepp — Screenwriter
&lt;/h2&gt;

&lt;h3&gt;
  
  
  David Koepp
&lt;/h3&gt;

&lt;p&gt;Writer (Jurassic Park, War of the Worlds)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Steven told me he wanted a thriller that worked on its own — you don't need to know anything about Close Encounters, UAPs, or the AARO reports to follow it. But if you do, there's a second film playing underneath the first one."On the film's dual-layer design&lt;/p&gt;

&lt;p&gt;"I keep getting asked if &lt;em&gt;Disclosure Day&lt;/em&gt; is a &lt;em&gt;Close Encounters&lt;/em&gt; sequel. My honest answer: not officially. But the same gate is open in both films."On the Close Encounters connection&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Takeaway
&lt;/h2&gt;

&lt;p&gt;The Empire cover story accomplishes what six months of trailer drops couldn't: it makes the film feel like a piece of writing rather than a piece of hype. Every cast member circles the same word — "reckoning" — and every one of them declines to say what the third act actually is. Between Blunt's Close Encounters line, Firth's "not what you think" on the chair scene, and Koepp's "same gate is open in both films," the reading public now has enough to triangulate, and not enough to spoil.&lt;/p&gt;

&lt;p&gt;That's exactly where Universal wants the conversation sitting on April 20, 2026. Eight weeks to release.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sources
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.empireonline.com/movies/news/disclosure-day-answers-questions-close-encounters-emily-blunt-exclusive/" rel="noopener noreferrer"&gt;Empire — Emily Blunt: Disclosure Day Answers Close Encounters Questions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.empireonline.com/movies/news/disclosure-day-action-movie-steven-spielberg-very-fast-exclusive/" rel="noopener noreferrer"&gt;Empire — An Action Movie That Comes Out of the Gate Very Fast&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gizmodo.com/disclosure-day-stephen-spielberg-chacter-details-2000742142" rel="noopener noreferrer"&gt;Gizmodo — Who the Mysterious Main Characters Are&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.space.com/entertainment/space-movies-shows/disclosure-day-release-date-plot-cast-and-everything-else-we-know-about-spielbergs-sci-fi-return" rel="noopener noreferrer"&gt;Space.com — Everything We Know&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure Day&lt;/em&gt; opens in theaters and IMAX on June 12, 2026.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://disclosureday.nicedreamzwholesale.com" rel="noopener noreferrer"&gt;Disclosure Day Hub&lt;/a&gt; — the fan-built resource tracking Steven Spielberg's UFO film (June 12, 2026). Explore the full &lt;a href="https://disclosureday.nicedreamzwholesale.com/news-hub.html" rel="noopener noreferrer"&gt;news hub&lt;/a&gt;, &lt;a href="https://disclosureday.nicedreamzwholesale.com/cast-guide.html" rel="noopener noreferrer"&gt;cast guide&lt;/a&gt;, and &lt;a href="https://disclosureday.nicedreamzwholesale.com/interviews.html" rel="noopener noreferrer"&gt;interview archive&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>empiremagazine</category>
      <category>disclosureday</category>
      <category>emilyblunt</category>
      <category>joshoconnor</category>
    </item>
    <item>
      <title>Spielberg Just Pitched a UFO Theory That Rewrites the Whole Movie: They're Us. From the Future.</title>
      <dc:creator>Matt Macosko</dc:creator>
      <pubDate>Mon, 20 Apr 2026 08:02:50 +0000</pubDate>
      <link>https://dev.to/matt_macosko_f3829cfd86b8/spielberg-just-pitched-a-ufo-theory-that-rewrites-the-whole-movie-theyre-us-from-the-future-131c</link>
      <guid>https://dev.to/matt_macosko_f3829cfd86b8/spielberg-just-pitched-a-ufo-theory-that-rewrites-the-whole-movie-theyre-us-from-the-future-131c</guid>
      <description>&lt;p&gt;If you were reading the CinemaCon writeups for the alien reveal, the standing ovation, or the "more truth than fiction" quote, you might have missed it. Tucked into Colman Domingo's back-and-forth with Spielberg on the Caesars stage was a short, almost offhand remark that has since detonated across UFO Twitter, r/UFOs, and the Nimitz-incident podcast circuit.&lt;/p&gt;

&lt;p&gt;Per reporters in the room (&lt;a href="https://www.goldderby.com/film/2026/steven-spielberg-ufo-movie-trailer-plot-cast-release-date/" rel="noopener noreferrer"&gt;Gold Derby&lt;/a&gt;, &lt;a href="https://bleedingcool.com/movies/disclosure-day-detailed-by-steven-spielberg-at-cinemacon/" rel="noopener noreferrer"&gt;Bleeding Cool&lt;/a&gt;), Spielberg laid out what he described as a "hopeful" theory: that the unexplained phenomena showing up in Navy gun-cam footage, in Peruvian skies, off the coast of Catalina — all of it — aren't visitors from another star system. They're us. Traveling back in time.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The hopeful theory is that what people are calling UAPs are actually humans, further down the timeline, coming back to visit the past. Think about what that means. We made it. We're still here."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Theory, In Plain Language
&lt;/h2&gt;

&lt;p&gt;The "future humans" hypothesis has been floating around UFO research circles for a while (see Dr. Michael Masters' 2019 book &lt;em&gt;Identified Flying Objects&lt;/em&gt;), but it has never really broken into mainstream coverage. The idea:&lt;/p&gt;

&lt;h3&gt;
  
  
  Why UAPs Might Be Time Travelers, Not Aliens
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;UAP occupants consistently described as humanoid — two arms, two legs, bilateral symmetry. Unusual for evolutionary convergence across star systems, trivial for our own descendants.&lt;/li&gt;
&lt;li&gt;UAPs don't announce themselves. They observe. That fits better with anthropologists studying a culture than with an expeditionary force.&lt;/li&gt;
&lt;li&gt;Classic UAP behavior — appearing near nuclear sites, population centers, historical inflection points — maps cleanly onto "historians visiting the turning points of their own past."&lt;/li&gt;
&lt;li&gt;If they're us-from-the-future, the non-interference pattern isn't inexplicable. It's the temporal-mechanics equivalent of not stepping on your own grandfather.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why This Reframes Disclosure Day
&lt;/h2&gt;

&lt;p&gt;Emily Blunt told Empire for the June 2026 issue that "there are definitely questions posed by &lt;em&gt;Close Encounters&lt;/em&gt; that are answered in &lt;em&gt;Disclosure Day&lt;/em&gt;." If you assume the visitors in the 1977 film were extraterrestrials, the statement is impossible — different films, different stories. But if the visitors in &lt;em&gt;Close Encounters&lt;/em&gt; are &lt;em&gt;us&lt;/em&gt;, and &lt;em&gt;Disclosure Day&lt;/em&gt; is the movie where that finally gets confirmed, then the whole cross-film continuity works.&lt;/p&gt;

&lt;p&gt;Consider the leaked details we already have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Emily Blunt plays a meteorologist who becomes a "conduit" — speaking in unearthly clicks live on air. If the visitors are human, the clicks aren't an alien language. They're compressed information from a human-descended protocol.&lt;/li&gt;
&lt;li&gt;Josh O'Connor plays a whistleblower running from Wardex, the government contractor. Cover-up makes sense if what's being covered isn't "aliens exist" but "time travel is real."&lt;/li&gt;
&lt;li&gt;Colin Firth, head of Wardex, is seen in the Empire first-look strapped to a mind-control device. Could easily be a temporal-communications rig.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Spielberg Pattern
&lt;/h2&gt;

&lt;p&gt;Spielberg has been leaning on "hopeful" for years when asked about aliens — contrasted against the "they come to destroy us" posture of &lt;em&gt;Independence Day&lt;/em&gt; or &lt;em&gt;War of the Worlds&lt;/em&gt; (his own version notwithstanding). In 1977 the visitors brought the Roy Neary pilots home. In 1982 E.T. just wanted a ride.&lt;/p&gt;

&lt;p&gt;A future-humans resolution is the most Spielberg possible landing for this movie: the aliens aren't the other. They're the future version of the audience. The third act isn't contact. It's a reunion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should We Take It Seriously?
&lt;/h2&gt;

&lt;p&gt;Maybe. Maybe not. Spielberg is a showman and this is a marketing cycle. He floated the theory with a grin. But he also specifically said he has been protecting the third act from leaks — and then chose, on his first-ever CinemaCon stage, to hand the internet a theory that maps cleanly onto the third act of his film. That's a very expensive way to be random.&lt;/p&gt;

&lt;p&gt;If "&lt;a href="///more-truth-than-fiction.html"&gt;more truth than fiction&lt;/a&gt;" is the marketing line, then "it's us from the future" might be the plot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sources
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.goldderby.com/film/2026/steven-spielberg-ufo-movie-trailer-plot-cast-release-date/" rel="noopener noreferrer"&gt;Gold Derby — New Footage and Time Travel Theory&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bleedingcool.com/movies/disclosure-day-detailed-by-steven-spielberg-at-cinemacon/" rel="noopener noreferrer"&gt;Bleeding Cool — Disclosure Day Will Answer Questions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.yahoo.com/entertainment/movies/articles/cinemacon-2026-odyssey-sets-sail-220000639.html" rel="noopener noreferrer"&gt;Yahoo/Variety — CinemaCon 2026 Recap&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure Day&lt;/em&gt; opens in theaters and IMAX on June 12, 2026.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://disclosureday.nicedreamzwholesale.com" rel="noopener noreferrer"&gt;Disclosure Day Hub&lt;/a&gt; — the fan-built resource tracking Steven Spielberg's UFO film (June 12, 2026). Explore the full &lt;a href="https://disclosureday.nicedreamzwholesale.com/news-hub.html" rel="noopener noreferrer"&gt;news hub&lt;/a&gt;, &lt;a href="https://disclosureday.nicedreamzwholesale.com/cast-guide.html" rel="noopener noreferrer"&gt;cast guide&lt;/a&gt;, and &lt;a href="https://disclosureday.nicedreamzwholesale.com/interviews.html" rel="noopener noreferrer"&gt;interview archive&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>disclosureday</category>
      <category>spielbergtimetravelt</category>
      <category>uap</category>
      <category>ufo</category>
    </item>
  </channel>
</rss>
