Hope common sense prevails and Adafruit can go back to doing what it does best instead of dealing with this (IMO) distraction.
The product just grinds tokens for little return, in my opinion. I had far better luck wiring together KiCad MCP, SKIDL. There are some AI-driven autorouters out there now. Placement is probably the big issue that needs to be solved now. I could only get about 80% of what I wanted together with my hacky workflow.
Lawfare!
Interesting that within an IC this is basically "solved", or at least properly automated with classical numeric techniques such as simulated annealing.
I would have thought there's a big opportunity in a mixed-technique approach, where you use AI to extract unstructured data from datasheets and then feed it into more deterministic tools.
I also note that it's very easy to waste more than $100 in electronics once you start actually manufacturing bad PCBs.
I think my biggest annoyance with the way we rolled out AI is that nobody seemed to want to use it to augment already working solutions.
Just throw everything out and have an LLM do it instead.
It's never occurred to me to even try getting an LLM to design or layout a circuit for me.
Instead, I have dozens or hundreds of chats in my history where I debate the merits of different parts for different tasks and scenarios, the nuances of decoupling strategies (package size vs deregulation), work out resistor network ratios from the reels I have on hand.
Then being able to feed an LLM a datasheet and have it write a custom driver against the registers I need so that it does exactly what I want without the cognitive overhead of a buggy package with someone else's strong opinions about how a part should be used is amazing.
Frontier models are incredibly good at electronics, and it's got nothing to do with what happens inside the EDA.
I work on a large C++ codebase, with large files. Human developers jump around between files with the Visual Studio fuzzy search, set breakpoints to trace execution in the Debugger, use the IDE's refactoring tools.
Microsoft's answer to this was to just ... expose none of this to their Agent Mode!? Replace the working semantic autocomplete with fucking lies!?
Maybe it's changed, I haven't been paying that much attention after bouncing off of this. I've gotten mild acceleration from using gptel-mode in emacs, manually adding references to context, and having models do various mechanical transformations on code. And I've even had some limited success writing tools for it to do LSP lookups.
Anthropic added LSP support to claude-code, but the current implementation is worse than useless, because any changes aren't reflected fast enough, so it's constantly working on outdated views / compilation caches, and it gets in a right muddle between its "internal" state / understanding in context, the real-world file, and the LSP.
If it could just leverage LSP to apply refactorings it would be amazing, but it feels like the LSP can't keep up, and I don't know if that's an LSP problem or a claude problem.
So we binned the LSP plugin and we're back to watching a machine find/replace, because while waiting on that is slower than LSP, it's a "Action => Wait" which the tooling understands, while LSP is "Possibly Wait for LSP to catch up => Action" which it doesn't understand nearly as well.
I suspect the LSP plugins also need better skills that pair with them so it reaches for them more often.
It hurts my soul to see it reach for find/replace to rename a class, complete with mistakes made in complex solutions where you might have name clashes in different namespaces. Something the LSP handles without problem, but can trip up an LLM.
There are notifications (i.e. `textDocument/didChange` ) that you can send to the LSP to help it along, but again you might end up racing the notification from the client making the change and any file-watchers you might have running.
I suspect the answer will come in the form of some kind of more powerful LSP implementations with generous memory caches so that disk changes are just another buffered input that can be disregarded if already stale, no longer seen as the source of truth, and the LSP becomes the real source of truth, so everything can coordinate through it, operating mostly out of memory.
Another avenue for better success will be more research into faster compilation and better incremental compilation for languages with slower compilation.
Maybe one day we'll even get AI agents directly manipulating syntax trees, and the code to get there being written back as merely a side-effect, but that seems like sci-fi compared to the current state of play. LSP is still very document based, and of course LLMs are also trained on oodles of source.
I wanted to hurl my laptop out to the window.
Check out left pad or the two dozen other "utility" packages that could be done in a single line of code.
Pasting something directly into the chat interface seems weird, but if you could somehow just see where P(token | context) falls off a cliff, that's a pretty good hint that your writing has problem.
In comparison to non-AI traditional tools, AI has the advantage of "understanding" the text, reducing the number of "stupid" mis-corrections. And its spelling correctness is usually already impeccable, so what is there to gain by interfacing it with traditional solutions, and how can it be achieved?
To make this approach work better, feed it a bunch of English text (or whatever language your document is in) before the document you really want to "spellcheck."
Essentially this isn't a spell "checker" so much as a spell "linter" — it looks for antipatterns statistically associated with bugs, and reports the patterns for further investigation.
If anyone knows where this trigraph-based "spellchecker" was first presented, I'd love to find out again.
I had a friend who wrote an article for the New York Times: the article made a lot of sense before she submitted it, but it was edited for length and style and it definitely read like a New York Times piece but didn't completely make sense.
The problem being misspelling, hence, "spell checker". Like, this seems pretty straightforward? Grammar checking if you cannot use the language properly is a pretty different problem space, and indeed has long existed and is exposed as a separate thing. And not just in fancy word processors either, if you go to something as simple as macOS TextEdit you'll see separate check boxes for "Check spelling as you type" vs "Check grammar with spelling". If someone wants to try out using LLMs for grammar no problem, but spell checking is purely about the mechanical and, importantly, deterministic aspect of typos or outright non-words.
>As the classic joke goes, "Me spell chucker work grate. Need grandma chicken."
There is a genuine touch of irony/meta in you using that here in this context. That sentence has no misspelled words, and importantly gets across the exact humorous meaning the human who wrote it intended. The joke literally only works because a human was able to make creative use of language. If you had an LLM agent posting for you to HN and it automatically changed that to:
>As the classic joke goes, "My spellchecker works great but could use some grammar checking."
Well, where would the joke be now!? This goes to the exact concern people have with powerful non-deterministic meaning-changing tools replacing deterministic meaning-preserving ones.
>I immediately disable spellchecking on every avenue it tries to approach because managing a bunch of dictionaries on every browser/device/application that has its own spellchecker for some godforsaken reason to not have squigglies spammed over every piece of jargon, slang, and slightly atypical spelling is incredibly annoying.
But this is a logic fail is it not? LLMs are irrelevant to this. Your stated problem is "not all software/devices I use has a single shared dictionary/grammar tool to my preferences". That's a very, very reasonable complaint. I agree with you that it's always been tremendously irritating that so many applications won't even make use of operating system dictionaries but rather recreate their own, really that the entire infrastructure around spelling or grammar dictionaries is so primitive.
But how do you think LLMs help? Even setting aside quality concerns they don't magically retroactively make every software/device use them, they're just another tool in the space something could use, or not. So you're still stuck with the exact same problem. You still don't have something sync'd/shared universally across your entire experience. I can see how you could just live within some single environment to avoid that (do everything in a browser, use the same browser company's products across platforms with sync supported, so you can use the browser language tools for everything), but again that's not unique to LLMs. That approach would work for conventional tools as well.
>I just fed this entire thread to an LLM
This is a second logic fail. The entire point and meaning of "non-determinism" is precisely that you can't just do something once and then have that be evidence. If we all did the "same thing", feeding every thread to an LLM, thousands of times we wouldn't all get identical results every time. Sometimes we'd get something else. And the very fact it's rare is one of the core challenges of this entire space, because humans are very, very bad at dealing with things where it works 99% of the time and fails 1% of the time. This has always been true.
It is not. The LLM approach is not dependent on system configurations. You can expect that it probably works the same from any device or application, because it can surmise slang/jargon from training and context rather than needing to be fed every little individual case as a per-user configuration. There are advantages to making a program more sophisticated than a literal == check against a list of pre-programmed words.
And even if there were an easy and satisfying way to unify dictionaries cross-device, it still wouldn't be a pleasant experience. That first time adding every single jargon term you use is not enjoyable. If there was a solution that just... didn't require that, it would solve a problem current spellcheckers do not solve. And what do you know, it appears there is one!
> This is a second logic fail.
Saying things are logic fails doesn't make them logic fails, all the more so when the failure is your own reading comprehension. I explicitly noted that non-determinism doesn't need to be flawless, only better than the deterministic solution on average. If the non-deterministic error rate of LLMs is below 1%, that still puts it far, far, far ahead of the deterministic tool's error rate.
It may be possible to create a deterministic tool that is better on average, but I haven't seen one. The current tooling is so fucking horrendously bad that after decades they cannot handle pluralising any uncommon word that is pluralised with "ies", for example squiggly is recognised and squigglies is not. That is fucking shamefully bad technology.
How is it not dependent? Like, help me out here: I'm writing something up in vim on my FreeBSD system using the built-in dictionary capability, maybe I've got grammar too with LanguageTool via the ALE plugin. I've added various words to my good words list over time. I save it to a network drive and want to keep working on it and do some graphical formatting as well for output to a different audience with a different tool on an iPad for a flight. How does "the LLM approach" uniquely slot into vim and the iPad app. "Uniquely" as-in a way that you couldn't slot in a shared sync'd dictionary file or whatever else. What if one of the developers doesn't want to and I don't have time or (if it's closed source) can't? How does it help all the other different software I use that are still using their own thing?
If by "LLM approach" you specifically mean "I copy/paste into this whole other software, and that software is what I use from different platforms" well, that's nice but it's not an "LLM approach" it's a "copy/paste into different software" approach which again could be done with whatever.
I explicitly noted that non-determinism doesn't need to be flawless, only better than the deterministic solution on average.
But how do you know what the "average" is? You can't get that from a single shot. And what's the upside vs downside of false positives or false negatives or meaning changes/hallucinations? That's also a point of contention, particularly when it comes to any problem space (coding of course, but also law, medicine etc) where precision in language is important even 1% of the time. And you clearly have an intense personal issue here around grammar/spelling that is not universally shared. Which is fine, but the tradeoffs you're willing to make are also going to be personal. It's also going to vary, just as with using LLMs for coding, based on the user. Some people are sufficiently capable with language to realistically be able to expect to double check an LLM and mostly do fine. It's a lot riskier though for someone with a weak grasp to depend on.
An example of a sentence like this with correct spelling but bad grammar would be "my spell checker works good." All of the words are what they're meant to be, but the last word is not the correct part of speech.=
But because computers are good at detecting "this doesn't match any known word" and bad at detecting "this matches a word but isn't the word you meant to use here," we've redefined "spell checking" to mean "find words that don't match any known word."
Your point about the joke is not correct. If I put my comment into ChatGPT and ask for a grammar check, it recognizes that it's a joke with deliberately bad grammar and suggests leaving it alone. If I put my comment into a grammar checker, it flags multiple errors in the joke. And "deterministic meaning-preserving ones"? Traditional spell/grammar checkers may be deterministic, but at no point have they ever been guaranteed to preserve meaning, or even been particularly good at it.
It actually is clear, because words have meaning. "Spelling" refers specifically to the order of letters forming a given word [0, 1]. The proper use of words with a sentence, the "the study of the classes of words, their inflections, and their functions and relations in the sentence" [2] is the definition of "grammar"!
>I'd argue it's a spelling mistake.
Perhaps so, you're welcome to invent your own special snowflake definitions for words without much relation to decades/centuries of usage. It's a free country. But I would and will argue you are incorrect to do so and then expect to communicate with other humans.
----
0: https://www.merriam-webster.com/dictionary/spell
Right. And "the given word" in that particular example means "well" and is spelled G R E A T. G R A T E is a misspelling of that word.
Your position doesn't make any sense when you boil it down. I write some word as some sequence of letters. Whether it's correctly spelled depends not only on how that word is spelled, but how all other words, completely unrelated, are also spelled?
Let's say someone meant to write "bite" but wrote "byte" back in 1950. That's a misspelling. Did it retroactively become a grammar error when the word "byte" was coined in 1956? Or does the word have to exist at the time of writing for it to be a grammar error instead of a spelling error?
It's a lot more consistent if you consider the spelling relative to the word that's supposed to be there and accept that computer spell checkers miss the case where a misspelling happens to match a different word.
"Grate" is a real word, and it is correctly spelled. In fact, within the purpose of the joke, it's even correctly used! But even if someone were to write that sentence out with no joke meaning, because perhaps they had learned English as a second language purely phonetically and were just trying to write things as they sounded, it'd be a grammar issue not a spelling one. Same as more common IRL hiccups like their/there, or its/it's. We even have other words like in the English language specifically to describe that in turn, like "homonym".
>Your position doesn't make any sense when you boil it down.
No, it's your position that makes no sense. You are effectively arguing that the word "grammar" shouldn't exist! There is in fact an objective difference between mechanically misspelling words and incorrectly using a homonym.
>I write some word as some sequence of letters. Whether it's correctly spelled depends not only on how that word is spelled, but how all other words, completely unrelated, are also spelled?
As I said, you're free to invent your own special snowflake definitions. But what you are writing is not in fact the shared definition at all. You for some reason are very determined to conflate "spelling" with "grammar". I linked you a few major sources, but this is not an area of contention, it has been consistently used for a very long time including in computers. It's even had plenty of attention over the decades. I still remember when a grammar checker was added for the first time to Microsoft Word and the debates about its quality (or lack thereof). There are even whole UX patterns around this, like coloring the squiggly lines below writing differently depending on if it's a spelling check error (commonly red) or grammar check (often blue). Precisely because grammar checking is harder and has often been iffier many people will disable it but leave spell checking on, because they're confident enough in their grammar and don't trust the computer, but don't want to accidentally post or send a message with "great" or "grate" as "graeyte".
Edit: in reply to wat10000 doing the 'ol virtual "good day to you SIR!" below:
I said it was a snowflake definition, given it's completely contrary to every dictionary and historical usage. I didn't call you yourself a snowflake.
And what's actually really fucking infuriating is when people like you simply refuse to use standard, shared dictionary definitions of words and widely used established software tools in your conversation and then further refuse to acknowledge it when corrected. And also refuse to engage with any substance and instead storm off in a virtual huff. You could have just gone "right I meant grammar correction, present grammar correction really kind of sucks and that's what I think people need most vs spelling correction" and that'd be that.
Of course, LLMs are non-deterministic and do occasionally make mistakes, so you have to use them correctly and review their output. You shouldn't paste a doc into the web UI and tell it "fix all the mistakes and write the output to a new file." You should instead have it present each mistake and fix to the user as a diff and let the user approve or deny, either within the application or allowing the user to make their own edits. Never let it "rewrite" the whole document, that's the document-editing equivalent of giving OpenClaw root on your personal computer. Nothing good will come of it.
Classic spell checkers can't detect homophones. E.g. "there" and "their." Grammar checkers can, but at least the ones that I have used also like to change the tone of my writing to sterile corporate PC speak. LLMs used for grammar checking have not, in my experience, meddled with my tone. (Although sometimes they try to admonish me for it!)
Most grammar checker packages also include style checking, and the default options tend toward that style (because that’s the big market for them.) Most of them are also configurable, so you can disable style checking entirely while still checking grammar, or tweak which style rules are applied.
Traditional methods might not be perfect, but they also easily fit in the memory of even low power devices. Perhaps it isn't a problem worth burning a dollar of tokens for every spelling mistake.
Don't do a stupid thing like that in the first place.
> In comparison to non-AI traditional tools, AI has the advantage of "understanding" the text, reducing the number of "stupid" mis-corrections.
I doubt it, but if that's true, run a normal spell checker, and then give the output to your LLM to filter.
> what is there to gain by interfacing it with traditional solutions,
About a billionfold improvement in compute efficiency, and a lower error rate.
> and how can it be achieved?
10 seconds of actual thought.
I guess that works if you aren't a programmer or don't want to hire somebody, but then wtf would I pay for your service or product?
It's a tantalizing thing, but far too treacherous to actually go for it, most of the time.
I think the bitter lesson is severely misapplied in the current situation: If progress from "just add more resources" is very slow, and a huge amount of money is at stake, continous work on hand-engineering can give a continuous and very valuable competitive advantage.
The labs all seem to be going for AGI through bigger LLMs, and I am reasonably sure that it's not going to happen like that.
I don't know if this is still the case. Labs like anthropic and openai are spending a huge amount of their time on custom model wrappers. Something which they used to leave to their customers.
Plenty of people do, but that only produces a blog post that will get you to the front page of HN. If you want VCs to drop $40M on your head, you need to pretend to reinvent the world.
Then, to further appease the rain gods, you need to sue the bloggers on the front page of HN who are challenging your world-changing narrative. Which will, heh, drop you on the front page of HN.
Our community is, literally, eating itself at this point. There was a time when we actually took "make something people want" literally. Now it's just part of the fiction.
Edit: it’s almost assumed at this point but for completeness Claude / Codex were the ones driving the OO python code and datasheet research and parsing.
Then we got LLMs which will make a good parody of anything and occasionally get it right.
> distances are short
I remember we had a catastrophic error for "wire longer than 2cm".
> and buffers can be inserted at will to manage SI.
Effective buffering of large nets was a massive pain. Areas where you want to buffer are inevitably areas with a very high level of placement congestion. So you push some cells out of the way to add a buffer. That ends up worsening their timing. So they need a bit more sizing/buffering. Rinse and repeat for a few hours.
( https://web.archive.org/web/20071028033035/http://www.edn.co... ; long since absorbed into Cadence)
The right use of AI would be to use it to create a better routing/synthesis tool, but that's not what is being worked on
Is this common? When I try out new AI tools, even as person who is financially independent, I load up maybe 10-20 USD worth of tokens, and if I don't get anything working from that, I literally give up and don't continue trying. If it can't do anything useful like "place a simple component on the schematic" after ~10 USD of expenditure, is it really worth continue adding more money into the platform? Seems DOA in those cases.
If you have a .6 chance of success on any particular outcome. Long term win or loss is down to your behaviour. If you double or nothing every time loss is guaranteed. The right strategy will win over the long term.
Same with most people "doing a startup" or "opening a restaurant". There will be arguments all day long about how these affairs are technically possible and quite lucrative if everything goes according to plan. But the reality is that vanishly few people are equipped to identify and stick to the right plan. Reality meeting theory.
I've told my developers they can use agentic coding if they want, but they must never mention it in the course of development. Not because I don't want to know, but because it's not going to change my evaluation of "their" work. If they can use the AI and get to a point that they can submit a PR that they themselves understand, then technically speaking, what do I care? But if it breaks the build or does something stupid and they don't understand it, it's going to be a bad day for them, whether they wrote it themselves or copied it out of StackOverflow or had Gemini do it.
Nobody has taken me up on this offer, because I think they know that they aren't going to have the extreme discipline to do the hard thing of understanding "someone" else's code and sign their name to it.
While I mostly agree with your sentiment, I think there is an important difference. Unless you are attempting advantage play (99.99% of gamblers are not, and casinos ban the few that are), there is literally nothing you can do at a casino to make it a positive EV activity. No amount of skill, drive, effort, or anything other than pure luck can consistently generate profit at a casino.
A startup/business, on the other hand, can be effectived by your actions. Luck obviously plays a large factor, but you have some level of control over the outcome.
This is where my employer has ended up after extremely cautious AI adoption: _must_ be reviewed by a human, and the human whose name is on the gerrit review is responsible for the quality of the work.
For some reason the OpenAI dashboard shows me how much money the company as a whole has spent? It's still a very reasonable-looking amount of money and a tiny fraction of salaries.
They probably aren't making a loss on the $3.10 Manhatten either.
https://www.casino.org/news/vegas-myths-re-busted-the-end-of...
I agree that people will rationalise being in a losing situation as a winning situation. That does not change the fact that winning situations can exist.
Developers have to gamble on whether they will be better with AI or without.
The no excuses criteria means if they choose AI and it performs well, you both win, if it performs poorly they lose.
If they don't choose AI but colleagues do and it performs well, they lose relative to their colleagues.
The sensible solution would be solidarity and all reject the offer. Don't play the house.
I literally did this yesterday with solid results using Codex CLI. I used xhigh thinking and gpt 5.5.
I had it use KiCad directly via cli rather than via MCP, and I did make Claude Opus review it's work after every round. I got what I think will be a working revision A in about 10 hours of tinkering spread over a few days.
PCBs come in all different levels of complexity.
Would some sort of constraint-solving algorithm help with that? Something like (but not necessarily) Cassowary[0]? Maybe I'm misunderstanding what is meant by placement though; I don't have much domain knowledge in PCBs / electronics.
It does a pretty decent job on small hobby-project boards of ~40 components (which is my use case at the moment), and I'm working part-time in the background on scaling it further.
The resulting designs pass all the KiCad electrical and geometry checks. Granted, I've spent about a year working on this problem, and it's hard, but not that hard a problem, providing you can avoid falling off the exponential cliff by decomposing it into hierarchical subproblems.
Quick-and-dirty unsupervised whole-board synthesis from schematic takes about 5 minutes, longer if you want cleaner output with nicer-looking better-routed traces.
As others here have said, placing is the real problem to solve, and that's where the magic happens. Place the components right, and routing is a relatively easy loosely-coupled constraint programming problem, place them wrongly, and you will have to get used to seeing the word UNFEASIBLE in your log output.
A number of years ago I was working on something professionally and there was a problem. Only about 1 in 5 boards assembled wouldn't crash the CPU. After much debugging it turned out one of the ICs had an open collector output and it wasn't loaded correctly with a pull up resistor. This caused a cascading failure, held the bus up when initialising the hardware which hit the WDT and reset the CPU over and over again.
If you aren't there designing the thing in the first place, you never read the datasheets, never drew the schematic, never placed the components and thus don't know where to look when something goes wrong. And it does go wrong. And then you're in deep shit.
I worry about people who think they can get a product out of the door with this stuff but can't.
Embedded might be resistant to it, because software-hardware interactions are notoriously hard to sim, and AI still struggles with meatspace operations.
Not that it would stop anyone!
You say "people who think they can get a product out of the door with this stuff but can't" and I immediately think: Arduino. That was also seen as a way to introduce people who understand nothing about embedded to embedded. Surely no one would ever go from an Arduino prototype to an actual production run?
Ha ha WRONG. I've seen actual production hardware ship with Arduino firmware, because no one cared enough to fully rewrite that cobbled together Arduino firmware from the first prototype. The FW team just went over it enough to whack-a-mole the most obvious issues, and shipped the result.
So, no. People are absolutely going to ship AI genned embedded hardware, and get away with it too. I bet that by now, someone already did.
If you can’t or don’t entirely go over the output, the failure mode is invisible.
I can't find in archive.org if they had a previous post about it.
Also, seems like there a good bunch of complains in Reddit about Flux and its billing...
https://old.reddit.com/r/PCB/comments/1t476x4/warning_fluxai...
Nor is this Flux the display warmth app
Thank you, lawyers. If you ever find yourself out of work use this as your reference to pivot to advertisement
limor and i are very much looking forward to telling our story.
That if people were to email press@adafruit.com with a subject line (for example) of 'FLUX - AMA for later', these questions could be rounded up and the responses could then go onto a Adafruit blog page later, when and if applicable?
I would also argue it's not "often" the case someone asking the obvious question seemingly answered in the article had actually read it. It happens, surely, but it's not a rule of thumb.
That's too meta for a thread here anyways, I think.
And I didn't say it's '"often" the case someone asking the obvious question seemingly answered in the article had actually read it'. I said the person pointing it out while refusing to provide receipts or cordially engage is often wrong about what they think is obviously in the article. It's worthless noise regardless.
The ideal case of course is that there are only legit questions and discussion from people who actually read what they are talking about. If they miss something that's fine as long as it's the honest exception. But this is not a thing that exists or can exist, so it doesn't count. It's not actually available to be a "What I'd like the most."
The next-most ideal case is when someone talks about something they didn't read, that no one else responds at all. The noise is the minimum possible noise from the original source and it just gets ignored. This aslo is not a real thing, and so not up for consideration.
What's left is some flavore of "noise". This is not avoidable. it will exist and the only choices are what form and flavor it takes.
I think it is most conductive for everyone, the poster, the bystanders, everyone, including people who don't like "noise", is the obvious and natural response. That it's the obvious and natural response for a reason.
Low value and snark may be true but it's irrelevant. It's still the best most productive reaction. (Within reason, 500 of the same response to one comment isn't very interesting reading, but multiple of the same agreeing response does serve a purpose which serves us all.)
That's what I mean by "I'd rather read that than almost anything else."
There are are no better options that actually exist.
As for the hall monitor aspect, telling people they shouldn't say the obvious most applicable thing is also hall monitor.
All in all, I just find the argument sorta valid but weak.
When you discover an exploit, only communicate with source (and pray they respond) or get sued. Seems like the position is customers and stakeholders shouldn't be allowed access to this information.
https://www.cpomagazine.com/cyber-security/microsoft-doubles...
If you're not, then you don't have to.
Does anyone have some more context about what happened here? An uncharitable analogy might be that I misconfigured my front door by not locking it, which doesn't give someone the right to walk in and look around - but I have no idea what Adafruit is specifically being accused of doing.
This is all 100% speculation, just based on checking the archive sites and search sites historical data and finding nothing.
(I agree that Adafruit's statement itself is worded pretty terribly!)
10 x 0.1 = 1Not sure what the issue between them and Adafruit is. However, people over on Reddit¹ claim that Flux.ai is a little bit scummy. They push users into a beginner trial ($5/month) and then silently charge for usage per token - up to $100 per month.
Oh, they also claim that they have "the world's largest community-driven public library of Adafruit products, including footprints, symbols, datasheets, and simulation models"². I wonder whether they designed these themselves or whether they use existing ones. Could not easily find licenses info.
¹) https://www.reddit.com/r/PCB/comments/18o5zfo/thoughts_on_fl...
Seems especially useful when paired with an agentic coding tool!
Not only did it burn a 100$ failing but it did so in a very untransparent way.
I bought a 20 dollar plan but they snuck a 100$ billed usage into the billing agreements next thing I know the agent as used the quote going in circles and my card is billed.
I don't want to pay for a service that doesn't deliver.
You can already do this: hire a consultancy to build you a working deliverable for a fixed price. They will be incentivized to prompt their tools well and to avoid tools that are consistently pathological.
Edit: actually they probably will charge even more if they are charlatans
A handful of honest participants like DeepSeek are pay as you go instead of trying to sneakily bill you for usage.
1. Make a slop machine that's a wrapper around another slop machine like claude, openai, google or whatever.
2. Hire a lawyer to send threatening emails to anyone that might call you out.
3. Get a few investors that are completely clueless to throw a ton of cash at you for having ai in your product.
4. Profit.
Honestly, get a hold of Louis Rossmann, this shit needs to stop.
A confession
To some of us, this is elementary navigation. Like going up the stairs if the elevator is out. Often it's faster than waiting for the damn elevator, too.
To others, it's cybarrrr-criiiimeeee!!!!!!11111one
She was nevertheless welcome at a frequent flyer event hosted by Continental in Houston, where she beat me at poker.
Mind you there can be nuances, but that quote is like saying "I took their stuff, but it was poking out of their pocket."
Of course, we don't yet know the specifics of this particular case, but I'm willing to lean towards the people receiving legal letters threatening CFAA action until there's more information.
Now it is bit questionable should you check things like this during evaluation or not. Strict legal reading probably not. With reasonable customer relations you thank them and put it on top of the priority list. Unless they clearly enumerated everything they got their hands on or tried to run more real scans.