nginx 1.27.5
tcp/443 tcp/80
Open service 35.185.44.232:443 · kirawulff.space
2026-01-11 23:52
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 4503
Content-Type: text/html; charset=utf-8
Etag: "5e49a32236ad239a2f70ef47cc0b3c8b98f684605f51d737ddc4b8a919082438"
Expires: Mon, 12 Jan 2026 00:02:39 UTC
Last-Modified: Fri, 07 Feb 2025 21:03:25 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KEQQKR71AD0S0HNZ02DEH4QG
Date: Sun, 11 Jan 2026 23:52:39 GMT
Connection: close
Page title:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="">
<meta property="og:type" content="website">
<meta property="og:url" content="https://kirawulff.space/index.html">
<meta property="og:site_name" content="Kira Home">
<meta property="og:description" content="">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:domain" content="https://kirawulff.space">
<meta property="twitter:title" content="">
<meta property="twitter:url" content="https://kirawulff.space/index.html">
<meta property="twitter:description" content="">
<link rel="icon" href="https://kirawulff.space/favicon.svg" type="image/svg+xml">
<link rel="stylesheet" type="text/css" href="https://kirawulff.space/css/tokyo-night-dark.min.css">
<script type="text/javascript" src="https://kirawulff.space/scripts/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
<link rel="stylesheet" href="https://kirawulff.space/css/default.css">
</head>
<body>
<header id="header-box">
<div id="header">
<div class="nav-bar-container">
<a href="https://kirawulff.space/index.html" rel="home" id="home">
<div class="page-heading">Kira Wulff</div>
</a>
<nav>
<a href="https://kirawulff.space/blog.html" id="blog">
<div class="nav-text">blog</div>
</a>
<a href="https://kirawulff.space/resume.html" id="resume">
<div class="nav-text">resume</div>
</a>
<a href="https://kirawulff.space/resources.html" id="resources">
<div class="nav-text">resources</div>
</a>
</nav>
</div>
</div>
<div id="header-rect-1"></div>
<div id="header-rect-2"></div>
</header>
<div class="body-content">
<h1>The personal homepage of Kira Wulff</h1>
<p>
Hi, I'm Kira, and this is my homepage. They don't necessarily tell you what to put on a homepage, so here goes:
</p>
<p>
I am a space systems engineer and software engineer.
</p>
<p>
In the space domain, I've been particularly involved with real-time estimation, including sequential filtering, correlation, maneuver handling, and frame transformations. I've also worked in training, where I've helped train estimation in Remote Proximity Operations (RPO) situations, and helped develop computer aids and simulations.
</p>
<p>
As a software engineer, I cut my teeth in university developing embedded applications in C. Professionally, I've primarily focused on backend and data science applications in C++ and Python, but I've also worked as a full stack engineer and dabbled in Typescript, Rust, and C#.
</p>
<h2>On the Internet</h2>
<ul>
<li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-gitlab"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg> <a href="https://gitlab.com/kirawulff">@kirawulff</a></li>
<li><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></
Open service 35.185.44.232:80 · kirawulff.space
2026-01-11 23:52
HTTP/1.1 301 Moved Permanently content-type: text/html; charset=utf-8 location: https://kirawulff.space/ permissions-policy: interest-cohort=() vary: Origin x-request-id: 01KEQQKQVY130EJXBMK6MSCAZH date: Sun, 11 Jan 2026 23:52:38 GMT content-length: 59 gitlab-lb: haproxy-pages-04-lb-gprd gitlab-sv: pages-us-east1-b connection: close <a href="https://kirawulff.space/">Moved Permanently</a>.
Open service 73.181.57.7:80 · code.kirawulff.space
2025-12-21 16:06
HTTP/1.1 301 Moved Permanently Server: nginx/1.27.5 Date: Sun, 21 Dec 2025 16:06:33 GMT Content-Type: text/html Content-Length: 169 Connection: close Location: https://code.kirawulff.space/ Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.27.5</center> </body> </html>
Open service 73.181.57.7:443 · code.kirawulff.space
2025-12-21 16:06
HTTP/1.1 200 OK
Server: nginx/1.27.5
Date: Sun, 21 Dec 2025 16:06:34 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate, no-transform
Set-Cookie: i_like_gitea=cae6642f20f84125; Path=/; HttpOnly; Secure; SameSite=Lax
Set-Cookie: _csrf=AqOjaoFXZyvWgmIF2TUumOLnTpo6MTc2NjMzMzE5NDgxNjA1MjU3MQ; Path=/; Max-Age=86400; HttpOnly; Secure; SameSite=Lax
X-Frame-Options: SAMEORIGIN
Page title: Forgejo: Beyond coding. We forge.
<!DOCTYPE html>
<html lang="en-US" data-theme="forgejo-auto">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Forgejo: Beyond coding. We forge.</title>
<link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiRm9yZ2VqbzogQmV5b25kIGNvZGluZy4gV2UgZm9yZ2UuIiwic2hvcnRfbmFtZSI6IkZvcmdlam86IEJleW9uZCBjb2RpbmcuIFdlIGZvcmdlLiIsInN0YXJ0X3VybCI6Imh0dHBzOi8vY29kZS5raXJhd3VsZmYuc3BhY2UvIiwiaWNvbnMiOlt7InNyYyI6Imh0dHBzOi8vY29kZS5raXJhd3VsZmYuc3BhY2UvYXNzZXRzL2ltZy9sb2dvLnBuZyIsInR5cGUiOiJpbWFnZS9wbmciLCJzaXplcyI6IjUxMng1MTIifSx7InNyYyI6Imh0dHBzOi8vY29kZS5raXJhd3VsZmYuc3BhY2UvYXNzZXRzL2ltZy9sb2dvLnN2ZyIsInR5cGUiOiJpbWFnZS9zdmcreG1sIiwic2l6ZXMiOiI1MTJ4NTEyIn1dfQ==">
<meta name="author" content="Forgejo – Beyond coding. We forge.">
<meta name="description" content="Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.">
<meta name="keywords" content="git,forge,forgejo">
<meta name="referrer" content="no-referrer">
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml">
<link rel="alternate icon" href="/assets/img/favicon.png" type="image/png">
<script>
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
window.config = {
appUrl: 'https:\/\/code.kirawulff.space\/',
appSubUrl: '',
assetVersionEncoded: encodeURIComponent('7.0.7~gitea-1.21.11'),
assetUrlPrefix: '\/assets',
runModeIsProd: true ,
customEmojis: {"codeberg":":codeberg:","forgejo":":forgejo:","git":":git:","gitea":":gitea:","github":":github:","gitlab":":gitlab:","gogs":":gogs:"},
csrfToken: 'AqOjaoFXZyvWgmIF2TUumOLnTpo6MTc2NjMzMzE5NDgxNjA1MjU3MQ',
pageData: {},
notificationSettings: {"EventSourceUpdateTime":10000,"MaxTimeout":60000,"MinTimeout":10000,"TimeoutStep":10000},
enableTimeTracking: true ,
mermaidMaxSourceCharacters: 5000 ,
i18n: {
copy_success: "Copied!",
copy_error: "Copy failed",
error_occurred: "An error occurred",
network_error: "Network error",
remove_label_str: "Remove item \"%s\"",
modal_confirm: "Confirm",
modal_cancel: "Cancel",
more_items: "More items",
},
};
window.config.pageData = window.config.pageData || {};
</script>
<script src="/assets/js/webcomponents.js?v=7.0.7~gitea-1.21.11"></script>
<noscript>
<style>
.dropdown:hover > .menu { display: block; }
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
</style>
</noscript>
<meta property="og:title" content="Forgejo: Beyond coding. We forge.">
<meta property="og:type" content="website">
<meta property="og:image" content="/assets/img/logo.png">
<meta property="og:url" content="https://code.kirawulff.space/">
<meta property="og:description" content="Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.">
<meta property="og:site_name" content="Forgejo: Beyond coding. We forge.">
<link rel="stylesheet" href="/assets/css/index.css?v=7.0.7~gitea-1.21.11">
<link rel="stylesheet" href="/assets/css/theme-forgejo-auto.css?v=7.0.7~gitea-1.21.11">
</head>
<body hx-headers='{"x-csrf-token": "AqOjaoFXZyvWgmIF2TUumOLnTpo6MTc2NjMzMzE5NDgxNjA1MjU3MQ"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false">
<div class="full height">
<noscript>This website requires JavaScript.</noscript>
<nav id="navbar" aria-label="Navigation bar">
<div class="navbar-left ui secondary menu">
<a class="item" id="navbar-logo" href="/" aria-label="Home">
<img width="30" height="30" src="/assets/img/logo.svg" alt="Logo" aria-hidden="true">
</a>
<div class="ui secondary menu item navbar-mobile-right only-mobile">
<button class="item tw-w-auto ui icon mini button tw-p-2 tw-m-0" id="navbar-expand-toggle" aria-label="Toggle menu"><svg viewBox="0 0 16 16" clas