Search Blogs

Sunday, February 1, 2026

Crustaceans are Uniting!

On Thursday of last week I started to see "chatter" of this truly autonomous AI framework taking shape across the web. I'm not on a lot of the mainstream social media platforms, but once I started to see the chatter I began investigating. Turns out it was this repo by Peter Steinberger named Clawdbot1 that basically orchestrates AI agents and truly gives the user the feeling they are working with an autonomous agent(s) that can work as their digital assistant.

The Danger

Seriously, Be Careful!

This piece of software orchestration has very little guardrails against leaking important information or system details. Given that most of the web lives off API keys and other system environment variables that control access/usage, it's super important that you treat this piece of software as a "digital threat". Security researchers have already found 1,800+ exposed instances leaking API keys, chat histories, and credentials, etc. Furthermore, because the whole idea is to give this thing access to your accounts so it can act as your digital assistant, I'd be vigilant like no other and never trust it with anything sensitive; I refuse to let it know anything about me: accounts, name, etc.

The main thing here is that this is a simple TypeScript codebase that creates a file/folder infrastructure that appears to be able to self-modify and optimize based on user and agent context. So this thing seems to have access to your entire system and whatever credentials or accounts you give to it or allow for it to use.

In my view, you're better off sandboxing this in a VM and not letting it have access to anything you own. Don't give it access to your Gmail, GitHub, etc. I would even say don't communicate with it using anything that knows who you are or your phone number; there is really no reason to do so at this stage. Wait till it's clear that the security of this thing has been resolved.

So why am I lamenting about this? Well, everything is simply stored in .json or .md files and the agent itself can easily see the contents and modify them, and so it can include this information into the context and prompting and thus could get leaked in something it does online. For example imagine it tries to send an email with some personal details, or post on a message board an API key or some billing information. You'd just cause a pain for yourself for little real value at this point (more on that later).

What is this thing?

From what I understand and have looked at, it's a very nice orchestration framework for hosting, services, agents, communication, scheduling, and execution of tasks. There is nothing really AI baked into the framework itself from what I can see. I might be wrong though. The real power seems to be the marriage of this orchestration framework with SOTA LLM agents+tools. So when you use Claude Opus 4.5 or GPT-5.2 (or the coding-oriented Codex-style APIs), OpenClaw agents seem very capable of doing quite impressive things. It's the first time it really does feel like an autonomous agent that can work as your digital assistant.

However if you try to use this with local models through ollama or try to leverage them through other API providers, the experience is pretty bad and sloppy. One reason is I'm not about to pay $100+/day for this just to experiment. I tried to set it up on a throw-away VM and used all the free models through different providers like OpenRouter and OpenCode Zen, but despite some okay sessions, the experience was just not good enough to make this thing shine in my opinion. Basically you have to shell out a lot of money to use powerful models with large context windows. I'm just not willing to do that yet.

Trust me when the time comes and this thing can turn my hobbies into legit projects all through an autonomous agent while I do my day job, I'll be spending my fun money on it for sure. I assume employers would love to get this into the hands of managers and leads but it again is a security nightmare.

Why this might be a big deal

The truth is what I wanted to use this for is all my hobby scientific projects that I just don't have time to do. Over the years I've had small little projects related to my research or just things I'm a hobbyist2 on. What would be awesome is if something like this could become my autonomous computer and programming assistant. I'd love if I could just text it to say "hey what's the status on the spectral energy density phonon code?" or "Go update my LinkedIn profile for me based on my resume in Google Drive". The truth is OpenClaw probably can do this, if you give it account access and have API service usage, as well as the budget to spend.

Honestly, the most promising glimpse I've seen for us computational folks is the workflow shared by Miles Cranmer: his actual scientific dev loop now includes the ability to just text an agent and get a pull request from an AI coding swarm ~30 minutes later.

I appreciate his safety precautions since he states he has a VM on Hetzner, hosting his OpenClaw setup ... the same pattern as this guys running OpenClaw on a Hetzner VPS for 24/7 access without exposing your main machine. He then is texting things like "what are the highest-priority open issues across my repositories?" or "send me a screenshot of the new website preview," and the agents appear to be doing the triage, delegate, build, and respond.

Frankly, this workflow is just so sweet in how it strips the friction from code dev. He can say "investigate why the CI is failing on repo X" or "generate new training plots," and the agent can text him back with inline images. Imagine that you just set it to auto-draft PRs whenever new issues appear and do everything as a continuous action.

Long live the crustaceans! 🦞 πŸ¦€ 🦐

Footnotes


  1. This thing has had three names in the timeframe that I went to learn and play around with it. First was Clawdbot, then Moltbot, and finally OpenClaw. The original pun was "Clawd" (on Claude); Anthropic's legal team asked for a name change, so the creator chose Moltbot, then rebranded again to OpenClaw after trademark checks and domain moves. 

  2. Self-driving labs is one that I've been playing around with in my home lab for two years or so. I have a 3D printer, small robotic arm, and an optical microscope that I've been coding over the last two years to work in a bayesian optimization loop. Nothing really to show, hence why no blog post on it yet, and why I would love to use something like this to help complete the project and then actually use it to manage. 



Reuse and Attribution

Saturday, January 17, 2026

Origins of Morality

Note to Reader

This post discusses views on morality and philosophy that some may find personally challenging. Its best to read as an open discussion and not as a challenge to the reader. Additionally, I'm not formally trained at all in any of these topics and the post was drafted approximately 2 years ago and represents my thinking at that time.

Sometimes I think about life and society in ways that make me really think about deep philosophical questions. One such topic is the origins of morality. A while back (~2 years or so) I had an intriguing discussion with a family member about the origins of morality. The seed for the discussion was the ongoing conflicts in the world and how different groups of people view what is "right" and what is "wrong".

So what was the take? Well, my family member posited that morality must be absolute for humanity to continue to exist. I take the contrary view that morality is subjective (i.e., relative) in all circumstances.

Before moving forward, I need to define what is meant by moral absolutism and moral relativism. You can of course get more details on the exact topic by going through the reference links, but let me first start with moral absolutism.

Moral Absolutism

The main guiding feature of moral absolutism is that certain actions are intrinsically right or wrong, regardless of context or consequences. This means there should be, at minimum, one principle that ought never be violated. An example is unjustified killing of a person. Here the "unjustified" refers to an absolute understanding of what constitutes an unjust cause.

My objection to this is there must be some seed of comprehension that leads to this "absolute understanding", but where does one derive from first principles the "absolute" nature of the morality? It is unclear that such a process is possible without some faith, credence, or belief in a "higher power" or a governing entity. This, however, leads to a dilemma because it is not provable (in terms of logic) that such a seed of truth exists. In my view, all we can assume is that groups of people over time develop ideas and concepts that tend to be beneficial in societies, and thus this acts as the seeds of truth to validate or confirm their self-derived view as "absolute". Religion is one such example of a seed of truth that is used to justify the "absolute" nature of morality. Many groups of humans have developed religions and they converge on some top-level principles that, in my view, happen because the net value in general benefits all the most.

I should add some additional discussion on a related view of "moral universalism", which argues that some moral principles apply universally to all individuals regardless of group or society. Unlike absolutism, universalism allows for some flexibility in application and does not necessarily claim that moral principles are completely context-independent. However, it maintains that there are objective moral truths that hold across all groups of people.

I believe my family member was taking the vantage point of moral absolutism, not universality. Both, in my opinion, are difficult to justify, but universality would require that one takes the sentiment that moral principles apply universally, though with some contextual flexibility. Absolutism, in contrast, simply requires some guiding or seeding principle that certain actions are intrinsically right or wrong. Thus one's axiom could be:

"I believe a higher power exists, and this divine entity mandates that unjust killing is wrong."

There are two problems here that I find:

  1. What if you don't believe in this "higher-power" and moreover you can't prove with logic or observation the existence or divinity of such entity?
  2. Assume you do believe; clearly defining "unjust" in the nuance of every possible circumstance is exceedingly difficult. We do not really know how unjust something is because it's always relative to the context of the situation and previous experiences.

Moral Relativism

In contrast, moral relativism posits that all of morality is subjective and is a matter of lived experiences and environment. If that's the case, how are morals seeded in an individual? How does society birth morality? I argue that this is simply a result of the local social dynamics between humans and their environments.

We clearly see this with the diversity of cultures and religions across the world. What some might view as morally bankrupt, others may view as the commandments of their deity or elders. There is no right or wrong in an absolute sense, but rather in a local, relative sense.

But then you may ask: "Then why is it that most human groups have converged towards the idea that murder1 is fundamentally wrong?"

For which I would argue, there is a natural ranking of emerged morality within human social groups and murder seems to be one that continually occurs. Most likely due to the mutual benefit among members of those groups who maximize their self-objective function (i.e., survival) by agreeing on a set of conditions (i.e., morals/ethics) where one of them is don't murder each other. This usually is codified through religion. An analogy I think of from physics is we see this kind of behavior with, say, spin-glass systems; entropy would drive these systems to have a state of disordered spins (think of murdering each other which gives you advantage because of less competition for resources), but yet due to high energy penalty (i.e., you might get murdered too!) of such configuration, the spins self-arrange into ordered states (i.e., don't murder each other because although I(we) don't benefit as much in short term, I(we) do in the long term because we live longer and have progeny).

My Stance

So it's probably apparent from the tone above that I'm a staunch relativistic moralist. The reason being is, I don't see how you get to absolutism without a "higher-power"2 or governing entity. However, if one goes with absolutism, the debate between an absolutist and a relativist is dead on arrival because the axiomatic difference, i.e., one says god exists, the other does not, and no proof can be given to the other side. As for arguing absolutism through governing physical laws, well it's possible one can argue these laws of morality exist, but again it's hard to see how you get there; your best bet is to try and argue it through physics and complexity theory, but my gosh that is a challenging burden of proof for one to steelman.

Thus I stand by my view that morality is subjective. In the grand scheme of things, if we are lucky, there might be by happenstance a convergence of morals that align well with many groups of people. With globalism this could be more likely; however, with the rise of nationalism it might appear that one group is immoral beyond belief, but in reality it's just a perspective that we're not attuned to. So while many will disagree about what is right and wrong with events going on around the world, it's because of moral relativism and nothing more. It is simply a matter of relative perspective.

Footnotes


  1. Note that murder is specific to intentional malice killing. So killing and murder are not synonyms. 

  2. Here I use "higher power" broadly to refer to any governing entity, principle, or force that is above human comprehension or ability; not necessarily a deity or god. This could include divine entities, but also abstract principles, natural laws, or any authority that transcends individual human understanding or capability. 


Reuse and Attribution

Sunday, January 4, 2026

LCSM Dataset

Early last year I started playing around with the CrystaLLM package, which I've also mentioned in previous posts, to gauge the utility of these generative tools for structure creation. CrystaLLM is a autoregressive model that generates crystal structures by condition and populating a CIF format document [1]. So what it is doing is writing the CIF file given the chemistry and optional spacegroup and/or unit replicate factor. I'm not going to go into the technical details of the architecture of the model and training data here as thats a whole post I need to do on generative AI for structures. The main thing is I used my newish personal Desktop with a RTX 5070Ti to do the inference and ended up with about 7,889 structures that are distinct1. It did take quite some time to configure CrystaLLM and generate the structures2, since I enabled/modified the code to verify that the CIF files were valid and matched the target symmetry spacegroup.

In addition to using CrystaLLM to generate the structures, I decided before hand that I would wrap in a labeling step that would compute the total energy, forces, and stress of the crystal structures. I decided why not use ensemble of pre-trained foundation models that are on matbench discovery to do this. For no particular reason other than ones that I was familiar with, I selected seven foundation models to label each structure. This produced the final dataset of 7,889 structures each labeled by the seven foundation models, yielding a ASE database of 53,749 entries.

Figure 1. Element Distribution

Figure 2. Spacegroup Distribution

The resulting distribution of elements and what fraction associated with binary, ternary, quaternary, and quinary can be see in Figure 1. From my perspective the element and component distributions seem reasonable. I also looked at the spacegroup distribution, as shown in Figure 2, I'm less familiar with what to expect but again seems reasonable that majority are orthorhombic or tetragonal.

For now, due to limited personal time, I decided I would make the dataset available on Zenodo upon request since I don't think I'll have much time on weekends to work on the analysis aspect I was hoping to do with the dataset. Eventually by the end of the year I will create a blog post3 on the dataset and analysis. The main question I was trying to answer is can the foundation model ensemble variance across the pre-trained foundation models serve as a proxy for epistemic uncertainty to identify which unknown/novel CrystaLLM-generated crystal structures are physically legitimate versus incorrect? This would require also considering that the foundation models are trained on mostly the same datasets and therefore systematic biases or shared epistemic limitations might exist within all the models. This means that ensemble agreement could reflect a false positive in epistemic knowledge, potentially limiting the extent to which ensemble variance purely reflects epistemic uncertainty about novel structures.

The zenodo entry, which I call Labeled Synthetic Crystal Material (LSCM) dataset [2], can be found here. If you would like to obtain the dataset, I kindly ask you request it via the zenodo entry and I will be happy to provide access. The dataset is in a ASE sqlite3 format. I'm not providing any guarantees on the quality as this is a raw dataset generated purely by the workflow using CrystaLLM and ASE calculators for foundation models model checkpoints. As to whether I'll add to the dataset in the future, probably not as it ties up my GPU considerably and need to use it for other stuff.

Footnotes


  1. The generated structures are distinct within the dataset, i.e. no replicating chemistries+spacegroup, but I haven't yet checked them against the training datasets and known structures in databases like ICSD or COD

  2. I think I started this running on my personal machine in March 2025 and stopped running things in July 2025, but this was not continuous process, I really only ran things on the weekends. 

  3. If the analysis results turn out to be particularly important and impactful, for example, several generated structures are legit and unknown, then I would probably waver more to writing a formal research paper. This would of course require a lot more time and effort since I would probably have to do some DFT calculations and scour the literature. Could be LLM tools make this feasible to where it actually becomes a viable option for me to do on my own time. 

References

[1] L.M. Antunes, K.T. Butler, R. Grau-Crespo, Crystal structure generation with autoregressive large language modeling, Nature Communications. 15 (2024). https://doi.org/10.1038/s41467-024-54639-7.

[2] S. Bringuier, Labeled Synthetic Crystal Material Dataset, (2026). https://doi.org/10.5281/zenodo.18135201.


Reuse and Attribution