sorted by: new top controversial old
[-] pe1uca@lemmy.pe1uca.dev 5 points 7 hours ago

I'm just annoyed by the regions issues, you'll get pretty biased results depending in what region you select.
If you try to search for something specific to a region with other selected you'll find sometime empty results, which shows you won't get relevant results about a search if you don't properly select the region.

Probably this is more obvious with non technical searches, for example my default region is canada-en and if I try "instituto nacional electoral" I only get a wiki page, an international site and some other random sites with no news, only when I change the region I get the official page ine.mx and news. For me this means kagi hides results from other regions instead of just boosting the selected region's ones.

[-] pe1uca@lemmy.pe1uca.dev 3 points 1 day ago

The problem is you want to achieve a high level answer from a low level model, it doesn't matter how much you change models if you keep to low parameter ones, you need to use big ones like the ones used in their data centers.

I've used 13B models with somewhat good results, I only tried once the mistral 8x7B and it was amazing the responses it gave.
But this was using llamacpp offloading some layers to the GPU and just the base model, no training.

Also, how did you connected the llm to your notes? Did you trained a lora? Used embeddings? Or were your notes just fed via the context?
IIRC the last two are basically the same and are limited to what your model accepts, usually 2048 tokens, which might be enough for a one chat with a not, but not enough for large amounts of notes.

[-] pe1uca@lemmy.pe1uca.dev 3 points 3 days ago

It's regarding appropriate handling of user information.
I'm not sure it includes PII. Basically it's a ticketing system.
The pointers I got are: the software is secure and reliable to store the data and be able to be queried to understand the updates the data had.

17

cross-posted from: https://lemmy.pe1uca.dev/post/1137911

I need to help auditing a project from another team.
I got the pointers on what's expected to be checked, but I don't have like templates for documents for what's expected from an audit report which also means I'm not sure what's the usual process to conduct an internal audit.
I mean I might as well read the whole repo, but maybe that's too much?

Any help or pointers on what I need to investigate to get started would be great!

40

I need to help auditing a project from another team.
I got the pointers on what's expected to be checked, but I don't have like templates for documents for what's expected from an audit report which also means I'm not sure what's the usual process to conduct an internal audit.
I mean I might as well read the whole repo, but maybe that's too much?

Any help or pointers on what I need to investigate to get started would be great!

17

cross-posted from: https://lemmy.pe1uca.dev/post/1136490

I'm checking this mini pc https://www.acemagic.com/products/acemagic-ad08-intel-core-i9-11900h-mini-pc

It says the M2 and SATA ports are limited to 2TB, but I can't imagine why that's the case.
Could there be a limit on the motherboard? On the CPU?
If most likely this is done in software (windows) probably it won't matter since I'm planning to switch to linux.

What I want to avoid is buying it and being unable to use an 8TB drive.

13

I'm checking this mini pc https://www.acemagic.com/products/acemagic-ad08-intel-core-i9-11900h-mini-pc

It says the M2 and SATA ports are limited to 2TB, but I can't imagine why that's the case.
Could there be a limit on the motherboard? On the CPU?
If most likely this is done in software (windows) probably it won't matter since I'm planning to switch to linux.

What I want to avoid is buying it and being unable to use an 8TB drive.

[-] pe1uca@lemmy.pe1uca.dev 1 points 4 days ago

it just seems to redirect to an otherwise Internet accessible page.

I'm using authelia with caddy but I'm guessing it could be similar, you need to configure the reverse proxy to expect the token the authentication service adds to each request and redirect to sign in if not. This way all requests to the site are protected (of course you'll need to be aware of APIs or similar non-ui requests)

I have to make an Internet accessible subdomain.

That's true, but you don't have to expose the actual services you're running. An easy solution would be to name it other thing, specially if the people using it trust you.
Another would be to create a wildcard certificate, this way only you and those you share your site with will know the actual sub domain being used.

My advice is from my personal setup, but still all internal being able to remotely access it via tailscale, so do you really need to make your site public to the internet?
Only if you need to share it with multiple people is worth having it public, for just you or a few people is not worth the hassle.

[-] pe1uca@lemmy.pe1uca.dev 2 points 4 days ago

I've read advice against buying used storage unless you don't mind being at more risk of losing the data in there.

[-] pe1uca@lemmy.pe1uca.dev 1 points 4 days ago* (last edited 4 days ago)

Yesterday I started looking for mini pcs and found this post https://www.reddit.com/r/MiniPCs/comments/1afzkt5/2024_general_mini_pc_guide_usa/

They shared this link which contains data on 2.8k machines, it helped me compare some of the options I was looking for and find new ones.
https://docs.google.com/spreadsheets/d/1SWqLJ6tGmYHzqGaa4RZs54iw7C1uLcTU_rLTRHTOzaA/edit

Sadly it doesn't contain data bout the ThinkPad, but I might as well share in case you're willing to consider other brands.

Edit: Oh, wait, I was thinking about a ThinkCentre, not a ThinkPad :P
Well, I'll leave this around in case someone finds it useful, hehe.

37

I started tinkering with frigate and saw the option to use a coral ai device to process the video feeds for object recognition.

So, I started checking a bit more what else could be done with the device, and everything listed in the site is related to human recognition (poses, faces, parts) or voice recognition.

In some part I read stable diffusion or LLMs are not an option since they require a lot of ram which these kind of devices lack.

What other good/interesting uses can these devices have? What are some of your deployed services using these devices for?

[-] pe1uca@lemmy.pe1uca.dev 59 points 1 week ago

It's just a matter of time until all your messages on Discord, Twitter etc. are scraped, fed into a model and sold back to you

As if it didn't happen already

[-] pe1uca@lemmy.pe1uca.dev 3 points 1 week ago

I don't actually have daily notes per se, I just have a way to add a note for the day when I need it.
So, in "my daily notes" I have stuff to remember later about what I did that day.

For actually daily changes to a note I have dedicated notes for project documentation and dedicated ones for "working on" scratchpads-notes which are a way to quickly copy something and modify it while testing it.

19

I have a few servers running some services using a custom domain I bought some time ago.
Each server has its own instance of caddy to handle a reverse proxy.
Only one of those servers can actually do the DNS challenge to generate the certificates, so I was manually copying the certificates to each other caddy instance that needed them and using the tls directive for that domain to read the files.

Just found there are two ways to automate this: shared storage, and on demand certificates.
So here's what I did to make it work with each one, hope someone finds it useful.

Shared storage

This one is in theory straight forward, you just mount a folder which all caddy instances will use.
I went through the route of using sshfs, so I created a user and added acls to allow the local caddy user and the new remote user to write the storage.

setfacl -Rdm u:caddy:rwx,d:u:caddy:rwX,o:--- ./
setfacl -Rdm u:remote_user:rwx,d:u:remote_user:rwX,o:--- ./
setfacl -Rm u:remote_user:rwx,d:u:remote_user:rwX,o:--- ./

Then on the server which will use the data I just mounted it

remote_user@<main_caddy_host>:/path/to/caddy/storage /path/to/local/storage fuse.sshfs noauto,x-systemd.automount,_netdev,reconnect,identityfile=/home/remote_user/.ssh/id_ed25519,allow_other,default_permissions,uid=caddy,gid=caddy 0 0

And included the mount as the caddy storage

{
	storage file_system /path/to/local/storage
}

On demand

This one requires a separate service since caddy can't properly serve the file needed to the get_certificate directive

We could run a service which reads the key and crt files and combines them directly from the main caddy instance, but I went to serve the files and combine them in the server which needs them.

So, in my main caddy instance I have this:
I restrict the access by my tailscale IP, and include the /ask endpoint required by the on demand configuration.

@certificate host cert.localhost
handle @certificate {
	@blocked not remote_ip <requester_ip>
	respond @blocked "Denied" 403

	@ask {
		path /ask*
		query domain=my.domain domain=jellyfin.my.domain
	}
	respond @ask "" 200

	@askDenied `path('/ask*')`
	respond @askDenied "" 404

	root * /path/to/certs
	@crt {
		path /cert.crt
	}
	handle @crt {
		rewrite * /wildcard_.my.domain.crt
		file_server
	}

	@key {
		path /cert.key
	}
	handle @key {
		rewrite * /wildcard_.my.domain.key
		file_server
	}
}

Then on the server which will use the certs I run a service for caddy to make the http request.
This also includes another way to handle the /ask endpoint since wildcard certificates are not handled with *, caddy actually asks for each subdomain individually and the example above can't handle wildcard like domain=*.my.domain.

package main

import (
	"io"
	"net/http"
	"strings"

	"github.com/labstack/echo/v4"
)

func main() {
	e := echo.New()

	e.GET("/ask", func(c echo.Context) error {
		if domain := c.QueryParam("domain"); strings.HasSuffix(domain, "my.domain") {
			return c.String(http.StatusOK, domain)
		}
		return c.String(http.StatusNotFound, "")
	})

	e.GET("/cert.pem", func(c echo.Context) error {
		crtResponse, err := http.Get("https://cert.localhost/cert.crt")
		if err != nil {
			return c.String(http.StatusInternalServerError, "")
		}
		crtBody, err := io.ReadAll(crtResponse.Body)
		if err != nil {
			return c.String(http.StatusInternalServerError, "")
		}
		defer crtResponse.Body.Close()
		keyResponse, err := http.Get("https://cert.localhost/cert.key")
		if err != nil {
			return c.String(http.StatusInternalServerError, "")
		}
		keyBody, err := io.ReadAll(keyResponse.Body)
		if err != nil {
			return c.String(http.StatusInternalServerError, "")
		}

		return c.String(http.StatusOK, string(crtBody)+string(keyBody))
	})

	e.Logger.Fatal(e.Start(":1323"))
}

And in the CaddyFile request the certificate to this service

{
	on_demand_tls {
		ask http://localhost:1323/ask
	}
}

*.my.domain {
	tls {
		get_certificate http http://localhost:1323/cert.pem
	}
}
[-] pe1uca@lemmy.pe1uca.dev 1 points 2 weeks ago

I'd say it depends on your threat model, it could be a valid option.
Still, how are you going to manage them? A password manager? You'd still be posing the same question: should I keep my accounts in a single password manager?

Maybe what you can do is use aliases, that way you don't expose anywhere the actual account used see your inbox, only accounts to send you emails.
But I tries this and some service providers don't handle well custom email domains (specially government and banking which move slowly to adapt new technology)

[-] pe1uca@lemmy.pe1uca.dev 5 points 2 weeks ago

I sort of did this for some movies I had to lessen the burden of on the fly encoding since I already know what formats my devices support.
Just something to have in mind, my devices only support HD, so I had a lot of wiggle room on the quality.

Here's the command jellyfin was running and helped me start figuring out what I needed.

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -f matroska,webm -autorotate 0 -canvas_size 1920x1080 -i file:"/mnt/peliculas/Harry-Potter/3.hp.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 libx264 -preset veryfast -crf 23 -maxrate 5605745 -bufsize 11211490 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -sc_threshold:v:0 0 -filter_complex "[0:3]scale=s=1920x1080:flags=fast_bilinear[sub];[0:0]setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(1920\,1080*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,1080))/2)*2,format=yuv420p[main];[main][sub]overlay=eof_action=endall:shortest=1:repeatlast=0" -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcodes/97eefd2dde1effaa1bbae8909299c693%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcodes/97eefd2dde1effaa1bbae8909299c693.m3u8"

From there I played around with several options and ended up with this command (This has several map options since I was actually combining several files into one)

ffmpeg -y -threads 4 \
-init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda \
-i './Harry Potter/3.hp.mkv' \
-map 0:v:0 -c:v h264_nvenc -preset:v p7 -profile:v main -level:v 4.0 -vf "hwupload_cuda,scale_cuda=format=yuv420p" -rc:v vbr -cq:v 26 -rc-lookahead:v 32 -b:v 0 \
-map 0:a:0 -map 0:a:1 \
-fps_mode passthrough -f mp4 ./hp-output/3.hp.mix.mp4

If you want to know other values for each option you can run ffmpeg -h encoder=h264_nvenc.

I don't have at hand all the sources from where I learnt what each option did, but here's what to have in mind to the best of my memory.
All of these comments are from the point of view of h264 with nvenc.
I assume you know who the video and stream number selectors work for ffmpeg.

  • Using GPU hardware acceleration produces a lower quality image at the same sizes/presets. It just helps taking less time to process.
  • You need to modify the -preset, -profile and -level options to your quality and time processing needs.
  • -vf was to change the data format my original files had to a more common one.
  • The combination of -rc and -cq options is what controls the variable rate (you have to set -b:v to zero, otherwise this one is used as a constant bitrate)

Try different combinations with small chunks of your files.
IIRC the options you need to use are -ss, -t and/or -to to just process a chunk of the file and not have to wait for hours processing a full movie.


Assuming that I have the hardware necessary to do the initial encoding, and my server will be powerful enough for transcoding in that format

There's no need to have a GPU or a big CPU to run these commands. The only problem will be the time.
Since we're talking about preprocessing the library you don't need real time encoding, your hardware can take one or two hours to process a 30 minutes video and you'll still have the result, so you only need patience.

You can see jellyfin uses -preset veryfast and I use -preset p7 which the documentation marks as slowest (best quality)
This is because jellyfin only process the video when you're watching it and it needs to process frames faster than your devices display them.
But my command doesn't, I just run it and whenever it finishes I'll have the files ready for when I want to watch them without a need for an additional transcode.

[-] pe1uca@lemmy.pe1uca.dev 6 points 3 weeks ago

I think you have two options:

  1. Use a reverse proxy so you can even have two different domains for each instead of a path. The configuration for this would change depending on your reverse proxy.
  2. You can change the config of your pihole in /etc/lighttpd/conf-available/15-pihole-admin.conf. In there you can see what's the base url to be used and other redirects it has. You just need to remember to check this file each time there's an update, since it warns you it can be overwritten by that process.
[-] pe1uca@lemmy.pe1uca.dev 10 points 3 weeks ago

Are you sure your IP is only used by you?
AFAIK ISPs usually bundle the traffic of users to a few public IP addresses, so maybe the things you see are just someone else in your area going out from the same IP your ISP provides.

But I'm not actually sure if this is how it works, I might be wrong.

12

Seems the SSD sometimes heats up and the content disappears from the device, mostly from my router, sometimes from my laptop.
Do you know what I should configure to put the drive to sleep or something similar to reduce the heat?

I'm starting up my datahoarder journey now that I replaced my internal nvme SSD.

It's just a 500GB one which I attached to my d-link router running openwrt. I configured it with samba and everything worked fine when I finished the setup. I just have some media files in there, so I read the data from jellyfin.

After a few days the content disappears, it's not a connection problem from the shared drive, since I ssh into the router and the files aren't shown.
I need to physically remove the drive and connect it again.
When I do this I notice the somewhat hot. Not scalding, just hot.

I also tried this connecting it directly to my laptop running ubuntu. In there the drive sometimes remains cool and the data shows up without issue after days.
But sometimes it also heats up and the data disappears (this was even when the data was not being used, i.e. I didn't configure jellyfin to read from the drive)

I'm not sure how I can be sure to let the ssd sleep for periods of time or to throttle it so it can cool off.
Any suggestion?

6

I started fiddling with my alias service and started wondering what approach other people might take.
Not necessarily the best option but what do you prefer? What are the pros and cons you see with each option?

Currently I'm using anonaddy and proton, so I have a few options to create aliases.

  • The limited shared domain aliases (from my current subscription level)
    Probably the only option to not be tracked if it would be unlimited, I'd just have to pay more for the service.
  • Unlimited aliases with a subdomain of the shared domain
    For example: baked6863.addy.io
  • Unlimited aliases with custom domain.
  • Unlimited aliases with subdomain in custom domain.
    This is different from the one above since the domain could be used for different things, not dedicated to email.
  • Catch-all with addy.
    The downside I've read is people could spam any random word, and if then disabled the people that had an incorrect alias wouldn't be able to communicate anymore.
  • Catch-all with proton.
    Since proton has a limit on how many email addresses you actually have, so when you receive an email to an alias and want to replay to it you'll be doing it from the catch-all address instead of the alias.

What do you think?
What option would you choose?

2

I started delving into world and dungeon generation with different techniques.
The one I want to try is wave function collapse.

There are several videos and repos explaining and showcasing how it works and how it can be used to generate an infinite world.

One question I have and haven't seen any mention about is, how do I recreate/reload the map from any point other than the original starting one?

So, AFAIK the algorithm start from a few tiles/pixels in a starting position, or picking their position at random, and then can collapse the rest of the map with the set of rules given to the building blocks, but if these starting tiles/pixels are far away after a player saves, then I can only think about having to start from them again to reach the saved point to be able to show the same world which of course could mean a very long loading screen.

Maybe the save can include the current seed, but then it can advance differently when the player goes back, which means the algorithm would generate a different portion of the map.
How can I ensure the world would be regenerated as it was?

While writing this I'm thinking I could be generating the seed of a block of tiles/pixels based on the seed of neighboring blocks and the coordinates in the map, something like left: seed+X, right: seed-Y, where X and Y are calculated based on the coordinate of the block.
This way I can save the seed of the current block and easily recalculate the seed used to generate all the adjacent blocks.
What do you think about this approach?

12
submitted 4 months ago by pe1uca@lemmy.pe1uca.dev to c/android@lemdro.id

I have an old android tablet (and several phones) that I want to use for small applications in my home automation.
For the most part just to show a web page to quickly click something to activate or read the status.

My issue is the OS installed is very old and of course there are no official updates.
Looking for custom roms they are also somewhat old because the age of the devices, and everyone says "don't use the rom of one device into another even if the models are very similar".

So, my question is, what are my options if I can't use a pre-built rom?
Could I keep the same OS and just restrict access to only my internal network?
Not sure if I'm being too paranoid about security risks using these devices to just connect to my services.

6

What's your recommendation for a selfhosted services to stream some private videos from S3 compatible service (vultr)?

I was thinking a private peertube instance could work, but it requires the S3 files to be public and allow all origins, so I don't like that idea.

The other one was to use rclone mount to have it as another block storage, but I don't know what are the cons of this, or if it's possible to use it with this kind of services.

This won't be for my camera videos (already have immich) nor for series/movies (jellyfin). It'll be for random videos from youtube, or twitch which I want to hoard.

(Also if you have a recommendation for cheap online storage for this it'll be appreciated, Vultr's is $0.006/GB)

11
submitted 6 months ago by pe1uca@lemmy.pe1uca.dev to c/pcgaming@lemmy.ca

I've been looking for an all mesh chair since I tend to run hot so every chair I use ends up making me sweat.

There's this one Naz President Full-Back Mesh but I can't find any reviews for it.

There are also these two in amazon Razzor Ergonomic Mesh Office Chair and FelixKing Ergonomic Desk Chair but I've been reading mixed reviews (as well as any other chair in amazon)

So, do you guys have any budget all mesh chair recommendation? Or maybe a chair which doesn't heat up so much or cools down quickly?

(I currently have a gaming chair... worst purchase I've ever made for my back)

view more: next ›

pe1uca

joined 11 months ago