I think the biggest lesson with Jev was the one of communication and understanding for the broader audience, sometimes a lot about innovating involves repeating yourself and translating your own thoughts to an intended audience.
Classical machine learning has been, for the most part, and just by the nature of science, behind academic terms and difficult to engage with as a product.
Jev did really well with coining up “System One” models and defining a standard application interface plus core primitives that landed in the current paradigm of software development.
I think it’s sort of like how Cursor reinvented autocomplete back then as a different UX and suddenly everyone was just using it because of how easy the bar was to understanding it.
Lastly, timing is everything. Just as Cursor had a first mover advantage, despite ML Ops being a thing for a while, they managed to encapsulate the concept behind a “System One” black box that fits the existing mental model for building software and shipping a data contract in the right point in time where the cost of tokens has been an important metric to watch.
Furthermore, it's not about the current innovation right now - if you sell yourself on a broader mission, your core product can evolve and change with it, and you're more selling yourself as the guy who will make that abstract vision possible no matter what.
No matter how much we pretend, that's how a lot of abstractions work. Things that touch the real world can change; there's a risk that the change could be as something as simple as a bugfix to changing the underlying implementation but preserving a higher level goal; you generally want a human in the loop to make sure the semantics work out and everybody's agreeing.
Well said, once you put it out there in the world, then it's also about how will the customer react to it and having to own that relationship going forward.
The relationship aspect of a business has a lot to do with how effective it is at continuing to justify its core value in an easy and relatable way; especially so when the decision makers that front the bill may not be as engaged with the underlying machinery behind the why it works how it does.
A fun book is Bad Magic by Stephan Zielinski. Kind of an awkward one to find since it's a common title from a while back (2004) at the very start of urban fantasy... and the author didn't appear to have written anything else.
At one point in the book, several of the characters are in South America looking for a jaguar. They ask the synesthetic mage of their group (each character has a different magical background)...
“Got anything to call a jaguar?”
Rider purses his lips. “Well … there is one incantation. But I’m not sure it’ll work. Even the most skilled thaumaturges can’t pull it off more than a quarter of the time.”
Sturgeon shrugs. “May as well try it, Al.”
Rider nods. “Okay. Be quiet, everybody.” He rolls his head on his neck, holds up his arms. Takes several deep breaths. Opens his mouth. Intones, “Here, kitty kitty kitty … here, kitty…”
Chloe throws a clot of mud in his face as Rider dissolves into whoops of laughter. Everybody shakes their heads in disgust and they troop off into the green.
I've heard that my whole life in the US. I think my dad taught it to me when I was really young, because he loves cats and our neighbors across the street had some outdoor cats.
I think it has become common, but I never heard it until a few years ago. Now it's seemingly everywhere. When I was a kid, it was just "Here kitty kitty" or making a clicking noise with your tongue or something.
> making a clicking noise with your tongue or something
I still do that today, and it works better than pspspspsps. When I was young, if my cat was outside on the porch I could click my tongue and he'd come running from a half block away. What a good kitty he was.
Well it seems everyone uses that! Thanks guys, I had no idea and this is so interesting to know. Now I wonder if someone has made some kind of study about it. I'll go looking.
I'm from Liverpool (70s/80s/90s), and of course I've heard "here kitty" but "pspsps" equally as common during my time in London (90s/00s), Cornwall(10s/20s), etc.
I always thought "pspsps" was a shortened form of "here pussy, pussy, pussy".
> The problem is that vibe coding makes it possible to build a substantial solution before learning enough about the problem to recognise that a much better solution exists.
This example and Bend aside, I find this to be the biggest struggle with the perceived intelligence we have today. It's great at producing something that works, but it is not great at calling you out when you don't know what you don't know.
It's not able to educate and course correct you unless you have great self awareness and discipline.
That said, I think this goes for everything, it's easy to fall into this trap because it is very human. We simply don't know what we don't know, so it's not uncommon to revisit an old solution only to be enlightened that there is now new information that allows you to replace it with something much better.
I don't think anything here is new or changed, if anything changed is really just the rate that we experience this. LLMs make it easier and faster for the feedback cycle to happen.
Now back to Bend, I think putting your work out there and being unapologetic about it, open source even, and willing to take feedback, will go a long way.
I am more worried about the many closed source implementations of LLM built products that are being sold and people are depending upon that don't get this great criticism from many different thinking heads.
I would argue it's a little new though. I used to write dumb little programs all the time that explored an idea which was probably bad, and in that exploration I often found that there was a better way to do it, or that I didn't know as much as I thought I did, or that another thing already existed that was much better considered than my half baked idea, etc. But there was learning that happened there, so the process was still valuable. Now you can get a working bad idea without learning anything, there is full conservation of ignorance, but a full dopamine hit from "i made this thing". I guess you could argue it's just everything happening at a faster rate, but it feels different to me, and it is pretty eerie.
Yeah that's the other side of it, learning that is.
Before you would pause at overwhelming, now you get to "fail forward" with less at stake because the end result can still be verifiable even if the internals are a blackbox to you.
It's a sort of "deferred" and/or "optional" learning dilemma we now exist.
You could open the box, look inside, ask questions, but you would need to care and feel engaged, which is very hard to do when the result is already there.
This is why I framed it as requiring self awareness and discipline. Very easy to get caught into the slot machine dopamine cycle loop.
Sometimes the end result is good, but the means aren’t. With the “give me something” approach of most LLM usage, often you won’t realize you have bad code full of hidden bugs. Often, the steps are “it works on my machine” follows by an error in prod.
Absolutely, and this is true to handwritten code as well. This is why code review, tests, constraints, and putting effort into the critical pieces of software is paramount to success.
I also would argue that in this case, the end result wasn't good but rather perceived good. It was good enough to pass a smoke test, but not an integration test, and end-to-end test, a runtime edge case, etc.
All of software development lifecycle should still apply and be relevant here, the tool just changes the rate at how it gets written and it is tempting to move faster and continue skipping other steps. Especially so in greenfield work as a solo founder with limited time.
I think at the end of the day, a good metric is your "give a shit quotient". How much do you give a shit about what you are doing is likely the most important thing into how it is going to perform.
> but it is not great at calling you out when you don't know what you don't know.
or itself, the moment it hits some ambiguity it becomes a spaghetti throwing machine, half the time using a single attempt (arbitrarily picks answers with little logic or attention to nuance).
They've been trained to behave in ways that make them run longer, quantity over quality. I suspect this is because the people training them are extreme vine coders. Certainly seems that way by their public statements and harness releases.
I would much prefer if they stopped and asked questions. Mild improvement with markdown engineering...
That's an excellent point and kind of summarises the tension in LLM coding between the people being told to use it (developers) and the people doing the telling (managers). The latter are laser focused on the final product, the outcome, while the former are (were) more invested in the process.
Developers intuitively know that the development process would inevitably yield learnings that would shape and change what the final product could and should be, while managers typically dismiss this in favour of an illusion of productivity.
Self awareness means would be taking a step back and knowing if you're caught in a vicious cycle, trap, loop, pursuing something mindlessly.
Discipline would be turning this into principles you practice constantly, it's more of a lifestyle rather than a skill you "obtain".
For example, starting from the position of "I am taking on an idea where I may have knowledge gaps in" you first prompt for research and validation rather than execution. Even if the end result is you were right on your original design. (Sort of a challenge, adversarial, by default)
It will slow you down, but may lead to more sticky results.
So sad that commit history is a thing we can feel emotionally attached to a point of feeling vulnerable when releasing it with others.
Also equally sad that without a way to relate easily with how something came to be (e.g. the commit history) others will struggle focusing at the work and will judge its lineage.
I guess to folks here confused by that go search SrPeixinho on Reddit and that should have a lot of history for you to understand the background of the work, and you can also join their Discord server and literally talk to them there.
"You only have 10 seconds to make a first impression"
Glad you were able to restore the commit history.
With all the lack of authority of a random software developer on the Internet (but feel free to check my post history), I see the GitHub repo and its commit history as important and answers a few questions.
How old is this project ? (If one commit, I have no time range, so I have no way to know how long it has been worked on .)
Is it regularly updated? (If one commit, I can't tell the pace of updates)
Is it just one person, or a few people, or a community? (If only one commit, cannot see how many other people are available to support the project.)
If a project has no issues (no user complaints), then it's probably not used by anyone -- throw a rock and you can get one person to complain about how you changed the scenery, one person to complain about it being loud, one person to complain about how you threw it unergonomicly, and one person to criticize your accuracy. :) If it has no issues then probably no users.
Does it have any merged PRs? Open PRs? (If no merged PRs then presumably you do not really accept them? No way to know for sure but it's a signal.)
Of course these metrics can be gamed. But if you literally have only one commit, no issues, no PRs, then it's like declaring your restaurant is open for business but all the lights are off, there are no patrons, waiters, cooks, and there is a single to-go box on the table with a small bell next to it. Or it's a museum with only one exhibit and no docents or guests. It's just incredibly odd to see no history for a project.
Exactly. Plus, many people don't seem to understand the word "avoid" (it's come up in my own bubble recently). It doesn't mean "never." For example, a vegan would not say "I avoid eating meat." Furthermore, because someone successfully avoids now doesn't mean they went through a period of being unable to in order to earn the privilege to do so regularly.
Your exemple says much more: a short definition of veganism may use "never" and not "avoid", but a more complete, thoughtful definition encompass catches it:
> [...] which seeks to exclude—as far as is possible and practicable [...]
Ha, fair! It was an example off the top of my head and used based on my experience of how vegans talk, but yes, it's not a perfect example. But then if we're going down the rabbit hole then nothing is really absolute when it comes to what we should and shouldn't do. An actual software example would have been better:
"Avoid strong coupling between modules" v. "Never upload raw keys to a git server."
To a degree maybe but the degree differs dramatically for different people. To give an extreme, someone with a significant disability growing up in an impoverished family in the middle of nowhere is generally going to have very little opportunity to cultivate connections and ability.
reply