Redo website
48
404.html
Executable file → Normal file
@ -1,32 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Page not found - 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'>
|
||||
<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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>404 Error</h1>
|
||||
<p style='text-align: center;'>The page you requested couldn't be found. </p>
|
||||
<a href='/'>Return to homepage</a>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>404 Not Found</h2>
|
||||
<p>
|
||||
The resource you requested was not found on this server. Click
|
||||
<a href="/">here</a> to return home.
|
||||
</p>
|
||||
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
86
about/index.html
Executable file → Normal file
@ -1,47 +1,53 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>About - Johannes Olzem</title>
|
||||
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||
<meta charset='utf-8'>
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||
<link rel='stylesheet' href='/css/style.css'>
|
||||
<link rel='icon' href='/favico.ico'>
|
||||
<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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main>
|
||||
<h2>About Me</h2>
|
||||
<!--<img src='/img/me.png' style='float:left;margin:1rem;border-radius:1rem;height:256px;'>-->
|
||||
<p style='margin-bottom: 2rem;'>
|
||||
Hey there!<br />
|
||||
My name is Johannes, and I'm a computer enthusiast born and raised in Germany.
|
||||
Recently, I graduated from school, majoring in IT and English, and I am now training to become an IT specialist.
|
||||
I am passionate about 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 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 also have an interest in cars, ranging from classic to modern sports cars, and like riding my somewhat odd looking bicycle.
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>About me</h2>
|
||||
<img src="/img/portrait.png" alt="Me" class="portrait">
|
||||
<p>
|
||||
Hey there!
|
||||
My name is Johannes, and I'm a computer enthusiast born and raised in
|
||||
Germany. Recently, I graduated from school, majoring in IT and English,
|
||||
and I am now training to become an IT specialist. I am passionate about
|
||||
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>
|
||||
<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>
|
||||
<p style='margin: 1rem !important; text-align: center;'>I have at least basic knowledge in the following programming languages:</p>
|
||||
<ul>
|
||||
<li>HTML & CSS</li>
|
||||
<li>Java</li>
|
||||
<li>Python</li>
|
||||
<li>PHP</li>
|
||||
</ul>
|
||||
<h3>Other Technologies</h3>
|
||||
</div>
|
||||
<div style="float:right" class="skills">
|
||||
<h3>Other technologies</h3>
|
||||
<ul>
|
||||
<li>Linux</li>
|
||||
<li>Git</li>
|
||||
@ -49,16 +55,30 @@
|
||||
<li>LaTeX</li>
|
||||
<li>Docker</li>
|
||||
</ul>
|
||||
<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>
|
||||
</div>
|
||||
<br>
|
||||
<h2>About this website</h2>
|
||||
<p>
|
||||
This website has no ads or trackers and does not use cookies.<br>
|
||||
It is also free and open source under the <a href='/LICENSE.txt'>GNU General Public License v3</a>.<br>
|
||||
<a href='https://github.com/jolzem/jolzem.github.io/'>View Source Code</a><br>
|
||||
While I might not have been using the internet much or at all during the
|
||||
web 1.0 times (which this site is heavily modeled after) I do believe that
|
||||
modern websites are unnecessarly bloated in many ways. They contain ads and
|
||||
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>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
109
blog/how-to-create-a-rust-server-on-linux/index.html
Executable file → Normal file
@ -1,69 +1,68 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>How to create a Rust server on Linux - 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'>
|
||||
<title>How to create a Rust server on Linux - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main>
|
||||
<h1>How to create a Rust server on Linux</h1>
|
||||
<div class='author'>Johannes Olzem</div>
|
||||
<div class='date'>May 23, 2023</div>
|
||||
<main class="blog-entry">
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>How to create a Rust server on Linux</h2>
|
||||
<div class="author">Johannes Olzem</div>
|
||||
<div class="date">May 23, 2023</div>
|
||||
<h2>Table of Contents</h2>
|
||||
<ul>
|
||||
<li><a href='#Requirements'>Requirements</a></li>
|
||||
<li><a href='#SteamCMD'>SteamCMD</a><br /></li>
|
||||
<li><a href='#Installing'>Installing</a><br /></li>
|
||||
<li><a href='#Running'>Running</a></li>
|
||||
<li><a href="#Requirements">Requirements</a></li>
|
||||
<li><a href="#SteamCMD">SteamCMD</a><br /></li>
|
||||
<li><a href="#Installing">Installing</a><br /></li>
|
||||
<li><a href="#Running">Running</a></li>
|
||||
</ul>
|
||||
<h2 id='Requirements'>Requirements</h2>
|
||||
<h2 id="Requirements">Requirements</h2>
|
||||
<ul>
|
||||
<li>Debian Linux</li>
|
||||
<li>>5GB of RAM</li>
|
||||
<li>>4.5GB of free disc space</li>
|
||||
</ul>
|
||||
<h2 id='SteamCMD'>SteamCMD</h2>
|
||||
<h2 id="SteamCMD">SteamCMD</h2>
|
||||
<h3>Configuring the envoirenment</h3>
|
||||
<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 class='code'>
|
||||
<p class="code cmd">
|
||||
sudo useradd -m steam
|
||||
</p>
|
||||
<p class='code'>
|
||||
<p class="code cmd">
|
||||
sudo passwd steam
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
When prompted, enter a new password for the 'steam' user. <br />
|
||||
Then switch to the 'steam' user and go to its home folder.
|
||||
When prompted, enter a new password for the "steam" user. <br />
|
||||
Then switch to the "steam" user and go to its home folder.
|
||||
</p>
|
||||
<p class='code'>
|
||||
<p class="code cmd">
|
||||
su steam
|
||||
</p>
|
||||
<p class='code'>
|
||||
<p class="code cmd">
|
||||
cd
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
Enable the contrib and non-free repositories by changing your <code>/etc/apt/sources.list</code> to resemble the following:
|
||||
</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-src http://deb.debian.org/debian bullseye main contrib non-free<br />
|
||||
<br />
|
||||
@ -77,15 +76,15 @@
|
||||
<p>
|
||||
Finally, to install SteamCMD run:
|
||||
</p>
|
||||
<p class='code'>
|
||||
<p class="code cmd">
|
||||
sudo apt install steamcmd
|
||||
</p>
|
||||
<br />
|
||||
<h2 id='Installing'>Installing</h2>
|
||||
<h2 id="Installing">Installing</h2>
|
||||
<p>
|
||||
Run SteamCMD
|
||||
</p>
|
||||
<p class='code'>
|
||||
<p class="code cmd">
|
||||
steamcmd
|
||||
</p>
|
||||
<br />
|
||||
@ -93,14 +92,14 @@
|
||||
After a short update period, a prompt like <code>Steam></code> should appear.<br />
|
||||
To login anonymously type:
|
||||
</p>
|
||||
<p class='code no-dollar'>
|
||||
<p class="code">
|
||||
login anonymous
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
Now install the Rust Dedicated Server application.
|
||||
</p>
|
||||
<p class='code no-dollar'>
|
||||
<p class="code">
|
||||
app_update 258550
|
||||
</p>
|
||||
<p>
|
||||
@ -109,22 +108,22 @@
|
||||
<br />
|
||||
Afterwards you can quit the SteamCMD shell.
|
||||
</p>
|
||||
<p class='code no-dollar'>
|
||||
<p class="code">
|
||||
quit
|
||||
</p>
|
||||
<br />
|
||||
<h2 id='Running'>Running</h2>
|
||||
<h2 id="Running">Running</h2>
|
||||
<p>
|
||||
First navigate to the Rust server directory.
|
||||
</p>
|
||||
<p class='code'>
|
||||
<p class="code cmd">
|
||||
cd ~/Steam/steamapps/common/rust_dedicated
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
Finally, start up the Rust server by running:
|
||||
</p>
|
||||
<p class='code'>
|
||||
<p class="code cmd">
|
||||
./RustDedicated -batchmode
|
||||
</p>
|
||||
<br />
|
||||
@ -185,14 +184,14 @@
|
||||
<tr>
|
||||
<td><code>+server.hostname</code>
|
||||
</td>
|
||||
<td><code>'Your Server Name'</code>
|
||||
<td><code>"Your Server Name"</code>
|
||||
</td>
|
||||
<td>The displayed name of your server.
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td><code>+server.identity</code>
|
||||
</td>
|
||||
<td><code>'my_server_identity'</code>
|
||||
<td><code>"my_server_identity"</code>
|
||||
</td>
|
||||
<td>Changes path to your server data rust/server/my_server_identity. Useful for running multiple instances.
|
||||
</td></tr>
|
||||
@ -227,7 +226,7 @@
|
||||
<tr>
|
||||
<td><code>+rcon.password</code>
|
||||
</td>
|
||||
<td><code>'YourPassword'</code>
|
||||
<td><code>"YourPassword"</code>
|
||||
</td>
|
||||
<td>Sets the RCON password
|
||||
</td></tr>
|
||||
@ -236,35 +235,37 @@
|
||||
</td>
|
||||
<td><code>gamelog.txt</code>
|
||||
</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>
|
||||
<tr>
|
||||
<td><code>-silent-crashes</code>
|
||||
</td>
|
||||
<td><code> - </code>
|
||||
</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>
|
||||
</table>
|
||||
<br />
|
||||
<h2>Sources</h2>
|
||||
<ul>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</ul>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
57
blog/index.html
Executable file → Normal file
@ -1,35 +1,46 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>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'>
|
||||
<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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Blog</h2>
|
||||
<div class='blog-entries'>
|
||||
<a href='quick-fixes/'>Quick Fixes</a>
|
||||
<a href='the-current-state-of-software-is-utterly-ridiculous/'>The current state of software is utterly ridiculous</a>
|
||||
<a href='how-to-create-a-rust-server-on-linux/'>How to create a Rust server on Linux</a>
|
||||
</div>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/blog/quick-fixes/">Quick fixes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/blog/the-current-state-of-software-is-utterly-ridiculous/">
|
||||
The current state of software is utterly ridiculous
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/blog/how-to-create-a-rust-server-on-linux/">
|
||||
How to create a Rust server on linux.
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
47
blog/quick-fixes/android-pihole-no-internet/index.html
Executable file → Normal file
@ -1,34 +1,37 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Quick Fix - 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'>
|
||||
<title>Quick fix - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>Connected without internet on Android after setting PiHole as DNS server.</h1>
|
||||
<br>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>
|
||||
Connected without internet on Android after setting PiHole as DNS server.
|
||||
</h2>
|
||||
<p>
|
||||
Make sure you forward both TCP and UDP of port 53 from your Docker container.
|
||||
Make sure you forward both TCP and UDP of port 53 from your Docker
|
||||
container.
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
58
blog/quick-fixes/homeassistant-proxy/index.html
Executable file → Normal file
@ -1,48 +1,52 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Quick Fix - 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'>
|
||||
<title>Quick fix - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>HomeAssistant not connecting over reverse proxy</h1>
|
||||
<br>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>HomeAssistant not connecting over reverse proxy</h2>
|
||||
<p>
|
||||
Make sure you have enabled <em>Websockets Supports</em> or similar 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>
|
||||
Make sure you have enabled <em>Websockets Supports</em> or similar
|
||||
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 style="text-align:left;">
|
||||
<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>
|
||||
<h2>Explanation</h2>
|
||||
<h3>Explanation</h3>
|
||||
<p>
|
||||
HomeAssistant uses websockets to communicate with the browser.<br><br>
|
||||
If you are using a reverse proxy, the IP address of the incoming connection is not trusted and gets rejected by HomeAssistant.<br>
|
||||
If you are using a reverse proxy, the IP address of the incoming
|
||||
connection is not trusted and gets rejected by HomeAssistant.<br>
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
71
blog/quick-fixes/index.html
Executable file → Normal file
@ -1,39 +1,68 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<head>
|
||||
<title>Quick Fixes - Johannes Olzem</title>
|
||||
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||
<title>Quick fixes - 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>
|
||||
<body class='body'>
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href='/'>
|
||||
<img src='/img/logo.png'>
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/about/'>About</a>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
</header>
|
||||
<main>
|
||||
<h2>Quick Fixes</h2>
|
||||
<h3>This is a page with small problems, to which I have found easy solutions, so as to not litter the blog page.</h3>
|
||||
<div class='blog-entries'>
|
||||
<a href='nextcloud-file-not-supported/'>Nextcloud file not supported error</a>
|
||||
<a href='android-pihole-no-internet/'>Connected without internet on Android after setting PiHole as DNS server.</a>
|
||||
<a href='thinkpad-r61-beep/'> Thinkpad R61 repeated beep on startup</a>
|
||||
<a href='pacman-404/'>Pacman install fails with 404</a>
|
||||
<a href='proton-audio-stuttering/'>Proton / Wine audio stuttering when using qpaeq equalizer</a>
|
||||
<a href='homeassistant-proxy/'>HomeAssistant not connecting over reverse proxy</a>
|
||||
</div>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Quick fixes</h2>
|
||||
<p>
|
||||
This is a page with small problems, to which I have found easy
|
||||
solutions, so as to not litter the blog page.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href='/blog/quick-fixes/android-pihole-no-internet/'>
|
||||
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>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
58
blog/quick-fixes/nextcloud-file-not-supported/index.html
Executable file → Normal file
@ -1,39 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Quick Fix - 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'>
|
||||
<title>Quick fix - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>Nextcloud file not supported error</h1>
|
||||
<h2><code>exif_read_data(): File not supported at /var/www/html/lib/private/Metadata/Provider/ExifProvider.php#59</code></h2>
|
||||
<br>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Nextcloud file not supported error</h2>
|
||||
<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>
|
||||
Upload over IP and port rather than over nginx proxy.
|
||||
</p>
|
||||
<h2>Explanation</h2>
|
||||
<p>
|
||||
The request payload (the data your are trying to upload) is too large for nginx.
|
||||
The request payload (the data your are trying to upload) is too large for
|
||||
nginx.
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
61
blog/quick-fixes/pacman-404/index.html
Executable file → Normal file
@ -1,41 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Quick Fix - 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'>
|
||||
<title>Quick fix - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>Pacman install fails with 404</h1>
|
||||
<h2><code>error: failed retrieving file 'X' from Y : The requested URL returned error: 404</code></h2>
|
||||
<br>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<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>.
|
||||
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>
|
||||
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.
|
||||
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>
|
||||
<h2>Explanation</h2>
|
||||
<h3>Explanation</h3>
|
||||
<p>
|
||||
Your mirrorlist is outdated, possibly due to the recent <a href='https://archlinux.org/news/git-migration-completed/'>pacman git migration</a>.
|
||||
Your mirrorlist is outdated, possibly due to the recent
|
||||
<a href='https://archlinux.org/news/git-migration-completed/'>
|
||||
pacman git migration
|
||||
</a>.
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
46
blog/quick-fixes/proton-audio-stuttering/index.html
Executable file → Normal file
@ -1,34 +1,32 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Quick Fix - 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'>
|
||||
<title>Quick fix - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>Proton / Wine audio stuttering when using qpaeq equalizer</h1>
|
||||
<br>
|
||||
<p>
|
||||
Switch to normal audio device.
|
||||
</p>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Proton / Wine audio stuttering when using qpaeq equalizer</h2>
|
||||
<p>Switch to normal audio device.</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
52
blog/quick-fixes/template.html
Executable file → Normal file
@ -1,39 +1,37 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Quick Fix - 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'>
|
||||
<title>Quick fix - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>{{ Title }}</h1>
|
||||
<h2>{{ Problem }}</h2>
|
||||
<br>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Title</h2>
|
||||
<h3>Problem</h3>
|
||||
<p>Fix</p>
|
||||
<h3>Explanation</h3>
|
||||
<p>
|
||||
{{ Fix }}
|
||||
</p>
|
||||
<h2>Explanation</h2>
|
||||
<p>
|
||||
{{ Explanation }}
|
||||
Explanation
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
50
blog/quick-fixes/thinkpad-r61-beep/index.html
Executable file → Normal file
@ -1,39 +1,37 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Quick Fix - 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'>
|
||||
<title>Quick fix - 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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<h1>Thinkpad R61 repeated beep on startup</h1>
|
||||
<h2>(or any older ThinkPad model, I believe)</h2>
|
||||
<br>
|
||||
<p>
|
||||
Check keyboard connector / swap out keyboard.
|
||||
</p>
|
||||
<h2>Explanation</h2>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Thinkpad R61 repeated beep on startup</h2>
|
||||
<h3>(or any older ThinkPad model, I believe)</h3>
|
||||
<p>Check keyboard connector / swap out keyboard.</p>
|
||||
<h3>Explanation</h3>
|
||||
<p>
|
||||
No keyboard detected on bootup.
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
36
blog/template.html
Normal file
@ -0,0 +1,36 @@
|
||||
<!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>
|
||||
|
27
blog/the-current-state-of-software-is-utterly-ridiculous/index.html
Executable file → Normal file
@ -1,27 +1,26 @@
|
||||
<!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.">
|
||||
<title>The current state of software is utterly ridiculous - 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>
|
||||
<body class='body'>
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href='/'>
|
||||
<img src='/img/logo.png'>
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/about/'>About</a>
|
||||
<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>
|
||||
<main class='blog-entry'>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>The current state of software is utterly ridiculous</h2>
|
||||
<div class='author'>Johannes Olzem</div>
|
||||
<div class='date'>May 15, 2023</div>
|
||||
<p>
|
||||
@ -61,7 +60,9 @@
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
44
contact/index.html
Executable file → Normal file
@ -1,38 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Contact - Johannes Olzem</title>
|
||||
<meta name='description' content="Johannes Olzem's Webspace.">
|
||||
<meta charset='utf-8'>
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
||||
<link rel='stylesheet' href='/css/style.css'>
|
||||
<link rel='icon' href='/favico.ico'>
|
||||
<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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main class='full'>
|
||||
<main>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Contact</h2>
|
||||
<p>
|
||||
Email me:
|
||||
<a href='mailto:jolzem@pm.me?subject=Hi!' target='_blank'>jolzem@pm.me</a>
|
||||
</p>
|
||||
Email me: <a href="mailto:johannes@jolzem.com">johannes@jolzem.com</a>
|
||||
<br>
|
||||
<p>
|
||||
Find me on <a href='https://github.com/jolzem'>GitHub</a>.
|
||||
Find me on <a href="https://github.com/jolzem">Github</a>
|
||||
</p>
|
||||
</main>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|
248
css/style.css
Executable file → Normal file
@ -1,156 +1,99 @@
|
||||
@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 {
|
||||
--header-bg: rgba(0, 0, 0, 0.95);
|
||||
--txt: #eee;
|
||||
--body-bg: #111;
|
||||
--accent: #6690d9;
|
||||
--border: #aaa;
|
||||
--font-body: 'Work Sans', sans-serif;
|
||||
--bg: #152528;
|
||||
--dark-bg: #0f1c1e;
|
||||
--txt: #e6eaea;
|
||||
--header-txt: #e85c51;
|
||||
--sec-header-txt: #ff8349;
|
||||
--link-txt: #5a93aa;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: var(--font-body);
|
||||
background: var(--bg);
|
||||
color: var(--txt);
|
||||
background-color: var(--body-bg);
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
font-family: 'Consolas', 'Courier', monospace;
|
||||
font-size: 130%
|
||||
}
|
||||
|
||||
header {
|
||||
margin-bottom: 2.5rem;
|
||||
background-color: var(--header-bg);
|
||||
padding: 1.5rem 0;
|
||||
min-height: 52pt;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
header img {
|
||||
height: 3rem;
|
||||
margin-left: 1.5rem;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.home-ref {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.home-ref span {
|
||||
margin-left: 1.5rem;
|
||||
font-size: 1.5rem;
|
||||
color: var(--txt);
|
||||
max-width: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
transition: max-width 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
.home-ref:hover span {
|
||||
max-width: 200px;
|
||||
max-width: 95vw;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
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;
|
||||
color: var(--txt);
|
||||
transition: 0.5s;
|
||||
padding: 4pt 12pt;
|
||||
}
|
||||
|
||||
nav a:hover, nav a:active {
|
||||
background-color: var(--txt);
|
||||
border: 1px solid var(--border);
|
||||
color: var(--header-bg);
|
||||
header img {
|
||||
height: 24pt;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
font-style: italic;
|
||||
padding-bottom: 24pt;
|
||||
}
|
||||
|
||||
main {
|
||||
overflow: hidden;
|
||||
padding: 0 2.5rem 5rem 2.5rem;
|
||||
max-width: 800px;
|
||||
max-width: min(800px, 80vw);
|
||||
margin: 0 auto;
|
||||
padding-bottom: 24pt;
|
||||
}
|
||||
|
||||
main p {
|
||||
margin: 0 auto;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.full {
|
||||
height: 80vh;
|
||||
.cowsay-wrapper {
|
||||
min-width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.full p {
|
||||
text-align: justify-all !important;
|
||||
max-width: 600px;
|
||||
}
|
||||
|
||||
.arrow {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.full-secondary {
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
main ul {
|
||||
margin: 0 auto;
|
||||
margin-bottom: 2rem;
|
||||
max-width: fit-content;
|
||||
.cowsay {
|
||||
font-family: monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
max-width: fit-content;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.blog-entries a {
|
||||
padding-top: 1rem;
|
||||
display: block;
|
||||
.cards {
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
margin-bottom:48pt;
|
||||
}
|
||||
|
||||
.portrait {
|
||||
max-width: min(220px, 60vw);
|
||||
}
|
||||
|
||||
.skills {
|
||||
float: left !important;
|
||||
width: 100%;
|
||||
margin-bottom: 24pt;
|
||||
}
|
||||
|
||||
/* float right when on desktop */
|
||||
@media (min-width: 500px) {
|
||||
.portrait {
|
||||
float: right;
|
||||
height: 300px;
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
.skills {
|
||||
width: 50%;
|
||||
height: 14rem;
|
||||
}
|
||||
}
|
||||
|
||||
.blog-entry p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.author {
|
||||
float: left;
|
||||
max-width: 400px;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.date {
|
||||
@ -160,64 +103,41 @@ main ul {
|
||||
}
|
||||
|
||||
.code {
|
||||
font-family: monospace;
|
||||
padding: .2rem .3rem;
|
||||
border-radius: .3rem;
|
||||
border: 1px solid var(--border);
|
||||
margin: .3rem;
|
||||
background: var(--dark-bg);
|
||||
padding: 1rem;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.code::before {
|
||||
.cmd::before {
|
||||
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 {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: var(--header-txt);
|
||||
}
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
color: var(--sec-header-txt);
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 1rem;
|
||||
font-size: 1.1em;
|
||||
line-height: 1.5rem;
|
||||
margin: 16pt;
|
||||
display: block;
|
||||
text-align: justify;
|
||||
line-height: 1.25;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--txt);
|
||||
text-decoration: underline;
|
||||
transition: 300ms;
|
||||
color: var(--link-txt);
|
||||
text-decoration-color: rgba(0,0,0,0);
|
||||
transition: text-decoration .3s;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
a:hover,
|
||||
a:active {
|
||||
color: var(--accent);
|
||||
a:hover, a:active {
|
||||
text-decoration-color: var(--link-txt);
|
||||
}
|
||||
|
||||
code {
|
||||
padding: .2rem .3rem;
|
||||
border-radius: .3rem;
|
||||
border: 1px solid var(--border);
|
||||
margin: .3rem;
|
||||
}
|
||||
|
||||
|
@ -1,2 +0,0 @@
|
||||
<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
Normal file
@ -0,0 +1,32 @@
|
||||
<!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
facharbeit.pdf
BIN
favico.ico
Executable file → Normal file
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 19 KiB |
BIN
img/bestvieweddesktop.gif
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
img/internetprivacy.gif
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
img/linux_powered.gif
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
BIN
img/nocookie.gif
Normal file
After Width: | Height: | Size: 581 B |
BIN
img/portrait.png
Normal file
After Width: | Height: | Size: 249 KiB |
3
img/portrait.png:Zone.Identifier
Normal file
@ -0,0 +1,3 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
||||
HostUrl=about:internet
|
BIN
img/smile.gif
Normal file
After Width: | Height: | Size: 760 B |
BIN
img/vim.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
78
index.html
Executable file → Normal file
@ -1,47 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>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'>
|
||||
<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>
|
||||
<body class="body">
|
||||
<header>
|
||||
<a href='/' class='home-ref'>
|
||||
<img src='/assets/logo.png' alt='Johannes Olzem'>
|
||||
<span>Johannes Olzem</span>
|
||||
<a href="/">
|
||||
<img src="/img/logo.png">
|
||||
</a>
|
||||
<nav>
|
||||
<a href='/blog/'>Blog</a>
|
||||
<a href='/about/'>About Me</a>
|
||||
<a href='/contact/'>Contact</a>
|
||||
</nav>
|
||||
<a href="/about/">About</a>
|
||||
<a href="/blog/">Blog</a>
|
||||
<a href="/contact/">Contact</a>
|
||||
</header>
|
||||
<main>
|
||||
<div class='full'>
|
||||
<h2>Welcome to my Webspace!</h2>
|
||||
<h1>Johannes Olzem</h1>
|
||||
<blockquote>Less is more</blockquote>
|
||||
<h2>Welcome to my webspace</h2>
|
||||
<p>
|
||||
Here I maintain my <a href='/blog/' class='inline'>blog</a>
|
||||
about various topics and with various guides.<br />
|
||||
You can learn more about me <a href='/about/' class='inline'>here</a>.<br />
|
||||
I'm Johannes, a computer enthusiast from Germany. On this website I
|
||||
maintain my <a href="blog">blog</a> about various topics and you can
|
||||
learn more about me <a href="/about/">here.</a> If you want to get in
|
||||
touch with me, you can do that <a href="/contact/">here</a>.
|
||||
</p>
|
||||
<span class='arrow'>↓</span>
|
||||
</div>
|
||||
<div class='full full-secondary'>
|
||||
<h2>Why run this website?</h2>
|
||||
<p>
|
||||
As you (should) know, most websites collect data about you.
|
||||
This is especially true for social media sites, which this is supposed to be a substitute for.
|
||||
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 />
|
||||
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 />
|
||||
And now you are here! I don't know how you got here, but feel free to explore every crevasse of this site.
|
||||
</p>
|
||||
</div>
|
||||
The internet used to be a place of personal expression, not just
|
||||
corporate dominance. I believe in keeping that spirit alive.
|
||||
<br>
|
||||
<p class='cowsay'>
|
||||
This site is a small step towards a more independent web.
|
||||
It also allows me to share my experiences, how I do things, and other
|
||||
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>
|
||||
<br>
|
||||
<div class="cowsay-wrapper">
|
||||
<p class="cowsay">
|
||||
_____________________________
|
||||
< Have fun on this website! >
|
||||
-----------------------------
|
||||
@ -51,10 +52,21 @@ _____________________________
|
||||
||----w |
|
||||
|| ||
|
||||
</p>
|
||||
</div>
|
||||
<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>
|
||||
<footer>
|
||||
<h6><a href><script>document.write(window.location.href);</script></a></h6>
|
||||
© 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>
|
||||
</html>
|
||||
|
||||
|