Coelacanthus

joined 3 days ago
[–] Coelacanthus 1 points 1 hour ago

Because not all language and all users requirements is simple.

For example in CJK, we have too many characters (over 97k) to packed in one font. And we have many font style. So when put them together, we need to modify the font fallback list by user so users can make font at the right place to avoid some characters are sans-serif (Heiti), some are serif (Songti/Mingti), some are Kaiti and some are Fangsong. And in CJK, for same characters, it have different glyph in zh-CN, zh-TW, zh-HK, ko and ja. So we need different fallback list for different locale.

In Arabic and Urdu, the situation is worse. They use almost same characters, Arabic alphabet, but use different style: Arabic use Naskh, Urdu use Nastaliq. These two styles are very different if you only learned one it's hard to read another. So you must specify different font fallback list for different locale.

And it's not the end. Persian use Persian alphebet which is basically Arabic alphabet but plus 4 new alphabets. Unlike Arabic and Urdu only use one style, they use Nasteliq for poetry and Naskh for others. So just depends on locale is not enough for Persian, users need a way to customize font fallback list per UI elements, like CSS in HTML. Of course, it's so difficult to implement that only a few application support it. I write here here just to tell you the font fallback is a complex thing and it's impossible just using a simple per script list.

And the last issue is for all language users: it's hardcode, so you can't choose your favorite one. They said it's TODO to implement configurable default, but there is still no code, and I can't image the deal time of the configurable fallback list, and of further font fallback mechanism with font replacement features and font OpenType control features and so on. If they choose use wide-used Fontconfig instead of re-invent a square wheel, they can gain all these features with only a few code.

https://github.com/pop-os/cosmic-text/blob/f7033bb0433f6a9ba109007027781ba46ea9ba27/src/font/system.rs#L156

[–] Coelacanthus 1 points 7 hours ago

Maybe just run imapsync as a systemd service...

[–] Coelacanthus 1 points 21 hours ago* (last edited 21 hours ago)

I think that most of usefulness of swap has passed now that we have systems with noodles of ram.

Please read this article authored by maintainer of Linux kernel memory management subsystem and cgroup subsystem, Chris Down.

https://chrisdown.name/2018/01/02/in-defence-of-swap.html

And there is another article with some additional informations about swap authored by @farseerfc@sn.angry.im who tranlated the article above to Chinese.

https://farseerfc.me/followup-about-swap.html (only Chinese version available)

[–] Coelacanthus 1 points 1 day ago

Actually it's simple than "NAT", technically. Normally when we said "NAT", it's not just NAT (Network Address Translate), but a NAT plus a stateful firewall (see documents below). The conntrack here is a stateful firewall as in "NAT". And compare to create a map from (paddr, pport) to (iaddr, iport) and match the later, it's more simple to just match suffix of address.

https://datatracker.ietf.org/doc/html/rfc4787

https://tailscale.com/blog/how-nat-traversal-works

[–] Coelacanthus 1 points 1 day ago

No. It's not random. SLAAC uses EUI-64 by default, it generate fixed /64 suffix from MAC. And with suffix match of nftables you can still do device specific income firewall rules. For random privacy address, it's only used for outcome so just block all other income of IPv6 addresses except EUI-64 is enough.

[–] Coelacanthus 1 points 1 day ago (1 children)
[–] Coelacanthus 1 points 1 day ago

It should be an implementation issue completely. You can read through the RFC 9700: Best Current Practice for OAuth 2.0 Security, they list many requirements to implement a secure OAuth, such as use short lifetime access token, access and refresh token should be sender-constrained, access token should be restricted to minimium permissions, and so on. The softwares you mentioned violated many rules.

https://datatracker.ietf.org/doc/html/rfc9700

[–] Coelacanthus 1 points 1 day ago (2 children)

I don't want each client to have a globally unique address as that just allows insane tracking.

Just for this issue, SLAAC has a privacy extension to generate temporary random IPv6 address for outcome traffic. It's untrackable as well, but in different way to NAT (one device has many addresses instead of many devices have one address).

[–] Coelacanthus 0 points 2 days ago* (last edited 2 days ago) (2 children)

If I go for SLAAC with privacy extensions and I keep paying for a static IP (v4 & v6) to my ISP then I can't implement any firewall rules for specific devices as devices will change their IP regularly. And its even worse if I don't pay for a static IPv6 prefix.

I don't know which firewall software you used. But if you use nftables, which support suffix match and conntrack for TCP/UDP, you can block all new (identified by conntrack) income (since privacy extension design for outcome) and allow income with specific suffix (for SLAAC with EUI-64, it will stable), needn't care about which prefix was used.

[–] Coelacanthus 1 points 2 days ago (1 children)

For example, something like epub is going to be hard because the format is really just a zip file with a specific internal file structure. So, it's not really the .epub file you want to grep, but one of the files within that zip file you want to grep through.

ePub is a zip file contains a batch of HTML file for contents and some XML files for metadata. So you can extract it and do grep as you do for HTML files.

[–] Coelacanthus 1 points 2 days ago (2 children)

So when they will change this horrible hardcode font fallback list with "normal" font fallback mechanism like Fontconfig?

https://github.com/pop-os/cosmic-text/blob/main/src/font/fallback/unix.rs

view more: next ›