talkingpumpkin

joined 2 years ago
[–] talkingpumpkin@lemmy.world 8 points 1 day ago* (last edited 1 day ago)

So basically... AI can be addictive (to vulnerable people)? Maybe the bubble will not burst then.

Here it is:

Many of us got hit by the agent coding addiction. It feels good, we barely sleep, we build amazing things. Every once in a while that interaction involves other humans, and all of a sudden we get a reality check that maybe we overdid it.

In His Dark Materials, every human has a dæmon, a companion that is an externally visible manifestation of their soul. It lives alongside as an animal, but it talks, thinks and acts independently. I’m starting to relate our relationship with agents that have memory to those little creatures. We become dependent on them, and separation from them is painful and takes away from our new-found identity. We’re relying on these little companions to validate us and to collaborate with. But it’s not a genuine collaboration like between humans, it’s one that is completely driven by us, and the AI is just there for the ride. We can trick it to reinforce our ideas and impulses. And we act through this AI. Some people who have not programmed before, now wield tremendous powers, but all those powers are gone when their subscription hits a rate limit and their little dæmon goes to sleep.

Looking at Gas Town (and Beads) from the outside, it looks like a Mad Max cult. What are polecats, refineries, mayors, beads, convoys doing in an agentic coding system? If the maintainer is in the loop, and the whole community is in on this mad ride, then everyone and their dæmons just throw more slop up. As an external observer the whole project looks like an insane psychosis or a complete mad art project. Except, it’s real? Or is it not? Apparently a reason for slowdown in Gas Town is contention on figuring out the version of Beads, which takes 7 subprocess spawns. Or using the doctor command times out completely. Beads keeps growing and growing in complexity and people who are using it, are realizing that it’s almost impossible to uninstall.

[–] talkingpumpkin@lemmy.world 1 points 5 days ago (1 children)

I don't remember them asking for any ID. Then again I gave them my real name/address and I payed with my credit card so... it's not like they can't confirm it's me.

[–] talkingpumpkin@lemmy.world 2 points 1 week ago (2 children)

(I missed the first part so I'm not sure I follow)

How are the the subdomains resolved? If you registered them on a public DNS that might be what leaks them. Otherwise... maybe your browser?

[–] talkingpumpkin@lemmy.world 2 points 1 week ago (3 children)

I moved to infomaniak because registering domains come with a free mailbox (or at least they used to - IDK if it's still like this).

It works fine with lego (as should any other supported one).

[–] talkingpumpkin@lemmy.world 2 points 1 week ago* (last edited 1 week ago)

IDK.

I just asked this to perplexity as an experiment:

write a macos terminal command that makes a backup copy if all files in documents/ my home adding the current date and time to each filename

Here's what it concocted:

cd ~ && find Documents -maxdepth 1 -type f -exec sh -c 'for f; do cp "$1" "Documents/$(date +%Y%m%d-%H%M%S)_$(basename "$1")"; done' _ {} +

Now, I am no "prompt engineer" and surely there are better way to ask it stuff, but then again a layman is no prompt engineer either.

So the question is: would a layman be able to provide feedback and have perplexity fix its command?

My "layman-like" feedback (now that I re-read it, IDK how much a layman would have used "recurse"... I'm doing my best here):

I want the files copied to a "backups" folder in my home. It should also recurse into the "documents" folder.

mkdir -p ~/backups && cd ~/Documents && find . -type f -exec sh -c 'mkdir -p "~/backups/$(dirname "$1")" && cp "$1" "~/backups/$2/$(date +%Y%m%d-%H%M%S)_$(basename "$1")"' _ {} "$(pwd)" \;

Feeback:

it says "No such file or directory" (because of $PWD passed as $2 - of course I didn't say this to the LLM)

mkdir -p ~/backups && rsync -a --include='*/' --include='*.*' --exclude='*' --no-links ~/Documents/ ~/backups/"$(date +%Y%m%d-%H%M%S)"/

the date must be in the file name

mkdir -p ~/backups && find ~/Documents -type f -exec sh -c 'dir="~ /backups/$(dirname "${1#"$2"}")"; mkdir -p "$dir"; cp "$1" "$dir/$(date +%Y%m%d-%H%M%S)_$(basename "$1")"' _ {} ~/Documents \;

I don't think I need to continue?

BTW: the LLM also instructed me to do a whole bunch of seemingly useless stuff, like giving Terminal.app full disk access via System Settings > Privacy & Security > Full Disk Access (which I assume is actually a thing in macos but can't verify as I run linux)

edit: I hope I didn't misinterpret the bash commands (I didn't actually run them) and spotted the right bugs in them - even if I didn't I guess my point still stands?

[–] talkingpumpkin@lemmy.world 105 points 1 week ago* (last edited 1 week ago) (5 children)

Being able to use an LLM turns a layman into a coder no more than being able to use CAD turns them into an engineer.

It's a real pity that LLMs seem to have taken over as the sole topic of discussion in programming communities such as this one. It might be just me, but I find the whole topic barely interesting at all (ie. not more interesting than the discussions about stackoverflow coding we used to have).

[–] talkingpumpkin@lemmy.world 4 points 1 week ago* (last edited 1 week ago)

I won't comment on:

Claude Code Co-designer & Implementer Every line of code, tests, and docs

but, even so,... what's the point of this expression language?

Why would I want to "compile"

let x = 12, y = 13 in x + y

as javascript

(function (_) {
  return (() => {
    const x = 12;
    const y = 13;
    return x + y;
  })();
});

ruby

->(_) {
  (x = 12; y = 13; x + y)
}

or sql

(
  SELECT
    (
      SELECT
        x + y
      FROM
        (
          SELECT
            13 AS y
        ) AS _let
    )
  FROM
    (
      SELECT
        12 AS x
    ) AS _let
)
[–] talkingpumpkin@lemmy.world 3 points 1 week ago* (last edited 1 week ago)

IDK where I've read that... should have double checked before posting, my bad.

Quick fact checking:

US police kills some 1,281 people last year (wikipedia).

1,281/340,110,988*100,000 gives around 0.38 police killings/100,000 people, which is below homicide rate in EU.

I couldn't (be bothered to) find out what the overall European homicide rate actually is (it also depends on what you count as "Europe"), but Germany is at around 0.8, France at 1.8, Italy at 0.57, Spain at 0.9 and Poland at 0.8 (these are the five most populous countries). So... let's guesstimate it at around 1? (numbers are from this random source).

We can conclude that US policemen are roughly 38% as deadly as European criminals (if it wasn't clear, this last statement is a joke)

[–] talkingpumpkin@lemmy.world 20 points 1 week ago* (last edited 1 week ago) (6 children)

TLDR: Protesting or resisting privately inside your house does not lead to social change and is not the most rational way of protecting yourself if you feel threatened by your government.

Self-hosting is not "resistance": at most, it's prepping for nerds, with computers instead of guns.

Self-hosting is not even a rational/efficient way of making a statement. If that's what you want, it's far more efficient to follow the established tradition of declaring you are moving to Canada and not following up with actual actions.

Don't get me wrong: I can relate to the nerdy way of coping with the ugliness around us (I say "us", but thankfully I don't live in the US), but - the way I see it - it's that your society that needs change, and self hosting won't help with that.

Frankly, the shit you US people are putting up with is unreal.

It has always been (~~US police forces kill far more people than the overall homicide rate in Europe - read that again and pause a second to think about it~~ this isn't true - see comments below), and it's just getting worse.

If you feel threatened you can essentially respond by fighting, fleeing, or cowering.

If you wanna FIGHT (this is what "resistance" is about), try to use whatever power you have and apply your energies to bring actual change. If you don't feel comfortable acting outdoors, this could include lending your nerd skills to protesters or (nonviolent) resistance groups. Heck, even being a keyboard warrior is more useful to changing society than being a hobbyist sysadmin.

If you wanna FLEE, just leave the country. Honestly, there are better places to live than the US, and (if you have or plan to have any) better places to raise your children.

If you wanna COWER, then be a prepper or a self-hoster or whatever, but be aware that, while misrepresenting your reaction as "resistance" may make you feel more heroic than you are, spreading the misrepresentation can also lead others to cower instead of fighting. Is that what you want?

[–] talkingpumpkin@lemmy.world 1 points 2 weeks ago

By that reasoning, backup isn't redundancy because you'll lose your data if the backup gets corrupted while restoring.

That said, there's nothing wrong in redefining "redundant" to mean "having two or more duplicates"... you should however tell people if you do, to avoid misleading people that assume the dictionary definition.

19
submitted 4 months ago* (last edited 4 months ago) by talkingpumpkin@lemmy.world to c/europe@feddit.org
 

Delusional.

 

A lot of selfhosted containers instructions contain volume mounts like:

docker run ...
  -v /etc/timezone:/etc/timezone:ro \
  -v /etc/localtime:/etc/localtime:ro \
  ...

but all the times I tried to skip those mounts everything seemed to work perfectly.

Are those mounts only necessary in specific cases?

PS:

Bonus question: other containers instructions say to define the TZ variable. Is that only needed when one wants a container to use a different timezone than the host?

 

Prometheus-alertmanager and graphana (especially graphana!) seem a bit too involved for monitoring my homelab (prometheus itself is fine: it does collect a lot of statistics I don't care about, but it doesn't require configuration so it doesn't bother me).

Do you know of simpler alternatives?

My goals are relatively simple:

  1. get a notification when any systemd service fails
  2. get a notification if there is not much space left on a disk
  3. get a notification if one of the above can't be determined (eg. server down, config error, ...)

Seeing graphs with basic system metrics (eg. cpu/ram usage) would be nice, but it's not super-important.

I am a dev so writing a script that checks for whatever I need is way simpler than learning/writing/testing yaml configuration (in fact, I was about to write a script to send heartbeats to something like Uptime Kuma or Tianji before I thought of asking you for a nicer solution).

 

I'm not much hoepful, but... just in case :)

I would like to be able to start a second session in a window of my current one (I mean a second session where I log in as a different user, similar to what happens with the various ctrl+alt+Fx, but starting a graphical session rather than a console one).

Do you know of some software that lets me do it?

Can I somehow run a KVM using my host disk as a the disk for the guest VM (and without breaking stuff)?

 

I have two subnets and am experiencing some pretty weird (to me) behaviour - could you help me understand what's going on?


Scenario 1

PC:                        192.168.11.101/24
Server: 192.168.10.102/24, 192.168.11.102/24

From my PC I can connect to .11.102, but not to .10.102:

ping -c 10 192.168.11.102 # works fine
ping -c 10 192.168.10.102 # 100% packet loss

Scenario 2

Now, if I disable .11.102 on the server (ip link set <dev> down) so that it only has an ip on the .10 subnet, the previously failing ping works fine.

PC:                        192.168.11.101/24
Server: 192.168.10.102/24

From my PC:

ping -c 10 192.168.10.102 # now works fine

This is baffling to me... any idea why it might be?


Here's some additional information:

  • The two subnets are on different vlans (.10/24 is untagged and .11/24 is tagged 11).

  • The PC and Server are connected to the same managed switch, which however does nothing "strange" (it just leaves tags as they are on all ports).

  • The router is connected to the aformentioned switch and set to forward packets between the two subnets (I'm pretty sure how I've configured it so, plus IIUC the second scenario ping wouldn't work without forwarding).

  • The router also has the same vlan setup, and I can ping both .10.1 and .11.1 with no issue in both scenarios 1 and 2.

  • In case it may matter, machine 1 has the following routes, setup by networkmanager from dhcp:

default via 192.168.11.1 dev eth1 proto dhcp              src 192.168.11.101 metric 410
192.168.11.0/24          dev eth1 proto kernel scope link src 192.168.11.101 metric 410
  • In case it may matter, Machine 2 uses systemd-networkd and the routes generated from DHCP are slightly different (after dropping the .11.102 address for scenario 2, of course the relevant routes disappear):
default via 192.168.10.1 dev eth0 proto dhcp              src 192.168.10.102 metric 100
192.168.10.0/24          dev eth0 proto kernel scope link src 192.168.10.102 metric 100
192.168.10.1             dev eth0 proto dhcp   scope link src 192.168.10.102 metric 100
default via 192.168.11.1 dev eth1 proto dhcp              src 192.168.11.102 metric 101
192.168.11.0/24          dev eth1 proto kernel scope link src 192.168.11.102 metric 101
192.168.11.1             dev eth1 proto dhcp   scope link src 192.168.11.102 metric 101

solution

(please do comment if something here is wrong or needs clarifications - hopefully someone will find this discussion in the future and find it useful)

In scenario 1, packets from the PC to the server are routed through .11.1.

Since the server also has an .11/24 address, packets from the server to the PC (including replies) are not routed and instead just sent directly over ethernet.

Since the PC does not expect replies from a different machine that the one it contacted, they are discarded on arrival.

The solution to this (if one still thinks the whole thing is a good idea), is to route traffic originating from the server and directed to .11/24 via the router.

This could be accomplished with ip route del 192.168.11.0/24, which would however break connectivity with .11/24 adresses (similar reason as above: incoming traffic would not be routed but replies would)...

The more general solution (which, IDK, may still have drawbacks?) is to setup a secondary routing table:

echo 50 mytable >> /etc/iproute2/rt_tables # this defines the routing table
                                           # (see "ip rule" and "ip route show table <table>")
ip rule add from 192.168.10/24 iif lo table mytable priority 1 # "iff lo" selects only 
                                                               # packets originating
                                                               # from the machine itself
ip route add default via 192.168.10.1 dev eth0 table mytable # "dev eth0" is the interface
                                                             # with the .10/24 address,
                                                             # and might be superfluous

Now, in my mind, that should break connectivity with .10/24 addresses just like ip route del above, but in practice it does not seem to (if I remember I'll come back and explain why after studying some more)

 

I want to have a local mirror/proxy for some repos I'm using.

The idea is having something I can point my reads to so that I'm free to migrate my upstream repositories whenever I want and also so that my stuff doesn't stop working if some of the jankiest third-party repos I use disappears.

I know the various forjego/gitea/gitlab/... (well, at least some of them - I didn't check the specifics) have pull mirroring, but I'm looking for something simpler... ideally something with a single config file where I list what to mirror and how often to update and which then allows anonymous read access over the network.

Does anything come to mind?

view more: next ›