But I don’t want the ad revenue. I want my car not to advertise to me.
Formerly /u/Zagorath on the alien site.
But I don’t want the ad revenue. I want my car not to advertise to me.
Nothing wrong with classes in functional programming though. Just return a new instance of the class from your method, rather than mutating an existing instance.
Merely driving from a to b is not the only purpose. They’ve sold it as being able to safely navigate, control your media, etc. If they were upfront and said “you cannot safely update your navigation or play/pause media while at lights, because we show ads”, they’d be in the clear. But by the accounts I’ve heard, it seems they didn’t tell people ahead of time what they were buying.
I’d take it back and demand a full refund. This is a dangerous, irresponsible product that does not fulfil the purpose it was marketed for.
Fuck yeah Randall is based af.
Yeah in truth I haven’t used physical money in ages either. Tap to pay is so much more convenient, and even before cards started having that, inserting and entering your PIN was still way more convenient than the annoyance of cash. If I find out a place doesn’t take card, I’ll usually just walk out.
With coins on the bottom, you can close your hand over the notes and the coins will sit comfortably in your palm. Then you slide the notes out easily.
Pro tip if you’re handing over money: give the coins first, and then notes. It makes it much easier, because coins on top are likely to slip off and require more careful handling.
Honestly I can’t even figure out how to get that alpine-chrome image to work. I edited my Dockerfile to say
FROM zenika/alpine-chrome:with-puppeteer
instead of
FROM node:22
I tried changing USER node
to USER chrome
. I removed all the apt-get dependencies that were needed to get Puppeteer working in Docker on my PC in the first instance, and added --chown=chrome
to my COPY package.json
line, all as described in the with-puppeteer example. I also added the ENV
lines from that. (I also tried various combinations of some of the aforementioned changes but not others.) Now I get an error with the npm install
step.
15.44 npm ERR! code 1
15.44 npm ERR! path /usr/src/app/node_modules/canvas
15.44 npm ERR! command failed
15.44 npm ERR! command sh -c prebuild-install -r napi || node-gyp rebuild
15.45 npm ERR! prebuild-install warn install No prebuilt binaries found (target=7 runtime=napi arch=x64 libc=musl platform=linux)
15.45 npm ERR! gyp info it worked if it ends with ok
15.45 npm ERR! gyp info using node-gyp@8.4.1
15.45 npm ERR! gyp info using node@20.15.1 | linux | x64
15.45 npm ERR! gyp info find Python using Python version 3.11.10 found at "/usr/bin/python3"
15.45 npm ERR! gyp http GET https://nodejs.org/download/release/v20.15.1/node-v20.15.1-headers.tar.gz
15.45 npm ERR! gyp http 200 https://nodejs.org/download/release/v20.15.1/node-v20.15.1-headers.tar.gz
15.45 npm ERR! gyp http GET https://nodejs.org/download/release/v20.15.1/SHASUMS256.txt
15.45 npm ERR! gyp http 200 https://nodejs.org/download/release/v20.15.1/SHASUMS256.txt
15.45 npm ERR! gyp info spawn /usr/bin/python3
15.45 npm ERR! gyp info spawn args [
15.45 npm ERR! gyp info spawn args '/usr/src/app/node_modules/node-gyp/gyp/gyp_main.py',
15.45 npm ERR! gyp info spawn args 'binding.gyp',
15.45 npm ERR! gyp info spawn args '-f',
15.45 npm ERR! gyp info spawn args 'make',
15.45 npm ERR! gyp info spawn args '-I',
15.45 npm ERR! gyp info spawn args '/usr/src/app/node_modules/canvas/build/config.gypi',
15.45 npm ERR! gyp info spawn args '-I',
15.45 npm ERR! gyp info spawn args '/usr/src/app/node_modules/node-gyp/addon.gypi',
15.45 npm ERR! gyp info spawn args '-I',
15.45 npm ERR! gyp info spawn args '/home/chrome/.cache/node-gyp/20.15.1/include/node/common.gypi',
15.45 npm ERR! gyp info spawn args '-Dlibrary=shared_library',
15.45 npm ERR! gyp info spawn args '-Dvisibility=default',
15.45 npm ERR! gyp info spawn args '-Dnode_root_dir=/home/chrome/.cache/node-gyp/20.15.1',
15.45 npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/src/app/node_modules/node-gyp',
15.45 npm ERR! gyp info spawn args '-Dnode_lib_file=/home/chrome/.cache/node-gyp/20.15.1/<(target_arch)/node.lib',
15.45 npm ERR! gyp info spawn args '-Dmodule_root_dir=/usr/src/app/node_modules/canvas',
15.45 npm ERR! gyp info spawn args '-Dnode_engine=v8',
15.45 npm ERR! gyp info spawn args '--depth=.',
15.45 npm ERR! gyp info spawn args '--no-parallel',
15.45 npm ERR! gyp info spawn args '--generator-output',
15.45 npm ERR! gyp info spawn args 'build',
15.45 npm ERR! gyp info spawn args '-Goutput_dir=.'
15.45 npm ERR! gyp info spawn args ]
15.45 npm ERR! Package pixman-1 was not found in the pkg-config search path.
15.45 npm ERR! Perhaps you should add the directory containing `pixman-1.pc'
15.45 npm ERR! to the PKG_CONFIG_PATH environment variable
15.45 npm ERR! Package 'pixman-1', required by 'virtual:world', not found
15.45 npm ERR! gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
15.45 npm ERR! gyp ERR! configure error
15.45 npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
15.45 npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/usr/src/app/node_modules/node-gyp/lib/configure.js:259:16)
15.45 npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:519:28)
15.45 npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12)
15.45 npm ERR! gyp ERR! System Linux 6.10.14-linuxkit
15.45 npm ERR! gyp ERR! command "/usr/bin/node" "/usr/src/app/node_modules/.bin/node-gyp" "rebuild"
15.45 npm ERR! gyp ERR! cwd /usr/src/app/node_modules/canvas
15.45 npm ERR! gyp ERR! node -v v20.15.1
15.45 npm ERR! gyp ERR! node-gyp -v v8.4.1
15.45 npm ERR! gyp ERR! not ok
15.45
[+] Running 0/1A complete log of this run can be found in: /home/chrome/.npm/_logs/2025-02-18T01_04_35_846Z-debug-0.log
- Service node Building 18.9s
failed to solve: process "/bin/sh -c npm install" did not complete successfully: exit code: 1
Which I just now (after posting) noticed was already mentioned in a different comment. Sorry!
I’m guessing the user who made that other comment is on lemmy.world? I can’t see any comment other than yours, and LW has known issues with federation (issues that would be fixed if the instance weren’t 5 version behind…) that mean I probably won’t be able to see it for about 2 days right now. So thanks!
I haven’t looked into the suggestion in great detail yet, but I will say I’m already running as a non-root user (USER node
is a line in my Dockerfile). I’m not sure what a seccomp profile is, but in case it wasn’t clear from the original post, I just want to emphasise that the current configuration works in Docker on my Windows PC. It’s only on the Synology NAS that it fails.
Actually it’s worse. They were told by the UK that they need to provide a backdoor globally.
And yeah, I’d say that’s a pretty safe assumption. Especially since we only know about the Apple one because of an internal leak, with neither Apple nor the government willing to comment,
I’ve had no problems with ReVanced. It’s a little complicated to set up so I wouldn’t blame a non-techy for not doing it, but if you can set it up for them, it works great. And it has the huge bonus of being able to connect to your YouTube account to let you do things like comment and add to playlists, to work well when switching between desktop and mobile.
Personally I’m not enormously worried about SSH, because I’m behind NAT anyway, but yeah it’s definitely still something I’d rather keep off if not in use.
Is there a way to get a terminal on the Synology itself, or is SSH from my PC the only way?
I would love to containerise it. I worked with Docker in a previous job, but honestly I’ve forgotten most of how to work with it. Would be a nice refresher to try and relearn how to create Dockerfiles and docker-compose.yamls.
Unfortunately I currently have two problems. First: I seem to be completely unable to test this on my desktop. When I open Docker on my PC, it complains that I need to run wsl --shutdown
, but despite doing that many times, it still complains, before immediately closing.
So I was going to try doing it entirely on the Synology. And then I ran into the issue that…I have no idea how to even start with that. When I search for Docker in the Package Manager the only thing that comes up is Synology’s own container manager, and I have no idea how to work with that.
Yeah I’m pretty sure my Synology should be able to run containers. It’s a DS923+. But unfortunately when I search for Docker in the Package Manager the only thing that comes up is Synology’s own container manager, and I have no idea how to work with that.
How do you run a docker container on Synology? I have a DS923+ which AFAIK should be able to run it, but when I search for Docker in the Package Manager the only thing that comes up is Synology’s own container manager, and I have no idea how to work with that.
How do you run a docker container on Synology? I have a DS923+ which AFAIK should be able to run it, but when I search for Docker in the Package Manager the only thing that comes up is Synology’s own container manager, and I have no idea how to work with that.
How do you run a docker container on Synology? I have a DS923+ which AFAIK should be able to run it, but when I search for Docker in the Package Manager the only thing that comes up is Synology’s own container manager, and I have no idea how to work with that.
To be fair to JavaScript (I feel gross just saying that), it does have the ability to do some more functional-like programming as well. For example, many of its more recent array methods like filter, map, and reduce are pure functions.