I started playing with this not long ago. Using pythonSCAD is way easier for LLMs and it can generate functional tests for it. Claude was able to one shot a relatively complex assembly of multiple custom parts where it made nonsense in pure openSCAD
I'm not really sure what you're saying here. An FPGA is inherently more general than a CPU because it implements any digital logic including a CPU. They're just more expensive and have clock speed limitations. Saying if you had a CPU that could do 1.2Tbps is just as silly as saying if you had an FPGA that easily operated at 5GHz.
My belief is that LLMs will fundamentally change how we approach domain expertise. From what I've seen, SDEs tend to be over-specialized compared to what the company actually needs to implement due to the need to understand enough of the domain to pick a best path. If an LLM can see the domain enough so that someone in an adjacent field can be confident in their approach and quickly change course then you don't need as many niche SDEs
I've been playing in this space as a hobby for a while. I agree the current round of startups are dead ends but I doubt LLMs will be good enough without drastically different tooling than today (ECAD and ATE). I've been playing around on a DSL for schematic capture alongside the design contract and it works for most subcircuits quite naturally. From that you can deterministically create a set of simulations and hardware tests to validate everything.
It believe the most likely consequence of AI is to promote generalists: people who have a domain expertise, can work cross discipline, and has enough programming knowledge to keep the LLMs on track. I don't think 'pure' software engineers will end up being as highly valued as the last decade though I also think that will be true for other disciplines as well. Just as an example, in signal processing, it's not uncommon to have a person designing the general algorithm and another person dedicated to implementing the algorithm in the embedded system. With the quality of coding agents, it's not really necessary to have both of those people anymore. A person who is moderately experienced in both can do the job now.
I think it's less a middle path than a third option. I see the type of thinking the author is commenting on whenever there is a tight requirement on a feature. Especially when you know you have to add some custom magic to meet the requirement. People tend to psychologically buy into a fully custom solution early on. So they either hack in a custom solution using abnormal data paths or known bad solutions or they fundamentally rearchitect the system around it. The third path is sketching out the feature so that it's modular and can be replaced. That way you can start out with a standard solution which gets you 90% of the way there then replace it as development progresses.
It took a small company I worked for months to get new licenses due to AMD just not responding. I'm not sure they have the ability to actually handle this in a timely manner
This might have made sense for the original 13 colonies but after westward expansion, it clearly does not. Most of the western state borders were formed for administrative reasons
There is no legal mechanism left that could correct course at this point. You would need to have a constitutional amendment to drastically reshape government and that's DOA. All that's left is snow decline and eventual dissolution
Its both depending on context. If HDL becomes custom silicon then it needs to be treated like hardware. If you can easily deploy field updates to your device then it's no different than any other firmware
You are mistaken. In the workflow I described, I am making changes on top of all branches at once and then deciding which branch to send the new commit to. This allows me to make changes simultaneously to both branches without friction.
I more or less use the method described [here](https://steveklabnik.github.io/jujutsu-tutorial/advanced/sim...) for branches. One thing I do change is that I set the bookmark to an empty commit that serves as the head of each branch. When I am satisfied with a commit on head and want to move it to a branch I just `jj rebase -r @ -B branch`. When I want to create a new branch it's just `jj new -A main -B head` and `jj bookmark set branch_name -r @`
I worked in nim for a little bit and it truly has a lot of potential but ultimately abandoned it for the same reason. It's never going to grow beyond the founder's playground.
I don't really agree with that unless you redefine the ego as being synonymous with 'being egotistical' or 'sinful pride'. You need a sense of self to feel pride and something more than base passion.
For practical purposes, if you don't acknowledge how good and bad behaviors can both spring from the same base emotions/thought processes then it's harder to grow out of the bad behaviors. You need to be able to reframe how the ego interacts with your work, not just try to kill it off.
I'm not entirely convinced that ego-less is even a better way of doing things. Sure, the ego can go overboard but it also gives a sense of drive and direction. It isn't just the bad stuff. Without it, there's nobody taking ownership of the design or it's just designed by an apathetic committee.
I think that's hyperbolic. There are several designs advertised as being designed in KiCAD that have DDR which means there are way more not being advertised.
You can route DDR in KiCad and there are some online reports of people doing that. KiCad is not as nice as the paid software and there are shortcomings but I think 'pretty useable' covers its status accurately.
It's also tooling. Professional grade PCB design software can be acquired for a few kilobucks per year and OSS versions (KiCAD) are pretty useable. Professional grade IC design software is hundreds of thousands per year and open source competitors are barely usable in comparison. I do share your hopes though, democratizing IC design even a little would be a huge boon to hardware development.
It's partly because you're not paying attention. Next time you're out in the woods, try to still hunt for a while. It's a hunting method where you move extremely slowly throughout the woods from cover to cover while watching for animals. You'll find that it takes a lot of mental focus to maintain that level of vigilance.
I don't know enough about LLMs to understand if its feasible or not but it seems like it would be useful to make certain tasks hard-coded or add some fundamental constraints on it. Like when making footprints, it should always check that the number of pads is never less than the number of schematic symbol pins. Otherwise, the AI just feels like your worst coworker