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