2,929 karma · joined November 15, 2012
When code is checked in, it tries to compile it to make sure there are no fundamental issues building the software. This, importantly, happens on not your computer. This helps protect against "it works on my machine" but fails for someone else. If you've got tests, and you should have tests, it will run them for you to make sure those complete as well. If both of those pass, it reaches the CD portion of the process and typically just zips up the working build and does whatever is needed for a deployment in your environment automatically. There are tons of other things you could do as well, like run a linting tool to make sure the code is all formatted consistently across the project or run security checks to make sure passwords or .env files aren't included by accident. But the core concept is build the project, test the project (with various different tools), if it passes deploy the project to some environment where you can see the changes. This drastically cuts down the feedback loop time and increases how fast you can iterate on changes.
For my setup, I've got forgejo hosted on my NAS along with various web apps as containers in podman which I use cloudflared tunnels to selectively make them public. I've got a Claude skill which knows about my hosting environment and can setup / manage new web projects for me. When I add a new web project, CC runs a script that CC built to configure the build, test and deploy actions. After that, any pull request to that new repo will automatically build and test and deploy automatically to a new subdomain. CC could call the APIs directly and handle everything without scripts, but that's where some of the non-deterministic aspects of LLMs might creep in. I want it to setup everything the same way every time so all the apps are consistent. So it uses pre-built scripts for those aspects with the direct API calls being an escape hatch if needed.
This is one of the first things I “fixed” with skills and hooks. I index every conversation in SQLite and have a skill which knows what to do when I ask it to search the index. I had to avoid the word memory because it’s too tied up in other parts of the context. It even indexes across my different machines. I set this up because I have terrible context discipline. I’ll go off on a tangent in one context and start planning and sometimes implementing something based on that thread which really deserves its own context. Afterward I can create the new context and move relevant bits to it, but I’d lose that initial starting conversation which inherently has more data than the summary in the new context.
I also use a few different related contexts. One where I’m building a game engine in zig and another talking about game ideas. There’s a lot of back and forth going on there which needs some shared context. I solve this with a combination of Claude.md references and that searchable session index.
Everything I do with scheduled tasks are just wired up with systemd and simple scripts. No LLM in the critical execution path. Again a skill tells CC how I manage those scheduled things so I just have to say something like “run this every day at midnight” and CC has reliably taken care of the rest.
Despite all the liars telling me gaming is easier on Linux than Windows, most new games have some sort of issues launching with default settings. CC is able to dive into both the exact error logs and the recent community feedback on what tweaks / configurations are needed to make it work. I rarely have to go beyond two prompts before a game is playable. CC and Proton are enabling the Linux gaming experience far more than Linus ever has or ever was interested in.
It wasn’t until I was curious enough to learn about calculus outside of the classroom that I was exposed to things which helped develop that intuition and made the calculations something other than just symbols and equations to memorize.
The part I find weird is all the claims that LLM usage leads to less thinking and exploring and just grabbing the first result. I constantly find myself going off on tangents and pulling on threads when I’m working with these tools. Is it really that different than before when my “peers” weren’t able or willing to be curious about their craft? They didn’t explore other programming languages out of curiosity or for fun? That covers literally 95% of all software developers I’ve worked with in the last 24 years across many domains. To them it’s just a job. Their only goal is to deliver tickets assigned to them and go home. They rarely go out of their way to learn something new unless the company assigns them some mandatory courses. Largely the LLM is capable of producing better and more consistent results than they ever could in the first place.
I don’t know how to cultivate curiosity in the work force. Maybe it’s not possible and you have to filter aggressively at the hiring step. But then your pool of hireable candidates shrinks to a few thousand developers most who are probably not actively looking for work.
> "I am, somehow, less interested in the weight and convolutions of Einstein’s brain than in the near certainty that people of equal talent have lived and died in cotton fields and sweatshops."
> Stephen Jay Gould
I own the house I live in because of the school district it put us in. It allowed my children to literally walk a couple blocks to their elementary school. I can afford to and do send my children to all the extra-curricular learning opportunities I can. And they have latched onto it and started asking for more things in the areas they are interested in. I can send my children to all the fucking dance or music lessons they can handle. I buy them literally every book that they ask for. My children are in the top 5% of every fucking metric, but it has nothing to do with "equality". It has to do with the opportunities we've been able to afford them. Opportunities that the vast majority of Americans cannot or will not follow up on. But people like you are willing to judge those kids as less deserving because they don't pass some arbitrary fucking test that I have been preparing my kids for their entire lives. But that's "equal" and "fair". Unlike "equity" where we take other things into consideration.
> "The secret of the creative process is in 98% of sweat, 1% of talent and 1% of luck."