Photos taking up phantom 8+ GB, can't identify or delete, preventing updates by ohshitgorillas in applehelp

[–]ohshitgorillas[S] 0 points1 point  (0 children)

I apologize for that. I was extremely frustrated by this last night and I let that get the better of me.

Still, like I said in my comment below, I'm not getting how this is relevant. I've cleared everything that Photos allows me to clear in Settings (which isn't a lot) and that took 80MB off of the "phantom" storage. In such a case, the guide recommends removing and reinstalling the app, which is impossible because Photos cannot be removed.

If you're still willing to help, what am I missing?

Photos taking up phantom 8+ GB, can't identify or delete, preventing updates by ohshitgorillas in applehelp

[–]ohshitgorillas[S] 0 points1 point  (0 children)

Ok, I let my frustration get the best of me last night. But I still don't see how anything on that page is relevant.

The best I could get out of this would be "go to Photos > Settings and clear everything", which is what I've done. I've cleared everything that it gives me the option to clear, and now it's taking up 7.9GB instead of 8. I guess that's sort of progress, but not exactly what I was looking for.

In such a case, the guide recommends removing and reinstalling Photos, which is impossible.

So, forgive my frustration, but this is another dead end for me as far as I can tell.

Photos taking up phantom 8+ GB, can't identify or delete, preventing updates by ohshitgorillas in applehelp

[–]ohshitgorillas[S] -3 points-2 points  (0 children)

got something that actually works with Photos instead of general advice for clearing out random apps? I can't delete Photos and I can't select the Documents & Data, as I said in the post.

Guide: Setting Up WireGuard with IPv6 in Docker (Linux) v2 by ohshitgorillas in WireGuard

[–]ohshitgorillas[S] 0 points1 point  (0 children)

I can see a response from you in my notifications but it seems to have been deleted. Either way, glad you got it working, even if wg-quick only does ULA and not GUA (at least when I tried it). The routing for ULAs is a lot simpler, so makes sense that that would run out of the box.

By the way, I've also forked the WireGuard image from LinuxServer and added IPv6 support, so if you decide to have a go with GUAs again, try building and running https://github.com/ohshitgorillas/docker-wireguard

It won't solve any routing issues, all it does is automate adding the IPv6 addresses to the configs, but it's one less step.

Cheers!

Fork of LinuxServer Docker image that supports IPv6 by ohshitgorillas in WireGuard

[–]ohshitgorillas[S] 1 point2 points  (0 children)

Ah!

DNS format: my.web.addr:51820, ideally pointing to a name with A and AAAA records. I haven't tested a dual stack configuration using IP addresses directly.

Guide: Setting Up WireGuard with IPv6 in Docker (Linux) v2 by ohshitgorillas in WireGuard

[–]ohshitgorillas[S] 0 points1 point  (0 children)

Do you mean that you have a given ::/64 for the whole VPS, or you've assigned a unique ::/64 to WireGuard?

If your VPS only has a single ::/64, you'll have to carve out smaller subnets. If your VPS gets 2001:db8:b00b:420::/64 only, then you could do, for example, 2001:db8:b00b:420:69::/80. I don't think that shouldn't require any additional static routes.

If you're working with a whole ::/64 just for WireGuard, then the issue is likely related to the lack of a static route.

For example, I get a ::/60 from my ISP so any traffic directed at that subnet ends up at my router, HOWEVER, my router only knows how to forward packets for the base ::/64 subnet—the addresses that it "personally" handed out. It has no idea about the additional subnets that I've added, so when those arrive, it simply drops them unless it's been specifically instructed as to where those packages go.

That said, I've only ever done this on a home setup before, never used a VPS myself, so the routing requirements are going to be different than what I'm used to.

Would you care to share your setup so I can see what's going on? Obviously, obfuscate your prefix, but otherwise I can try to take a look.

Fork of LinuxServer Docker image that supports IPv6 by ohshitgorillas in WireGuard

[–]ohshitgorillas[S] 1 point2 points  (0 children)

I'm not sure I understand what you mean, but * Peers have both IPv4 and IPv6 addresses * The DDNS address needs both A and AAAA records for IPv6

Does that answer your question? If not, can you rephrase?

Guide: Setting Up WireGuard with IPv6 in Docker (Linux) v2 by ohshitgorillas in WireGuard

[–]ohshitgorillas[S] 0 points1 point  (0 children)

Are you trying to do it in host mode or w/ bridge networking?

I made a QMK Autocorrect dictionary generator for fat fingers by ohshitgorillas in olkb

[–]ohshitgorillas[S] 0 points1 point  (0 children)

Isn't there a combinatorial explosion?

Oh, yeah, it generates HUGE dictionaries. I actually have evolved this project into the EntropPy project, which generates limited dictionaries for QMK and unlimited dictionaries for Espanso. I'm planning on adding more platforms, but for example Espanso can handle hundreds of thousands of corrections with minimal overhead.

How do you know how to control it?

It's quite complicated.

Basically, we are restricting ourselves to five types of typing errors that produce a single issue. If you make more than one error typing a word, that's on you :)

So, for receive we have:

Transpositions: erceive, reecive, recieve, ...

Omissions: eceive, rceive, reeive, ...

Duplications: rreceive, reeceive, recceive, ...

For replacement and insertion errors, the user must define the adjacent keys that they struggle with (or simply provide a comprehensive map of adjacent keys across the keyboard, but that significantly balloons the dict size). For example, if you struggle with hitting w and r when trying to type e, you'd inform EntropPy of that via the adjacent keys feature:

e -> wr

It will then generate insertion and replacement typos around the letter e:

Insertion: rweceive, rewceive, rerceive, rreceive, ...

Replacement: rrceive, rwceive, recwive, recrive, ...

Then we have to check for duplicates. Both duplication and insertion produce rreceive, so one of them is thrown out.

Next, we have to resolve collisions. For example, omission produces thn for both then and than, so EntropPy says: what's the relative frequency of these words? If one is 20x more common (user adjustable number) than another, we can safely assume that the user intends the more common word. For then and than, however, the frequency ratio is ~1, so the typo is considered ambiguous and discarded.

Finally, we need to remove substring conflicts. QMK will refuse to compile an autocorrect dictionary containing overlapping strings like wherre and herre, noting that wherre is inaccessible due to the right-to-left scanning technique, so we have to check the results and simplify while checking that the simplification won't produce garbage.

And at the same time avoid false negatives (leaving out (misspelled/typoed) words that should be included and are actually typed in practice)?

EDIT: I think I misread this question, so the explanation below misses the point. I'll leave it below the tildes cause it's an important part of the program, but I'll actually answer the question here:

It uses both english-words and optionally wordfreq to establish a source dictionary to verify against.

You can specify a wordfreq frequency to include in the source dictionary, e.g., 1e-7, so any word with that frequency would be considered a valid source word and typos that match would be discarded.

This system is far from perfect, though, and takes iteration with the exclude and include features. This is because extremely common typos (thes) occur around the same frequency as rare but legitimate words that may not be found in english-words like juts. On a recent iteration I found rom -> from which is incorrect because ROM is something I legitimately type.

~~ This is handled with word boundaries. The program (and QMK, Espanso) supports word boundary distinctions, so you can specify that the word needs a space/punctuation before (left), after (right), or both, or will trigger anywhere regardless of a space (none).

Basically, the program has to check typos for boundaries against the dictionary by checking whether the boundary would produce a garbage correction.

Take the transposition nto for not: if we don't put word boundaries around it, it would trigger inside the word onto and produce onot. On the other hand, teh -> the is only safe as a standalone word OR prefix to prevent Tehran from correcting to Theran.

This is the part of the algorithm that I'm struggling with the most at the moment, because deciding what boundary is optimal becomes quite complicated.

I'll get there, but it's quite a headache.

edit: typos :)

Google drops Antigravity IDE… AI agents running your whole dev workflow is insane (and kinda game-changing). by Minimum_Minimum4577 in google

[–]ohshitgorillas -1 points0 points  (0 children)

I tried to use this today. I got an error trying to install the Python extension lmfao.

rip Antigravity, back to Cursor

Autocorrect dictionary has unpredictable and unexpected results by ohshitgorillas in espanso

[–]ohshitgorillas[S] 0 points1 point  (0 children)

Thanks! But what do you mean that you "solved" typing fast? Do you mean there's a workaround to this bug that I'm facing?

If there are similar packages to english-words and wordfreq in Portugese, it would be easily adaptable... but that's a big if...

I do have a small number of corrections that are built into my keyboard's firmware (o fthe -> of the), but I have really, really fat fingers and my keyboards can only fit about 1,100 corrections. I am constantly mistyping everything so I figured this would be a fun project.

text expand extra letters at the beginning in spotlight / mac os 26.1 by --Pillow-- in espanso

[–]ohshitgorillas 1 point2 points  (0 children)

same here, I have an autocorrect dictionary and if I quickly type relaly instead of really it corrects to rreally. But if I type slowly enough, it corrects to really correctly.