background and links
This commit is contained in:
parent
7d7b93006c
commit
9ff4bffa70
|
|
@ -414,7 +414,9 @@
|
||||||
<span class="post-category">Hardware</span>
|
<span class="post-category">Hardware</span>
|
||||||
<span>November 2025</span>
|
<span>November 2025</span>
|
||||||
</div>
|
</div>
|
||||||
<h2 href="https://steen.run/blog/SteamController" class="post-title">Steam Controller Driver For Actual Motors</h2>
|
<a href="https://steen.run/blog/SteamController">
|
||||||
|
<h2 class="post-title">Steam Controller Driver For Actual Motors</h2>
|
||||||
|
</a>
|
||||||
<p class="post-description">
|
<p class="post-description">
|
||||||
Taking a deprecated piece of technology and reverse-engineering the protocol to create custom drivers for games as well as drive two motors over bluetooth using an ESP32.
|
Taking a deprecated piece of technology and reverse-engineering the protocol to create custom drivers for games as well as drive two motors over bluetooth using an ESP32.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
||||||
26
index.html
26
index.html
|
|
@ -16,6 +16,30 @@
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
color: #2a2a2a;
|
color: #2a2a2a;
|
||||||
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
|
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
|
||||||
|
background-attachment: fixed;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(135deg, #1a1a2e 0%, #16213e 100%),
|
||||||
|
repeating-linear-gradient(
|
||||||
|
0deg,
|
||||||
|
transparent,
|
||||||
|
transparent 40px,
|
||||||
|
rgba(255, 215, 0, 0.03) 40px,
|
||||||
|
rgba(255, 215, 0, 0.03) 80px
|
||||||
|
),
|
||||||
|
repeating-linear-gradient(
|
||||||
|
90deg,
|
||||||
|
transparent,
|
||||||
|
transparent 40px,
|
||||||
|
rgba(255, 215, 0, 0.02) 40px,
|
||||||
|
rgba(255, 215, 0, 0.02) 80px
|
||||||
|
),
|
||||||
|
repeating-linear-gradient(
|
||||||
|
45deg,
|
||||||
|
transparent,
|
||||||
|
transparent 60px,
|
||||||
|
rgba(255, 215, 0, 0.015) 60px,
|
||||||
|
rgba(255, 215, 0, 0.015) 120px
|
||||||
|
);
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -423,7 +447,7 @@
|
||||||
<div class="section-divider"></div>
|
<div class="section-divider"></div>
|
||||||
<p style="font-size: 0.95em; color: #2a2a2a; margin-bottom: 15px;">
|
<p style="font-size: 0.95em; color: #2a2a2a; margin-bottom: 15px;">
|
||||||
For detailed writeups of my projects and technical explorations, visit my
|
For detailed writeups of my projects and technical explorations, visit my
|
||||||
<a href="https://steen.run/blog" style="color: #1a3a52; text-decoration: none; border-bottom: 2px solid #ffd700; font-weight: 500;">projects blog</a>.
|
<a href="https://example.com/projects" style="color: #1a3a52; text-decoration: none; border-bottom: 2px solid #ffd700; font-weight: 500;">projects blog</a>.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,206 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Eric Steen - Resume</title>
|
||||||
|
<style>
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #333;
|
||||||
|
background: #98D8A8;
|
||||||
|
min-height: 100vh;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: white;
|
||||||
|
border-radius: 15px;
|
||||||
|
border: 4px solid white;
|
||||||
|
box-shadow: 0 10px 30px rgba(0,0,0,0.15);
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
#background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
|
||||||
|
background: #0c1b33;
|
||||||
|
color: white;
|
||||||
|
padding: 40px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header h1 {
|
||||||
|
font-size: 2.5em;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .title {
|
||||||
|
font-size: 1.2em;
|
||||||
|
opacity: 0.9;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-info {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 20px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-info span {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section {
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section h2 {
|
||||||
|
color: #2c3e50;
|
||||||
|
border-bottom: 2px solid #0c1b33;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
font-size: 1.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.experience-item, .education-item {
|
||||||
|
margin-bottom: 25px;
|
||||||
|
padding-left: 20px;
|
||||||
|
border-left: 3px solid #0c1b33;
|
||||||
|
}
|
||||||
|
|
||||||
|
.experience-item h3, .education-item h3 {
|
||||||
|
color: #2c3e50;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.job-meta, .edu-meta {
|
||||||
|
color: #7f8c8d;
|
||||||
|
font-style: italic;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skills {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skill-tag {
|
||||||
|
background: #E6AF2E;
|
||||||
|
color: white;
|
||||||
|
padding: 5px 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.summary {
|
||||||
|
background: #f8f9fa;
|
||||||
|
padding: 20px;
|
||||||
|
border-radius: 8px;
|
||||||
|
border-left: 4px solid #0c1b33;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
.header {
|
||||||
|
padding: 30px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 30px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-info {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<header class="header">
|
||||||
|
<h1>Eric Steen</h1>
|
||||||
|
<div class="title"> Site Reliability Engineer / Devops </div>
|
||||||
|
<div class="contact-info">
|
||||||
|
<span>📧 eric@steen.run</span>
|
||||||
|
<span>🌍 Grand Forks, ND</span>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="content">
|
||||||
|
<section class="section">
|
||||||
|
<h2>Professional Summary</h2>
|
||||||
|
<div class="summary">
|
||||||
|
<p>I bring experience from hardware repair to cloud infrastructure. I've worked across the full stack from hardware debugging to kubernetes orchestration. When systems break, I can troubleshoot at any layer.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section">
|
||||||
|
<h2>Experience</h2>
|
||||||
|
|
||||||
|
<div class="experience-item">
|
||||||
|
<h3>Site Reliability Engineer</h3>
|
||||||
|
<div class="job-meta">Core Scientific • Grand Forks • Sep 2024 - Jun 2025</div>
|
||||||
|
<ul>
|
||||||
|
<li>Set up systems to collect and organize log files from different applications. <b> Grafana Loki Prometheus</b></li>
|
||||||
|
<li>Tested new software before it went live, helping other departments connect their tools. <b>Kubernetes Terraform Github Actions</b></li>
|
||||||
|
<li>Found new methods of error tracking to detect possible future incidents. <b>Datadog</b></li>
|
||||||
|
<li>Fixed internal tools that were notoriously difficult to work with and maintain. <b>Bash Unix Docker</b></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="experience-item">
|
||||||
|
<h3>Hardware Engineer</h3>
|
||||||
|
<div class="job-meta">Core Scientific • Grand Forks • Feb 2021 - Sep 2024</div>
|
||||||
|
<ul>
|
||||||
|
<li>Wrote software to automate boring, repetative tasks, which cut downtime by 20%</li>
|
||||||
|
<li>Led several projects involving dozens of people to upgrade old systems, and did it under budget and ahead of schedule</li>
|
||||||
|
<li>Successfully scrapped legacy systems in favor of modern and more reliable systems</li>
|
||||||
|
<li>Record holder for most repairs in a shift, while also doing all the heavy lifting myself.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section">
|
||||||
|
<h2>Skills</h2>
|
||||||
|
<div class="skills">
|
||||||
|
<span class="skill-tag">Kubernetes</span>
|
||||||
|
<span class="skill-tag">Docker</span>
|
||||||
|
<span class="skill-tag">CI/CD</span>
|
||||||
|
<span class="skill-tag">Trace Repair</span>
|
||||||
|
<span class="skill-tag">Soldering</span>
|
||||||
|
<span class="skill-tag">Circuit Analysis</span>
|
||||||
|
<span class="skill-tag">Embedded Programming</span>
|
||||||
|
<span class="skill-tag">Cloud Services</span>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
<div class="bottombar">
|
||||||
|
<span class="projects">Projects</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,104 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>paper with gold border</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #808080;
|
||||||
|
height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper {
|
||||||
|
width: 8.5in;
|
||||||
|
height: 11in;
|
||||||
|
#background-color: #808080;
|
||||||
|
background-color: rbga(0,0,0,0);
|
||||||
|
border: 8px solid #ffd700;
|
||||||
|
#box-shadow: 0 4px 8px rgba(0,0,0,0.3);
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.info {
|
||||||
|
width: 8.2in;
|
||||||
|
height: 10.7in;
|
||||||
|
#background-color: white;
|
||||||
|
background-color: rbga(0,0,0,0);
|
||||||
|
border: 8px solid #ffd700;
|
||||||
|
#box-shadow: 0 4px 8px rgba(0,0,0,0.3);
|
||||||
|
position: relative;
|
||||||
|
top: 7px;
|
||||||
|
left: 7px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
.corner-circle {
|
||||||
|
position: absolute;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
background-color: #ffd700;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.corner-circle::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
background-color: #808080;
|
||||||
|
border-radius: 50%;
|
||||||
|
#top: 3px;
|
||||||
|
#left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-left {
|
||||||
|
top: -14px;
|
||||||
|
left: -14px;
|
||||||
|
}
|
||||||
|
.top-left::after {
|
||||||
|
top: -10px;
|
||||||
|
left: -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-right {
|
||||||
|
top: -14px;
|
||||||
|
right: -14px;
|
||||||
|
}
|
||||||
|
.top-right::after {
|
||||||
|
top: -10px;
|
||||||
|
right: -10px;
|
||||||
|
}
|
||||||
|
.bottom-left {
|
||||||
|
bottom: -14px;
|
||||||
|
left: -14px;
|
||||||
|
}
|
||||||
|
.bottom-left::after {
|
||||||
|
bottom: -10px;
|
||||||
|
left: -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-right {
|
||||||
|
bottom: -14px;
|
||||||
|
right: -14px;
|
||||||
|
}
|
||||||
|
.bottom-right::after {
|
||||||
|
bottom: -10px;
|
||||||
|
right: -10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="paper">
|
||||||
|
<div class="corner-circle top-left"></div>
|
||||||
|
<div class="corner-circle top-right"></div>
|
||||||
|
<div class="corner-circle bottom-left"></div>
|
||||||
|
<div class="corner-circle bottom-right"></div>
|
||||||
|
<div class="info"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue