fix(ed) width
This commit is contained in:
194
index.html
194
index.html
@@ -1,184 +1,14 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta
|
||||
name="description"
|
||||
content="Ted Pier's portfolio and personal website."
|
||||
/>
|
||||
<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/" />
|
||||
<link rel="dns-prefetch" href="https://openfreemap.org/" />
|
||||
<link rel="prefetch" href="/lulu" />
|
||||
<link rel="prefetch" href="/archive" />
|
||||
<link rel="prefetch" href="/blog" />
|
||||
<link rel="prefetch" href="https://arch.miningtcup.me" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="centerer">
|
||||
<div id="content">
|
||||
<div id="title-1">
|
||||
<div class="h1-container">
|
||||
<h1>
|
||||
Ted Pier<span class="gone"> </span
|
||||
><span class="subtitle">a.k.a. MiningTcup</span>
|
||||
</h1>
|
||||
</div>
|
||||
<a href="/lulu"><img src="images/lulu.webp" alt="Lulu the dog" /></a>
|
||||
</div>
|
||||
<ul id="index">
|
||||
<li><a href="/lulu">Lulu</a></li>
|
||||
<li><a href="/archive">Archive</a></li>
|
||||
<li><a href="/blog">Blog</a></li>
|
||||
</ul>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Things I've Done</h2>
|
||||
<a 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 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 href="https://archlinux.org">Arch Linux</a>
|
||||
+
|
||||
<a 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>
|
||||
const $ = (id) => document.getElementById(id);
|
||||
const infoContainer = $("contact-info-container");
|
||||
|
||||
<a 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
|
||||
<a href="https://git.miningtcup.me/MiningTcup/noteserver"
|
||||
>Notes server</a
|
||||
>. Although I don't plan on giving out the source code for the app
|
||||
because it's so terrible, you can download the
|
||||
<a download href="notes.apk">Notes APK file</a>.
|
||||
</p>
|
||||
infoContainer.addEventListener("mousedown", loadContactInfo);
|
||||
infoContainer.addEventListener("click", loadContactInfo);
|
||||
|
||||
<h3>This Website</h3>
|
||||
<p>
|
||||
This website is meant to be a showcase of everything I do. You may
|
||||
have noticed it's a tad bit minimal, and I'd like you to know that's
|
||||
a design choice. I can make something cooler than this, but that's
|
||||
just not what I wanted for my personal website. This website is
|
||||
meant to be as correct and usable as possible - this means no low
|
||||
contrast, no gradients, extremely minimal scripts, and proper tags.
|
||||
It even works well in
|
||||
<a href="https://lynx.invisible-island.net/">Lynx</a>!
|
||||
</p>
|
||||
</section>
|
||||
<hr />
|
||||
<section>
|
||||
<h2>Services I Run</h2>
|
||||
<a 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. Additionally, this includes a
|
||||
<a href="/maps">map</a> frontend using the
|
||||
<a href="https://openfreemap.org/">OpenFreeMap</a>
|
||||
public instance. I also have a collection of questionably
|
||||
redistributable files in my <a href="/archive">archive</a>.
|
||||
</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. Not currently active.
|
||||
</p>
|
||||
<a 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 href="https://zim.miningtcup.me">
|
||||
<h3>Kiwix Server</h3>
|
||||
</a>
|
||||
<p>
|
||||
<a href="https://kiwix.org/en/">Kiwix</a> provides offline browsing
|
||||
of websites, primarily wiki-like resources, including
|
||||
<a href="https://wiki.archlinux.org/title/Main_page">ArchWiki</a>,
|
||||
<a href="https://www.wikipedia.org/">Wikipedia</a>, and
|
||||
<a href="https://devdocs.io/">DevDocs</a>, allowing access to
|
||||
resources in an internet outage or while travelling.
|
||||
</p>
|
||||
<a href="https://mozhi.miningtcup.me/"><h3>Mozhi Server</h3></a>
|
||||
<p>
|
||||
<a href="https://codeberg.org/aryak/mozhi">Mozhi</a> is a proxy for
|
||||
several online translators, such as Google Translate, and is used by
|
||||
<a href="https://invent.kde.org/office/crow-translate">
|
||||
Crow Translate
|
||||
</a>
|
||||
(by <a href="https://kde.org/">KDE</a>).
|
||||
</p>
|
||||
<a 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 />
|
||||
<ul id="index">
|
||||
<li><a href="/lulu">Lulu</a></li>
|
||||
<li><a href="/archive">Archive</a></li>
|
||||
<li><a href="/blog">Blog</a></li>
|
||||
<li class="f-l"><a href="#top">Return to Top</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<script src="index.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
function loadContactInfo() {
|
||||
infoContainer.innerHTML = atob(
|
||||
"PGRpdj48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9kaXNjb3JkLmNvbS91c2Vycy84MjU0ODcxMzg5NDY1NDc3MTIiPjxpbWcgY2xhc3M9ImJ1bGxldC1pbWciIHNyYz0iaW1hZ2VzL2Rpc2NvcmQucG5nIiBhbHQ9IkRpc2NvcmQiIC8+bWluaW5ndGN1cDwvYT48L2Rpdj48ZGl2PjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJtYWlsdG86dGVkQG1pbmluZ3RjdXAubWUiPjxpbWcgY2xhc3M9ImJ1bGxldC1pbWciIHNyYz0iaW1hZ2VzL3Byb3Rvbm1haWwucG5nIiBhbHQ9IkVtYWlsIi8+dGVkQG1pbmluZ3RjdXAubWU8L2E+PC9kaXY+PGRpdj48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0idGVsOisxLTY1MC01MTItOTYzNSI+PGltZyBjbGFzcz0iYnVsbGV0LWltZyIgc3JjPSJpbWFnZXMvcGhvbmUud2VicCIgYWx0PSJQaG9uZSIgLz4oNjUwKSA1MTItOTYzNTwvYT48L2Rpdj4=",
|
||||
);
|
||||
infoContainer.classList.remove("cover");
|
||||
infoContainer.removeEventListener("mousedown", loadContactInfo);
|
||||
infoContainer.removeEventListener("click", loadContactInfo);
|
||||
}
|
||||
|
14
script.js
14
script.js
@@ -1,14 +0,0 @@
|
||||
const $ = (id) => document.getElementById(id);
|
||||
const infoContainer = $("contact-info-container");
|
||||
|
||||
infoContainer.addEventListener("mousedown", loadContactInfo);
|
||||
infoContainer.addEventListener("click", loadContactInfo);
|
||||
|
||||
function loadContactInfo() {
|
||||
infoContainer.innerHTML = atob(
|
||||
"PGRpdj48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9kaXNjb3JkLmNvbS91c2Vycy84MjU0ODcxMzg5NDY1NDc3MTIiPjxpbWcgY2xhc3M9ImJ1bGxldC1pbWciIHNyYz0iaW1hZ2VzL2Rpc2NvcmQucG5nIiBhbHQ9IkRpc2NvcmQiIC8+bWluaW5ndGN1cDwvYT48L2Rpdj48ZGl2PjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJtYWlsdG86dGVkQG1pbmluZ3RjdXAubWUiPjxpbWcgY2xhc3M9ImJ1bGxldC1pbWciIHNyYz0iaW1hZ2VzL3Byb3Rvbm1haWwucG5nIiBhbHQ9IkVtYWlsIi8+dGVkQG1pbmluZ3RjdXAubWU8L2E+PC9kaXY+PGRpdj48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0idGVsOisxLTY1MC01MTItOTYzNSI+PGltZyBjbGFzcz0iYnVsbGV0LWltZyIgc3JjPSJpbWFnZXMvcGhvbmUud2VicCIgYWx0PSJQaG9uZSIgLz4oNjUwKSA1MTItOTYzNTwvYT48L2Rpdj4=",
|
||||
);
|
||||
infoContainer.classList.remove("cover");
|
||||
infoContainer.removeEventListener("mousedown", loadContactInfo);
|
||||
infoContainer.removeEventListener("click", loadContactInfo);
|
||||
}
|
Reference in New Issue
Block a user