canadaduane

joined 2 years ago
MODERATOR OF
[–] canadaduane@lemmy.ca 2 points 1 day ago (1 children)

Thanks. I agree there are limitations to LLMs right now (and perhaps we won't figure out how to bolt on reliable intelligence for years to come).

I've been contributing to FLOSS for about 20 years. For example, if you're curious, this project took 3 years to write by hand: https://github.com/relm-us/relm

[–] canadaduane@lemmy.ca 2 points 1 day ago

Thanks for your thoughtful reply, I think you have some great points. It's important that we understand, at some level, or trust. Lacking trust, we need to understand.

[–] canadaduane@lemmy.ca 2 points 1 day ago

Thanks for your kind & thoughtful answer.

[–] canadaduane@lemmy.ca 2 points 1 day ago (1 children)

This is exactly what I'm trying to do, but I was taken aback at how negative the solarpunk community took things. I thought of myself as solarpunk, but I've had to reconsider since posting this.

[–] canadaduane@lemmy.ca 0 points 1 month ago (2 children)

Thanks for your thoughtful reply. I admire that, despite the clear differences we might feel around the subject. I'll try to be thoughtful as well.

LLMs are the opposite of anything ecological IMHO.

I think this is a really interesting point, and I hope to hear it unpacked some time. I'd be interested to know if you're talking about American LLMs, or some other breed of LLMs, or the transformer algorithm that generates language models itself.

We have a thousand of those already. A better example is needed.

I mentioned this in another reply, but will repeat here a bit. I didn't go into detail in the original post because I wanted to be brief. But the habit tracker app I was thinking about was something my daughter designed. She isn't a coder. But she had a complex set of nuanced motivation ideas for herself--she wanted to make a system where if she didn't something healthy for herself, she would be awarded stars, and if she did something social she would be awarded flowers. I'm doing her app a disservice by abbreviating it. She wrote a 19-page description (Product Requirements Doc, in engineering terms, but she wouldn't know that term) in Google Docs, and then built her app in v0. She was so so excited to see her ideas come to life! It's the first time I've ever seen her really interested in computers.

(re: mold an existing app) That’s not how any of this works. One more reason to shun those who do not care and take the time to understand what programming is all about.

I'm not sure what you mean here. I'm a FOSS developer. I know what open source is. I also know what it takes to start with an existing open source app and mold it into a new shape, based on new requirements that I have. What am I missing?

Linux is free FFS, install Ubuntu today and you have all the languages you’ll ever need. How is ~~code vomit~~ vibe coding helping? Also LLMs are very expensive to run right now, it’s the worst example.

I'm running an LLM and a transcription service (audio -> text of my notes, synced via syncthing from mobile phone to server, then processed using n8n and a docker image of whisper-asr-webservice) on an nvidia 3080 GPU in my home, powered (mostly) by our solar panels. I'm exploring new paths, and vibecoding seems like an interesting one to me 🤷

Last but not least, I hate how all the CEOs, managers, companies, and random people try to: pretend that open-source does not exist, change the meaning of the word open-source by associating it with binary blobs, and show developers as selfish people (“tech wizards”) who want to keep the technology for themselves.

I'm not sure that I agree with this statement.

You don’t want to learn how computer works and it’s fine, it’s your right, but don’t pretend it’s anyone’s fault.

I guess I didn't think I was blaming anyone here.

My vision for the future is one where it's more equitable--where digital algorithms don't govern our lives like they (primarily at the hands of corporations) do today. I'm exploring what vibecoding might mean if it emancipates people to contribute to the ruleset that is often hidden from their view, especially when they don't have computer/technical expertise (but also by just being a human being in this era, when mobile phones, social media, and unhealthy relating with devices are ubiquitous and basically just "expected" of you).

[–] canadaduane@lemmy.ca 1 points 1 month ago (1 children)

I might be misunderstanding, but it sounds like you're angry at AI, or at least, you'd like it to diminish not grow in use.

 

I started a local vibecoders group because I think it has the potential to help my community.

(What is vibecoding? It's a new word, coined last month. See https://en.wikipedia.org/wiki/Vibe_coding)

Why might it be part of a solarpunk future? I often see and am inspired by solarpunk art that depicts relationships and family happiness set inside a beautiful blend of natural and technological wonder. A mom working on her hydroponic garden as the kids play. Friends chatting as they look at a green cityscape.

All of these visions have what I would call a 3-way harmony--harmony between humankind and itself, between humankind and nature, and between nature and technology.

But how is this harmony achieved? Do the "non-techies" live inside a hellscape of technology that other people have created? No! At least, I sure don't believe in that vision. We need to be in control of our technology, able to craft it, change it, adjust it to our circumstances. Like gardening, but with technology.

I think vibecoding is a whisper of a beginning in this direction.

Right now, the capital requirements to build software are extremely high--imagine what Meta paid to have Instagram developed, for instance. It's probably in the tens of millions or hundreds of millions of dollars. It's likely that only corporations can afford to build this type of software--local communities are priced out.

But imagine if everyone could (vibe)code, at least to some degree. What if you could build just the habit-tracking app you need, in under an hour? What if you didn't need to be an Open Source software wizard to mold an existing app into the app you actually want?

Having AI help us build software drops the capital requirements of software development from millions of dollars to thousands, maybe even hundreds. It's possible (for me, at least) to imagine a future of participative software development--where the digital rules of our lives are our own, fashioned individually and collectively. Not necessarily by tech wizards and esoteric capitalists, but by all of us.

Vibecoding isn't quite there yet--we aren't quite to the Star Trek computer just yet. I don't want to oversell it and promise the moon. But I think we're at the beginning of a shift, and I look forward to exploring it.

P.S. If you want to try vibecoding out, I recommend v0 among all the tools I've played with. It has the most accurate results with the least pain and frustration for now. Hopefully we'll see lots of alternatives and especially open source options crop up soon.

 

Vibecoding as a term is only a month or so old--but I think it captures a new and significant shift in the way we might approach coding now and in the future.

Andrej Karpathy tweeted (Xed?) about it here:

There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.

I think Andrej captured something important, and as a community the AI/software engineering community has adopted and adapted its meaning.

Wikipedia has a slightly more evolved definition since Andrej's tweet:

Vibe coding is an AI-dependent programming technique where a person describes a problem in a few sentences as a prompt to a large language model (LLM) tuned for coding. The LLM generates software, shifting the programmer’s role from manual coding to guiding, testing, and refining the AI-generated source code. Vibe coding is claimed by its advocates to allow even amateur programmers to produce software without the extensive training and skills previously required for software engineering.

As a software engineer, I'm very interested in this trend--both because it represents an entirely new way of coding (currently, sometimes helpful sometimes two-clever-by-half) and because it threatens my assumptions about coding.

But also because it enables people who have never coded to imagine building for their first time, and I welcome that.

1
submitted 1 month ago* (last edited 1 month ago) by canadaduane@lemmy.ca to c/vibecoders@lemmy.ca
 

I'm enjoying the challenge of using these high-level editors. They don't always do what I want. But many times, they explore possibilities I never would have considered.

Currently, I'm giving Windsurf a try, both in my personal projects and at work. I really like the Cascade process, where it tries something, then realizes it could do a bit more, then tries an alternate path, etc. It's a little easier for me to work with than Cursor, although I haven't used Cursor in a couple of weeks--so maybe it's already improved lol.

I tried working with dual Windsurf windows open today--the idea was: could I manage two "AI agents" as they try each to solve a different problem? I had one exploring a bug: first, chatgpt 4o helped convert screenshots of the issue to text, then I pasted all of the notes our product manager had made (along with the screenshot-to-text) and had Windsurf noodle on that for a bit. It came very close to a solution, but the tests were unable to prove the solution worked, so I had to revert to normal coding.

On the other Windsurf window, I was doing some new feature development. One trick I learned is to create a directory full of readme-esque files that cover various best practices or architectural decisions we've made in our codebase. For instance: a how-to-test.md file, with detailed instructions on how we write SQL tests against a database. I could @-reference this file (indicating to the AI that this file should be read/used/followed) whenever writing tests or using a test runner. Then I added this file to my .windsurfrules file and it seemed to pick that up consistently.

Maybe the "trick" to this new world is to be very detailed about all of the "tribal knowledge" practices we all keep in our heads, document them, and then conditionally call them up when appropriate? If I understand correctly, this is essentially what Devin (the $500+/mo AI Jr. developer) is doing and what is required to get this AI to do its job.

Overall, I enjoyed this new mode of "high level" development. I'll probably give it a rest at work for a few days, but I'm still open to it being an effective way to work. Will try again soon.

 

I showed my 15yo daughter what I was doing (building https://vibe-coders.org/) and she immediately saw promise it in to build her own health app and schedule her own exercise routine in the morning.

Within a few minutes she'd created a prompt that generated a website just for her--no login, no sharing her data. She made flowers grow out of the corners when she loads the website, just for a personal touch. She can add scheduled weekly exercises and then check them off on a daily basis when she does them.

Super cool!