Compare commits
No commits in common. "ad241fafbbd3f2dcc171c8bf523ddef4effbb731" and "717674318cd5ab2ad49d20f93a6f18ae3c4f24db" have entirely different histories.
ad241fafbb
...
717674318c
48
404.html
Normal file → Executable file
@ -1,36 +1,32 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Johannes Olzem</title>
|
<title>Page not found - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem"s personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>404 Error</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<p style='text-align: center;'>The page you requested couldn't be found. </p>
|
||||||
<h2>404 Not Found</h2>
|
<a href='/'>Return to homepage</a>
|
||||||
<p>
|
|
||||||
The resource you requested was not found on this server. Click
|
|
||||||
<a href="/">here</a> to return home.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
87
about/index.html
Normal file → Executable file
@ -1,53 +1,46 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>About - Johannes Olzem</title>
|
<title>About - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
<h1>Johannes Olzem</h1>
|
<h2>About Me</h2>
|
||||||
<blockquote>Less is more</blockquote>
|
<!--<img src='/img/me.png' style='float:left;margin:1rem;border-radius:1rem;height:256px;'>-->
|
||||||
<h2>About me</h2>
|
<p style='margin-bottom: 2rem;'>
|
||||||
<img src="/img/portrait.png" alt="Me" class="portrait">
|
Hey there!<br />
|
||||||
<p>
|
My name is Johannes, and I'm a computer enthusiast born and raised in Germany.
|
||||||
Hey there!
|
Currently, I'm majoring in IT and English, and I'm passionate about most things related to technology.
|
||||||
My name is Johannes, and I'm a computer enthusiast born and raised in
|
I love using free and open-source software, exploring different aspects about Linux, setting up and tinkering with servers,
|
||||||
Germany. Recently, I graduated from school, majoring in IT and English,
|
and learning about privacy and security. When I'm not busy with the command line, I enjoy playing video games and building/modifying mechanical keyboards.
|
||||||
and I am now training to become an IT specialist. I am passionate about
|
Apart from computers, I also have an interest in cars, ranging from classic to modern sports cars.
|
||||||
most things related to technology, but specifically I am passionate about
|
|
||||||
using free and open-source software, exploring different aspects of
|
|
||||||
Linux, setting up and tinkering with servers, and learning about online
|
|
||||||
privacy and security. When I'm not busy with the command line, I enjoy
|
|
||||||
playing video games and building/modifying mechanical keyboards. Apart
|
|
||||||
from computers I enjoy making my own pourover coffee, I am a big fan of
|
|
||||||
technical fashion and I like cars.
|
|
||||||
</p>
|
</p>
|
||||||
<h2>My Skills</h2>
|
<h2>My Skills</h2>
|
||||||
<p>I have at least basic knowledge in the following technologies:</p>
|
|
||||||
<div style="float:left" class="skills">
|
|
||||||
<h3>Languages</h3>
|
<h3>Languages</h3>
|
||||||
|
<p style='margin: 1rem !important; text-align: center;'>I have at least basic knowledge in the following programming languages:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>HTML & CSS</li>
|
<li>HTML & CSS</li>
|
||||||
<li>Java</li>
|
<li>Java</li>
|
||||||
<li>Python</li>
|
<li>Python</li>
|
||||||
<li>PHP</li>
|
<li>PHP</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
<h3>Other Technologies</h3>
|
||||||
<div style="float:right" class="skills">
|
|
||||||
<h3>Other technologies</h3>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Linux</li>
|
<li>Linux</li>
|
||||||
<li>Git</li>
|
<li>Git</li>
|
||||||
@ -55,30 +48,18 @@
|
|||||||
<li>LaTeX</li>
|
<li>LaTeX</li>
|
||||||
<li>Docker</li>
|
<li>Docker</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
<p>If you are interested in a research paper I wrote for a mandatory school project about Linux you can find it <a href='/facharbeit.pdf'>here</a>. My grade for this project was a 13 out of 15 possible grade points.</p>
|
||||||
<br>
|
|
||||||
<h2>About this website</h2>
|
<h2>About this website</h2>
|
||||||
<p>
|
<p>
|
||||||
While I might not have been using the internet much or at all during the
|
This website has no ads or trackers and does not use cookies.<br>
|
||||||
web 1.0 times (which this site is heavily modeled after) I do believe that
|
It is also free and open source under the <a href='/LICENSE.txt'>GNU General Public License v3</a>.<br>
|
||||||
modern websites are unnecessarly bloated in many ways. They contain ads and
|
<a href='https://github.com/jolzem/jolzem.github.io/'>View Source Code</a><br>
|
||||||
trackers (that's just how capitalism works, I can't really complain about
|
|
||||||
that) but also so much useless JavaScript. I agree that it is very useful
|
|
||||||
in certain areas but sometimes it is just not needed. Like in the case of a
|
|
||||||
news site, or a recipe site, which in my opinion could just be served
|
|
||||||
statically without much (or any) JavaScript. Because of this, I created
|
|
||||||
this website, to make a small contribution to the debloated minimal web.
|
|
||||||
Just pure HTML and CSS with some (useful) quality of life JavaScript.
|
|
||||||
No ads, trackers, or cookies.
|
|
||||||
<br>
|
|
||||||
It is also free and Open Source under the GNU
|
|
||||||
General Public License V3, which you can find <a href="/LICENSE.txt">here.</a>
|
|
||||||
</p>
|
</p>
|
||||||
|
<br>
|
||||||
|
<a href="https://www.digitalocean.com/?refcode=bd507e5a75ca&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"><img src="https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%201.svg" alt="DigitalOcean Referral Badge" style="height:50px" /></a>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
BIN
assets/logo.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
assets/logogradient.png
Normal file
After Width: | Height: | Size: 110 KiB |
109
blog/how-to-create-a-rust-server-on-linux/index.html
Normal file → Executable file
@ -1,68 +1,69 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>How to create a Rust server on Linux - Johannes Olzem</title>
|
<title>How to create a Rust server on Linux - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main class="blog-entry">
|
<main>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>How to create a Rust server on Linux</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<div class='author'>Johannes Olzem</div>
|
||||||
<h2>How to create a Rust server on Linux</h2>
|
<div class='date'>May 23, 2023</div>
|
||||||
<div class="author">Johannes Olzem</div>
|
|
||||||
<div class="date">May 23, 2023</div>
|
|
||||||
<h2>Table of Contents</h2>
|
<h2>Table of Contents</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#Requirements">Requirements</a></li>
|
<li><a href='#Requirements'>Requirements</a></li>
|
||||||
<li><a href="#SteamCMD">SteamCMD</a><br /></li>
|
<li><a href='#SteamCMD'>SteamCMD</a><br /></li>
|
||||||
<li><a href="#Installing">Installing</a><br /></li>
|
<li><a href='#Installing'>Installing</a><br /></li>
|
||||||
<li><a href="#Running">Running</a></li>
|
<li><a href='#Running'>Running</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2 id="Requirements">Requirements</h2>
|
<h2 id='Requirements'>Requirements</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Debian Linux</li>
|
<li>Debian Linux</li>
|
||||||
<li>>5GB of RAM</li>
|
<li>>5GB of RAM</li>
|
||||||
<li>>4.5GB of free disc space</li>
|
<li>>4.5GB of free disc space</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2 id="SteamCMD">SteamCMD</h2>
|
<h2 id='SteamCMD'>SteamCMD</h2>
|
||||||
<h3>Configuring the envoirenment</h3>
|
<h3>Configuring the envoirenment</h3>
|
||||||
<p>
|
<p>
|
||||||
Create a user with the name "steam" and give it a password.
|
Create a user with the name 'steam' and give it a password.
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
sudo useradd -m steam
|
sudo useradd -m steam
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
sudo passwd steam
|
sudo passwd steam
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<p>
|
<p>
|
||||||
When prompted, enter a new password for the "steam" user. <br />
|
When prompted, enter a new password for the 'steam' user. <br />
|
||||||
Then switch to the "steam" user and go to its home folder.
|
Then switch to the 'steam' user and go to its home folder.
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
su steam
|
su steam
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
cd
|
cd
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<p>
|
<p>
|
||||||
Enable the contrib and non-free repositories by changing your <code>/etc/apt/sources.list</code> to resemble the following:
|
Enable the contrib and non-free repositories by changing your <code>/etc/apt/sources.list</code> to resemble the following:
|
||||||
</p>
|
</p>
|
||||||
<p class="code no-dollar" style="text-align:left;">
|
<p class='code no-dollar' style='text-align:left;'>
|
||||||
deb http://deb.debian.org/debian bullseye main contrib non-free<br />
|
deb http://deb.debian.org/debian bullseye main contrib non-free<br />
|
||||||
deb-src http://deb.debian.org/debian bullseye main contrib non-free<br />
|
deb-src http://deb.debian.org/debian bullseye main contrib non-free<br />
|
||||||
<br />
|
<br />
|
||||||
@ -76,15 +77,15 @@
|
|||||||
<p>
|
<p>
|
||||||
Finally, to install SteamCMD run:
|
Finally, to install SteamCMD run:
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
sudo apt install steamcmd
|
sudo apt install steamcmd
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<h2 id="Installing">Installing</h2>
|
<h2 id='Installing'>Installing</h2>
|
||||||
<p>
|
<p>
|
||||||
Run SteamCMD
|
Run SteamCMD
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
steamcmd
|
steamcmd
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
@ -92,14 +93,14 @@
|
|||||||
After a short update period, a prompt like <code>Steam></code> should appear.<br />
|
After a short update period, a prompt like <code>Steam></code> should appear.<br />
|
||||||
To login anonymously type:
|
To login anonymously type:
|
||||||
</p>
|
</p>
|
||||||
<p class="code">
|
<p class='code no-dollar'>
|
||||||
login anonymous
|
login anonymous
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<p>
|
<p>
|
||||||
Now install the Rust Dedicated Server application.
|
Now install the Rust Dedicated Server application.
|
||||||
</p>
|
</p>
|
||||||
<p class="code">
|
<p class='code no-dollar'>
|
||||||
app_update 258550
|
app_update 258550
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
@ -108,22 +109,22 @@
|
|||||||
<br />
|
<br />
|
||||||
Afterwards you can quit the SteamCMD shell.
|
Afterwards you can quit the SteamCMD shell.
|
||||||
</p>
|
</p>
|
||||||
<p class="code">
|
<p class='code no-dollar'>
|
||||||
quit
|
quit
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<h2 id="Running">Running</h2>
|
<h2 id='Running'>Running</h2>
|
||||||
<p>
|
<p>
|
||||||
First navigate to the Rust server directory.
|
First navigate to the Rust server directory.
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
cd ~/Steam/steamapps/common/rust_dedicated
|
cd ~/Steam/steamapps/common/rust_dedicated
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<p>
|
<p>
|
||||||
Finally, start up the Rust server by running:
|
Finally, start up the Rust server by running:
|
||||||
</p>
|
</p>
|
||||||
<p class="code cmd">
|
<p class='code'>
|
||||||
./RustDedicated -batchmode
|
./RustDedicated -batchmode
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
@ -184,14 +185,14 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td><code>+server.hostname</code>
|
<td><code>+server.hostname</code>
|
||||||
</td>
|
</td>
|
||||||
<td><code>"Your Server Name"</code>
|
<td><code>'Your Server Name'</code>
|
||||||
</td>
|
</td>
|
||||||
<td>The displayed name of your server.
|
<td>The displayed name of your server.
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>+server.identity</code>
|
<td><code>+server.identity</code>
|
||||||
</td>
|
</td>
|
||||||
<td><code>"my_server_identity"</code>
|
<td><code>'my_server_identity'</code>
|
||||||
</td>
|
</td>
|
||||||
<td>Changes path to your server data rust/server/my_server_identity. Useful for running multiple instances.
|
<td>Changes path to your server data rust/server/my_server_identity. Useful for running multiple instances.
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@ -226,7 +227,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td><code>+rcon.password</code>
|
<td><code>+rcon.password</code>
|
||||||
</td>
|
</td>
|
||||||
<td><code>"YourPassword"</code>
|
<td><code>'YourPassword'</code>
|
||||||
</td>
|
</td>
|
||||||
<td>Sets the RCON password
|
<td>Sets the RCON password
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@ -235,37 +236,35 @@
|
|||||||
</td>
|
</td>
|
||||||
<td><code>gamelog.txt</code>
|
<td><code>gamelog.txt</code>
|
||||||
</td>
|
</td>
|
||||||
<td>If you"re using a script, you"d better put the current date as a filename, otherwise, it"ll be erased on every start.
|
<td>If you're using a script, you'd better put the current date as a filename, otherwise, it'll be erased on every start.
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>-silent-crashes</code>
|
<td><code>-silent-crashes</code>
|
||||||
</td>
|
</td>
|
||||||
<td><code> - </code>
|
<td><code> - </code>
|
||||||
</td>
|
</td>
|
||||||
<td>Won"t display a crash dialog and will restart automatically if server is installed as service.
|
<td>Won't display a crash dialog and will restart automatically if server is installed as service.
|
||||||
</td></tr></tbody>
|
</td></tr></tbody>
|
||||||
</table>
|
</table>
|
||||||
<br />
|
<br />
|
||||||
<h2>Sources</h2>
|
<h2>Sources</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://wiki.facepunch.com/rust/Creating-a-server">Rust Wiki, "Creating a server"</a>
|
<a href='https://wiki.facepunch.com/rust/Creating-a-server'>Rust Wiki, 'Creating a server'</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://developer.valvesoftware.com/wiki/SteamCMD#Linux">Valve Developer Community, "SteamCMD"</a>
|
<a href='https://developer.valvesoftware.com/wiki/SteamCMD#Linux'>Valve Developer Community, 'SteamCMD'</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.rustafied.com/how-to-host-your-own-rust-server">Rustafied, "How to: Host your own Rust Dedicated Server"</a>
|
<a href='https://www.rustafied.com/how-to-host-your-own-rust-server'>Rustafied, 'How to: Host your own Rust Dedicated Server'</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server">Valve Developer Community, "Rust Dedicated Server"</a>
|
<a href='https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server'>Valve Developer Community, 'Rust Dedicated Server'</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
52
blog/index.html
Normal file → Executable file
@ -1,41 +1,35 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Blog - Johannes Olzem</title>
|
<title>Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
|
||||||
<blockquote>Less is more</blockquote>
|
|
||||||
<h2>Blog</h2>
|
<h2>Blog</h2>
|
||||||
<ul>
|
<div class='blog-entries'>
|
||||||
<li>
|
<a href='quick-fixes/'>Quick Fixes</a>
|
||||||
<a href="/blog/quick-fixes/">Quick fixes</a>
|
<a href='the-current-state-of-software-is-utterly-ridiculous/'>The current state of software is utterly ridiculous</a>
|
||||||
</li>
|
<a href='how-to-create-a-rust-server-on-linux/'>How to create a Rust server on Linux</a>
|
||||||
<li>
|
</div>
|
||||||
<a href="/blog/how-to-create-a-rust-server-on-linux/">
|
|
||||||
How to create a Rust server on linux.
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
47
blog/quick-fixes/android-pihole-no-internet/index.html
Normal file → Executable file
@ -1,37 +1,34 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fix - Johannes Olzem</title>
|
<title>Quick Fix - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>Connected without internet on Android after setting PiHole as DNS server.</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<br>
|
||||||
<h2>
|
|
||||||
Connected without internet on Android after setting PiHole as DNS server.
|
|
||||||
</h2>
|
|
||||||
<p>
|
<p>
|
||||||
Make sure you forward both TCP and UDP of port 53 from your Docker
|
Make sure you forward both TCP and UDP of port 53 from your Docker container.
|
||||||
container.
|
|
||||||
</p>
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
62
blog/quick-fixes/homeassistant-proxy/index.html
Normal file → Executable file
@ -1,52 +1,38 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fix - Johannes Olzem</title>
|
<title>Quick Fix - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>HomeAssistant not connecting over reverse proxy</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<br>
|
||||||
<h2>HomeAssistant not connecting over reverse proxy</h2>
|
|
||||||
<p>
|
<p>
|
||||||
Make sure you have enabled <em>Websockets Supports</em> or similar
|
Make sure you have enabled <em>Websockets Supports</em> or similar functionality in your reverse proxy client.
|
||||||
functionality in your reverse proxy client.<br><br>
|
|
||||||
If you are getting a <em>400 Bad Request</em> error, find the
|
|
||||||
HomeAssistant log file and look for the following error message:<br>
|
|
||||||
<code>A request from a reverse proxy was received from 12.34.56.78, but
|
|
||||||
your HTTP integration is not set-up for reverse proxies</code><br><br>
|
|
||||||
In your <code>configuration.yaml</code> file, add the following lines:<br>
|
|
||||||
<pre>
|
|
||||||
http:<br>
|
|
||||||
use_x_forwarded_for: true<br>
|
|
||||||
trusted_proxies:<br>
|
|
||||||
- 12.34.56.78 # The IP address from the error message
|
|
||||||
</pre>
|
|
||||||
</p>
|
</p>
|
||||||
<h3>Explanation</h3>
|
<h2>Explanation</h2>
|
||||||
<p>
|
<p>
|
||||||
HomeAssistant uses websockets to communicate with the browser.<br><br>
|
HomeAssistant uses websockets to communicate with the browser.
|
||||||
If you are using a reverse proxy, the IP address of the incoming
|
|
||||||
connection is not trusted and gets rejected by HomeAssistant.<br>
|
|
||||||
</p>
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
71
blog/quick-fixes/index.html
Normal file → Executable file
@ -1,68 +1,39 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang='en'>
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fixes - Johannes Olzem</title>
|
<title>Quick Fixes - Johannes Olzem</title>
|
||||||
<meta name='description' content='Johannes Olzem's personal website'>
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset='utf-8'>
|
<meta charset='utf-8'>
|
||||||
<link rel='stylesheet' href='/css/style.css'>
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel='icon' href='/favico.ico'>
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class='body'>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href='/'>
|
<a href='/' class='home-ref'>
|
||||||
<img src='/img/logo.png'>
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href='/about/'>About</a>
|
<nav>
|
||||||
<a href='/blog/'>Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
|
<a href='/about/'>About Me</a>
|
||||||
<a href='/contact/'>Contact</a>
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
<h1>Johannes Olzem</h1>
|
<h2>Quick Fixes</h2>
|
||||||
<blockquote>Less is more</blockquote>
|
<h3>This is a page with small problems, to which I have found easy solutions, so as to not litter the blog page.</h3>
|
||||||
<h2>Quick fixes</h2>
|
<div class='blog-entries'>
|
||||||
<p>
|
<a href='nextcloud-file-not-supported/'>Nextcloud file not supported error</a>
|
||||||
This is a page with small problems, to which I have found easy
|
<a href='android-pihole-no-internet/'>Connected without internet on Android after setting PiHole as DNS server.</a>
|
||||||
solutions, so as to not litter the blog page.
|
<a href='thinkpad-r61-beep/'> Thinkpad R61 repeated beep on startup</a>
|
||||||
</p>
|
<a href='pacman-404/'>Pacman install fails with 404</a>
|
||||||
<ul>
|
<a href='proton-audio-stuttering/'>Proton / Wine audio stuttering when using qpaeq equalizer</a>
|
||||||
<li>
|
<a href='homeassistant-proxy/'>HomeAssistant not connecting over reverse proxy</a>
|
||||||
<a href='/blog/quick-fixes/android-pihole-no-internet/'>
|
</div>
|
||||||
Connected without internet on Android after setting PiHole as DNS
|
|
||||||
server
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href='/blog/quick-fixes/homeassistant-proxy/'>
|
|
||||||
HomeAssistant not connecting over reverse proxy
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href='/blog/quick-fixes/nextcloud-file-not-supported/'>
|
|
||||||
Nextcloud file not supported error
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href='/blog/quick-fixes/pacman-404/'>
|
|
||||||
Pacman install fails with 404
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href='/blog/quick-fixes/proton-audio-stuttering/'>
|
|
||||||
Proton / Wine audio stuttering when using qpaeq equalizer
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href='/blog/quick-fixes/thinkpad-r61-beep/'>
|
|
||||||
Thinkpad R61 repeated beep on startup
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
58
blog/quick-fixes/nextcloud-file-not-supported/index.html
Normal file → Executable file
@ -1,43 +1,39 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fix - Johannes Olzem</title>
|
<title>Quick Fix - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>Nextcloud file not supported error</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<h2><code>exif_read_data(): File not supported at /var/www/html/lib/private/Metadata/Provider/ExifProvider.php#59</code></h2>
|
||||||
<h2>Nextcloud file not supported error</h2>
|
<br>
|
||||||
<h3>
|
|
||||||
<code>
|
|
||||||
exif_read_data(): File not supported at
|
|
||||||
/var/www/html/lib/private/Metadata/Provider/ExifProvider.php#59
|
|
||||||
</code>
|
|
||||||
</h3>
|
|
||||||
<p>Upload over IP and port rather than over nginx proxy.</p>
|
|
||||||
<h3>Explanation</h3>
|
|
||||||
<p>
|
<p>
|
||||||
The request payload (the data your are trying to upload) is too large for
|
Upload over IP and port rather than over nginx proxy.
|
||||||
nginx.
|
</p>
|
||||||
|
<h2>Explanation</h2>
|
||||||
|
<p>
|
||||||
|
The request payload (the data your are trying to upload) is too large for nginx.
|
||||||
</p>
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
65
blog/quick-fixes/pacman-404/index.html
Normal file → Executable file
@ -1,50 +1,41 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fix - Johannes Olzem</title>
|
<title>Quick Fix - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>Pacman install fails with 404</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<h2><code>error: failed retrieving file 'X' from Y : The requested URL returned error: 404</code></h2>
|
||||||
<h2>Pacman install fails with 404</h2>
|
|
||||||
<h3><code>error: failed retrieving file 'X' from Y : The requested URL
|
|
||||||
returned error: 404</code></h3>
|
|
||||||
<p>
|
|
||||||
Replace <code>/etc/pacman.d/mirrorlist</code> with a new file generated
|
|
||||||
at
|
|
||||||
<a href='https://archlinux.org/mirrorlist/'>
|
|
||||||
https://archlinux.org/mirrorlist/
|
|
||||||
</a>.
|
|
||||||
<br>
|
<br>
|
||||||
Then run <code>sudo pacman -Syyu</code> to update the package database
|
|
||||||
with the new mirrorlist. Make sure to use 2 y's, to force the new changes.
|
|
||||||
</p>
|
|
||||||
<h3>Explanation</h3>
|
|
||||||
<p>
|
<p>
|
||||||
Your mirrorlist is outdated, possibly due to the recent
|
Replace <code>/etc/pacman.d/mirrorlist</code> with a new file generated at <a href='https://archlinux.org/mirrorlist/'>https://archlinux.org/mirrorlist/</a>.
|
||||||
<a href='https://archlinux.org/news/git-migration-completed/'>
|
<br>
|
||||||
pacman git migration
|
Then run <code>sudo pacman -Syyu</code> to update the package database with the new mirrorlist. Make sure to use 2 y's, to force the new changes.
|
||||||
</a>.
|
</p>
|
||||||
|
<h2>Explanation</h2>
|
||||||
|
<p>
|
||||||
|
Your mirrorlist is outdated, possibly due to the recent <a href='https://archlinux.org/news/git-migration-completed/'>pacman git migration</a>.
|
||||||
</p>
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
46
blog/quick-fixes/proton-audio-stuttering/index.html
Normal file → Executable file
@ -1,32 +1,34 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fix - Johannes Olzem</title>
|
<title>Quick Fix - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>Proton / Wine audio stuttering when using qpaeq equalizer</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<br>
|
||||||
<h2>Proton / Wine audio stuttering when using qpaeq equalizer</h2>
|
<p>
|
||||||
<p>Switch to normal audio device.</p>
|
Switch to normal audio device.
|
||||||
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
52
blog/quick-fixes/template.html
Normal file → Executable file
@ -1,37 +1,39 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fix - Johannes Olzem</title>
|
<title>Quick Fix - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>{{ Title }}</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<h2>{{ Problem }}</h2>
|
||||||
<h2>Title</h2>
|
<br>
|
||||||
<h3>Problem</h3>
|
|
||||||
<p>Fix</p>
|
|
||||||
<h3>Explanation</h3>
|
|
||||||
<p>
|
<p>
|
||||||
Explanation
|
{{ Fix }}
|
||||||
|
</p>
|
||||||
|
<h2>Explanation</h2>
|
||||||
|
<p>
|
||||||
|
{{ Explanation }}
|
||||||
</p>
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
50
blog/quick-fixes/thinkpad-r61-beep/index.html
Normal file → Executable file
@ -1,37 +1,39 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Quick fix - Johannes Olzem</title>
|
<title>Quick Fix - Blog - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
<h1>Thinkpad R61 repeated beep on startup</h1>
|
||||||
<blockquote>Less is more</blockquote>
|
<h2>(or any older ThinkPad model, I believe)</h2>
|
||||||
<h2>Thinkpad R61 repeated beep on startup</h2>
|
<br>
|
||||||
<h3>(or any older ThinkPad model, I believe)</h3>
|
<p>
|
||||||
<p>Check keyboard connector / swap out keyboard.</p>
|
Check keyboard connector / swap out keyboard.
|
||||||
<h3>Explanation</h3>
|
</p>
|
||||||
|
<h2>Explanation</h2>
|
||||||
<p>
|
<p>
|
||||||
No keyboard detected on bootup.
|
No keyboard detected on bootup.
|
||||||
</p>
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<title>{{ Title }} - Johannes Olzem</title>
|
|
||||||
<meta name="description" content="Johannes Olzem's personal website">
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<link rel="icon" href="/favico.ico">
|
|
||||||
</head>
|
|
||||||
<body class="body">
|
|
||||||
<header>
|
|
||||||
<a href="/">
|
|
||||||
<img src="/img/logo.png">
|
|
||||||
</a>
|
|
||||||
<a href="/about/">About</a>
|
|
||||||
<a href="/blog/">Blog</a>
|
|
||||||
<a href="/contact/">Contact</a>
|
|
||||||
</header>
|
|
||||||
<main class="blog-entry">
|
|
||||||
<h1>Johannes Olzem</h1>
|
|
||||||
<blockquote>Less is more</blockquote>
|
|
||||||
<h2>Title</h2>
|
|
||||||
<div class="author">Johannes Olzem</div>
|
|
||||||
<div class="date"></div>
|
|
||||||
<p>
|
|
||||||
|
|
||||||
</p>
|
|
||||||
</main>
|
|
||||||
<footer>
|
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
|
|
67
blog/the-current-state-of-software-is-utterly-ridiculous/index.html
Executable file
@ -0,0 +1,67 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang='en'>
|
||||||
|
<head>
|
||||||
|
<title>The current state of software is utterly ridiculous - Blog - Johannes Olzem</title>
|
||||||
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
|
<meta charset='utf-8'>
|
||||||
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
|
<link rel='icon' href='/favico.ico'>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<a href='/' class='home-ref'>
|
||||||
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
|
</a>
|
||||||
|
<nav>
|
||||||
|
<a href='/blog/'>Blog</a>
|
||||||
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main>
|
||||||
|
<h1>The current state of software is utterly ridiculous</h1>
|
||||||
|
<div class='author'>Johannes Olzem</div>
|
||||||
|
<div class='date'>May 15, 2023</div>
|
||||||
|
<p>
|
||||||
|
First off, I want to say that this is not an informative blog post. It's simply a rant on how modern software is increasingly slow and bloated.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
Not too long ago, I, as an avid gamer, decided to play a racing sim game with my racing rig. As this is not something you can do, or something I have spent the time figuring out how to do on Linux (another negative aspect of modern software, but something I have come to accept), I booted into my Microsoft Windows 11 installation.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
It should be mentioned that this install is on a separate HDD from my Linux installation. After selecting Windows from the GRUB bootloader, I walked away for about 2 minutes to do something else. When I came back, I was, as expected, greeted with the Windows 11 login screen, or rather, the time on top of a pretty landscape picture. At this point, my first frustration started:
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
After pressing the spacebar to load the login prompt, the digital clock went away as expected. But guess what didn't appear? The login prompt. As a few seconds pass, the digital clock reappears, and I try again multiple times. After about a half-minute to a minute, before starting my last attempt, something else, in addition to the digital clock, spawned on the screen. It was a series of small details about the randomly picked background picture and other details, which I obviously didn't read. So not only did I not want these details, but they also prevented me from logging into my system. In addition to that, I don't know a single person who reads, likes or wants these details at all.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
So what's your solution, you might ask? It's incredibly simple: <b>make it a feature, not a bug</b> or a piece of bloatware in this case. Let the user toggle it on if they so desire, but please don't make it a burden for slower systems like mine. (A quick side note: I wouldn't consider my system slow as a whole. I have a 5th Gen Ryzen and 16GB of RAM, but as Windows 11 is installed on an HDD rather than an SSD, I assume most of its slowness comes from this)
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
After I successfully logged into my system, it took around another minute to be fully usable, but I was already used to that. During this time, I noticed that the Oculus Updater Program had auto-started. As I had recently sold my Oculus VR headset and the program was probably only slowing down my computer, I decided to uninstall it. This brings me to another frustration with the Microsoft Windows operating system: the fact that you cannot uninstall something without a million registry entries and files being left on your system. To my knowledge, it is currently impossible without third-party software to uninstall something completely and remove all traces of it. Using an uninstallation program, however, which in itself is a major piece of bloatware, I was able to remove what I assume is most of the program and its files.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
All of this just contributes to my opinion of <b>free</b> and open-source software. The free aspect is actually somewhat important in this case, as sensible solutions can only be found or created by an entire community, rather than one person or organization publishing their code and another person having an idea for improvements to that code. When big tech companies are the only ones in control of their software, they tend to not only roll out necessary updates but also completely useless features and then completely ignore their communities feedback. The best example I can think of in this case is Youtube: they disabled public dislikes and received a huge amount of negative feedback from creators and other users. And instead of listening to what is essentially their main revenue stream, they kept them disabled. In this case, the community was able to evade that change by using a browser extension specially developed for this issue.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
I completely understand that companies want to generate revenue with their product, but by intentionally ruining it for some or even all of the users, they are only achieving the opposite. Maybe there is something in the corporate world doing the exact opposite of what I just described, but I, as a mere end-user, cannot think of such a thing.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
<b>TLDR:</b> I am frustrated that software, especially the Windows operating system, has moved from being a tool used to interface with a computer to something that has to look pretty and could probably be used by a three-year-old.
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
<footer>
|
||||||
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
44
contact/index.html
Normal file → Executable file
@ -1,36 +1,38 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Contact - Johannes Olzem</title>
|
<title>Contact - Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem"s personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main class='full'>
|
||||||
<h1>Johannes Olzem</h1>
|
|
||||||
<blockquote>Less is more</blockquote>
|
|
||||||
<h2>Contact</h2>
|
<h2>Contact</h2>
|
||||||
<p>
|
<p>
|
||||||
Email me: <a href="mailto:johannes@jolzem.com">johannes@jolzem.com</a>
|
Email me:
|
||||||
|
<a href='mailto:jolzem@pm.me?subject=Hi!' target='_blank'>jolzem@pm.me</a>
|
||||||
|
</p>
|
||||||
<br>
|
<br>
|
||||||
Find me on <a href="https://github.com/jolzem">Github</a>
|
<p>
|
||||||
|
Find me on <a href='https://github.com/jolzem'>GitHub</a>.
|
||||||
</p>
|
</p>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
BIN
css/WorkSans-Italic.woff2
Normal file
BIN
css/WorkSans-Medium.woff2
Normal file
BIN
css/WorkSans-Regular.woff2
Normal file
240
css/style.css
Normal file → Executable file
@ -1,99 +1,156 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Work Sans';
|
||||||
|
src: url('WorkSans-Regular.woff2');
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Work Sans';
|
||||||
|
src: url('WorkSans-Medium.woff2');
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Work Sans';
|
||||||
|
src: url('WorkSans-Italic.woff2');
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--bg: #152528;
|
--header-bg: rgba(0, 0, 0, 0.95);
|
||||||
--dark-bg: #0f1c1e;
|
--txt: #eee;
|
||||||
--txt: #e6eaea;
|
--body-bg: #111;
|
||||||
--header-txt: #e85c51;
|
--accent: #6690d9;
|
||||||
--sec-header-txt: #ff8349;
|
--border: #aaa;
|
||||||
--link-txt: #5a93aa;
|
--font-body: 'Work Sans', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: var(--bg);
|
font-family: var(--font-body);
|
||||||
color: var(--txt);
|
color: var(--txt);
|
||||||
font-family: 'Consolas', 'Courier', monospace;
|
background-color: var(--body-bg);
|
||||||
font-size: 130%
|
text-align: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
position: relative;
|
||||||
|
min-height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
min-height: 52pt;
|
margin-bottom: 2.5rem;
|
||||||
|
background-color: var(--header-bg);
|
||||||
|
padding: 1.5rem 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
max-width: 95vw;
|
justify-content: space-between;
|
||||||
margin: 0 auto;
|
flex-wrap: wrap;
|
||||||
}
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
header a {
|
z-index: 100;
|
||||||
display: inline-block;
|
|
||||||
padding: 4pt 12pt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header img {
|
header img {
|
||||||
height: 24pt;
|
height: 3rem;
|
||||||
|
margin-left: 1.5rem;
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
blockquote {
|
.home-ref {
|
||||||
font-style: italic;
|
|
||||||
padding-bottom: 24pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
main {
|
|
||||||
max-width: min(800px, 80vw);
|
|
||||||
margin: 0 auto;
|
|
||||||
padding-bottom: 24pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cowsay-wrapper {
|
|
||||||
min-width: 100%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cowsay {
|
.home-ref span {
|
||||||
font-family: monospace;
|
margin-left: 1.5rem;
|
||||||
text-align: left;
|
font-size: 1.5rem;
|
||||||
white-space: pre;
|
color: var(--txt);
|
||||||
max-width: fit-content;
|
max-width: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: max-width 0.5s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-ref:hover span {
|
||||||
|
max-width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
header a {
|
||||||
|
color: var(--accent);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
margin-right: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
border-radius: .3rem;
|
||||||
|
margin: .7rem;
|
||||||
|
padding: .4rem 1.2rem;
|
||||||
|
text-decoration: none;
|
||||||
|
user-select: none;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
color: var(--txt);
|
||||||
|
transition: 0.5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cards {
|
nav a:hover, nav a:active {
|
||||||
|
background-color: var(--txt);
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
color: var(--header-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 2.5rem 5rem 2.5rem;
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
main p {
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.full {
|
||||||
|
height: 80vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-evenly;
|
align-items: center;
|
||||||
margin-bottom:48pt;
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.portrait {
|
.full p {
|
||||||
max-width: min(220px, 60vw);
|
text-align: justify-all !important;
|
||||||
|
max-width: 600px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.skills {
|
.arrow {
|
||||||
float: left !important;
|
position: absolute;
|
||||||
width: 100%;
|
bottom: 0;
|
||||||
margin-bottom: 24pt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* float right when on desktop */
|
.full-secondary {
|
||||||
@media (min-width: 500px) {
|
height: 100vh;
|
||||||
.portrait {
|
|
||||||
float: right;
|
|
||||||
height: 300px;
|
|
||||||
margin-left: 2rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.skills {
|
main ul {
|
||||||
width: 50%;
|
margin: 0 auto;
|
||||||
height: 14rem;
|
margin-bottom: 2rem;
|
||||||
}
|
max-width: fit-content;
|
||||||
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.blog-entry p {
|
.blog-entries a {
|
||||||
margin: 0;
|
padding-top: 1rem;
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.author {
|
.author {
|
||||||
float: left;
|
float: left;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
margin-bottom: 2rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.date {
|
.date {
|
||||||
@ -103,41 +160,64 @@ main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.code {
|
.code {
|
||||||
background: var(--dark-bg);
|
font-family: monospace;
|
||||||
padding: 1rem;
|
padding: .2rem .3rem;
|
||||||
border-radius: 1rem;
|
border-radius: .3rem;
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
margin: .3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cmd::before {
|
.code::before {
|
||||||
content: '$ ';
|
content: '$ ';
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-dollar::before {
|
||||||
|
content: '';
|
||||||
|
}
|
||||||
|
|
||||||
|
.cowsay {
|
||||||
|
font-family: monospace;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
max-width: fit-content;
|
||||||
|
display: inline-block;
|
||||||
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
color: var(--header-txt);
|
|
||||||
}
|
|
||||||
|
|
||||||
h2, h3, h4, h5, h6 {
|
|
||||||
color: var(--sec-header-txt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 16pt;
|
margin: 1rem;
|
||||||
display: block;
|
font-size: 1.1em;
|
||||||
text-align: justify;
|
line-height: 1.5rem;
|
||||||
line-height: 1.25;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: var(--link-txt);
|
color: var(--txt);
|
||||||
text-decoration-color: rgba(0,0,0,0);
|
text-decoration: underline;
|
||||||
transition: text-decoration .3s;
|
transition: 300ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover, a:active {
|
h1,
|
||||||
text-decoration-color: var(--link-txt);
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
a:hover,
|
||||||
|
a:active {
|
||||||
|
color: var(--accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
padding: .2rem .3rem;
|
||||||
|
border-radius: .3rem;
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
margin: .3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
2
donate/index.html
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
<p>This is only here so I can copy my Monero adress when I need it and don't want to/cannot access my wallet. Don't give me money.</p>
|
||||||
|
<p style='overflow-wrap: anywhere;'>4BK7poh4kom8tti2HReRjQFbooWNiCiYj6sYfq4jdqBBhfN1FWn3an4ZRb1fytH5363vzyvTxBKzd5UphnexhJ7t1kjzTzP</p>
|
32
empty.html
@ -1,32 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang='en'>
|
|
||||||
<head>
|
|
||||||
<title> - Johannes Olzem</title>
|
|
||||||
<meta name='description' content='Johannes Olzem's personal website'>
|
|
||||||
<meta charset='utf-8'>
|
|
||||||
<link rel='stylesheet' href='/css/style.css'>
|
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
|
||||||
<link rel='icon' href='/favico.ico'>
|
|
||||||
</head>
|
|
||||||
<body class='body'>
|
|
||||||
<header>
|
|
||||||
<a href='/'>
|
|
||||||
<img src='/img/logo.png'>
|
|
||||||
</a>
|
|
||||||
<a href='/about/'>About</a>
|
|
||||||
<a href='/blog/'>Blog</a>
|
|
||||||
<a href='/contact/'>Contact</a>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
<h1>Johannes Olzem</h1>
|
|
||||||
<blockquote>Less is more</blockquote>
|
|
||||||
<h2></h2>
|
|
||||||
|
|
||||||
</main>
|
|
||||||
<footer>
|
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
|
|
BIN
favico.ico
Normal file → Executable file
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 14 KiB |
BIN
img/logo.png
Before Width: | Height: | Size: 8.1 KiB |
BIN
img/nocookie.gif
Before Width: | Height: | Size: 581 B |
BIN
img/portrait.png
Before Width: | Height: | Size: 249 KiB |
BIN
img/smile.gif
Before Width: | Height: | Size: 760 B |
BIN
img/vim.gif
Before Width: | Height: | Size: 1.3 KiB |
76
index.html
Normal file → Executable file
@ -1,48 +1,47 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang='en'>
|
||||||
<head>
|
<head>
|
||||||
<title>Johannes Olzem</title>
|
<title>Johannes Olzem</title>
|
||||||
<meta name="description" content="Johannes Olzem"s personal website">
|
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||||
<meta charset="utf-8">
|
<meta charset='utf-8'>
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel='stylesheet' href='/css/style.css'>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||||
<link rel="icon" href="/favico.ico">
|
<link rel='icon' href='/favico.ico'>
|
||||||
</head>
|
</head>
|
||||||
<body class="body">
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a href="/">
|
<a href='/' class='home-ref'>
|
||||||
<img src="/img/logo.png">
|
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||||
|
<span>Johannes Olzem</span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/about/">About</a>
|
<nav>
|
||||||
<a href="/blog/">Blog</a>
|
<a href='/blog/'>Blog</a>
|
||||||
<a href="/contact/">Contact</a>
|
<a href='/about/'>About Me</a>
|
||||||
|
<a href='/contact/'>Contact</a>
|
||||||
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
<h1>Johannes Olzem</h1>
|
<div class='full'>
|
||||||
<blockquote>Less is more</blockquote>
|
<h2>Welcome to my Webspace!</h2>
|
||||||
<h2>Welcome to my webspace</h2>
|
|
||||||
<p>
|
<p>
|
||||||
I'm Johannes, a computer enthusiast from Germany. On this website I
|
Here I maintain my <a href='/blog/' class='inline'>blog</a>
|
||||||
maintain my <a href="blog">blog</a> about various topics and you can
|
about various topics and with various guides.<br />
|
||||||
learn more about me <a href="/about/">here.</a> If you want to get in
|
You can learn more about me <a href='/about/' class='inline'>here</a>.<br />
|
||||||
touch with me, you can do that <a href="/contact/">here</a>.
|
|
||||||
</p>
|
</p>
|
||||||
|
<span class='arrow'>↓</span>
|
||||||
|
</div>
|
||||||
|
<div class='full full-secondary'>
|
||||||
<h2>Why run this website?</h2>
|
<h2>Why run this website?</h2>
|
||||||
<p>
|
<p>
|
||||||
The internet used to be a place of personal expression, not just
|
As you (should) know, most websites collect data about you.
|
||||||
corporate dominance. I believe in keeping that spirit alive.
|
This is especially true for social media sites, which this is supposed to be a substitute for.
|
||||||
<br>
|
While I still occasionally use social media platforms like WhatsApp or (very rarely) Instagram, I strictly limit my usage to connecting with people I know in real life for social interactions only. But back to my rant:<br />
|
||||||
This site is a small step towards a more independent web.
|
So the only logical option in my mind was to make a website with some kind of blog function to share my opinion and help people with problems, that I have had and solved.<br />
|
||||||
It also allows me to share my experiences, how I do things, and other
|
And now you are here! I don't know how you got here, but feel free to explore every crevasse of this site.
|
||||||
stuff that I want to put out into the world.
|
|
||||||
<br>
|
|
||||||
Please feel free to explore every crevasse of this site! Don't know where
|
|
||||||
to start? Try the <a href="/about/">about</a> page, to learn more about
|
|
||||||
who I am.
|
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="cowsay-wrapper">
|
<p class='cowsay'>
|
||||||
<p class="cowsay">
|
|
||||||
_____________________________
|
_____________________________
|
||||||
< Have fun on this website! >
|
< Have fun on this website! >
|
||||||
-----------------------------
|
-----------------------------
|
||||||
@ -52,21 +51,10 @@ _____________________________
|
|||||||
||----w |
|
||----w |
|
||||||
|| ||
|
|| ||
|
||||||
</p>
|
</p>
|
||||||
</div>
|
|
||||||
<br>
|
<br>
|
||||||
<div class="cards">
|
|
||||||
<img src="/img/linux_powered.gif" alt="Linux powered">
|
|
||||||
<img src="/img/vim.gif" alt="vim">
|
|
||||||
<img src="/img/nocookie.gif" alt="No Cookies">
|
|
||||||
<img src="/img/bestvieweddesktop.gif" alt="Best viewed with desktop">
|
|
||||||
<img src="/img/internetprivacy.gif" alt="Internet privacy now!">
|
|
||||||
<img src="/img/smile.gif" alt="Have a smile">
|
|
||||||
</div>
|
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
|
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||||
<br>
|
|
||||||
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|