Hear me out.

We fork Mumble server. We change the chat to be IRC. We use Obsidian IRC (web irc clone of discord) as the client. IRCv3 SASL EXTERNAL will let us auth the user using the same key identity mumble uses. Convert the Obsidian web to Tauri for cross platform desktop app.

That's it. Self-hosted Discord, now just improve the UI and invite people to rewrite in Rust and add storage backends for the chat history and nobody needs Discord ever again.

github.com/ObsidianIRC/Obsidia…

This entry was edited (1 week ago)

Peter Vágner reshared this.

in reply to anna, a criticality incident at the gender accelerator

@anna the certificates would still exist, I don't know if that can easily be ripped out as Mumble is using TLS client auth essentially to identify you. But we could hide it better and streamline account backup / admin capability to help people recover accounts.
in reply to divVerent

I didn't exactly do it that way (I proved it over prop rather than bool).

What I did was incorporate the explicit LEM propositions like this:

Theorem deMorgan:
forall p q: Prop,
(~(p /\ q) /\ (p \/ ~p) /\ (q \/ ~q)) -> (~p \/ ~q).

Introduce p and q (universal intro). Then unfold the not, and get:
(p /\ q -> False) /\ (p \/ (p -> False)) /\ (q \/ (q -> False)) ->
(p -> False) \/ (q -> False)

Then intro the hypothesis, destruct the two ands and get:
H : p /\ q -> False
H0 : p \/ (p -> False)
H1 : q \/ (q -> False)
===
(p -> False) \/ (q -> False)

From there, destruct H0, which opens two subproofs by disjunction elimination, one with P and one with P -> false.

For case P, prove the right branch of the goal's disjunction, Q -> false.
Introduce Q (assume the hypothesis).
Then apply H, to the goal, which by now is False, and it becomes P /\ Q.
Split and prove each branch by assumption, since we have both P and Q.

For case P -> False, prove the left branch of the goal, by assumption, since p -> False proves P -> False.

Qed.

in reply to modulux

In fact I realised I don't need such a strong LEM assumption for both P and Q. The assumption for one is enough.

(~(p /\ q) /\ ((p / ~p) / (q / ~q))) -> (~p / ~q).

Works fine.

Just destruct the disjunction and use the same symmetric proof strategy for both:

In Coq script:

intros p q.
unfold not.
intros.
destruct H.
destruct H0.
destruct H0.
right.
intros.
apply H.
split; assumption.
left.
assumption.
destruct H0.
left.
intros.
apply H.
split; assumption.
right.
assumption.
Qed.

uspol - election

Sensitive content

November 2025 Security Bulletin Patches Already Included In Early Security Preview Releases By GrapheneOS


Both patches in the November 2025 Android Security Bulletin have been included since our September 2nd release. It's now known that our 2025090200 and later releases provided the 2025-11-05 Android security patch level early due to shipping extra patches.

source.android.com/docs/securi…

It's because these two patches were included in the full September 2025 bulletin patches we shipped but were made optional until November 2025.

Later in September, we started our security preview releases able to provide Android Security Bulletin patches around 2-3 months early.

Our security preview releases currently have the December 2025 and January 2026 patches.

December 2025 has a huge set of patches due to being a quarterly patch level. January 2026 will likely be empty.

We should have quarterly March 2026 patches to ship within a couple weeks.

Due to having early access to the patches which we can use for our security preview releases, we've been able to determine that a subset were pushed to AOSP and other projects prior to the official embargo ending which means we'll be including those in our regular releases soon.

Our security preview releases shipped all available December 2025 security patches in September 2025 and have continued adding the remaining patches. It should be frozen soon, but most of the patches have remained the same since September. Some were deferred to future bulletins.

The new security patch system being used by Android is confusing for users and bad for the security of anyone not using GrapheneOS with our security preview releases. We could have set the patch level string to 2025-11-01 in early September but in this case we didn't do that.

I was visiting Austin, Texas over the weekend. A totally accidental Facebook ad told me that Jacob Collier was in town with a solo show and that the tickets were available. I could not believe my ears. NOt only the tickets were available, but the show was an absolute top-notch!
I think he will be in Australia, India, China, in December, among other places. Catch him if you can! It's a real treat for anyone who loves harmonies and highly-skilful musicianship!

The Trump regime says it will pay SNAP benefits reduced by 50% to the 22 million households enrolled in the program.

Reminder that this reduction in food access is verbatim how Netanyahu has treated Palestinians in Gaza for decades.

This is why we warned that whatever is permitted to them "over there" will be done to us over here.

This injustice is coming from so called "Christians." Of course we all recall when Jesus said I'll only feed 5 out of 5000. /s

[Blog Post] Apple Releases iOS 26.1 and iPadOS 26.1 with accessibility enhancements, new language support for Live Translation, and more applevis.com/blog/apple-releas…

reshared this

So I found a tactic that's working in my YouTube comments- thought I'd share.

If someone complains that a software I recommended is "woke", I ask them "what does that mean? Can you say more about that?"

They never say more. They delete their comment instead.

My tactic is to make them say what they mean. They won't.

Because they're cowards.

reshared this

Accrescent 0.28.0 is out, including:

- Download cancellation support
- Better update scheduling (especially on Android 14+)
- UI improvements and bug fixes

Full release notes below!
github.com/accrescent/accresce…

#accrescent #appstore #android #security #privacy

I wonder if 200 years from now when they uncover the digital wreckage of 2025 if they’ll find the Mariah Carey memes and assume that she was a dread harbinger worshiped by cults of that age.

Okay actually after writing that down I’m not entirely convinced that this isn’t an accurate representation.

As an art teacher I was worried AI would come up as an issue of "why should I learn how to draw when I can use AI instead."

But the real issue is that my middle schoolers CONSTANTLY believe all art I show them is AI. Digital art. Photography. Oil paintings from the Western canon. "A human couldn't do that"

Being convinced that humans can't make great art is kind of terrifying

#art #ai #aiart #arteducation #education

This entry was edited (3 weeks ago)

reshared this

Librsvg 2.61.3 is out!

Security fixes for Windows, make the test suite work with libxml2 >= 2.15.0, fix the rsvg-convert test suite for build systems that don't have fonts installed; fix the rsvg-convert build when Cairo has PDF support disabled.

gitlab.gnome.org/GNOME/librsvg…

On the Digital Domain Tonight, Kirk and Curt? Huh? It's all from @nick's stupid head.

Also, Bob's got a challenge for @AlexSpectrum93, an AI artist making more waves than probably should, and a possible song dedication to Bob.

7 PM EST! Yes, welcome to standard time. For those outside America, you can check your schedule here.

HKCRadio.com/schedule