deno gcp-europe-west3
tcp/443
Open service 34.120.54.55:443 · jonathanramstedt.com
2026-01-25 20:42
HTTP/1.1 200 OK
content-type: text/html
vary: Accept-Encoding
connection: close
content-length: 3521
date: Sun, 25 Jan 2026 20:42:53 GMT
via: http/1.1 edgeproxy-h
server: deno/gcp-europe-west3
Page title: Webpage
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Webpage</title>
<link href="./resources/favicon.ico" as="image">
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<style>
@keyframes gradientAnimation {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.animate-gradient-bg {
background: linear-gradient(270deg, #ffffff, #d1d5db, #6b7280);
background-size: 600% 600%;
animation: gradientAnimation 60s ease infinite;
}
</style>
</head>
<body class="h-screen w-screen font-mono flex items-center justify-center bg-gradient-to-r from-white via-gray-300 to-gray-600 animate-gradient-bg">
<div class="flex flex-col h-full w-full box-border">
<div class="p-4 flex flex-col items-center" id="header">
<img src="./resources/ME.png" alt="My Picture" class="rounded-full h-24 w-24">
<h1 class="text-4xl text-gray-900 font-bold mt-4">Jonathan Ramstedt</h1>
<nav class="flex space-x-4 justify-center mt-4">
<a href="/" class="text-gray-700 hover:underline">Home</a>
<a href="/Posts" class="text-gray-700 hover:underline">Posts</a><a href="/Profile" class="text-gray-700 hover:underline">Profile</a>
</nav>
</div>
<div class="bg-gray-200 p-10 w-full max-w-screen-md mx-auto flex-1 rounded-md overflow-y-auto" id="content">
<h2 class="text-3xl text-gray-700 font-semibold">Contact</h2><br><p class="text-gray-700 leading-relaxed"><a href="https://github.com/Jathn">GitHub</a><br><a href="https://www.linkedin.com/in/jonathan-ramstedt-438597262/">LinkedIn</a><br>Email: <a href="mailto:jonathan.ramstedt@gmail.com">jonathan.ramstedt@gmail.com</a> 📧</p><br><h3 class="text-2xl font-medium text-center">About me</h3><br><p class="text-gray-700 leading-relaxed">Hi there! I’m Jonathan. I am a 4th year engineering student, early career OT professional and a technology enthusiast.</p><br><p class="text-gray-700 leading-relaxed">My interests are networking, cybersecurity, automation and software engineering.</p><br><h3 class="text-2xl font-medium text-center">Experience</h3><br><p class="text-gray-700 leading-relaxed"><em>Konecranes - Engineer, OT Security Services</em><br>Fall 2025</p><br><p class="text-gray-700 leading-relaxed"><em>Konecranes - OT Cybersecurity Trainee</em><br>Summer 2025</p><br><p class="text-gray-700 leading-relaxed"><em>Novartis - Automation Engineering intern</em><br>2024</p><br>
</div>
<footer class="p-4 text-center" id="footer">
<p>© 2024 Jonathan Ramstedt</p>
</footer>
</div>
<script>
<!-- Disables reload on navigation --!>
document.querySelectorAll('nav a').forEach(link => {
link.addEventListener('click', async (event) => {
event.preventDefault();
const url = event.target.href;
const response = await fetch(url);
const text = await response.text();
const parser = new DOMParser();
const doc = parser.parseFromString(text, 'text/html');
const newContent = doc.querySelector('#content').innerHTML;
document.querySelector('#content').innerHTML = newContent;
history.pushState(null, '', url);
});
});
</script>
</body>
</html>
Open service 34.120.54.55:80 · jonathanramstedt.com
2026-01-25 20:42
HTTP/1.1 307 Temporary Redirect Cache-Control: private Location: https://jonathanramstedt.com:443/ Content-Length: 0 Date: Sun, 25 Jan 2026 20:43:21 GMT Content-Type: text/html; charset=UTF-8 Connection: close
Open service 2600:1901:0:6d85:::80 · jonathanramstedt.com
2026-01-25 20:42
HTTP/1.1 307 Temporary Redirect Cache-Control: private Location: https://jonathanramstedt.com:443/ Content-Length: 0 Date: Sun, 25 Jan 2026 20:43:21 GMT Content-Type: text/html; charset=UTF-8 Connection: close
Open service 2600:1901:0:6d85:::443 · jonathanramstedt.com
2026-01-25 20:42
HTTP/1.1 200 OK
content-type: text/html
vary: Accept-Encoding
connection: close
content-length: 3521
date: Sun, 25 Jan 2026 20:42:53 GMT
via: http/1.1 edgeproxy-h
server: deno/gcp-europe-west3
Page title: Webpage
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Webpage</title>
<link href="./resources/favicon.ico" as="image">
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<style>
@keyframes gradientAnimation {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.animate-gradient-bg {
background: linear-gradient(270deg, #ffffff, #d1d5db, #6b7280);
background-size: 600% 600%;
animation: gradientAnimation 60s ease infinite;
}
</style>
</head>
<body class="h-screen w-screen font-mono flex items-center justify-center bg-gradient-to-r from-white via-gray-300 to-gray-600 animate-gradient-bg">
<div class="flex flex-col h-full w-full box-border">
<div class="p-4 flex flex-col items-center" id="header">
<img src="./resources/ME.png" alt="My Picture" class="rounded-full h-24 w-24">
<h1 class="text-4xl text-gray-900 font-bold mt-4">Jonathan Ramstedt</h1>
<nav class="flex space-x-4 justify-center mt-4">
<a href="/" class="text-gray-700 hover:underline">Home</a>
<a href="/Posts" class="text-gray-700 hover:underline">Posts</a><a href="/Profile" class="text-gray-700 hover:underline">Profile</a>
</nav>
</div>
<div class="bg-gray-200 p-10 w-full max-w-screen-md mx-auto flex-1 rounded-md overflow-y-auto" id="content">
<h2 class="text-3xl text-gray-700 font-semibold">Contact</h2><br><p class="text-gray-700 leading-relaxed"><a href="https://github.com/Jathn">GitHub</a><br><a href="https://www.linkedin.com/in/jonathan-ramstedt-438597262/">LinkedIn</a><br>Email: <a href="mailto:jonathan.ramstedt@gmail.com">jonathan.ramstedt@gmail.com</a> 📧</p><br><h3 class="text-2xl font-medium text-center">About me</h3><br><p class="text-gray-700 leading-relaxed">Hi there! I’m Jonathan. I am a 4th year engineering student, early career OT professional and a technology enthusiast.</p><br><p class="text-gray-700 leading-relaxed">My interests are networking, cybersecurity, automation and software engineering.</p><br><h3 class="text-2xl font-medium text-center">Experience</h3><br><p class="text-gray-700 leading-relaxed"><em>Konecranes - Engineer, OT Security Services</em><br>Fall 2025</p><br><p class="text-gray-700 leading-relaxed"><em>Konecranes - OT Cybersecurity Trainee</em><br>Summer 2025</p><br><p class="text-gray-700 leading-relaxed"><em>Novartis - Automation Engineering intern</em><br>2024</p><br>
</div>
<footer class="p-4 text-center" id="footer">
<p>© 2024 Jonathan Ramstedt</p>
</footer>
</div>
<script>
<!-- Disables reload on navigation --!>
document.querySelectorAll('nav a').forEach(link => {
link.addEventListener('click', async (event) => {
event.preventDefault();
const url = event.target.href;
const response = await fetch(url);
const text = await response.text();
const parser = new DOMParser();
const doc = parser.parseFromString(text, 'text/html');
const newContent = doc.querySelector('#content').innerHTML;
document.querySelector('#content').innerHTML = newContent;
history.pushState(null, '', url);
});
});
</script>
</body>
</html>