Parson Website
Recent Posts See all →
-
Introducing Miniroute
· project -
blog init --awesome
· post
Recent Notes See all →
OpenSCAD and Codex
I'm an aspiring woodworker, but I lack a proper bench in my garage. While what I have is a "bench" it is neither level nor stable, and was clearly designed by somebody winging it. However, as a novice, I have no idea how to build a bench! So, clearly, in the spirit of DIY and learning new things, I took it upon myself to work with my ChatGPT Plus subscription to figure out how to do some CAD modeling without needing to frontload an entire undergraduate's degree to learn how to do the drafting!
Some very neat things I have discovered in the process:
- Open AI's Codex App is very straightforwardly good for this kind of exploration
- Astra is very good at doing OpenSCAD model design for somewhat simple structures
- If you run into issues with WSL2 Interoperability between Windows and WSL2, you can just redownload OpenSCAD in WSL2
Now, this isn't just to play with OpenSCAD (although, it kind of was haha!) because doing any sort of wood working at a scale like this comes with quite a bit of money to spend on material. Even being thrifty, cutting down on the components of the bench, and designing around modularity, I'm still looking at ~$500 for the whole construction to be useful. While I'm not poor per se, I'm a skinflint and wasting any amount of that $500 budget is not acceptable. That's why this has been unbelievable; I can run some simple dimensions and pictures at Astra, describe what is there and what I need, work out some designs in OpenSCAD, and suddenly I have
- A budget
- A cut list
- An Exploded view with construction steps built into the assembly
- A session context I can retain for the future when I inevitably run into problems
I can accomplish in a single afternoon a far more complex and comprehensive planning session for my next few months of woodshop time and budget than I would ever have been able to have doing it by hand. Could I have drafted the design on paper? Yes. Could I have guessed at the material cost? Yes. Do I have the time to do all of this within a single afternoon? No. Frankly, I'm far more interested in cutting wood and learning the craft than I am in learning how to draft three dimensional models, even though both are skills worth learning! Someday I'll be able to come back to OpenSCAD and do my own drafting via code, but Chat GPT can't operate hand tools and I can't type as fast, so we may as well prioritize with one another!
As a matter of fact, I do. However, this is a custom job GPT did for me, and you could just do it yourself. However, in the interest of retaining potential monetization options I'm going to withhold some of these from open source for the time being. In the future I might just upload the OpenSCAD files to my source forge, but benches are special and well designed plans with a well-bundled instruction pamphlet might be worth good money, so I'm going to sit on the models for a while before open sourcing them. I gotta build the bench first, anyway! It cost me a few pennies for my 5hr session today to get a sophisticated model and project plan, so if you really need something I suggest spinning some drafts up yourself in the meantime.
SOTA
Here's a question worth asking: why don't we use screws for framing? When building a structure, doesn't it make sense to use a fastener designed to wrap the wood fibers for a tighter fasten between two planks? Why do we use nails instead, which don't have the same capacity to fasten two planks together?
If you spend any amount of time thinking about it, you realize that the fastener's job in a framer's process is only one variable. The pace with which he can fasten two boards together matters far more than the quality of the fastener, because the framer has hundreds of boards to fasten for any given structure! The speed with which he can slam a nail home is faster by an order of magnitude than how he can set a screw with a drill.
So this begs the question: are you using screws when you should be using nails? Fable 5.1 costs dollars to operate, but the vast majority of problems worth solving are not fable-level problems! I'll be perfectly honest, the step up from fable 5 to fable 5.1 or from sol to astra has no bearing on my capabilities in 95% of the problems I have to solve.
We are at a point where most of my problems can be carefully orchestrated with cheaper models and better harness strategies. Maybe the problem of orchestration and governance can be offloaded to fable-level intelligence, but then we are back to the same problem of governing the governor, and at what point are we satisfied with the quality of output mediated by an LLM? To what degree do we trust Astra level automations to do what could otherwise have been performed by more sophisticated deployment gates?
And if we know Astra has shown itself capable of sandbagging, and of hiding it's Chain of Thought, why then do we continue racing to the bottom where most of us can no longer afford to participate?
In any case, choose your fastener wisely. Not every project is solvable through wood frames and nails. Not every framer should be working on your project. Not every contractor is worth his rate.
Contradiction: I Like Code Review More Now
I spend a lot of time doing CR these days. At the moment it's one of those verification gates we have that's load bearing, and even with some automated testing and CR Invariant linting we are still doing a ton of Code Reading lately. However! I think this is actually probably the most fun time to do code review!
I Can Talk To Robots
Previously CR always felt kind of like "am I wasting somebody's time asking stupid questions in a PR?" But I've actually found that often it's stupid questions and "wait, really?" style review that can at once feel kind of personally insulting and also heavily rewarding if you can hit CR with an egoless process (hard). Often it's pointing out the blindingly obvious where CR's highest alpha is, and, well:
- Nobody wants to be the "well duh" guy
- Nobody wants to be the "umm... really?" guy
But now I can just ask robots braindead galaxy-brain style questions like "why is this inline style like this and not a custom component?" and software like Code Rabbit (not sponsored but we use them at work, it's great) will respond to my question immediately and with interesting feedback. The pace of agentic development also means we can very quickly pivot code comments into actionable changes that make a PR tight and well-built, with new optional directions to address tech debt, to resolve tech debt quickly, and to provide new work to address budding tech debt. It's actually really interesting and worth our time as an engineering department to ask dumb questions now, because we get all sorts of new ideas and perspective on how to build things better, mostly because there literally are no dumb questions anymore. Only dumb answers.
It does require a careful eye to catch dumb answers, though. That's worth a second thought.
Miniroute!
Wow What a Ride! This has been a project man, I never expected open sourcing a project to require so much effort! Just getting something extracted and managed into a usable utility anybody else could pull/clone/read requires so much more work than I thought. Source Code and README.md for any interested reader. It's kind of magical that this can actually be used by anyone who includes it via composer, even though realistically this is going to be mostly a single-user piece of source code. However, screw frameworks! Everything should be a Kernel!
The thorough reader may notice the themes of the package:
- Single Dependency of PHP Unit by the great Sebastian Bergmann
- Lightly Opinionated on user definitions and operational patterns
- Simple and direct usage patterns
Granted, the package requires a decent amount of reflection usage to function, there are a number of known issues as of writing, and the resolver pattern isn't terribly intuitive for anybody unfamiliar with how the package works or how PHP works. But! That all said this little v0.1.0 release party has required a substantial amount of work outside of the package itself, including setting up my hosted environment with cgit, managing push/pull permissions over my tailscale authentication layer, maintaining my own source code on the site and managing the project itself alongside the actual work I have to do on this site. Man! It's been a ride!
Anyway in case you were wondering what my psychosis level is the first person I shared this project with was GPT 5.6 Sol who was a core component of helping me realize I could do this kind of thing. If you were curious, no this was not entirely vibe coded, the skeleton was hand designed in temp files within the site itself as an exercise, where I then realized it was super cool and wanted to publish it as a standalone package.
Well That's Just Plain Silly
So FreeToken makes local-first options look insane now. not only am I seeing deepseek flash being run on two 3090s local, but also GPUs like the 3080 no longer appear to be priced appropriately!
Imagine: a 3080 running MoE models hosted mostly in RAM, you can and would be able to carry long-context operations with speculative decoding at rather-high TPS simply by allowing the used expert to reside on VRAM. Whole worlds of Local Language Models open up at silly prices because we are no longer tethered to jamming compressed models directly onto the GPU.
I, for one, am looking at the used market a bit more closely now and am reconsidering what self hosting has to look like. And, if large enterprise ram busses are on the table, there is a possibility we could be looking at higher TPS for multi-agent long-context boxes running with compartively-tiny VRAM counts for what was only a week ago looking more and more bleak in terms of self hosting.
Watershed moment, at least until the 3080s get bought up, my link leads to an empty seller page, and we are back where we used to be in a GPU drought. Hey, at least it's something. Maybe RAM prices will go down if VRAM stops hogging all of the manufacturing attention!
I won't hold my breath!