Compare commits
10 Commits
4a495ec6f3
...
ffabba137e
Author | SHA1 | Date | |
---|---|---|---|
ffabba137e | |||
dc1ac7dc03 | |||
51931a3e89 | |||
c6eb28e5b5 | |||
111705ccc4 | |||
7eb752dd1d | |||
2f906b4b89 | |||
cd93ca43ec | |||
3d0b1b4c86 | |||
995aa402b0 |
@@ -1 +0,0 @@
|
||||
PGRpdj4KICAgIDxpbWcKICAgICAgICBjbGFzcz0iYnVsbGV0LWltZyIKICAgICAgICBzcmM9ImRpc2NvcmQucG5nIgogICAgICAgIGFsdD0iRGlzY29yZCIKICAgIC8+QG1pbmluZ3RjdXAKPC9kaXY+CjxkaXY+CiAgICA8aW1nCiAgICAgICAgY2xhc3M9ImJ1bGxldC1pbWciCiAgICAgICAgc3JjPSJwcm90b25tYWlsLnBuZyIKICAgICAgICBhbHQ9IkRpc2NvcmQiCiAgICAvPnRlZEBtaW5pbmd0Y3VwLm1lCjwvZGl2Pgo8ZGl2PgogICAgPGltZwogICAgICAgIGNsYXNzPSJidWxsZXQtaW1nIgogICAgICAgIHNyYz0icGhvbmUud2VicCIKICAgICAgICBhbHQ9IkRpc2NvcmQiCiAgICAvPig2NTApIDUxMi05NjM1CjwvZGl2Pgo=
|
BIN
favicon.ico
Normal file
BIN
favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.6 KiB |
316
index.html
316
index.html
@@ -1,178 +1,146 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>MiningTcup</title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
|
||||
<link rel="dns-prefetch" href="https://git.miningtcup.me/" />
|
||||
<link rel="dns-prefetch" href="https://mozhi.miningtcup.me/" />
|
||||
<link rel="dns-prefetch" href="https://archz.miningtcup.me/" />
|
||||
<link rel="dns-prefetch" href="https://archlinux.org/" />
|
||||
<link rel="dns-prefetch" href="https://hypr.land/" />
|
||||
<link rel="preload" href="discord.png" as="image" type="image/png" />
|
||||
<link rel="preload" href="protonmail.png" as="image" type="image/png" />
|
||||
<link rel="preload" href="phone.webp" as="image" type="image/webp" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="centerer">
|
||||
<div id="content">
|
||||
<div id="title-1">
|
||||
<h1>
|
||||
Ted Pier<span class="subtitle"
|
||||
> a.k.a. MiningTcup</span
|
||||
>
|
||||
</h1>
|
||||
</div>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Things I've Done</h2>
|
||||
<h3><a target="_blank" href="/youclient">YouClient</a></h3>
|
||||
<p>
|
||||
My middle school gave each student an incredibly weak
|
||||
Chromebook infested with blockers and spyware, and
|
||||
didn't allow us to bring our own computers. Since one of
|
||||
my strongest skills at the time was web dev, I made an
|
||||
alternative YouTube client. The entire thing is a single
|
||||
html file, making it easy to distribute and run.
|
||||
Advantages over using the official YouTube website are
|
||||
faster loading, no ads, tab customization, anti-unload,
|
||||
no browser history, and no spyware spying.
|
||||
</p>
|
||||
<h3>
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/dotfiles/"
|
||||
>Linux</a
|
||||
>
|
||||
</h3>
|
||||
<p>
|
||||
The kernel is the core of the operating system. Linux is
|
||||
an alternative operating system kernel, similar to the
|
||||
Windows or MacOS kernels. It can run on nearly any
|
||||
device (including PCs and Macs), and is used by Android.
|
||||
One of my favorite things to do is mess with
|
||||
configuration files on my
|
||||
<a target="_blank" href="https://archlinux.org"
|
||||
>Arch Linux</a
|
||||
>
|
||||
+
|
||||
<a target="_blank" href="https://hypr.land">Hyprland</a>
|
||||
system. Over the last more than a year, I've settled on
|
||||
an (in my opinion) nearly <i>perfect</i> configuration.
|
||||
</p>
|
||||
<h3>
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/noteserver"
|
||||
>Notes</a
|
||||
>
|
||||
</h3>
|
||||
<p>
|
||||
I'd always wanted to use a notes app, but I never liked
|
||||
any of the options. Instead of paying with my
|
||||
information, time, or money for one that someone else
|
||||
made, I decided to make my own. I wrote the server in
|
||||
Go, the language which I believe is best for anything to
|
||||
do with servers, and the app in Android Studio using
|
||||
Kotlin. After completing the server, I accidentally
|
||||
deleted the source code, prompting me to recode it. It's
|
||||
finished now, and you can view the most likely terrible
|
||||
source code for the server
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/noteserver"
|
||||
>here</a
|
||||
>. Although I don't plan on giving out the source code
|
||||
for the app because it's so terrible, you can download
|
||||
the APK file <a download href="notes.apk">here</a>.
|
||||
</p>
|
||||
</section>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Services I Run</h2>
|
||||
<h3>
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/website"
|
||||
>Static Webserver</a
|
||||
>
|
||||
</h3>
|
||||
<p>
|
||||
That's what you're using right now- my website! It's a
|
||||
classic Nginx webserver. Notice how fast it loaded? My
|
||||
website is written without any libraries, tracking, or
|
||||
external fonts because ew, bloat.
|
||||
</p>
|
||||
<h3>DNS Servers</h3>
|
||||
<p>
|
||||
Back in middle school, some friends and I found a way to
|
||||
disable the school Chromebook's spyware. While proxies
|
||||
were disabled and vpns (almost) impossible to set up, we
|
||||
were free to change the DNS servers of any network
|
||||
except(?) the schools. This gave us the power to block
|
||||
any domain we wanted, including the domains which would
|
||||
load blocklists or send away all our data. The plain DNS
|
||||
server is run using BIND 9.
|
||||
</p>
|
||||
<div>
|
||||
Plain DNS: <strong>99.31.208.235:53</strong>
|
||||
<br />
|
||||
DNS over HTTPS:
|
||||
<strong>https://dns.miningtcup.me/dns-query</strong>
|
||||
</div>
|
||||
<h3>
|
||||
<a target="_blank" href="https://git.miningtcup.me/"
|
||||
>Git Server</a
|
||||
>
|
||||
</h3>
|
||||
<p>
|
||||
GitHub is slow, annoying, and trains LLMs on everything
|
||||
you upload. My Git server is <i>very</i> fast (for me,
|
||||
at least), annoyance-free, and <i>doesn't</i> train LLMs
|
||||
on your work without asking.
|
||||
</p>
|
||||
<h3>
|
||||
<a target="_blank" href="https://mozhi.miningtcup.me/"
|
||||
>Mozhi Server</a
|
||||
>
|
||||
</h3>
|
||||
<p>
|
||||
Mozhi is a proxy for several translators, used by Crow
|
||||
Translate by KDE.
|
||||
</p>
|
||||
<h3>
|
||||
<a target="_blank" href="https://arch.miningtcup.me/"
|
||||
>Arch Linux Mirror</a
|
||||
>
|
||||
</h3>
|
||||
<p>
|
||||
Having my own Arch Linux mirror means my updates will be
|
||||
just about instant.
|
||||
</p>
|
||||
</section>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Contact Me</h2>
|
||||
<p class="margin-8px-top">
|
||||
I'm sort of chronically online. Your best chance of
|
||||
quick contact is a phone call, but Discord, email, and
|
||||
text work too.
|
||||
</p>
|
||||
<div id="contact-info-container" class="cover relative">
|
||||
<strong
|
||||
>JavaScript is required to load contact
|
||||
info.</strong
|
||||
>
|
||||
<div id="click-to-reveal-prompt">
|
||||
click to reveal contact info
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<hr />
|
||||
</div>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>MiningTcup</title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
|
||||
<link rel="dns-prefetch" href="https://git.miningtcup.me/" />
|
||||
<link rel="dns-prefetch" href="https://mozhi.miningtcup.me/" />
|
||||
<link rel="dns-prefetch" href="https://arch.miningtcup.me/" />
|
||||
<link rel="dns-prefetch" href="https://archlinux.org/" />
|
||||
<link rel="dns-prefetch" href="https://hypr.land/" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="centerer">
|
||||
<div id="content">
|
||||
<div id="title-1">
|
||||
<div class="h1-container">
|
||||
<h1>Ted Pier<span class="subtitle">a.k.a. MiningTcup</span></h1>
|
||||
</div>
|
||||
<img src="lulu.webp" alt="Lulu the dog" />
|
||||
</div>
|
||||
<script src="script.js" defer></script>
|
||||
</body>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Things I've Done</h2>
|
||||
<a target="_blank" href="/youclient"><h3>YouClient</h3></a>
|
||||
<p>
|
||||
My middle school gave each student an incredibly weak Chromebook
|
||||
infested with blockers and spyware, and didn't allow us to bring our
|
||||
own computers. Since one of my strongest skills at the time was web
|
||||
dev, I made an alternative YouTube client. The entire thing is a
|
||||
single html file, making it easy to distribute and run. Advantages
|
||||
over using the official YouTube website are faster loading, no ads,
|
||||
tab customization, anti-unload, no browser history, and no spyware
|
||||
spying.
|
||||
</p>
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/dotfiles/"
|
||||
>
|
||||
<h3>Linux</h3></a
|
||||
>
|
||||
<p>
|
||||
The kernel is the core of the operating system. Linux is an
|
||||
alternative operating system kernel, similar to the Windows or MacOS
|
||||
kernels. It can run on nearly any device (including PCs and Macs),
|
||||
and is used by Android. One of my favorite things to do is mess with
|
||||
configuration files on my
|
||||
<a target="_blank" href="https://archlinux.org">Arch Linux</a>
|
||||
+
|
||||
<a target="_blank" href="https://hypr.land">Hyprland</a>
|
||||
system. Over the last more than a year, I've settled on an (in my
|
||||
opinion) nearly <i>perfect</i> configuration.
|
||||
</p>
|
||||
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/noteserver"
|
||||
><h3>Notes</h3></a
|
||||
>
|
||||
<p>
|
||||
I'd always wanted to use a notes app, but I never liked any of the
|
||||
options. Instead of paying with my information, time, or money for
|
||||
one that someone else made, I decided to make my own. I wrote the
|
||||
server in Go, the language which I believe is best for anything to
|
||||
do with servers, and the app in Android Studio using Kotlin. After
|
||||
completing the server, I accidentally deleted the source code,
|
||||
prompting me to recode it. It's finished now, and you can view the
|
||||
most likely terrible source code for the server
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/noteserver"
|
||||
>here</a
|
||||
>. Although I don't plan on giving out the source code for the app
|
||||
because it's so terrible, you can download the APK file
|
||||
<a download href="notes.apk">here</a>.
|
||||
</p>
|
||||
</section>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Services I Run</h2>
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://git.miningtcup.me/MiningTcup/website"
|
||||
>
|
||||
<h3>Static Webserver</h3></a
|
||||
>
|
||||
<p>
|
||||
That's what you're using right now- my website! It's a classic Nginx
|
||||
webserver. Notice how fast it loaded? That's what happens when a
|
||||
website is written without any libraries, tracking, or external
|
||||
fonts.
|
||||
</p>
|
||||
<h3>DNS Servers</h3>
|
||||
<p>
|
||||
Back in middle school, some friends and I found a way to disable the
|
||||
school Chromebook's spyware. While proxies were disabled and vpns
|
||||
(almost) impossible to set up, we were free to change the DNS
|
||||
servers of any network except(?) the schools. This gave us the power
|
||||
to block any domain we wanted, including the domains which would
|
||||
load blocklists or send away all our data. The plain DNS server is
|
||||
run using BIND 9.
|
||||
</p>
|
||||
<a target="_blank" href="https://git.miningtcup.me/">
|
||||
<h3>Git Server</h3></a
|
||||
>
|
||||
<p>
|
||||
GitHub is slow, annoying, and trains LLMs on everything you upload.
|
||||
My Git server is <i>very</i> fast (for me, at least),
|
||||
annoyance-free, and <i>doesn't</i> train LLMs on your work without
|
||||
asking.
|
||||
</p>
|
||||
<a target="_blank" href="https://mozhi.miningtcup.me/">
|
||||
<h3>Mozhi Server</h3></a
|
||||
>
|
||||
<p>
|
||||
Mozhi is a proxy for several translators, used by Crow Translate by
|
||||
KDE.
|
||||
</p>
|
||||
<a target="_blank" href="https://arch.miningtcup.me/">
|
||||
<h3>Arch Linux Mirror</h3></a
|
||||
>
|
||||
<p>
|
||||
Having my own Arch Linux mirror means my updates will be just about
|
||||
instant.
|
||||
</p>
|
||||
</section>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Contact Me</h2>
|
||||
<p class="margin-8px-top">
|
||||
I'm sort of chronically online. Your best chance of quick contact is
|
||||
a phone call, but Discord, email, and text work too.
|
||||
</p>
|
||||
<div id="contact-info-container" class="cover relative">
|
||||
<strong>JavaScript is required to load contact info.</strong>
|
||||
<div id="click-to-reveal-prompt">click to reveal contact info</div>
|
||||
</div>
|
||||
</section>
|
||||
<hr />
|
||||
</div>
|
||||
</div>
|
||||
<script src="script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
24
lulu.html
Normal file
24
lulu.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>MiningTcup</title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="centerer">
|
||||
<div id="content">
|
||||
<div id="title-1">
|
||||
<div class="h1-container">
|
||||
<h1>Lulu Pier<span class="subtitle"> a.k.a. Doggo</span></h1>
|
||||
</div>
|
||||
<img src="lulu.webp" alt="Lulu the dog" />
|
||||
</div>
|
||||
<hr />
|
||||
hello
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
BIN
lulu.webp
BIN
lulu.webp
Binary file not shown.
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 13 KiB |
14
script.js
14
script.js
@@ -1,14 +1,14 @@
|
||||
const $ = (id) => document.getElementById(id);
|
||||
const infoContainer = $("contact-info-container");
|
||||
|
||||
infoContainer.addEventListener("mousedown", loadContactInfo);
|
||||
infoContainer.addEventListener("click", loadContactInfo);
|
||||
|
||||
function loadContactInfo() {
|
||||
fetch("contact-info.obfuscated")
|
||||
.then((response) => response.text())
|
||||
.then((text) => {
|
||||
infoContainer.innerHTML = atob(text);
|
||||
infoContainer.classList.remove("cover");
|
||||
infoContainer.removeEventListener("click", loadContactInfo);
|
||||
});
|
||||
infoContainer.innerHTML = atob(
|
||||
"PGRpdj48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9kaXNjb3JkLmNvbS91c2Vycy84MjU0ODcxMzg5NDY1NDc3MTIiPjxpbWcgY2xhc3M9ImJ1bGxldC1pbWciIHNyYz0iZGlzY29yZC5wbmciIGFsdD0iRGlzY29yZCIgLz5taW5pbmd0Y3VwPC9hPjwvZGl2PjxkaXY+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Im1haWx0bzp0ZWRAbWluaW5ndGN1cC5tZSI+PGltZyBjbGFzcz0iYnVsbGV0LWltZyIgc3JjPSJwcm90b25tYWlsLnBuZyIgYWx0PSJFbWFpbCIvPnRlZEBtaW5pbmd0Y3VwLm1lPC9hPjwvZGl2PjxkaXY+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9InRlbDorMS02NTAtNTEyLTk2MzUiPjxpbWcgY2xhc3M9ImJ1bGxldC1pbWciIHNyYz0icGhvbmUud2VicCIgYWx0PSJQaG9uZSIgLz4oNjUwKSA1MTItOTYzNTwvYT48L2Rpdj4=",
|
||||
);
|
||||
infoContainer.classList.remove("cover");
|
||||
infoContainer.removeEventListener("mousedown", loadContactInfo);
|
||||
infoContainer.removeEventListener("click", loadContactInfo);
|
||||
}
|
||||
|
46
style.css
46
style.css
@@ -13,6 +13,7 @@
|
||||
h3 {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 0;
|
||||
color: light-dark(black, white);
|
||||
}
|
||||
|
||||
h2 {
|
||||
@@ -25,6 +26,14 @@ a {
|
||||
color: light-dark(black, white);
|
||||
}
|
||||
|
||||
:not(p) > a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
:not(p) > a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 8px;
|
||||
@@ -43,10 +52,6 @@ p {
|
||||
max-width: 256px;
|
||||
}
|
||||
|
||||
#contact-info-container * {
|
||||
user-select: initial;
|
||||
}
|
||||
|
||||
#content {
|
||||
padding-bottom: 25vh;
|
||||
}
|
||||
@@ -84,17 +89,31 @@ p {
|
||||
}
|
||||
|
||||
#title-1 {
|
||||
background-image: url(lulu.webp);
|
||||
background-size: 60%;
|
||||
background-position: 100% 35%;
|
||||
color: light-dark(white, black);
|
||||
overflow: hidden;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
||||
}
|
||||
|
||||
#title-1 * {
|
||||
margin: 0;
|
||||
#title-1 > .h1-container {
|
||||
padding: 16px;
|
||||
background: light-dark(black, white);
|
||||
background: light-dark(black, whitesmoke);
|
||||
width: max-content;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#title-1 > div > h1 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#title-1 > img {
|
||||
z-index: 0;
|
||||
display: block;
|
||||
max-height: 71px;
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -102,14 +121,17 @@ body {
|
||||
font-family: sans-serif;
|
||||
position: relative;
|
||||
background: light-dark(whitesmoke, black);
|
||||
color: light-dark(black, whitesmoke);
|
||||
display: block;
|
||||
}
|
||||
|
||||
#click-to-reveal-prompt {
|
||||
color: grey;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 8px;
|
||||
left: 8px;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
section {
|
||||
|
Reference in New Issue
Block a user