135 lines
4.4 KiB
HTML
135 lines
4.4 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="theme-color" content="#000000" />
|
|
<meta name="apple-mobile-web-app-title" content="Jet Pham" />
|
|
<title>Jet Pham - Software Extremist</title>
|
|
<meta
|
|
name="description"
|
|
content="Jet Pham's personal website. Software extremist."
|
|
/>
|
|
<link rel="canonical" href="https://jetpham.com/" />
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<link rel="icon" href="/favicon.ico" />
|
|
<link rel="apple-touch-icon" href="/apple-icon.png" />
|
|
<link
|
|
rel="preload"
|
|
href="/Web437_IBM_VGA_8x16.woff"
|
|
as="font"
|
|
type="font/woff"
|
|
crossorigin
|
|
/>
|
|
<meta property="og:title" content="Jet Pham - Software Extremist" />
|
|
<meta
|
|
property="og:description"
|
|
content="Jet Pham's personal website. Software extremist."
|
|
/>
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:url" content="https://jetpham.com/" />
|
|
<meta property="og:site_name" content="Jet Pham" />
|
|
<meta
|
|
property="og:image"
|
|
content="https://jetpham.com/web-app-manifest-512x512.png"
|
|
/>
|
|
<meta property="og:image:width" content="512" />
|
|
<meta property="og:image:height" content="512" />
|
|
<meta property="og:image:alt" content="Jet Pham" />
|
|
<meta name="twitter:card" content="summary" />
|
|
<meta name="twitter:title" content="Jet Pham - Software Extremist" />
|
|
<meta
|
|
name="twitter:description"
|
|
content="Jet Pham's personal website. Software extremist."
|
|
/>
|
|
<meta
|
|
name="twitter:image"
|
|
content="https://jetpham.com/web-app-manifest-512x512.png"
|
|
/>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Person",
|
|
"name": "Jet Pham",
|
|
"givenName": "Jet",
|
|
"familyName": "Pham",
|
|
"description": "Software extremist.",
|
|
"url": "https://jetpham.com",
|
|
"jobTitle": "Software Extremist",
|
|
"hasOccupation": {
|
|
"@type": "Occupation",
|
|
"name": "Hacker"
|
|
},
|
|
"email": "jet@extremist.software",
|
|
"image": "https://jetpham.com/jet.svg",
|
|
"alumniOf": {
|
|
"@type": "CollegeOrUniversity",
|
|
"name": "University of San Francisco",
|
|
"url": "https://www.usfca.edu"
|
|
},
|
|
"hasCredential": {
|
|
"@type": "EducationalOccupationalCredential",
|
|
"credentialCategory": "degree",
|
|
"name": "Bachelor of Science in Computer Science"
|
|
},
|
|
"homeLocation": {
|
|
"@type": "City",
|
|
"name": "San Francisco, CA"
|
|
},
|
|
"workLocation": {
|
|
"@type": "City",
|
|
"name": "San Francisco, CA"
|
|
},
|
|
"memberOf": {
|
|
"@type": "Organization",
|
|
"name": "Noisebridge",
|
|
"url": "https://www.noisebridge.net"
|
|
},
|
|
"affiliation": {
|
|
"@type": "Organization",
|
|
"name": "Noisebridge",
|
|
"url": "https://www.noisebridge.net"
|
|
},
|
|
"sameAs": [
|
|
"https://github.com/jetpham",
|
|
"https://x.com/exmistsoftware",
|
|
"https://bsky.app/profile/extremist.software",
|
|
"https://git.extremist.software"
|
|
]
|
|
}
|
|
</script>
|
|
</head>
|
|
<body style="background: #000">
|
|
<a class="skip-link" href="#outlet">Skip to content</a>
|
|
<canvas
|
|
id="canvas"
|
|
class="fixed top-0 left-0 -z-10 h-screen w-screen"
|
|
aria-hidden="true"
|
|
></canvas>
|
|
<nav aria-label="Main navigation" class="flex justify-center px-4">
|
|
<div
|
|
class="relative mt-[2ch] w-full max-w-[66.666667%] min-w-fit px-[2ch] py-[1ch]"
|
|
>
|
|
<div
|
|
class="pointer-events-none absolute inset-0"
|
|
style="
|
|
background-color: rgba(0, 0, 0, 0.75);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
"
|
|
aria-hidden="true"
|
|
></div>
|
|
<div
|
|
class="absolute inset-0 border-2 border-white"
|
|
aria-hidden="true"
|
|
></div>
|
|
<div class="relative z-10 flex justify-center gap-[2ch]">
|
|
<a href="/" data-nav-link>[HOME]</a>
|
|
<a href="/qa" data-nav-link>[Q&A]</a>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<main id="outlet" tabindex="-1"></main>
|
|
<script type="module" src="/src/main.ts"></script>
|
|
</body>
|
|
</html>
|