Spyke

Posts

selfhosted·SelfhostedbySekoia

File sync without wasting bandwidth

Hey,

I want to be able to access my projects from my laptop and my desktop, without syncing build folders (patterns are okay for this) or large data folders (manually selected is preferable for those). A bonus would be to be able to selectively keep files remote to use less storage space.

I also want to sync some regular documents and class notes, but everything is able to do that at least.

Syncthing "works" for this, but it doesn't have a web file browser or a "main" hoster, so I don't think it's quite the right tool.

I recently installed owncloud, and its desktop sync can almost do this, but it can't keep files local without uploading them (otherwise it seems pretty good!). Seafile hasn't worked at all for me, and ime nextcloud is decently painful and has way too many features I don't need at all.

Am I using the wrong tool for the job? Is there a way to accomplish what I want to accomplish?

View original on lemmy.blahaj.zone
advent_of_code·Advent Of CodebySekoia

[2023 Day 23 Part 2] A visualization of the final path

Spoilers and explanation of solution:

Each vertex here is one intersection in our hike. We don't actually care about the parts in-between, because there's only one way to go. The above is a visualisation of the final path, the red edges are the edges taken. Our graph looks "like that" because it's a hiking trail, not a maze, so there's no dead ends. This took about 2 seconds to generate, due to all the cloning needed to keep track of paths. The two veeery long edges on the ends are pretty obvious choices, but one might notice that pretty much every vertex takes the two maximum paths it has, given the restrictions of the path. There's still some mildly surprising paths, such as (99, 29) -> (89, 37) with a weight of 38. I'm wondering if there's a way to dismiss more paths... This graph is actually pretty free in terms of movement.

My actual solution takes ~150 ms to run (and 8 microseconds for part one with barely any optimization, damnn)

View original on lemmy.blahaj.zone
12
advent_of_code·Advent Of CodebySekoia

[2023 Day 17] [Rust] Optimizing day 17 (spoilers)

Anybody got some ideas to optimize today? I've got it down to 65ms (total) on my desktop, using A* with a visitation map. Each cell in the visitation map contains (in part 2) 16 entries; 4 per direction of movement, 1 for each level of straightaway. In part 2, I use a map with 11 entries per direction.

Optimizations I've implemented:

  • use a 2D array instead of a hashset/map. No idea how much this saves, I did it in the first place.
  • the minimum distance for a specific cell's direction + combo applies for higher combo levels as well for part 1. For part 2, if the current combo is greater than 4, we do the same*. Gains about 70(!!) ms
  • A* heuristic weighting optimization, a weight of about 1% with a manhattan distance heuristic seems to gain about 15 ms (might be my input only tho)

*Correctness-wise: the reason we're splitting by direction is because there's a difference between being at a cell going up with a 3 combo but a really short path, and going right with a 0 combo but a long path. However, this is fine because a 3 combo in the same direction as a 0 combo is identical, just more restrictive.

Optimizations that could be done but I need to ensure correctness:

the same optimization for the combo, but for directions. If I'm on a specific combo+direction, does that imply something about the distance for another direction? Simply doing the same for every non-opposite direction isn't correct

Code: https://codeberg.org/Sekoia/adventofcode/src/branch/main/src/y2023/day17.rs

Warning: quite ugly, there's like 8 copy-pastes for adding to the queue

View original on lemmy.blahaj.zone
9
selfhosted·SelfhostedbySekoia

Server maybe? causing "suspicious activity detected" message on android

So, I live with my parents, and I recently (a few months, but I've been using it a lot more the past few weeks) set up a personal home server on an intel NUC I got secondhand (which I wiped and all). We have 2 routers/access points (idk the terminology; two boxes with antennas that we can connect to, both for the same network, one of which is connected to the house internet and the other connected to the first via a 5 GHz connection iirc). My server is connected via ethernet to the secondary AP.

Anyway, my parents have been complaining about my server maybe causing issues with the internet. We've been having issues forever, but this is "new issues", and I can't actually guarantee it's not because of it so I kinda have to look into it. The symptoms are:

  • General connection issues (these I'm pretty sure are not any different)
  • On one phone, "suspicious activity detected" when connected to the network, automatically disconnecting the phone (this does seem actually new, and potentially actually caused by it)
  • On one laptop, refusing to connect/disconnecting automatically.

The most recent significant change to the setup was connecting my server to cloudflare/with a domain name instead of accessing raw ports with a tailscale IP. The setup is:

  • Docker containers for everything
  • Traefik reverse proxy
  • Cloudflare tunnels for each service (IP is dynamic and we're behind a NAT, so this was easiest)
  • Only non-login-required service is nginx serving a few kB of plain HTML/CSS.

Because I'm using cloudflare tunnels my external IP has, as far as I know, never been exposed and has never been in DNS.

Could any of this cause these issues, particularly the android warning? If so, is there a fix? If not, what could be causing that?

View original on lemmy.blahaj.zone
7

You reached the end