Strategic Cloud Engineer at Google. Electronics tinkerer. Software engineer. AI enthusiast.

New York, USA
Joined June 2009
Danny Ackerman retweeted
We are making Markdown files work natively across Google Drive and Docs. You can now preview .md files in Drive, open them in Docs, edit them, comment on them, and collaborate without converting the file into a Google Doc!
938
1,350
950
21,066
1,433,835
Danny Ackerman retweeted
Some of the best software ideas in your company may be sitting with people you've never thought of as developers. AI changed what anyone can build. Now companies have to decide whether to give them room to try.
2
2
6
859
Danny Ackerman retweeted
I used to debug code now I type this and hit enter
177
1,082
96
23,448
517,701
can someone please explain to me how "smart" @typesafeai #jev is? I'm still struggling to understand how to gauge how good it is at these question/answer tasks without knowing the parameter size of it's underlying model. am i even asking the right question?
2
49
Danny Ackerman retweeted
Once you Jev, you never go back
Four words, eighteen letters, $0.042 cents per million input tokens
65
57
12
2,283
184,134
Danny Ackerman retweeted
we are officially out of stealth! join the frontier and get access to Jev on our website (link on profile)
After co-inventing ChatGPT, I kept asking myself: why have superhuman chat models not led to AGI? I’ve spent the last 2 years in stealth building a new way to train models (RLCD), and a new type of frontier AI model that we are releasing today: Jev β€’ 20-200x faster β€’ 40-400x cheaper (w/ output tokens free) β€’ Frontier composable intelligence optimized for decisions AFAICT the shortest path to AI-based economic revolution
213
257
145
3,997
718,966
Danny Ackerman retweeted
Like anyone else, I also wonder what the hell we're all going to do as programmers in the age of AI. It's not that I worry about my value today. Even with today's best AI, it's somewhat cute and helpless without me, to be honest. It still needs a playground monitor, let alone a supervisor and mentor. That's because when something happens, odds are, I've seen it before and fixed it once. I've been at this for 45 years, so if your Commodore 64 flashes yellow when the smooth scroll register is set to 7, I can tell you what pin on your VIC-II chip is stuck high. And if VSCode won't let you set the fuse bit on your production embedded project because you have both 'pionarduno' and 'platformio' installed, and one requires a Python version lower than 3.14, but you need 3.14, I know the answer. Because I've already fixed stuff like that a hundred times. So when some variant of it happened again this morning, suffice to say that AI couldn't fix it. Oh, it had a ton of ways I could edit my own VSCode settings files to hack it in, but this is a team project and needs to self-bootstrap. It only flailed. That's when I helpfully pointed out the version schema issue between PlatformIO and PIOArduino, and THEN it understood, and THEN it fixed it. It saved me from doing a bunch of apt-get and pip installs, overrides, and deployment scriptsβ€”the grunt work. So as it stands today, I'm officially the power of ten men because with Claude's brains and my combination of looks and experience, we're unstoppable. For today. But am I still learning? Or since I let AI do the dirty work now, is my skillset fixed at the slice of pie I had before AI crashed the party? THAT is what actually scares me. And I think the reassuring reality is that my skillset is growing much faster than it is being made obsolete by AI. It's just growing in other dimensions. Those skills are growing in new ways. I built a working attention model AI for my PDP-11 to learn the real basics of what AI even means. I trained an AI Reinforcement Learning system, built from scratch, to beat my own world-record high score in the video game Tempest. I've written the core of a completely new Task Manager, as I imagine it should be today (tmog.org), and let Fable code it. I've learned a ton about process, git, prompting, revising, testing, CI, code reviews of black boxes, looping, and so on. And the kinda sad reality is that my kernel debugging skills, while adequate, will not be better five years from now. Same as my assembly language coding, likely. But those are, fortunately, the very things that AI can do exceptionally well, so that I don't have to. There's no place for nostalgia in computing :-) But together, I think we'll be ok. [ I'd generate a little picture of me sitting on a hill looking at a sunset with AI's arm reassuringly wrapped around my back, but that'd be lame clickbait. ] But what of my son, the entry-level software engineer? Here's where a Boomer would bemoan the decades of dues-paying and the time and experience required. But I'm not a Boomer, so I never cared about those things. I'm GenX. Which means I think some things SHOULD be hard. Really, really hard. Like walking to Radio Shack in 40-below wind to poke values into memory using BASIC on a TRS-80 just to see what would happen. Or spending weeks with an in-circuit-emulator trying to sniff some elusive crash you can't figure out. A boomer would want you to do it for the suffering as some kind of rite of passage. That's bullshit. That's about "it was hard for me so it should be hard for you". We already have Reddit for those kinds of losers. You do it because you LEARN by doing the really, really hard things and eventually solving them. Not to make life unfair, but because that's simply how you learn best. And you can't fake that till you make it. If you want your brain to store it in detail, it's got to be an emotional victory. And it's only an emotional victory if you were seriously invested in the pain. Being autistic, I file things visually, from code to moments in time. And I still remember what the room looked like when I solved a particularly hard 6502 bug decades ago, at 18. I know where the furniture was. But more importantly, I learned a ton about proper design (or lack thereof) in my own code. But if the answer is always one prompt away, how hard is it? My advice? Make sure you're pushing the envelope, not just riding Claude's coattails. Try to keep your hobby projects JUST BEYOND what AI can do for you on its own. Write your interface layers and APIs by hand, and then let AI write the code, that sort of thing. It's like working out, I guess. It's a muscle of sorts, and it has to hurt a little to grow, and you can't rush the process.
55
41
5
529
22,348
#lioness is the best show on television.
2
341
Danny Ackerman retweeted
this flutter ui kit is SICK pub.dev/packages/auris
3
13
237
13,065
Danny Ackerman retweeted
Love this re-imagining of America’s founding using Docs, Gmail, Calendar and more from @GoogleWorkspace. Really puts the history in version history :)
798
1,251
493
12,827
3,856,758
Danny Ackerman retweeted
πŸ–₯️ Best Local LLMs for Consumer GPUs β€” llama.cpp Guide (June 2026) What I actually run on consumer hardware right now. Every model below runs via llama.cpp with a simple one-liner β€” no Docker, no Python env, no cloud. ━━━ 8-16GB VRAM ━━━ πŸ”Ή Gemma 4-12B (Google) β€’ Smartest model in this size class β€” competes with stuff 2Γ— bigger β€’ Unsloth's MTP GGUFs: 162 tok/s vs 52 tok/s normal (3Γ— speedup) β€’ Minimum 8GB VRAM recommended for Q4_K_M quant β€’ GGUF β†’ huggingface.co/unsloth/gemma… πŸ”Ή LFM2.5-8B-A1B (LiquidAI) β€’ Hybrid MoE, only 1B active params β€” absurdly fast for its size β€’ Perfect for 8-12GB cards, MacBooks, or anyone on a tight budget β€’ GGUF β†’ huggingface.co/LiquidAI/LFM2… ━━━ 16-32GB VRAM ━━━ πŸ”Ή Qwen3.6-27B (Qwen) β€’ Scored 1.00 on tool-efficiency benchmarks β€” best local agent available β€’ 40 deterministic tasks, 32k/128k context needle tests β€” all passed β€’ GGUF β†’ huggingface.co/unsloth/Qwen3… β€’ MTP version (faster) β†’ huggingface.co/unsloth/Qwen3… πŸ”Ή Qwopus3.6-27B-v2 (Jackrong) β€’ Best quantization of Qwen3.6-27B β€” topped 5 agent & coding benchmarks (1200 samples) β€’ If you're running Q4, this is the one to grab β€’ GGUF β†’ huggingface.co/Jackrong/Qwop… β€’ MTP version β†’ huggingface.co/Jackrong/Qwop… πŸ”Ή Gemma 4-31B QAT (Google/Unsloth) β€’ QAT variant with MTP draft head: 76-125 tok/s (1.67Γ— speedup) β€’ Excellent for multi-agent / subagent workflows β€’ GGUF β†’ huggingface.co/unsloth/gemma… πŸ”Ή Nex-N2-Mini (Nex AGI) β€’ Post-train of Qwen3.5-35B-A3B β€” MoE with only 3B active params β€’ Fits on 16GB+ VRAM, overflow loads from system RAM β€’ Adaptive thinking saves ~20% tokens with no quality loss β€’ For deep multi-step reasoning, nothing in this size comes close β€’ GGUF β†’ huggingface.co/sjakek/Nex-N2… ━━━ Quick Picks ━━━ β€’ 16GB all-rounder β†’ Gemma 4-12B with MTP GGUFs β€’ 32GB all-rounder β†’ Qwen3.6-27B / Qwopus-v2 β€’ Agents & tool use β†’ Qwen3.6-27B or Qwopus Q4 β€’ Deep reasoning β†’ Nex-N2-Mini (MoE, fits 16GB+) β€’ Tight budget β†’ LFM2.5-8B-A1B β€’ Cheapest full build: 1Γ— used RTX 3090 (24GB) + rest of PC β‰ˆ $1000-1500 ━━━ Setup on Windows ━━━ 1. Download llama.cpp β†’ github.com/ggml-org/llama.cp… (latest .zip) 2. Extract to any folder (e.g. C:\llama.cpp) 3. Download a .gguf from the links above (Q4_K_M or Q5_K_M for best quality/speed balance) 4. Run one of the commands below depending on your hardware ━━━ Launch Commands ━━━ SINGLE GPU β€” Standard model (no MTP): llama-server.exe ^ -m C:\models\Qwen3.6-27B-Q5_K_M.gguf ^ --ctx-size 180000 ^ --flash-attn on ^ --cache-type-k q4_0 ^ --cache-type-v q4_0 ^ --batch-size 1024 --ubatch-size 512 ^ -ngl 100 ^ -np 1 ^ --port 8080 ^ --jinja SINGLE GPU β€” MTP model (faster inference): llama-server.exe ^ -m C:\models\Qwen3.6-27B-MTP-Q5_K_M.gguf ^ --ctx-size 180000 ^ --flash-attn on ^ --cache-type-k q4_0 ^ --cache-type-v q4_0 ^ --batch-size 1024 --ubatch-size 512 ^ --spec-type draft-mtp ^ --spec-draft-n-max 3 ^ -ngl 100 ^ -np 1 ^ --port 8080 ^ --jinja DUAL GPU β€” Split across two cards: llama-server.exe ^ -m C:\models\Qwen3.6-27B-Q5_K_M.gguf ^ --ctx-size 180000 ^ --flash-attn on ^ --cache-type-k q4_0 ^ --cache-type-v q4_0 ^ --batch-size 1024 --ubatch-size 512 ^ -ngl 100 ^ --tensor-split 0.55,0.45 ^ --main-gpu 0 ^ -np 1 ^ --port 8080 ^ --jinja DUAL GPU + MTP + Vision (multimodal): llama-server.exe ^ -m C:\models\Qwen3.6-27B-MTP-Q5_K_M.gguf ^ --ctx-size 180000 ^ --flash-attn on ^ --cache-type-k q4_0 ^ --cache-type-v q4_0 ^ --batch-size 1024 --ubatch-size 512 ^ --spec-type draft-mtp ^ --spec-draft-n-max 3 ^ -ngl 100 ^ --tensor-split 0.60,0.40 ^ --main-gpu 0 ^ -np 1 ^ --port 8080 ^ --jinja ^ --mmproj C:\models\mmproj-F16.gguf ━━━ Parameter Breakdown ━━━ -m Path to your .gguf model file. Change this to wherever you downloaded it. --ctx-size 180000 Context window in tokens. 180k = huge context for long conversations or big codebases. Reduce to 32768 or 65536 if you don't need long context β€” uses less VRAM. --flash-attn on Flash Attention β€” dramatically speeds up inference and reduces VRAM usage. Works on RTX 30xx/40xx/50xx. Always enable this. --cache-type-k q4_0 / --cache-type-v q4_0 Quantizes the KV cache (key/value attention cache) to 4-bit. This is what makes 180k context fit in VRAM. Without it, huge contexts eat all your memory. Quality impact is minimal β€” this is a free performance win. --batch-size 1024 / --ubatch-size 512 batch-size = how many tokens are processed in one forward pass (throughput). ubatch-size = micro-batch actually sent to the GPU per step. Higher = faster prompt processing but needs more VRAM. If you run out of VRAM, lower these (e.g. 512/256). -ngl 100 Number of layers to offload to GPU. 100 = all layers on GPU (full offload). This is what you want if the model fits in your VRAM. If it doesn't fit, reduce this (e.g. -ngl 40) β€” remaining layers run on CPU/RAM. --tensor-split 0.55,0.45 How to split model layers across multiple GPUs. Values are ratios. 0.55,0.45 = GPU 0 gets 55% of layers, GPU 1 gets 45%. Adjust based on your VRAM β€” give more to the card with more memory. Example: 0.70,0.30 for a 24GB + 12GB setup. Not needed for single GPU setups. --main-gpu 0 Which GPU handles the batch computation (the "orchestrator"). Set to 0 (your primary GPU). The other GPU(s) handle their assigned layers. Minor performance impact β€” usually just leave it at 0. -np 1 Number of parallel slots (concurrent requests). 1 = one user at a time. Increase to 2-4 if you want multiple clients connected simultaneously. Each extra slot uses additional VRAM for its own KV cache. --port 8080 Which port the server listens on. Change if port 8080 is busy. --jinja Enables Jinja2 template processing β€” required for proper chat formatting. Most modern models expect this. Always include it. --spec-type draft-mtp Enables Multi-Token Prediction (MTP) speculative decoding. Only works with MTP GGUF models (downloaded separately). The model predicts multiple tokens at once and verifies them β€” big speed boost. --spec-draft-n-max 3 How many tokens the MTP draft head proposes per step. 3 is a good default. Higher = potentially faster but more VRAM and may reduce quality. --mmproj Path to the multimodal projector file (for vision models). Enables image understanding β€” paste screenshots into the web chat. Only needed if you want vision capabilities. Omit for text-only use. ━━━ Your Hardware β†’ Your Command ━━━ Single GPU (8-24GB VRAM): Use the "Single GPU" command. Change -m to your model path. 8GB card β†’ Gemma 4-12B Q4 or LFM2.5-8B 12GB card β†’ Gemma 4-12B Q5/Q6 16GB card β†’ Gemma 4-31B QAT Q4 or Nex-N2-Mini 24GB card β†’ Qwen3.6-27B Q4/Q5, Qwopus-v2, Gemma 4-31B QAT Q5/Q6 Dual GPU: Use the "Dual GPU" command. Adjust --tensor-split based on your VRAM ratio. 24GB + 24GB β†’ --tensor-split 0.50,0.50 24GB + 12GB β†’ --tensor-split 0.70,0.30 24GB + 8GB β†’ --tensor-split 0.75,0.25 Want speed? Use MTP versions of models with the "MTP" commands. Want vision? Add --mmproj with the projector file from the model's HuggingFace repo. 5. Once running, you get: β€’ Web chat UI β†’ http://localhost:8080 β€’ OpenAI-compatible API β†’ http://localhost:8080/v1 β€’ Playground β†’ http://localhost:8080/playground ━━━ Why /v1 API Is the Killer Feature ━━━ One local endpoint replaces your entire cloud API bill. The /v1 endpoint is drop-in OpenAI-spec compatible β€” every tool that speaks OpenAI just works. No custom code, no glue layer. Works out of the box with: β€’ IDEs: Cursor, Continue, Windsurf, Cline, Roo Code β€’ CLI tools: aider, Open Interpreter, OpenCode β€’ Frameworks: LangChain, LlamaIndex, LiteLLM β€’ Any OpenAI SDK (Python, Node, Go, Rust) Why this beats cloud APIs: β€’ 100% private β€” code never leaves your machine β€’ $0 per token β€” no rate limits, no quotas, no surprise bills β€’ Works fully offline β€’ Zero telemetry, no training on your data β€’ Swap models by dropping in a different .gguf β€” no app changes needed β€’ Run 32k–128k context windows without burning money Good combos: β€’ Cursor + Qwopus-v2 β†’ near-frontier quality, zero API cost β€’ Continue + Qwen3.6-27B β†’ best local coding agent β€’ aider + Gemma 4-12B MTP β†’ 162 tok/s, feels instant β€’ OpenCode + Nex-N2-Mini β†’ deep reasoning on 16GB Set any OpenAI-compatible client to your local endpoint: set OPENAI_API_KEY=sk-dummy (any non-empty string works) set OPENAI_BASE_URL=http://localhost:8080/v1 # every OpenAI-compatible tool now hits your local GPU Shoutouts: @0xSero @rS_alonewolf @witcheer @UnslothAI @LottoLabs
76
202
26
2,021
302,735
Kids today will never understand how hard the Knight Rider intro went🚘 That theme still hits different.
138
671
52
4,246
116,067
Danny Ackerman retweeted
MrBeast plans to trap 1000 vibe coders in a room without Claude first person to center a div manually wins $1 million
696
1,769
302
47,860
2,144,771
Danny Ackerman retweeted
if your saas uses magic link signup, check this right now: your link in the email shouldn't call the verify api directly. there should be an interstitial confirm page instead. here's why: corporate email scanners (microsoft safe links, mimecast, etc) pre-fetch every url in incoming mail. they burn your single-use token before the user even clicks. then user opens the email, sees "token invalid", retry 2 times, gives up. cost us two F500 leads before we caught it. fix: email points to a page with a "sign me in" button β†’ POST from that button hits your verify api.
46
32
7
588
67,496
Really liking @Cloudflare workers. Just created an agent that emails me cooking tips every day. Using D1 database to store previous tips so I don't get repeats.
29
Danny Ackerman retweeted
One of the problems engineers had with recovering Voyager 1 was there was no emulator or assembler for the computer they had to reprogram. Vintage computer fans had wanted to document this hardware for years, but when we asked NASA for info they said no. Finally someone tracked down some old JPL memos in a filing cabinet in Kansas and got all the information needed to build and emulator for the hardware. Imagine how much easier the Voyager 1 recovery would have been if NASA had just said 'Yes' to those inquisitive vintage computer nerds a decade ago. zanehambly.com/voyager
54
195
6
3,431
138,273
Danny Ackerman retweeted
We know the community has been asking for Flutter/Dart skills! So excited they are out now!
Introducing Agent Skills for Flutter and Dart to give your AI tools domain-specific expertise πŸ““ These initial core Skills are designed to handle the most common Flutter development hurdles. Learn how to start using them in your workflow β†’ goo.gle/4uBRR6M
4
80
6,948