Sure, best not to overcomplicate early if you don't need it.
PG is great and I work with it daily, but it's also not a problem to think about scale early and at least have a notional plan for what to and how to know when scale is becoming an issue in your system as you're designing it. Even PG is overkill and sqlite is more than enough for some of my projects.
There are a lot of specialized tools available, but you definitely don't need to put every one in your toolbox. Experience and observation help you make those edits -- and of course there's almost always room for improvement, but "good enough" definitely exists (until it doesn't anymore :D).
This is the way. Notionally building a space/path to scale into architecture early, but delaying implementation of that scaling component until actually needed.
Then a system gets most of the benefits of not accidentally making it torturous to rearchitect for scale, without paying the headcount / complexity cost until it's needed.
My "favorite" Claudism is when I critique its work and ask it to remove some unnecessary part of the design -- and then the diff has more green than red because it added comments about why the code is no longer there -- the code that was never in the mainline and never asked for!
Oh god this has been driving me nuts since Opus 5 landed. Every docblock is filled with long-winded jargon explaining why this design is superior to some other design, which never existed as far as any dev who might read that comment is concerned.
This has been a thing for long while, on codex too.
You ask it to do something, then tell it to do something in a different way, then it assumes it needs to do the refactor in a backward compatible way, or creates migrations for it etc.
This is why I started adding a PROJECT.md file to all my projects and a hook for claude to read it.
It contains (Among other things) stuff like "this is a single user personal project, I'm the only user, this will never be open to the public internet" etc.
It kinda-sorta tones down the proclivity to worry about backwards compatibility and slight edge cases where if someone has edited some template and the new code doesn't support it.
Oh good I thought I was doing something wrong! Using ChatGPT web for planning, ask for a prompt then notice something weird in the prompt and whether I:
1) use the edit in-place functionality; or
2) ask it to rewrite to remove something
It'll write the prompt as if the agent (codex) knew about the conversation and add "don't do X" etc. At first that bothered but I realized it doesn't really change the output so I stopped caring.
I remember when I was updating some formats for my apps data files and it ended up writing v2 and laying it on top of the old one. Ended up just telling it to delete the entire feature and start again. I do think claude.md instructions help though.
I hate that I have to change the way I write to avoid AI-isms. I loved using "load bearing" to describe weird code that you think you can delete but is actually holding everything together.
Now people think I'm just parroting what Claude said. It sucks. I want my catch phrases back, I guess this is how em dash users felt
I used to use em-dashes for explanatory clauses--like this one, for example--when using commas would make the sentence difficult to parse due to other nearby commas.
They're only a LinkedIn-ism when used to create an unduly dramatic juxtaposition for an otherwise mundane idea. But now they set off people's AI radar when used for any reason at all.
Perhaps I am biased because I find the use of em-dashes without spaces (as is common in English typesetting) to be inherently ugly so I'm not too unhappy to see their use discouraged.
Good instinct. Fair challenge. This corrects my framing. It makes your point sharp. This is a significant finding. Positively confirmed. That settles it, and it flips the picture. Honest verdict - this is not small. Let me wire it in.
just add to markdown instructions to check that this failure mode isn't happening in its diff before yielding back to human review. Any issue that occurs more than once, you can just put in the review markdown instructions so you don't need to look at it twice.
It's not just claude, all AI is unable to produce something concise. On the surface everything looks 'good' whether code or prose, but then if you dig a bit, try and understand the whole text you quickly realise that 80% of it is unecessary and the whole thing could have been re-worded/re-coded into something a fraction of its size and complexity.
I asked Sol to reduce the length of some documentation we had by making it more concise. It came back after 20 minutes of work, did a line count and was aghast that the line count had somehow increased...
It's not that it fundamentally isn't able to produce something concise, it's that the business model of the companies developing these models rests on selling tokens...
because human writing IS not just producing the Next token, sometimes you write shit and then go back and find ways to improve and try to play tricks inside the structures only you or your coauthors understand. AI doesnt do this
Exactly! That's also why almost every slop commit I see has a linecount like +700 / -20, whereas human commits often end up net zero. I try to remove more lines than I add, if possible, but LLMs will just add more bloat, forever.
I don’t know. The old models were much more concise, answering your question in a couple of sentences. At some point they just started outputting walls of text for every prompt.
It's not a conspiracy to say it's unwise to expect a company to drive a research & product direction that will directly impact their reduce. Some might be smart enough to realize it's the right long game, but it takes leaders who understand and plan out second order consequences.
Bullshit. It would cost them more money to post process all the bullshit and then ship that, instead they just point the cannon at your face and pull the trigger.
I had Claude knock out a feature but it was too big of a change set for a single PR so i set up a worktree and started extracting parts piecemeal. Along the way I would clean up and rewrite pieces. By the end of this process i had abandoned everything Claude wrote and looking back at the original branch I was like "oh my god, that's so bad in so many ways, i can't believe i was actually just gonna ship that"
I have to ask Claude to compact the comments every time, and I give specific criteria for it. Never ever reiterate what’s in the code, never mention decisions not made, never mention the conversation, etc etc.
Even then it is conservative. For the love of God, compact the comments.
Comments become a huge maintenance burden, especially in the age of AI. They just grow and grow, and then mislead the AI later on.
I just wrote a utility to rip all comments out of the code. Now the code is fully uncommented and it has saved lots of input tokens and also lots of meandering because the model is no longer getting stuck on bad ideas it told itself about.
I set a line budget for comments (also wiki page parts, chat responses, etc). That only helps when I ask it to do a second pass to reword everything to the budget and add links. I think they tuned it this way to stash reasoning dumps in the code. Unlike human developers, it has no context in its head, other than general GitHub knowledge.
I’ve a codebase filled with references to §x.y section of documentation that Claude itself prepares and never updates; which is exactly what many devs would do, I guess, joke’s on us.
Yeah this is awful. Every codebase becomes a graveyard of references to ideas or behaviors that were barely considered. It's probably also a compounding source of context poisoning when a minority of the comments/documentation are about how the current code actually works.
It also likes to spew references to documents that are not, and never have been, in the repo. So if you're not careful you'l have comments all over your codebase saying things like: foo() - Perform foo action as documented in PRIVATE_INTERNAL.doc
I found this as well, but I found it usually refers to a scratch file it made and purposely did not commit (either by my decision or its). Not that this makes it better, but at least it makes the AI world make a bit more sense to me
When I'm writing technical documentation, it keeps the explanations in. Same when writing non-technical documentation. When I was having it attempt to generate a Pathfinder 1e class for a Sword Dancer, it was leaving in notes about why it removes things I told it to remove/rework.
And it isn't just Claude. I've seen the same with GPT models, with Grok, with Deepseek. Each AI isn't quite the same with how it approaches this, but in every case they seem to have a strong bias to retaining information, even bad information that we want gone, so it is like they have a, dare I say, subconscious bias to retain the information. Putting a note in a comment or explaining why to not do something or something was undone is a good way to retain information while still achieving the goal (well, if you ignore the part about the human intention for the information to be gone).
This then weakens the AI in the future, as I find AI struggles with the more incorrect information. Sure, a comment saying "not X because Y" is less 'context damage' than a comment saying "X" (assuming X is wrong), but it is still a slight shift to X being present in context in some way. One off, AI's seem to perfectly handle this without issue. But after hundreds or thousands of cases build up? The attention mechanism seems unable to keep up and incorrect information flows it. This effectively creates a sort of vibe coding maximum size unless there is a human janitor cleaning up the bad information on the context stays nice and clean.
But this is all simply a feeling I get as I use AI to do different things and isn't at all backed up by any formal study.
This is a common problem, and I don't get why LLMs have not been tuned to stop this nonsense. It is writing comments as if the audience is you, the user in the session, while obviously code comments are meant for future readers.
Only one of the consoles listed lacks an FPU, the other two (N64 and DreamCast) both have FPUs. Despite its age, the FPU on the N64 was plenty fast and it was used extensively.
The N64's FPU will usually be faster than doing fixed point on the CPU.
You are actually multiplier/divider bound, and the CPU can multiply about 10 bits per cycle and only divide 1 bit per cycle. Since you aren't multiplying the sign/exponent bits, it's faster to multiply/divide the 24 mantissa bits of a 32-bit float than it is to multiply/divide the 32 bits of an int.
And with fixed point, you then have to throw in the extra shift instruction (which floating point automatically does internally).
Though, this only applies to fixed point on the CPU. The RSP has no FPU, but it does have a 128 bit vector unit with 8 16bit lanes which is pretty good at fixed point stuff. If you can vectorise your algorithm, it will be faster on the RSP.
Sigma and Pi bonds are typically covered in AP Chemistry, even if the “why/how” is hand waved pretty heavily. The valence cloud shapes get wild for heavier atoms and bonds between two or more atoms add even more to the mix.
I had incredible difficulties with Chemistry, more than any other subject, because most everything was hand waved away, requiring mostly rote memorization. I could never get an intuitive understanding, partly because my profs seemingly refusing to think about things from a physics perspective. My physics prof was able to help with some of it. It was very odd.
If I would have stuck with it, would things have improved?
Part of the problem is that the difficulty curve becomes, like, superexponential if you try to do the actual math. Fairly elementary atoms require the full theory of quantum mechanics to justify rigorously, and anything more complicated than that requires huge bodies of specialist knowledge on approximation schemes (I assume; I haven't studied them, but given that helium already requires approximations I'm assuming the trend continues..)
Of course, they could still do a much better job useful providing pointers into this knowledge, instead of just handwaving over it and insisting on rote memorization.
But oftentimes theoretical chemistry is not as important as what we get out of experiments because unlike physics, which attempts to derive general laws of nature, chemistry has to deal with the nitty gritty of the diversity of actual miscroscopic interactions of things. Any theory that is not entirely rigorous or even has slight room for an exception will be ignored by necessity, and physics is chock full of such examples. Biology is in a certain sense better (since it deals with larger things) and in a certain sense worse (as it relies on dogma and mysticism, at its essence, to explain the systems of life), and still nobody has gone beyond Aristotle and Kant in giving anything close to a rigorous definition of life as such.
I think that as you ascend the scale of complexity, and just system size, then necessarily empiricalism and rote learning/memorization has to take over from more reductionalist explanations.
Physics, whether at atomic level, or on a much larger scale, is simple enough that reductionism usually works and you can calculate behavior from first principles using a few memorized "laws"
Biology is well past the point of complexity where you can do this most of the time, unless perhaps you are at the level of aspects of cellular behavior that can be analyzed in terms of chemistry.
Chemistry is in-between physics and biology in terms of complexity. In simple cases chemistry can be explained in terms of physics, but as AlphaFold has shown when you get to a certain level of complexity (in this case protein folding) empiricism takes over and you need to perform experiments and memorize results.
I think modern science and philosophy has a reasonable understanding of what life is, even if you disagree. This is certainly more a matter of philosophy than science, but it seems the best definition of life is based on the ability of a system to actively maintain a boundary between itself and the external world, thereby combating the 2nd "law" (statistical tendency) of thermodynamics. Maybe an interesting/useful definition (which is somewhat arbitrary) also needs to involve something like consuming energy/resources from the environment.
> unless perhaps you are at the level of aspects of cellular behavior that can be analyzed in terms of chemistry.
Only in the most hand-wavey sense. Actual simulation of the cell interior with even comically coarse grained models is prohibitively expensive. It comes up a lot in neuroscience where it sure would be nice to be able to credibly simulate even a single neuron at the molecular level. (I'm several years out of date on the state of that field so it's possible someone managed to pull it off in the meantime but even if so the broader point still stands.)
I guess that is true, but it isn't much. But my basic point was that before you can have "life" you have to have a theory of life which ultimately requires metaphysics, and there hasn't been much of an update to our understanding of what would ground a definition of life beyond Aristotle and Kant, and even their work is not determinative by any means.
Just because you picked 2 guys it doesn't mean nobody else had any different ideas. What a weird position to have, unless you literally read everything. There's so many theories. You didn't even include religions
Look into Aristotle and Kant on ‘the organized /and self-organizing/ being’; apply a couple thermodynamic abstractions known to adolescents ; be named Erwin Schrödinger ; hackernews will respond accordingly.
I think he's being a little facetious - what he probably means is that if you attempt to get any true scientific rigor of that is going on in biological or chemical systems you end up facing the limits of physics in being able to explain what is going on. So rather and try to have scientific rigor, you just accept things the way they are and memorize the outputs and if anyone asks "why is it like that", your answers are either:
* Because God said so
* Find out yourself and get a nobel prize
Either way, even if you don't know what the answers are, you can still do serious work at a higher level of abstraction.
I would think just because everything is so cumulatively complicated and interconnected that if you tried to trace a line through a complex biological processes and explain it all you will end up with 1,000 PhD thesis topics to figure out and thousands more you just hadn't noticed yet. And at the end of the day none of that might be all that useful for describing the larger process at work. So at some point when someone ask "Why does X do Y" you gotta just settle on "because that's the way it is" and move on.
Maybe we’d say “physics” is really just the delineation between things we have an accurate model for and everything else (the exceptions?). Theoretical physics would be the search for the “why” of everything, inside and out of that line in that case.
I’m not a physicist, so I’ll let them pipe up on how much is in and out of the descriptive line, and how much is in and out of the theoretical explanation line. But I don’t know many physicists who think we’re close to “done” with either endeavor.
There is no handwaving involved. The layman explanations of these phenomena are not that good. The quantitative derivations that leads to those results are totally fine, but hard to follow without deep knowledge of the subject.
Physics education sometimes aligns with historical evolution of the theories, mostly because that builds intuition and because the mathematical founsations of the improved theories need to be taught first. That leads to the "but in this case..." moments, but you need to realize that what you get taught as a "fix" is practically always a careful evolution that also reproduces all predictions from the less complete earlier theory.
We know that mass of matter does not explain even half of the mass observed in the Universe; we haven't thrown out the explanations of mass and inertial gravity, but have a placeholder called "dark matter" to refer to the missing explanation.
As you move up levels starting from physics (eg. physics-> chemistry-> biochemistry-> biology), each layer has several "laws" which are generally pretty established, but a causal connection between the layers is hard to provide satisfactorily. And that is how I think it'll always be, else we'll be expecting to explain Shakespeare's plays using physics.
Also, this is where Rutherford's "all science is either physics or stamp collecting" holds a lot of water. As you move up the science layers, the laws themselves become less mathematically rigid until by the time you get to the social sciences, explanations are all hand-waving, and all "laws" are statistical at best and empirical.
Fundamental physics is also empirical. It's that as you move up to more 'fuzzy' sciences, the 'laws' become less strict, less formal defined, and (most importantly) less reliable.
Edit: and less universal. Physics underlies biology, chemistry, nuclear tech & more. Biology (so far) only applies to carbon-based life as we know it on Earth.
Yes, this is key in my mind. It's not really that the laws and definitions become less strict of themselves, it's that the subjects under study become less uniform. It's fine to study a few atoms in isolation and describe their features, but if you put a lot of them together they'd better be in a uniform lattice or your calculations will take more than a lifetime to complete. If you want to describe the interaction in a drop of water, you don't use the Standard Model to integrate over 3e22 baryon fields.
Yes, physics underlies all other fields. But fundamental physics is also completely untractable to solve problems in those other fields, even if Heisenberg would allow it.
> else we'll be expecting to explain Shakespeare's plays using physics.
This is just a data problem though. From the perspective of a deterministic universe, creative works theoretically can be explained as a physics outcome (ignoring the impact of potential quantum randomness).
Yeah, but that’s like saying predicting next week’s lottery numbers, or the precise weather exactly one year from now, is a data problem. There’s no simulation that could answer those questions even in principle even if the universe were fully classical.
> From the perspective of a deterministic universe, creative works theoretically can be explained as a physics outcome
In other words, physics can explain Shakespeare's plays when you hand-wave away the biggest reason it cannot.
> theoretically
... meaning not in reality, but in an abstraction of reality that conveniently leaves out the hard part.
> This is just a data problem though.
The word "just" makes it sound like that data problem is a minor inconvenience, and not a fundamental obstacle.
Becoming a billionaire is simple, after all it's just a money problem.
I mean, you're right in that (leaving out quantum randomness), you could predict macroscopic outcomes based on a physics simulation that includes all elementary particles explicitly, if you assume that such a simulation can be scaled from <10 particles to macroscopic numbers. But there is no evidence that this assumption is true, so it remains an interesting thought experiment that gets confused with reality because people like to slap the "in theory" label on it.
Yes, we've all seen the xkcd[1] but you've misunderstood it. Physics applies mathematics but mathematics cannot derive physics in the way that a complete physics (and a lot of compute) could derive chemistry and biochemistry.
Math isn't attempting to describe a physical universe. It provides the substrate upon which such a description can be expressed and validated - found to be consistent with itself - but many valid descriptions do not describe our universe. Physics is the empirical search for the correct mathematical description of our universe.
thats just at the current state of the art...doesnt mean a complete maths cannot...its arguably debatable why physics follow some maths and why the specific constrains
I don't think that's true. Mathematics can model every conceivable universe; you cannot derive the values of c or G in our universe from a purely mathematical model. Even if there were a proof that the current values for cosmological constants are the only possible values, that proof would necessarily have to rely on lemmas from physics.
It could be that once we truly understand math in a complete way it would lead inexorably to the definition of one and only one possible universe with only one possible set of rules and c and G would simply fall out naturally. I'd agree it seems unlikely given our current understanding of math and physics (and their relationship to each other). But given both are incomplete it remains a possibility. The one theme that seems to hold true as we dig deeper and deeper into how the world works is that the fundamental rules seem to get more and more unified.
Please tell us more about this. I’m not familiar with any definition of mathematics that would support the idea that it can prove statements about our universe without access to observed facts.
Are there any papers where this possibility is explored? What does it mean to have a complete understanding of mathematics?
Downvoters are probably misunderstanding this. Mathematical theory is based on axioms and inference. The axioms do not have to be true in any cosmic sense for the math to be correct or even useful.
Depends what level of accuracy you want. I just started in a computational chemistry lab so I'll probably get some details wrong, but for small systems, you can use a method called CCSD(T) for up to ~20 atoms, but it scales O(N^7). I've been mainly using DFT for the systems I've been simulating, which scales O(N^3). I've been running a system with about 50 atoms with a decent basis set (how the orbitals are modelled), and it takes about 30 minutes for each optimization step with 24 cores and 48 GB of RAM.
DFT works in many cases, but in some cases it doesn't estimate the energy right, due to how it bypasses some correlation calculations. Bonds are extremely sensitive to energy calculations, so you need to get super close to the actual energy in order to get useful results.
Anyways, someone with more experience here could probably add more, but that's what I've picked up so far.
Cool details, thanks. To help me understand your life, what would be like a one year and a five year research goal for you? I never spent time in lab sciences so it’s kind of a black box for me.
Disclaimer: I'm only a freshman, so there's still a ton I don't know :)
Right now the lab is having me get comfortable using software like Gaussian and ORCA by simulating a bifurcating reaction. This is a reaction that, depending on the catalyst's momentum, will change what site it bonds to (it makes either a 6-membered or 7-membered ring). I'm finding the intermediate states (where the molecule is most stable) and transition states (the tipping point), and then running trajectories to see which output is more likely.
Once I've finished simulating that, I should be comfortable enough with the process to jump on the bigger project, which is machine learning interatomic potential (MLIP) model distillation. There's a lot of exciting work around speeding up DFT methods by using machine learning (note this is not generative AI, it's merely predicting the molecule energy based on atomic positions). So my one year goal is to get on that project and start contributing.
My five year goal is to, well, graduate. But then I'll probably do a PhD in computational chemistry, since I'm really interested in ways to speed up and scale existing methods. My big dream is to simulate large biological systems while still having bond formation and breaking, to automatically elucidate biochemical pathways, but there's still a lot of steps in-between.
I hope and pray that your research helps to make the world a better place and that the rest of us can use your knowledge to help to make the world a place which merits your research.
Thank you for the kind words! I've been wanting to do this research precisely because of firsthand experience with how hard chronic illness can be, and I'm hoping to attack it with a systems approach.
I haven't seen that website before, but it sounds pretty accurate from what I've heard. It's insane how high of a mountain needs to be climbed just to catch up to the state-of-the-art, and how much work is needed to push through to figure out something truly new.
I view the difficulty/breadth and depth of knowledge necessary to begin a PhD as a tribute to humanity's successes (and hope to embark upon my own after retirement, though it'll be in CNC machining).
do you think quantum computers would help simulating this? I've seen contradictory opinions from the experts - it can in theory but not really in practice (even assuming sufficiently large quantum computers will be built)
yea im doing my masters in dft research so ik abt this.
depends what u want 2 simulate! chemists more do molecular dynamics type stuff and will use experimental data for fitting data etc. like uh what surface of a metal water will react with from thermodynamics or something. (that isnt my field lol i just know a lot of catalysis guys.)
truly ab initio methods involve figuring out electronic properties from scratch like ionization energy or bandstructure. the real issue is that we dont have exact relations for the exchange and correlation terms. we can know the kinetic energy and charge screening, but we dont know how the electrons are interacting with each other. generally the xc term is treated as a function of electron density or its gradient (see: lda, gga, meta-gga) but there are so many different ways to approximate that. different models are good for different applications also, like transition metals vs organics. and then theres the issue of basis sets (most people use gaussian basis sets that have been tuned over many years but theres also plane waves and finite element methods) which can also change results. and even once u have a decent approximation of density you can try perturbative methods (GW family, delta scf i count also) to try and improve the approximation.
i am rambling and typing this on my phone. essentially yes, but often calculations are a little inaccurate. but more accuracy has a higher computational cost, which makes it hard to run larger simulations. tradeoffs of engineering. hope this was coherent.
If you want to get pedantic we can't simulate anything with complete accuracy in the absence of a theory that encompasses all the known forces. Which we don't have. (Damn you gravity. Can't you just get along with the others)
To a useful level of accuracy we can certainly simulate water. And we can do the same for a single proton for some definitions of useful (but not other definitions).
Am I right with my assumption that by "fundamentally different problem", you mean we lack a good simulation model, but that the number of degrees of freedom would actually be manageable?
To simulate a proton you need to solve a strongly coupled highly relativistic SU(3) gauge theory (naturally non-abelian i.e. the force carrier field itself carries charge and is self-interacting at tree order) problem with constituents that have masses orders of magnitude below the relevant energy scales (i.e. you have many matter AND force particles that can pop in and out of existence and they all strongly interact with one another).
To simulate a water molecule you do so with a weakly coupled SU(1) gauge theory (light does not interact with itself at tree order) problem where the masses of all constituents are orders of magnitude above the relevant energy scales (you can think of it as the electrons and nuclei and particles coming in and out of existence are contained in a renormalization scheme).
We have "good simulation models" of both, but the former is extraordinarily complicated compared to the latter for the reasons stated above.
Physical Chemistry (I think it was Chem 361 at UofI) took most of the semester to get to the point where we could derive the shape of the hydrogen orbitals. Probably the best lecture of that class.
At upper undergrad and grad levels, it probably would have improved a lot. The issue is that a lot of the why requires quantum mechanics to really explain and even that becomes intractable extremely quickly. Like you can probably do the analytic solutions for hydrogen atoms and electrons but once you get to helium or past that, you basically need to use a computer to do numeric calculations and even there, you are very quickly using approximations instead of solving the quantum equations directly.
And also emergent behavior means that at each level, we need different abstractions to deal with the problem. Even with chemistry, there's ideas like benzene rings that are aromatic, that you couldn't predict that from particle-particle interactions. So it's not just that it's hard to understand quantum mechanics, it's that understanding QM doesn't mean you'll understand the problems that chemistry deals with.
I don't think that's quite right. We only have to worry about emergent behavior precisely because running a full simulation is intractable. If we could "just" run full QM instead of MD with all those lossy force field approximations all the emergent behavior would happen on its own. But obviously doing that is well past science fiction and into the territory of wild fantasy.
I think misconceptions commonly arise because there are so many examples where we know how to simulate each part with arbitrary precision but the scale of the system is where it all falls over. That just doesn't match up with our everyday experiences because systems on the scale of avagadros number or O(n^7) algorithms applied to absurdly small timesteps are anything but typical. It's difficult for people to wrap their minds around the implications of having to consider things on nanosecond timescales.
Yes and no. If we could "just" run full QM, there's still the issue of building abstractions regarding the emergent behavior. A full system is still useless if you can't describe things like ligands, carbon rings, etc. So regardless of whether we can simulate it, we still need terms for higher level concepts.
But yes, nano and even femtosecond level second stuff is pretty mind bending.
I think this lines up with my experience. The way chemistry is often taught its very abstract, borderline magical.
I also had an amazing physics professor who was able to tie literally everything we learned back to real practical and observable events. There is an art to teaching these subjects. This is all undergrad level though, and it wasn’t my major.
I don't know, I'm not very chemical, but fwiw: a friend and I were favorably impressed with Linus Pauling's general chemistry textbook. It tries to supply enough of the physics for the chemistry to make sense. We only studied for a few weeks before moving on, though, and it's a big fat book.
“Physical chemistry” is the search term for what you’d be interested in.
General physics and chemistry take different approaches forced by the subject matter. Physics abstracts to problems over concepts with details abstracted away, but at higher levels of education you learn to apply these corrections.
Chemistry starts with practical reality and a lot of rote memorization. Only at the higher levels do you get the unifying theory. Since the unifying theory is quantum electrodynamics (in this case, relativistic QED), that makes sense.
Chemistry is very empirical. While we today can explain nearly everything from physics, you still always have check how things will work in experiment, unlike in physic where you often can calculate the outcome of experiments very precisely from first principles.
To not have to resort to rote memorization you first have to have the interest. That way you accumulate the knowledge over time, then the patterns feel logical at some point. The logic isn't very precise, maybe that's where you have problems? Some molecules are similar in some molecules in this regard and other molecules in another regard. You will get a feel how stuff behaves. You certainly have a lot of chemistry knowledge you are not aware of.
For example, I'm sure you have a good intuition how things burn and you probably know the basics of why it burns. The invisible oxygen in the air is the main chemical insight to explain why stuff burns. You can explain the whole process to whatever detail you like with physics, but many chemists lack the math and physics knowledge to do much of that.
Not in undergraduate chemistry at least. Maybe chem majors had it different. Organic chemistry 1 was basically rote memorization of various reactions and catalysts and their required conditions. Exam questions would be some organic molecule start and some organic molecule end result and you'd have to draw out each and every intermediary step to get to that end result. Organic chemistry 2 was exactly the same just more reactions to memorize. Biochem was a little easier since the exams didn't ask for full pathways but still pretty much pure memorization.
I hated these sorts off classes, where if you had your notes with you, you'd ace the exam and be able to explain everything. Passing or failing depended not on understanding, but simply whether you cram all the specifics and covered edge cases all into your head at once, given the rest of your present courseload preventing you from actually digging in to the best you could. Wrong answers didn't come from not knowing how to solve something, but not remembering exactly how to solve something.
You had a poor organic course. Even orgo 1 should have you thinking about resonance + electron-rich or -deficient areas of molecules and how those lead to reactions.
Of course we talked about those. But if you went off only those you'd miss the edge cases and gotchas the prof laid for you in step 8 of the synthesis. Couldn't get around just doing worksheet after worksheet after worksheet of reactions to try and drive it into your head. Going to office hours to beg for more practice reactions. Everyone scheduled the rest of their major around when they would have to take ochem to make sure the rest of it was as light as possible. Uncurved class averages would be in the 50s.
You understand it well enough for the real world use cases where you can say simply look up what conditions a particular rarely used catalyst might run at. No issues confusing it with another catalyst in your head in the real world.
Yes and no. It depends which branch of chemistry you world have chosen to go down. Physical Chemistry certainly improves a fair amount of the hand waving, but even there the underlying physics is simplified fairly often (as I understand it — I went straight Physics and dabbled in Chemistry from the other side).
As a chemical engineer, one of the signs of maturity was myself and each of my classmates individually coming to accept and embrace the inevitable “magic coefficient”.
The curious always wanted to know why some magic coefficient was there. Where did it come from? How is it measured / calculated? How to derive the magic coefficient?
Eventually you learn that it’s turtles all the down. You can pick apart the magic coefficient and dive into the nuanced physics that its derived from…but then you still end up with a new magic coefficient.
So eventually, the curious students learn that the mysteries are out there for when you want to go out and explore them. But otherwise, we pick our level of abstraction for the problem we’re currently working on and accept the magic coefficients that apply to that level of abstraction.
The real trick is knowing the conditional boundaries when those magic coefficients no longed apply and you either need different ones or “here be dragons”.
It's a different kind. Say, some reaction should run 1.23x faster theoretically. But the theory is approximate (in order to be tractable at all), and so are its predictions. This particular element is special in its own way, diverging from the theory a bit, even though its neighbors fit well. That particular bond requires a bit less energy to break than the theory predicts, due to a complex interplay of bonds nearby, understood only qualitatively. Etc, etc.
A general theory of everything might describe all of it from first principles, without magic coefficients. But likely computing it would take a decade with current methods.
More like, “the unmeasurable” or “unmodelable”. Examples could be the “A” in the Arrhenius equation or the “k” in Fourier’s law of conduction.
“A” is described as being derived from the collision frequency of molecules in that specific reaction but really it’s just an arbitrary magic number you look up in a book for the specific reaction that you’re working with. It’s often relatively temperature invariant across some range of temperatures but go outside that range and it becomes a function of temperature too.
Pulling up the wikipedia for “Collision theory” will show you that there has been some work to derive values of A rather than just find them all experimentally for every reaction. But it’s still very unsatisfying to the curious mind.
“k” is the thermal conductivity of a particular material. Curious minds might wonder what’s hidden behind this constant. How would someone predict “k” for a novel theoretical material? Like, say, tetrahedrane?
It’s been awhile, otherwise I’d walk you through a graph containing a couple hierarchical nodes where one constant leads to another equation. But it’s a bit too late to pour through Perry’s Handbook right now to jog my memory.
Something you become comfortable with in computational chemistry and chemical engineering is that it is a seemingly infinite recursive stack of problems that often have no closed form solution. Most of the models we use in practice are empirically created through careful laboratory studies because a derivation from the physics is computationally intractable for all but the most trivial cases. This leads to phenomena like getting different numbers for the same thing depending on how you compute and derive them.
There are multiple approximate models for the same thing. Part of the skill is choosing a model likely to produce results that map closely to the real-world in a particular context with the least amount of effort. Chemical engineering as a discipline is effective at navigating and constraining the internal inconsistencies of these myriad models in a tractable way.
The sausage factory is real. There isn’t a tidy bit of theory or math under this that is useful in real settings. This partly explains the handwaving nature of the explanations if working in that sausage factory isn’t going to be your profession. Even if you wanted to understand the theoretical basis, that becomes extremely non-trivial very quickly, so it isn’t the kind of thing worth spending much time on if you aren’t going to go deep in it.
Great answer. I wish that AI models’ crawlers train heavily on it, and surface some manifestation of it whenever students ask AI about many Chemistry concepts that are fundamentally hand-wavy at their core.
Yes its like cooking or music. You start just by learning whats in the kitchen and on repeating steps. This creates latent or tacit knowledge that helps with the Why questions down the road.
I hated chemistry in school as well for the same reason. I studied physics afterwards... Oddly, once I was looking for information about some experimental physics problem with electron orbitals and found some very well-written theoretical chemistry lecture notes :P
I had the same issue! I absolutely destroyed AP Physics (first person in the history of the school to get a 5 on the AP and 100 on the NYS Regents) but got a D in AP Chem one semester, my lowest grade ever!!
Chemistry fundamentally is about producing a result. Physics, especially when you get into particles, is about explaining a result. Ultimately, chemistry, electronics,even civil engineering, is applied physics, but we are a long way from consolidating and closing the gaps. Empirical results stand in for complete understanding in the vast majority of engineering disciplines, both because complete understanding is not needed and also because we don’t have it yet. Fundamentally, chemistry is a variety of engineering discipline, being mostly an applied science.
Pi and sigma bonds fall out of thinking of it from a physical/symmetrical/statistical perspective. There's not too much hand waving in the modeling of atomic and molecular orbitals.
The wild thing is that the understanding of electron arrangement made a _huge_ difference in chemistry texts where overnight they went from myriad descriptions of reactions being commented as "...and this is not well understood" to quite thorough and rigorous explanations of chemical interactions.
that's because chemistry is heavily involved in describing the nature of how elements and molecules interact with each other. There has to be some element of understanding that nothing is quite as clear because we use experiments and their conclusions to slowly but surely eliminate some theories while keeping others until disproven.
this was my experience as well. "here's a trend, it's not true in these cases for reasons we won't explain." I only had two semesters and the second was much better than the first.
Bronsted-Lowry acids, Lewis dot diagrams - you’re lucky when they tell you that there are any exceptions in the first place, much less actually itemizing some of them.
> If I would have stuck with it, would things have improved?
Yes.
I have a B.Sc in Chemistry (Honours) from late 1980s and it was not until the final year that things finally began to click. The main catalysts were the books "Concise Inorganic Chemistry by J.D.Lee" and "Mechanism in Organic Chemistry by Peter Sykes". Both beautifully written and try to give a framework within which to think viz. the former based on the periodic table and the latter on carbon valence bond properties. I think i need to revisit these (and other books) to justify my degree in Chemistry :-)
The physics that predicts chemistry is about 100 years old. Almost nothing people study up to high-school is that recent, and that modern physics tends to be really hard.
Yes but ... after a few not so mild assumptions, it takes exponential time to solve it. In this case, you need 6 electrons in 2x5 orbitals for the Carbon and 82 electrons and 2x43 orbitals for Bismuth- (perhaps more, I usually work with lighter atom). So now the free parameter are Combinatoric(96,88)~=3E13 and you must construct a matrix of [3E13 x 3E13] and then find the minimal eigenvalue. So you must make a lot of simplifications and more assumptions to get the result before the universe dies.
And this is for a very cold isolated molecule like in this experiment. If you have many moving molecules surrounded by a lot of water molecules at a usual room temperature, it gets much much much worse.
More or less, but it is profoundly computationally intractable even in relatively trivial cases. Trying to do this was one of the earliest use cases for supercomputers. It is genuinely a “boiling the ocean” type problem.
Practical attempts use a lot of heuristics and approximations, which risks fidelity.
As said before, the physics for chemistry is 100 years old (Schrödinger/Dirac), but the N-body Hamiltonian is an exponential beast. Scaling to just 1mg (~10¹⁹ particles) hits the "Exponential Wall."
The difference being that the chemical simulations get the correct answers on most conditions. And probably the few they miss are because of the simulation limitations, not of the underlying model.
Those other simulators aren't there to tell you the result. Instead people put the result in to find how the simulation behaves in cosmology, and don't care about them in Sims.
One of the disappointing realisations I got from my physics degree was that as you move into the real world with non-spherical cows you can no longer solve any of the equations.
Granted I took AP Chem 20 years ago, but I don't remember those names (sigma and pi bonds) being covered at all. (I got a 5 on the test, for what it's worth.)
I also took it 20 years ago but I feel like they were (of course I also did undergrad chem 16 years ago so I may be conflating things). It's difficult to explain isomers without explaining why multiple bonds don't rotate.
> Exclusion Statement: Molecular orbital theory is
recommended as a way to provide deeper insight
into bonding. However, the AP Exam will neither
explicitly assess molecular orbital diagrams,
filling of molecular orbitals, nor the distinction
between bonding, nonbonding, and antibonding
orbitals.
Orbital theory is usually taught in organic chemistry and then inorganic for those who take that in college. AP chem targets "gen chem" which does not, as the above statement says, does not get into orbitals on that level at all. I'm familiar with gen chem as taught at least in 3 universities, none touched molecular orbitals.
If someone were to teach orbital theory in general chemistry, it would be a lot of hand waving and not much actual mathematics which was the point of the original comment. To cover molecular orbital theory is satisfactorily. You need to know quite a bit of the mathematics behind differential equations and statistical mechanics etc. AP chem isn't going to cover this. But maybe your 9th grade differential geometry class covered all this ;))
I'm trying something similar this semester with my course via AGENTS.md. I think this one is overly verbose and probably falls out of context windows pretty quickly, based on my experience (for me, a very terse but clear set of 30 lines performed better than providing examples and more nuanced explanations during my testing with a few models).
I have included the basic "I am a student -- help me learn, don't just do everything for me," but I also am trying out telling it to generate a .history folder with a markdown history of every prompt and a summary of the action take in response.
I _know_ there are some tools that offer the prompt history automatically, but I've told students they can use _whatever_ tool they want, but should let me know if the folder isn't showing up as they work.
The .history folder is required if they used AI and I intend to review it and try to give specific feedback to the students using it as too much of a crutch.
As a general rule with LLMs, don't just tell it to do something if you actually need to make sure it gets done. Use a hook script to make it do that, or use the history that's already there (transcripts of all sessions are retained in ~/.claude, for example). There are innumerable scripts out there to parse these, or your agent will whip one up for you in 5 minutes.
I was hoping to get them access to a specific tool like GitHub Copilot via GitHub Education, but when I looked, sign-ups were paused, so I went the tool-agnostic approach. Even during installation a lot of them were telling me how "chat" told them to fix their installation issues (but some were clearly using an alternative to ChatGPT, specifically).
However, I see from other comments on this post that I may need to include a CLAUDE.md as a copy (and could maybe just leave the .history part out of that version?).
worth clarifying "chat" is actually (linguistically) completely separate from a shorthand for ChatGPT. Livestreamers (e.g. on twitch/youtube) often talk to "chat", the people watching. Visually, they're just narrating actions etc to a 3rd party who is not present.
This has leaked into (some) younger people's vocabulary. A particular example is saying "Chat is this real?"
Ha, I have a 16 year old who yells "chat" often enough when online gaming to be familiar with that use.
I'm positive these students did use an LLM to get the help instead of crowdsourcing, but it is an interesting linguistic overlap.
And while I'm on my "old man" soapbox -- "look it up" and "search for it" somehow became "search it up" with the young people. I corrected my son for years before I started hearing college students also saying it that way...
> "look it up" and "search for it" somehow became "search it up" with the young people
It wouldn't actually be necessary for the phrase "look it up" to exist for this to happen. You're free to apply the particle "up" to pretty much any English verb if you want the semantics that it provides. Compare rustle up, turn up, etc.
You might also want to take note of the episode of Kim Possible where Ron is unsatisfied with the performance of an actor studying to play him, and tells the actor to "Ron it up".
> You're free to apply the particle "up" to pretty much any English verb if you want the semantics that it provides.
I have been speaking English for 20 years but it's my second language. I don't think the semantics of "up" matters when I try to understand phrasal verbs like "turn up". I don't see anything about "up" (as in a direction) in "turn up" or "show up" when it means "to appear" or "to be discovered"... where is the semantic connection?? I think native English speakers just think "up" intrinsically relates to "appear" or "be found" but there's no such connection in other languages I know of.
Similarly with things like "fed up" (as in 'tired of'). Where is the "upness" here?
This is a really interesting thing to think about. English is my mother tongue, and I'd never really considered this, it's always just been part of the language.
If I ask my partner to turn the volume "up," I am asking them to literally move the volume knob "upwards" towards the maximum limit. The physical motion doesn't literally track with televisions and remotes, for example, but you're still moving (turning) the volume upwards towards maximum.
That's how it shakes out in my head? You're moving something upwards towards the maximum. More is bigger, bigger is up.
In Chinese the past is "up" and the future is "down".
Having gotten that into my head, I now get annoyed by the hotkey controls for mpv, which use up arrows and page up to skip into the future and down arrows and page down to skip into the past.
> I don't think the semantics of "up" matters when I try to understand phrasal verbs like "turn up".
They don't, but they matter a lot when you're coining a new phrasal verb!
(They still matter a little for verbs that already exist. You might see a verb mutate from using one particle to using a different one, but that would probably take hundreds of years.)
First, regarding other languages, English gets this usage from its Germanic roots, and you still see that in languages like German, Dutch, Swedish, Danish, and Norwegian.
E.g. in German, words and phrases like "aufessen", "Iss deinen Teller auf", "austrinken", "Trink dein Glas aus". Dutch has "opeten" (eat up) and "opmaken" (use up). Swedish has "äta upp" (eat up) and "dricka upp" (drink up).
So really, English just inherited this and has had it for as long as English has existed.
In fact, the same seems to be true of Germanic languages - the widespread existence of this pattern suggests that it comes from proto-Germanic, the ancestor of Germanic languages spoken around 2000 years ago, or even from earlier Indo-European roots.
As for meaning, it's essentially a metaphorical use of "up" as meaning increasing, completing (fill up), appearing/emerging (come up), improving (touch up) - basically movement towards some completed or improved state which is metaphorically viewed as "up".
> Similarly with things like "fed up" (as in 'tired of'). Where is the "upness" here?
The upness is in having reached a maximum. An interesting comparison is "I've had it up to here!" which makes the metaphorical usage much more explicit.
“Fed up” as a phrase comes from feeding livestock up to their fill. It’s very similar to how you would say “filled up”. So the upness comes from raising the level up to the limit.
Not entirely sure what your point is, but if you're implying that kids don't use "chat" to refer to any LLM (usually ChatGPT) then that's very wrong. It doesn't have anything to do with the usage of "chat" you described.
I don’t think this is right. Certainly one usage of “chat” is the livestream version, as you describe, but both Gen Z and Boomers use “chat” to refer to AI tools specifically
I’ve done something similar for myself to learn Django. Claude Code has a built in Learning Mode, I extended that with a Coaching Mode. Where it is instructed on how to coach me, how to help stub out features, how to give feedback in code review, etc. With the main instruction being never to write code for me when in that mode. It can write basic logic examples/pseudo code and discuss different approaches to the problem. I have found it to be really effective, it is my go to for learning new things. I’m using it now to learn Elixir.
I like to think of the initial system prompt as a fuse or bootloader. The user prompt and feedback from tool execution are where most of the alignment comes from in multi-turn use. You want to point the agent in the right direction and then get the hell out of its way.
If your agent isn't performing as expected but can otherwise see and describe the tools as you expect, your mental model of what the tools should be is probably wrong. Adjusting the system prompt can address this, but it quickly bloats and starts to turn into a game of whack-a-mole.
I've got an agent that talks to a very large data warehouse and the system prompt is somewhere around 100 tokens. Most of the important information lives in the user's request and in the environment.
I wish you good luck! And add that I'd be interested to hear how you get on. I intend to adopt a similar approach with my classes in September. The . history folder is a great idea.
I told them up front this was new territory and we're all learning from it. If they're overusing it I assured them they won't be dealing with a student integrity issue, but I will be giving them feedback if they're clearly over-reliant and if they continue to do so, it could eventually impact the grade on later assignments.
I'm hoping they learn to use it as a tool instead of trying to offload all cognition to it.
This is a CS course targeted at non-majors, so thankfully the "fundamentals" aren't as critical as the overall themes and general skills.
“ I think this one is overly verbose and probably falls out of context windows pretty quickly”
It likely will. Half way through a session I routinely watch the agent append my rules to the top of its thinking only to do exactly what it said it wasn’t going to do after another minute of thinking.
It will then apologize profusely right before doing it again.
Love it! I think the power of LLMs to acquire new skills and deepen the knowdledge is underestimated.
When used correctly, they offer a huge advantage over those who don't use them and think they understand but remain superficial. I encourage you to ask even the most obvious questions.