I have a hobby project on the side involving radio digital signal processing in Rust that I've been pure vibe coding, just out of curiosity to see how far I can get. On more than one occasion the hobby project has gotten bogged down in a bug that is immensely challenging to resolve. And since the project isn't in an area I have experience with, and since I don't have a solid "theory of the program", since it's a gray box because I've been vibe coding it, I've definitely seen CC get stuck and introduce regressions in tricky issues we previously worked through.
The use of Claude Code with my day job has been quite different. In my day job, I understand the code and review it carefully, and CC has been a big help.
I've had some success with a multi-threaded software defined radio (SDR) app in Rust that does signal processing. It's been useful for trying something out that's beyond my experience. Which isn't to say it's been easy. It's been a learning experience to figure out how to work around Claude's limitations.
> Me too, but a more optimistic view is that this is just a nascent form of higher-level programming languages.
I like this take. I feel like a significant portion of building out a web app (to give an example) is boilerplate. One benefit of (e.g., younger) developers using AI to mock out web apps might be to figure out how to get past that boilerplate to something more concise and productive, which is not necessarily an easy thing to get right.
In other words, perhaps the new AI tools will facilitate an understanding of what can safely be generalized from 30 years of actual code.
Overall I like the list. Some of the bullet points were stated a little more strongly than I was comfortable with.
> People who stress over code style, linting rules, or other minutia are insane weirdos
I feel like programmatically enforced linting is like keeping a shared house clean. Suppose you live in a house with roommates. You wipe off the counters, you clean up after yourself, you put dishes in the dishwasher, so that the house is tidy and pleasant. If there's a lint or style rule that requires judgment and is hard to enforce programmatically, perhaps better left as an occasional PR comment.
Programatically enforced linting also has the benefit of removing degrees of freedom that aren't very important and don't merit getting bogged down about.
As someone who used Windows 95 when it came out, it struck me at the time as an off-brand Macintosh, making it feel kind of cheap (a feeling that never went away). I had also been using X Windows by way of SGI's workstations around that time, and IRIX felt clean, if a little old-school, by contrast.
I think there's plenty of scope for improvements like this. I haven't had the energy to pursue further improvements along these lines, but I suspect they could make it a better app.
My own purpose in using it is to be able to get back to any link that I've read or have potentially wanted to read at a later point in time. You scan see screenshots here: https://github.com/emwalker/digraph.
It's pretty manual at this point. The indexing is done by hand. The idea is kind of crazy, but I think it can be made to work, in the same way that Wikipedia is maintained by hand.
If you can crowdsource the indexing, you get yourself a manually curated search engine with a nice topic graph that can be traversed. A piece of this puzzle that hasn't been tackled yet is a reputation system to keep the signal-to-noise ratio high and deal with spam.
> What’s an example use case of where you use that system to find a link?
An example use case is that I come across some interesting long-form article on a topic I'm following, e.g., Shackleton's expedition, that's published on a nice website and that I don't have time to read. I can just drop the link in the right topic and get back to it without too much difficulty. Or that's the hope, anyway. (Doesn't always work out that like that.)
Another thing I'm interested in is what the topic structure ends up looking like as it's more fully fleshed out. So sometimes I'll drop in random links even if they're not that interesting, just to build out the topics.
I built a web app that keeps track of every link I ever find to be interesting. It allows for fine-grained topics (e.g., individual academic papers, or topics more specific than that). It groups the topics in a DAG, so that you can get to a topic via more than one path from the top. And it allows you to look at intersections of transitive closures over topics in order to narrow down a search.
It keeps a history of every change to the graph in Git, so one day you could potentially implement some form of time travel and see what the graph looked like at an earlier point in time without too much difficulty.
I have used the app every day for years. I feel like there's something promising there that is of general interest, but I have not figured out how to communicate the value.
A little depressing to see GitHub join the zeitgeist. Probably mandated from above by Microsoft. The next time I'm on a job search, I'll be de-prioritizing, and possibly even excluding, those tech companies that laid people off in order to signal to investors that they had their finances under control. I was kind of attached to GitHub, though, so this is disappointing.
I'm an experienced Ruby web developer, and I'm starting to learn Rust. You mentioned Java and Nodejs, but I still wanted to chime in on the topic of languages in web development more generally, and the applicability of Rust to web development.
After tackling the refactoring of a complex Rails app that has a rules processing engine implemented on top of ActiveRecord, the true cost of Ruby's lack of static typing has become apparent to me. It's clear now that you can get a web app up and running quickly in a framework like Rails (as one example of a convenient, low-friction framework). But once you need to turn it inside out and make significant changes to the implementation, you're walking on egg shells and relying on previous devs to have built out good test coverage. A web app written in Rust would be easier to refactor in important ways at this point in the life of the app. It is clear there was a cost to using Ruby, but also that it was deferred.
Over the last decade I've had a similar thought and hope. Or at least the idea of working for an employee-owned and directed tech business (maybe on the model of REI?). Curious whether anyone knows of any successes in this area with respect to the tech industry?
The kind of company I'm on the lookout for has definitely shifted over the years. When I was younger, the thought of working at Google and Amazon was very enticing. Then Amazon adopted some fairly regressive HR and business strategies and lost its luster in my eyes; or maybe my view of their existing practices just shifted as I grew older. Now Google is trending in the same direction. At this point in my career I'm on the lookout for smaller companies that are oases and have somehow managed to avoid the HR and business trends that have been adopted by the tech industry on the model of people like Jack Welch, the consulting firms and private equity.
> That being said I never understood why would anyone want to use this language for web development
On the backend, at least, Rust would be a significant improvement over Ruby, for example, once a business has gotten past the initial prototyping phase. I've spent years in Ruby development, and the duck typing makes refactoring a production system scary and drama-prone. No matter how carefully you proceed, there will be gaps in test coverage, and you'll regularly see new bugs in production from the refactoring work that would never happen in a typed language. I would gladly work in Rust over Ruby in a web development context. (Although my preferences lean towards Rust, there are no doubt many other typed languages that could do a good job here as well.)
> I do expect that even unreliable versions will be very useful tools for practicing lawyers, though.
Agreed. It's like being able to call up a map on Google Maps for an area that you're already familiar with. The map can help you remember things about the area and terrain that you might not have recalled right away. A kind of cognitive aid.
I'm hoping that eventually we'll get around the idea of a crowd-sourced search engine (mostly manually curated) maintained in the manner of Wikipedia, backed by a solid user reputation system to dissuade spammers.
This will import Wikipedia's serious flaws. But I'm hopefully that they can gradually be mitigated.
The use of Claude Code with my day job has been quite different. In my day job, I understand the code and review it carefully, and CC has been a big help.