Add music
This commit is contained in:
parent
afc086cc26
commit
dc80e5b44a
2 changed files with 46 additions and 32 deletions
|
@ -1,42 +1,48 @@
|
||||||
+++
|
+++
|
||||||
title = "setup"
|
title = "Setup"
|
||||||
+++
|
+++
|
||||||
|
|
||||||
# setup
|
# Setup
|
||||||
|
|
||||||
List of software and services I use and endorse, mostly FOSS.
|
List of software and services I use and endorse, mostly FOSS.
|
||||||
|
|
||||||
## desktop
|
## Desktop
|
||||||
|
|
||||||
- [**Arch Linux**](https://archlinux.org/) OS with rolling releases.
|
- [**Arch Linux**](https://archlinux.org/) OS with rolling releases.
|
||||||
- [**Home manager**](https://github.com/nix-community/home-manager) Dotfile manager.
|
- [**Home manager** (MIT)](https://github.com/nix-community/home-manager) Dotfile manager.
|
||||||
- [**Firefox**](https://www.mozilla.org/firefox) Browser.
|
- [**Firefox** (MPL-2.0)](https://www.mozilla.org/firefox) Browser.
|
||||||
- [**Evolution**](https://wiki.gnome.org/Apps/Evolution) Email + calendar client.
|
- [**Thunderbird** (MPL-2.0)](https://www.thunderbird.net) Email + calendar client.
|
||||||
|
|
||||||
## development
|
## Development
|
||||||
|
|
||||||
- [**Neovim**](https://neovim.io/) Text editor.
|
- [**Neovim** (Apache-2.0/Vim)](https://neovim.io/) Text editor.
|
||||||
|
|
||||||
## server
|
## Server
|
||||||
|
|
||||||
- [**NixOS**](https://nixos.org/) Declarative and reproducible operating system.
|
- [**NixOS** (MIT)](https://nixos.org/) Declarative and reproducible operating system.
|
||||||
- [**Hugo**](https://gohugo.io/) Static site generator that powers this site.
|
- [**Hugo** (Apache-2.0)](https://gohugo.io/) Static site generator that powers this site.
|
||||||
- [**Gitea**](https://gitea.io) Self-hosted git.
|
- [**Gitea** (MIT)](https://gitea.io/) Self-hosted git.
|
||||||
|
|
||||||
## mobile
|
## Mobile
|
||||||
|
|
||||||
- [**DAVx5**](https://www.davx5.com/) CalDAV and CardDAV sync for Android.
|
- [**DAVx5** (GPL-3.0)](https://www.davx5.com/) CalDAV and CardDAV sync for Android.
|
||||||
- [**Shuttle**](https://www.shuttlemusicplayer.com/) Music player.
|
- [**Gadgetbridge** (AGPL-3.0)](https://gadgetbridge.org/) Smartwatch client.
|
||||||
- [**Gadgetbridge**](https://gadgetbridge.org/) Smartwatch client.
|
- [**K-9 Mail** (Apache-2.0)](https://k9mail.app/) Mail client.
|
||||||
- [**K-9 Mail**](https://k9mail.app/) Mail client.
|
- [**Feeder** (GPL-3.0)](https://f-droid.org/packages/com.nononsenseapps.feeder/) RSS aggregator.
|
||||||
- [**Feeder**](https://f-droid.org/packages/com.nononsenseapps.feeder/) RSS aggregator.
|
|
||||||
|
|
||||||
## services
|
## Music
|
||||||
|
|
||||||
- [**ProtonMail**](https://protonmail.com/) Encrypted email.
|
- [**Navidrome** (GPL-3.0)](https://navidrome.com) Self-hosted Subsonic-compatible streaming server.
|
||||||
- [**Signal**](https://signal.org/) Encrypted chat.
|
- [**Sublime Music** (GPL-3.0)](https://sublimemusic.app) GTK Subsonic-compatible music client.
|
||||||
|
- [**Subtracks** (GPL-3.0)](https://github.com/austinried/subtracks) Android Subsonic-compatible music client.
|
||||||
|
|
||||||
|
## Services
|
||||||
|
|
||||||
|
- [**SourceHut** (AGPL-3.0)](https://sourcehut.org) Git, mailing list, IRC bouncer, etc. hosting.
|
||||||
- [**Element**](https://element.io/) Federated chat provider.
|
- [**Element**](https://element.io/) Federated chat provider.
|
||||||
|
- [**ProtonMail** (Proprietary)](https://protonmail.com/) Encrypted email.
|
||||||
|
- [**Signal** (GPL-3.0/AGPL-3.0)](https://signal.org/) Encrypted chat.
|
||||||
|
|
||||||
## games
|
## Games
|
||||||
|
|
||||||
Mostly from Steam.
|
Mostly from Steam.
|
||||||
|
|
|
@ -32,22 +32,30 @@ first, but there are some important differences to note:
|
||||||
- We're not given the public keys $e_1$ and $e_2$, but they are related through
|
- We're not given the public keys $e_1$ and $e_2$, but they are related through
|
||||||
$x$.
|
$x$.
|
||||||
|
|
||||||
[Rabin]: https://en.wikipedia.org/wiki/Rabin_cryptosystem
|
|
||||||
|
|
||||||
## Finding $e_1$ and $e_2$
|
## Finding $e_1$ and $e_2$
|
||||||
|
|
||||||
We know that $e_1$ and $e_2$ are related through $x$, which is some even number
|
We know that $e_1$ and $e_2$ are related through $x$, which is some even number
|
||||||
greater than 2, but we're not given any of their real values. We're also given
|
greater than 2, but we're not given any of their real values. We're also given
|
||||||
through an oddly-named `functor` function that:
|
through an oddly-named `functor` function that:
|
||||||
|
|
||||||
$$
|
$$ 1 + e_1 + e_1^2 + \cdots + e_1^x = 1 + e_2 + e_2^2 $$
|
||||||
\begin{aligned}
|
|
||||||
1 + e_1 + e_1^2 + \cdots + e_1^x &= 1 + e_2 + e_2^2 \\\
|
|
||||||
\frac{1 - e_1^x}{1 - e_1} &= 1 + e_2 + e_2^2
|
|
||||||
\end{aligned}
|
|
||||||
$$
|
|
||||||
|
|
||||||
Interestingly enough, since $e_1$ and $e_2$ are primes, that means
|
Taking the entire equation $\mod e_1$ gives us:
|
||||||
|
|
||||||
|
$$\begin{aligned}
|
||||||
|
1 &\equiv 1 + e_2 + e_2^2 \mod e_1 \\\
|
||||||
|
0 &\equiv e_2 + e_2^2 \\\
|
||||||
|
0 &\equiv e_2(1 + e_2)
|
||||||
|
\end{aligned}$$
|
||||||
|
|
||||||
|
This means there are two possibilities: either $e_1 = e_2$ or $e_1$ is even
|
||||||
|
(since we know $e_2$ is a prime). The first case isn't possible, because with $x
|
||||||
|
\> 2$, the geometric series equation would not be satisfied. So it must be true
|
||||||
|
that $\boxed{e_1 = 2}$, the only even prime.
|
||||||
|
|
||||||
|
Applying geometric series expansion, $1 + e_2 + e_2^2 = 2^x - 1$.
|
||||||
|
|
||||||
I'd like to thank @10, @sahuang, and @thebishop in the Project Sekai discord for
|
I'd like to thank @10, @sahuang, and @thebishop in the Project Sekai discord for
|
||||||
their help throughout this challenge.
|
doing a lot of the heavy-lifting to solve this challenge.
|
||||||
|
|
||||||
|
[Rabin]: https://en.wikipedia.org/wiki/Rabin_cryptosystem
|
||||||
|
|
Loading…
Reference in a new issue