canadaduane

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

How you judge others is how you judge yourself. Practice being kind in your judgment of others, and you will find it becomes natural to be kind in how you judge yourself.

What you value, praise, attend to in others' lives is what you value, praise, and eventually attend to in your own life. Be curious about others lives, don't assume they have it figured out. This will lead to natural curiosity of your own life, and you will find there are many kinds of achievement and each leads to a way to value yourself. (Achievement is not one-dimensional--money & career is only one kind of achievement).

[–] canadaduane@lemmy.ca 3 points 3 days ago

News and discussion, but you start from a chosen community and work towards global connection. Also, no ads, no making you the product, and volunteer-based development and moderation.

[–] canadaduane@lemmy.ca 4 points 3 days ago

"less toxic" can be interpreted in different ways. For example, I don't always find people on Lemmy to be more open-minded across tribal boundaries. But you can perhaps find your tribe and experience less toxicity that way?

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

I love your insights, thanks for commenting. I'd just note that in some cases the word "nerd" has grown to mean just about anyone with competence or expertise due to their intrinsic interest & enthusiasm for the subject area. So maybe becoming an "equestrian nerd" or a "construction nerd" makes you immune to overbroad marketing claims in those areas!

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

I wonder what social media does.

[–] canadaduane@lemmy.ca 7 points 3 months ago (1 children)

This advice seems off-base to me. There is value in LinkedIn connections. But you have to make the connections outside of LinkedIn. Then it amplifies the value of those connections--you can discover that so-and-so knows so-and-so and then ask for introductions.

It also may be industry specific. I'm a software engineer, and I've had several employment opportunities come from these connections.

 

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 7 months ago* (last edited 7 months 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!

[–] canadaduane@lemmy.ca 3 points 8 months ago

I don't think I have intrusive thoughts. I'm happy, generally pretty creative (hobbies, coding, etc.). Sometimes politics and world affairs get me down, but I don't feel like they are "intrusive", more like affecting my mood. I like how /u/0x01@lemmy.ml put it--I kind of let my mind do whatever it does, and I try to be an observer of what unfolds. I think meditation practice has helped with this practice (Vipassana or Insight meditation specifically).

[–] canadaduane@lemmy.ca 3 points 8 months ago* (last edited 8 months ago)

Look for escape hatches. I run a self-hosted Cloudron server. The software I host on my home server is FOSS via Cloudron, but Cloudron itself is a service that keeps each of the FOSS apps up to date with security upgrades and data migrations when necessary. It's a huge boon to running a self-hosted server.

But when it comes down to it, they could potentially close up somehow (new leadership, get bought out, shut down etc.) They've left an escape hatch though--you can bundle and build your own apps, with a CloudronManifest.json etc. This would allow me to continue to run and update software if I absolutely needed to, without their support.

[–] canadaduane@lemmy.ca 3 points 8 months ago

theinternet.com

[–] canadaduane@lemmy.ca 32 points 8 months ago* (last edited 8 months ago) (3 children)

It's tricky. There is code involved, and the code is open source. There is a neural net involved, and it is released as open weights. The part that is not available is the "input" that went into the training. This seems to be a common way in which models are released as both "open source" and "open weights", but you wouldn't necessarily be able to replicate the outcome with $5M or whatever it takes to train the foundation model, since you'd have to guess about what they used as their input training corpus.

[–] canadaduane@lemmy.ca 6 points 8 months ago (1 children)

I recall seeing this video a few months ago--possibly last winter.

29
submitted 10 months ago* (last edited 10 months ago) by canadaduane@lemmy.ca to c/pop_os@lemmy.world
 

This has been killing me in Cosmic as I daily drive the alpha--the Alt-Tab functionality up until now has not cycled through most recently focused apps--rather, it has used a static list in the launcher that seems to be based on app launch order.

Not any longer! Two PRs will soon land from wash2, which continues the work of wizznokes (who started on this feature nearly 6 months ago), making recency-based alt-tab work!!

You'd think it's an easy task, but there are, afaiu several subtle things involved, including the need to create a protocol for cosmic-comp for active workspace combined with active app, so cosmic-launcher would be aware of and able to switch among workspaces, depending on circumstances of the most recently focused app.

I just pulled the branches behind these PRs and compiled and tested. What a beautiful sight to behold! Thank you all who were involved!

While I'm not involved directly with development, if I were to make a guess, I'd think these will reach the staging servers and be released this coming week if you're following popdev master (sudo apt-manage add popdev:master).

9
submitted 1 year ago* (last edited 1 year ago) by canadaduane@lemmy.ca to c/pop_os@lemmy.world
 

My laptop is running modern hardware with NVME drive and has 64GB of RAM. Running Pop!_OS 22.04 with Gnome/Wayland.

When I launch the cosmic-store or cosmic-edit (for example) via command line or launcher, each takes about 25 seconds for its app window to load. Loading the Pop Shop in the same fashion takes less than 1 second.

I saw a few lines indicating files couldn't be opened, and thought at first maybe my ulimit was set incorrectly, but there is plenty of headroom on my user (soft limit: 4096, hard limit: 1048576).

I do see a handful of logs that look questionable:

May 04 07:50:59 rosie systemd[2109]: app-gnome-com.system76.CosmicEdit-17126.scope: Couldn't move process 17126 to requested cgroup '/user.slice/user-1000.slice/user@1000.service/app.slice/app-gnome-com.system76.CosmicEdit-17126.scope': No such process
May 04 07:50:59 rosie systemd[2109]: app-gnome-com.system76.CosmicEdit-17126.scope: Failed to add PIDs to scope's control group: No such process
May 04 07:50:59 rosie systemd[2109]: app-gnome-com.system76.CosmicEdit-17126.scope: Failed with result 'resources'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ The unit UNIT has entered the 'failed' state with result 'resources'.
May 04 07:50:59 rosie systemd[2109]: Failed to start Application launched by gnome-shell.

What could be causing the cosmic apps to load so slowly?

 

Some article websites (I'm looking at msn.com right now, as an example) show the first page or so of article content and then have a "Continue Reading" button, which you must click to see the rest of the article. This seems so ridiculous, from a UX perspective--I know how to scroll down to continue reading, so why hide the text and make me click a button, then have me scroll? Why has this become a fairly common practice?

2
submitted 2 years ago* (last edited 2 years ago) by canadaduane@lemmy.ca to c/linux@lemmy.ml
 

I want to run a command and see all of its output on the left hand side, while simultaneously searching/grepping for particular lines on the right hand side. In other words, I want a temporary vertically split screen in my CLI, ideally with scrollback on each side of the split, but where I expect the left hand side to be scrolling thousands of lines quickly, while on the right hand side is a slow accumulation of "matches" to my grep.

Is this possible today? What tools would you recommend to accomplish this?

EDIT: To be clear, a one-liner is preferable over learning tmux or screen, although this does motivate me to perhaps begin learning tmux.

In case this is an X/Y problem: The specific command I'm trying to run is an rsync simulation (dry-run) where I want to both check that the command works, and subsequently check that there are no denied errors. The recommended way to do this is to run the command twice, as follows (but I want to combine it into one pass):

# first specify the "-n" parameter so rsync will simulate its operation. You should use this before you start:
rsync -naP --exclude-from=rsync-homedir-local.txt /home/$USER/ $BACKUPDIR/

# check for permission denied errors in your homedir:
rsync -naP --exclude-from=rsync-homedir-local.txt /home/$USER/ $BACKUPDIR/ | grep denied
 

LazPaint is a surprisingly good image editor.

I've looked around at many raster image editing apps for Linux, and I have mostly been disappointed.

  • The Gimp is hard to use and has lagged behind major other platforms' banner image editors.
  • Pinta is "ok" but has graphics glitches on my hardware (Intel).
  • Inkscape is good but specializes in vector graphics, not raster images.
  • Krita looks like it might be particularly good for artists using a tablet, but is mediocre for raster image tasks and has a complex interface.

I've also tried various "simple" apps such as KolourPaint [1] and Drawing [2], but these are generally more like "MS Paint" and have limited capabilities when importing images for various editing tasks.

LazPaint has all of the major features you would expect, without an over-complicated UI--selection, layers, gradients, filters, shapes, opacity, many file formats etc.. However, it is not wrapped in a Flatpak, so you need to download the "deb" file and install with Eddy (or the CLI):

https://github.com/bgrabitmap/lazpaint/releases/tag/v7.2.2

As an aside, I recently also discovered Pixelitor, and I think it's another one to keep an eye one. The author seems to be making some great progress lately (most recent release in September 2023).

 

The pop_os subreddit has many Pop!_OS-specific help requests per day. I'm kind of surprised there aren't more here on the Fediverse/lemmy side of the community.

I browse looking for ways to help, and after having shifted my attention from Reddit to the Fediverse I feel like I could be helping out more. Why aren't there more requests here?

 

I'm exploring ways to shave a few seconds off of my boot time, and I came across a post that stated, "my initrd is pretty small--doesn’t really load much--and Arch also defaults to using zstd which is also faster to decompress versus gzip."

What compression does Pop! use for initrd and the kernel? When I run ls -al /boot, I see files such as 14M vmlinuz-6.4.6-76060406-generic and 119M initrd.img-6.4.6-76060406-generic. Are these compressed?

Lastly, is there a way to choose the compression of these boot files without a custom kernel build? Or is what I'm trying to do "off the beaten path" and going to lead to "you have to compile your own kernel from here on out"?

 

Our new, not yet released Rust-based desktop environment for Pop!_OS and other Linux distros is filling out with some essential systems that cater the DE to both users and developers alike. Customization is one of our main focuses for COSMIC, and was a huge focus for us in August, too.

view more: next ›