1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-07-17 16:25:31 -04:00

refactor component/page function returns

This commit is contained in:
2022-05-25 09:30:11 -04:00
parent ff96ccae44
commit 1e1ecd89ea
31 changed files with 2347 additions and 2281 deletions

View File

@@ -5,28 +5,30 @@ import Video from "../components/Video";
import thumbnail from "../public/static/images/birthday/thumb.png";
const Birthday = () => (
<>
<NextSeo
title="🎉 Cranky Birthday Boy on VHS Tape 📼"
description="The origin of my hatred for the Happy Birthday song."
openGraph={{
title: "🎉 Cranky Birthday Boy on VHS Tape 📼",
}}
/>
<PageTitle>📼 1996.MOV</PageTitle>
<Content>
<Video
src={{
webm: "/static/images/birthday/birthday.webm",
mp4: "/static/images/birthday/birthday.mp4",
const Birthday = () => {
return (
<>
<NextSeo
title="🎉 Cranky Birthday Boy on VHS Tape 📼"
description="The origin of my hatred for the Happy Birthday song."
openGraph={{
title: "🎉 Cranky Birthday Boy on VHS Tape 📼",
}}
thumbnail={thumbnail.src}
/>
</Content>
</>
);
<PageTitle>📼 1996.MOV</PageTitle>
<Content>
<Video
src={{
webm: "/static/images/birthday/birthday.webm",
mp4: "/static/images/birthday/birthday.mp4",
}}
thumbnail={thumbnail.src}
/>
</Content>
</>
);
};
export default Birthday;

View File

@@ -10,58 +10,60 @@ import { UnorderedList, ListItem } from "../components/List";
import cliImg from "../public/static/images/cli/screenshot.png";
const CLI = () => (
<>
<NextSeo
title="CLI"
description="AKA, the most useless Node module ever published, in history, by anyone, ever."
openGraph={{
title: "CLI",
}}
/>
const CLI = () => {
return (
<>
<NextSeo
title="CLI"
description="AKA, the most useless Node module ever published, in history, by anyone, ever."
openGraph={{
title: "CLI",
}}
/>
<PageTitle>🤖 CLI</PageTitle>
<PageTitle>🤖 CLI</PageTitle>
<Content>
<Blockquote>
The <Link href="/">Jake Jarvis</Link> CLI (aka the most useless Node module ever published, in history, by
anyone, ever).
</Blockquote>
<Content>
<Blockquote>
The <Link href="/">Jake Jarvis</Link> CLI (aka the most useless Node module ever published, in history, by
anyone, ever).
</Blockquote>
<Image src={cliImg} href="https://www.npmjs.com/package/@jakejarvis/cli" alt="Terminal Screenshot" priority />
<Image src={cliImg} href="https://www.npmjs.com/package/@jakejarvis/cli" alt="Terminal Screenshot" priority />
<H2 id="usage">Usage</H2>
<CodeBlock>npx @jakejarvis/cli</CodeBlock>
<H2 id="usage">Usage</H2>
<CodeBlock>npx @jakejarvis/cli</CodeBlock>
<H2 id="inspired-by">Inspired by</H2>
<UnorderedList>
<ListItem>
<Link href="https://github.com/sindresorhus/sindresorhus-cli">@sindresorhus/sindresorhus-cli</Link>
</ListItem>
<ListItem>
<Link href="https://github.com/yg/ygcodes">@yg/ygcodes</Link>
</ListItem>
</UnorderedList>
<H2 id="inspired-by">Inspired by</H2>
<UnorderedList>
<ListItem>
<Link href="https://github.com/sindresorhus/sindresorhus-cli">@sindresorhus/sindresorhus-cli</Link>
</ListItem>
<ListItem>
<Link href="https://github.com/yg/ygcodes">@yg/ygcodes</Link>
</ListItem>
</UnorderedList>
<H2 id="built-with">Built with</H2>
<UnorderedList>
<ListItem>
<Link href="https://github.com/vadimdemedes/ink">ink</Link> - React for interactive command-line apps
</ListItem>
<ListItem>
<Link href="https://github.com/sindresorhus/meow">meow</Link> - CLI helper
</ListItem>
</UnorderedList>
<p>
<Link href="https://github.com/jakejarvis/jakejarvis/tree/main/cli">View source on GitHub.</Link>
</p>
<H2 id="built-with">Built with</H2>
<UnorderedList>
<ListItem>
<Link href="https://github.com/vadimdemedes/ink">ink</Link> - React for interactive command-line apps
</ListItem>
<ListItem>
<Link href="https://github.com/sindresorhus/meow">meow</Link> - CLI helper
</ListItem>
</UnorderedList>
<p>
<Link href="https://github.com/jakejarvis/jakejarvis/tree/main/cli">View source on GitHub.</Link>
</p>
<H2 id="license">License</H2>
<p>
MIT &copy; <Link href="/">Jake Jarvis</Link>, <Link href="https://sindresorhus.com">Sindre Sorhus</Link>
</p>
</Content>
</>
);
<H2 id="license">License</H2>
<p>
MIT &copy; <Link href="/">Jake Jarvis</Link>, <Link href="https://sindresorhus.com">Sindre Sorhus</Link>
</p>
</Content>
</>
);
};
export default CLI;

View File

@@ -15,35 +15,37 @@ const PGPKey = styled("code", {
wordSpacing: "-0.25em",
});
const Contact = () => (
<>
<NextSeo
title="Contact Me"
openGraph={{
title: "Contact Me",
}}
/>
const Contact = () => {
return (
<>
<NextSeo
title="Contact Me"
openGraph={{
title: "Contact Me",
}}
/>
<PageTitle>📬 Contact Me</PageTitle>
<PageTitle>📬 Contact Me</PageTitle>
<Wrapper>
<p>
Fill out this quick form and I'll get back to you as soon as I can! You can also{" "}
<Link href="mailto:jake@jarv.is">email me directly</Link>, send me a{" "}
<Link href="https://twitter.com/messages/compose?recipient_id=229769022">direct message on Twitter</Link>, or{" "}
<Link href="sms:+1-617-917-3737">text me</Link>.
</p>
<p>
🔐 You can grab my public key here:{" "}
<Link href="/pubkey.asc" title="My Public PGP Key" rel="pgpkey authn" openInNewTab>
<PGPKey>6BF3 79D3 6F67 1480 2B0C 9CF2 51E6 9A39</PGPKey>
</Link>
.
</p>
<Wrapper>
<p>
Fill out this quick form and I'll get back to you as soon as I can! You can also{" "}
<Link href="mailto:jake@jarv.is">email me directly</Link>, send me a{" "}
<Link href="https://twitter.com/messages/compose?recipient_id=229769022">direct message on Twitter</Link>, or{" "}
<Link href="sms:+1-617-917-3737">text me</Link>.
</p>
<p>
🔐 You can grab my public key here:{" "}
<Link href="/pubkey.asc" title="My Public PGP Key" rel="pgpkey authn" openInNewTab>
<PGPKey>6BF3 79D3 6F67 1480 2B0C 9CF2 51E6 9A39</PGPKey>
</Link>
.
</p>
<ContactForm />
</Wrapper>
</>
);
<ContactForm />
</Wrapper>
</>
);
};
export default Contact;

View File

@@ -15,44 +15,46 @@ const Copyright = styled("p", {
color: "$mediumLight",
});
const Hillary = () => (
<>
<NextSeo
title="My Brief Apperance in Hillary Clinton's DNC Video"
description="My brief apperance in one of Hillary Clinton's 2016 DNC convention videos on substance abuse."
openGraph={{
title: "My Brief Apperance in Hillary Clinton's DNC Video",
}}
/>
<PageTitle>My Brief Apperance in Hillary Clinton's DNC Video</PageTitle>
<Content>
<Video
src={{
webm: "/static/images/hillary/convention-720p.webm",
mp4: "/static/images/hillary/convention-720p.mp4",
const Hillary = () => {
return (
<>
<NextSeo
title="My Brief Apperance in Hillary Clinton's DNC Video"
description="My brief apperance in one of Hillary Clinton's 2016 DNC convention videos on substance abuse."
openGraph={{
title: "My Brief Apperance in Hillary Clinton's DNC Video",
}}
thumbnail={thumbnail.src}
subs="/static/images/hillary/subs.en.vtt"
/>
<Copyright>
Video is property of{" "}
<Link href="https://www.hillaryclinton.com/" css={{ fontWeight: 700 }}>
Hillary for America
</Link>
, the{" "}
<Link href="https://democrats.org/" css={{ fontWeight: 700 }}>
Democratic National Committee
</Link>
, and{" "}
<Link href="https://cnnpressroom.blogs.cnn.com/" css={{ fontWeight: 700 }}>
CNN / WarnerMedia
</Link>
. &copy; 2016.
</Copyright>
</Content>
</>
);
<PageTitle>My Brief Apperance in Hillary Clinton's DNC Video</PageTitle>
<Content>
<Video
src={{
webm: "/static/images/hillary/convention-720p.webm",
mp4: "/static/images/hillary/convention-720p.mp4",
}}
thumbnail={thumbnail.src}
subs="/static/images/hillary/subs.en.vtt"
/>
<Copyright>
Video is property of{" "}
<Link href="https://www.hillaryclinton.com/" css={{ fontWeight: 700 }}>
Hillary for America
</Link>
, the{" "}
<Link href="https://democrats.org/" css={{ fontWeight: 700 }}>
Democratic National Committee
</Link>
, and{" "}
<Link href="https://cnnpressroom.blogs.cnn.com/" css={{ fontWeight: 700 }}>
CNN / WarnerMedia
</Link>
. &copy; 2016.
</Copyright>
</Content>
</>
);
};
export default Hillary;

View File

@@ -110,242 +110,254 @@ const EasterEgg = styled(ColorfulLink, {
},
});
const Index = () => (
<>
<H1>
Hi there! I'm Jake. <Wave>👋</Wave>
</H1>
const Index = () => {
return (
<>
<H1>
Hi there! I'm Jake. <Wave>👋</Wave>
</H1>
<H2>
I'm a frontend web developer based in{" "}
<ColorfulLink
href="https://www.youtube-nocookie.com/embed/rLwbzGyC6t4?hl=en&amp;fs=1&amp;showinfo=1&amp;rel=0&amp;iv_load_policy=3"
title='"Boston Accent Trailer - Late Night with Seth Meyers" on YouTube'
lightColor="#fb4d42"
darkColor="#ff5146"
>
Boston
</ColorfulLink>
.
</H2>
<Paragraph>
I specialize in{" "}
<ColorfulLink href="https://reactjs.org/" title="React Official Website" lightColor="#1091b3" darkColor="#6fcbe3">
React
</ColorfulLink>{" "}
and{" "}
<ColorfulLink
href="https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-frameworks/"
title='"The Cost of Javascript Frameworks" by Tim Kadlec'
lightColor="#f48024"
darkColor="#e18431"
>
vanilla JavaScript
</ColorfulLink>{" "}
to make nifty{" "}
<ColorfulLink href="https://jamstack.wtf/" title="WTF is Jamstack?" lightColor="#04a699" darkColor="#08bbac">
Jamstack sites
</ColorfulLink>{" "}
with dynamic{" "}
<ColorfulLink
href="https://nodejs.org/en/"
title="Node.js Official Website"
lightColor="#6fbc4e"
darkColor="#84d95f"
>
Node.js
</ColorfulLink>{" "}
services. But I still know my way around less buzzwordy stacks like{" "}
<ColorfulLink
href="https://www.jetbrains.com/lp/php-25/"
title="25 Years of PHP History"
lightColor="#8892bf"
darkColor="#a4afe3"
>
LAMP
</ColorfulLink>
, too.
</Paragraph>
<Paragraph>
Whenever possible, I also apply my experience in{" "}
<ColorfulLink
href="https://bugcrowd.com/jakejarvis"
title="Jake Jarvis on Bugcrowd"
lightColor="#00b81a"
darkColor="#57f06d"
>
application security
</ColorfulLink>
,{" "}
<ColorfulLink
href="https://www.cloudflare.com/learning/serverless/what-is-serverless/"
title='"What is serverless computing?" on Cloudflare'
lightColor="#0098ec"
darkColor="#43b9fb"
>
serverless stacks
</ColorfulLink>
, and{" "}
<ColorfulLink href="https://xkcd.com/1319/" title='"Automation" on xkcd' lightColor="#ff6200" darkColor="#f46c16">
DevOps automation
</ColorfulLink>
.
</Paragraph>
<Paragraph>
I fell in love with{" "}
<ColorfulLink
href="/previously/"
title="My Terrible, Horrible, No Good, Very Bad First Websites"
lightColor="#4169e1"
darkColor="#8ca9ff"
>
frontend web design
</ColorfulLink>{" "}
and{" "}
<ColorfulLink
href="/notes/my-first-code/"
title="Jake's Bulletin Board, circa 2003"
lightColor="#9932cc"
darkColor="#d588fb"
>
backend programming
</ColorfulLink>{" "}
back when my only source of income was{" "}
<EasterEgg
href="/birthday/"
title="🎉 Cranky Birthday Boy on VHS Tape 📼"
lightColor="#e40088"
darkColor="#fd40b1"
>
the Tooth Fairy
</EasterEgg>
. <Quiet>I've improved a bit since then, I think? 🤷</Quiet>
</Paragraph>
<Paragraph>
Over the years, some of my side projects{" "}
<ColorfulLink
href="/leo/"
title="Powncer segment on The Lab with Leo Laporte (G4techTV)"
lightColor="#ff1b1b"
darkColor="#f06060"
>
have
</ColorfulLink>{" "}
<ColorfulLink
href="https://tuftsdaily.com/news/2012/04/06/student-designs-iphone-joeytracker-app/"
title='"Student designs iPhone JoeyTracker app" on The Tufts Daily'
lightColor="#f78200"
darkColor="#fd992a"
>
been
</ColorfulLink>{" "}
<ColorfulLink
href="https://www.google.com/books/edition/The_Facebook_Effect/RRUkLhyGZVgC?hl=en&gbpv=1&dq=%22jake%20jarvis%22&pg=PA226&printsec=frontcover&bsq=%22jake%20jarvis%22"
title='"The Facebook Effect" by David Kirkpatrick (Google Books)'
lightColor="#f2b702"
darkColor="#ffcc2e"
>
featured
</ColorfulLink>{" "}
<ColorfulLink
href="https://money.cnn.com/2007/06/01/technology/facebookplatform.fortune/index.htm"
title='"The new Facebook is on a roll" on CNN Money'
lightColor="#5ebd3e"
darkColor="#78df55"
>
by
</ColorfulLink>{" "}
<ColorfulLink
href="https://www.wired.com/2007/04/our-web-servers/"
title='"Middio: A YouTube Scraper for Major Label Music Videos" on Wired'
lightColor="#009cdf"
darkColor="#29bfff"
>
various
</ColorfulLink>{" "}
<ColorfulLink
href="https://gigaom.com/2009/10/06/fresh-faces-in-tech-10-kid-entrepreneurs-to-watch/6/"
title='"Fresh Faces in Tech: 10 Kid Entrepreneurs to Watch" on Gigaom'
lightColor="#3e49bb"
darkColor="#7b87ff"
>
media
</ColorfulLink>{" "}
<ColorfulLink
href="https://adage.com/article/small-agency-diary/client-ceo-s-son/116723/"
title='"Your Next Client? The CEO&#39;s Son" on Advertising Age'
lightColor="#973999"
darkColor="#db60dd"
>
outlets
</ColorfulLink>
.
</Paragraph>
<Paragraph>
You can find more of my work on{" "}
<ColorfulLink
href="https://github.com/jakejarvis"
rel="me"
title="Jake Jarvis on GitHub"
lightColor="#8d4eff"
darkColor="#a379f0"
>
GitHub
</ColorfulLink>{" "}
and{" "}
<ColorfulLink
href="https://www.linkedin.com/in/jakejarvis/"
rel="me"
title="Jake Jarvis on LinkedIn"
lightColor="#0073b1"
darkColor="#3b9dd2"
>
LinkedIn
</ColorfulLink>
. I'm always available to connect over{" "}
<ColorfulLink href="/contact/" title="Send an email" lightColor="#de0c0c" darkColor="#ff5050">
email
</ColorfulLink>{" "}
<Sup>
<H2>
I'm a frontend web developer based in{" "}
<ColorfulLink
href="/pubkey.asc"
rel="pgpkey authn"
title="My Public Key"
lightColor="#757575"
darkColor="#959595"
underline={false}
openInNewTab
href="https://www.youtube-nocookie.com/embed/rLwbzGyC6t4?hl=en&amp;fs=1&amp;showinfo=1&amp;rel=0&amp;iv_load_policy=3"
title='"Boston Accent Trailer - Late Night with Seth Meyers" on YouTube'
lightColor="#fb4d42"
darkColor="#ff5146"
>
🔐 <PGPKey>2B0C 9CF2 51E6 9A39</PGPKey>
Boston
</ColorfulLink>
</Sup>
,{" "}
<ColorfulLink
href="https://twitter.com/jakejarvis"
rel="me"
title="Jake Jarvis on Twitter"
lightColor="#00acee"
darkColor="#3bc9ff"
>
Twitter
</ColorfulLink>
, or{" "}
<ColorfulLink
href="sms:+1-617-917-3737"
title="Send SMS to +1 (617) 917-3737"
lightColor="#6fcc01"
darkColor="#8edb34"
>
SMS
</ColorfulLink>{" "}
as well!
</Paragraph>
</>
);
.
</H2>
<Paragraph>
I specialize in{" "}
<ColorfulLink
href="https://reactjs.org/"
title="React Official Website"
lightColor="#1091b3"
darkColor="#6fcbe3"
>
React
</ColorfulLink>{" "}
and{" "}
<ColorfulLink
href="https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-frameworks/"
title='"The Cost of Javascript Frameworks" by Tim Kadlec'
lightColor="#f48024"
darkColor="#e18431"
>
vanilla JavaScript
</ColorfulLink>{" "}
to make nifty{" "}
<ColorfulLink href="https://jamstack.wtf/" title="WTF is Jamstack?" lightColor="#04a699" darkColor="#08bbac">
Jamstack sites
</ColorfulLink>{" "}
with dynamic{" "}
<ColorfulLink
href="https://nodejs.org/en/"
title="Node.js Official Website"
lightColor="#6fbc4e"
darkColor="#84d95f"
>
Node.js
</ColorfulLink>{" "}
services. But I still know my way around less buzzwordy stacks like{" "}
<ColorfulLink
href="https://www.jetbrains.com/lp/php-25/"
title="25 Years of PHP History"
lightColor="#8892bf"
darkColor="#a4afe3"
>
LAMP
</ColorfulLink>
, too.
</Paragraph>
<Paragraph>
Whenever possible, I also apply my experience in{" "}
<ColorfulLink
href="https://bugcrowd.com/jakejarvis"
title="Jake Jarvis on Bugcrowd"
lightColor="#00b81a"
darkColor="#57f06d"
>
application security
</ColorfulLink>
,{" "}
<ColorfulLink
href="https://www.cloudflare.com/learning/serverless/what-is-serverless/"
title='"What is serverless computing?" on Cloudflare'
lightColor="#0098ec"
darkColor="#43b9fb"
>
serverless stacks
</ColorfulLink>
, and{" "}
<ColorfulLink
href="https://xkcd.com/1319/"
title='"Automation" on xkcd'
lightColor="#ff6200"
darkColor="#f46c16"
>
DevOps automation
</ColorfulLink>
.
</Paragraph>
<Paragraph>
I fell in love with{" "}
<ColorfulLink
href="/previously/"
title="My Terrible, Horrible, No Good, Very Bad First Websites"
lightColor="#4169e1"
darkColor="#8ca9ff"
>
frontend web design
</ColorfulLink>{" "}
and{" "}
<ColorfulLink
href="/notes/my-first-code/"
title="Jake's Bulletin Board, circa 2003"
lightColor="#9932cc"
darkColor="#d588fb"
>
backend programming
</ColorfulLink>{" "}
back when my only source of income was{" "}
<EasterEgg
href="/birthday/"
title="🎉 Cranky Birthday Boy on VHS Tape 📼"
lightColor="#e40088"
darkColor="#fd40b1"
>
the Tooth Fairy
</EasterEgg>
. <Quiet>I've improved a bit since then, I think? 🤷</Quiet>
</Paragraph>
<Paragraph>
Over the years, some of my side projects{" "}
<ColorfulLink
href="/leo/"
title="Powncer segment on The Lab with Leo Laporte (G4techTV)"
lightColor="#ff1b1b"
darkColor="#f06060"
>
have
</ColorfulLink>{" "}
<ColorfulLink
href="https://tuftsdaily.com/news/2012/04/06/student-designs-iphone-joeytracker-app/"
title='"Student designs iPhone JoeyTracker app" on The Tufts Daily'
lightColor="#f78200"
darkColor="#fd992a"
>
been
</ColorfulLink>{" "}
<ColorfulLink
href="https://www.google.com/books/edition/The_Facebook_Effect/RRUkLhyGZVgC?hl=en&gbpv=1&dq=%22jake%20jarvis%22&pg=PA226&printsec=frontcover&bsq=%22jake%20jarvis%22"
title='"The Facebook Effect" by David Kirkpatrick (Google Books)'
lightColor="#f2b702"
darkColor="#ffcc2e"
>
featured
</ColorfulLink>{" "}
<ColorfulLink
href="https://money.cnn.com/2007/06/01/technology/facebookplatform.fortune/index.htm"
title='"The new Facebook is on a roll" on CNN Money'
lightColor="#5ebd3e"
darkColor="#78df55"
>
by
</ColorfulLink>{" "}
<ColorfulLink
href="https://www.wired.com/2007/04/our-web-servers/"
title='"Middio: A YouTube Scraper for Major Label Music Videos" on Wired'
lightColor="#009cdf"
darkColor="#29bfff"
>
various
</ColorfulLink>{" "}
<ColorfulLink
href="https://gigaom.com/2009/10/06/fresh-faces-in-tech-10-kid-entrepreneurs-to-watch/6/"
title='"Fresh Faces in Tech: 10 Kid Entrepreneurs to Watch" on Gigaom'
lightColor="#3e49bb"
darkColor="#7b87ff"
>
media
</ColorfulLink>{" "}
<ColorfulLink
href="https://adage.com/article/small-agency-diary/client-ceo-s-son/116723/"
title='"Your Next Client? The CEO&#39;s Son" on Advertising Age'
lightColor="#973999"
darkColor="#db60dd"
>
outlets
</ColorfulLink>
.
</Paragraph>
<Paragraph>
You can find more of my work on{" "}
<ColorfulLink
href="https://github.com/jakejarvis"
rel="me"
title="Jake Jarvis on GitHub"
lightColor="#8d4eff"
darkColor="#a379f0"
>
GitHub
</ColorfulLink>{" "}
and{" "}
<ColorfulLink
href="https://www.linkedin.com/in/jakejarvis/"
rel="me"
title="Jake Jarvis on LinkedIn"
lightColor="#0073b1"
darkColor="#3b9dd2"
>
LinkedIn
</ColorfulLink>
. I'm always available to connect over{" "}
<ColorfulLink href="/contact/" title="Send an email" lightColor="#de0c0c" darkColor="#ff5050">
email
</ColorfulLink>{" "}
<Sup>
<ColorfulLink
href="/pubkey.asc"
rel="pgpkey authn"
title="My Public Key"
lightColor="#757575"
darkColor="#959595"
underline={false}
openInNewTab
>
🔐 <PGPKey>2B0C 9CF2 51E6 9A39</PGPKey>
</ColorfulLink>
</Sup>
,{" "}
<ColorfulLink
href="https://twitter.com/jakejarvis"
rel="me"
title="Jake Jarvis on Twitter"
lightColor="#00acee"
darkColor="#3bc9ff"
>
Twitter
</ColorfulLink>
, or{" "}
<ColorfulLink
href="sms:+1-617-917-3737"
title="Send SMS to +1 (617) 917-3737"
lightColor="#6fcc01"
darkColor="#8edb34"
>
SMS
</ColorfulLink>{" "}
as well!
</Paragraph>
</>
);
};
export default Index;

View File

@@ -15,41 +15,43 @@ const Copyright = styled("p", {
color: "$mediumLight",
});
const Leo = () => (
<>
<NextSeo
title='Facebook App on "The Lab with Leo Laporte"'
description="Powncer app featured in Leo Laporte's TechTV show."
openGraph={{
title: 'Facebook App on "The Lab with Leo Laporte"',
}}
/>
<PageTitle>Facebook App on "The Lab with Leo Laporte"</PageTitle>
<Content>
<Video
src={{
webm: "/static/images/leo/leo.webm",
mp4: "/static/images/leo/leo.mp4",
const Leo = () => {
return (
<>
<NextSeo
title='Facebook App on "The Lab with Leo Laporte"'
description="Powncer app featured in Leo Laporte's TechTV show."
openGraph={{
title: 'Facebook App on "The Lab with Leo Laporte"',
}}
thumbnail={thumbnail.src}
subs="/static/images/leo/subs.en.vtt"
/>
<Copyright>
Video is property of{" "}
<Link href="https://web.archive.org/web/20070511004304/www.g4techtv.ca" css={{ fontWeight: 700 }}>
G4techTV Canada
</Link>{" "}
&amp;{" "}
<Link href="https://leolaporte.com/" css={{ fontWeight: 700 }}>
Leo Laporte
</Link>
. &copy; 2007 G4 Media, Inc.
</Copyright>
</Content>
</>
);
<PageTitle>Facebook App on "The Lab with Leo Laporte"</PageTitle>
<Content>
<Video
src={{
webm: "/static/images/leo/leo.webm",
mp4: "/static/images/leo/leo.mp4",
}}
thumbnail={thumbnail.src}
subs="/static/images/leo/subs.en.vtt"
/>
<Copyright>
Video is property of{" "}
<Link href="https://web.archive.org/web/20070511004304/www.g4techtv.ca" css={{ fontWeight: 700 }}>
G4techTV Canada
</Link>{" "}
&amp;{" "}
<Link href="https://leolaporte.com/" css={{ fontWeight: 700 }}>
Leo Laporte
</Link>
. &copy; 2007 G4 Media, Inc.
</Copyright>
</Content>
</>
);
};
export default Leo;

View File

@@ -7,466 +7,470 @@ import Blockquote from "../components/Blockquote";
import { H2, H3 } from "../components/Heading";
import { UnorderedList, OrderedList, ListItem } from "../components/List";
const License = () => (
<>
<NextSeo
title="License"
openGraph={{
title: "License",
}}
/>
const License = () => {
return (
<>
<NextSeo
title="License"
openGraph={{
title: "License",
}}
/>
<PageTitle>📜 License</PageTitle>
<PageTitle>📜 License</PageTitle>
<Content>
<p>
Unless otherwise noted, content on this website is published under the{" "}
<Link href="https://creativecommons.org/licenses/by/4.0/">
<strong>Creative Commons Attribution 4.0 International Public License</strong>
</Link>{" "}
(CC-BY-4.0), which means that you can copy, redistribute, remix, transform, and build upon the content for any
purpose as long as you give appropriate credit (such as a hyperlink to the original URL).
</p>
<p>
The <Link href="https://creativecommons.org/licenses/by/4.0/legalcode">full license</Link> is re-printed below.
</p>
<HorizontalRule />
<H2 id="full-text">Creative Commons Attribution 4.0 International Public License</H2>
<p style={{ textAlign: "center", lineHeight: 0 }}>
<Link
href="https://creativecommons.org/licenses/by/4.0/"
title="Creative Commons Attribution 4.0"
underline={false}
>
<svg width="120" height="42">
<path d="M3.1.5l113.4.2c1.6 0 3-.2 3 3.2l-.1 37.3H.3V3.7C.3 2.1.4.5 3 .5z" fill="#aab2ab"></path>
<path d="M117.8 0H2.2C1 0 0 1 0 2.2v39.3c0 .3.2.5.5.5h119c.3 0 .5-.2.5-.5V2.2c0-1.2-1-2.2-2.2-2.2zM2.2 1h115.6c.6 0 1.2.6 1.2 1.2v27.3H36.2a17.8 17.8 0 01-31.1 0H1V2.2C1 1.6 1.5 1 2.1 1z"></path>
<path
d="M73.8 32.7l.9.1.6.3.5.5.1.8c0 .3 0 .6-.2.8l-.7.6c.4 0 .7.3 1 .6l.2 1-.1 1-.6.5-.7.4H70.7v-6.6h3.1zm-.2 2.7c.3 0 .5 0 .7-.2l.2-.6v-.3l-.3-.3H74l-.4-.1h-1.4v1.5h1.5zm.1 2.8h.4l.4-.1.2-.3v-.4c0-.4 0-.6-.2-.8l-.8-.2h-1.6v1.8h1.6zM76.5 32.7h1.6l1.6 2.7 1.5-2.7H83l-2.5 4.1v2.6h-1.5v-2.6l-2.4-4zM34.3 19.6a13.6 13.6 0 01-27.3 0 13.6 13.6 0 0127.3 0z"
fill="#fff"
></path>
<path d="M31.7 8.5c3 3 4.5 6.7 4.5 11.1a15.4 15.4 0 01-15.6 15.6 15 15 0 01-11-4.6 15 15 0 01-4.6-11c0-4.3 1.5-8 4.6-11.1 3-3 6.7-4.5 11-4.5 4.4 0 8 1.5 11.1 4.5zm-20 2a12.5 12.5 0 00-3.9 9.1c0 3.5 1.3 6.5 3.8 9s5.6 3.8 9 3.8c3.5 0 6.6-1.3 9.2-3.8a12 12 0 003.6-9c0-3.6-1.2-6.6-3.7-9a12.3 12.3 0 00-9-3.8c-3.6 0-6.6 1.2-9 3.7zm6.7 7.6c-.4-.9-1-1.3-1.8-1.3-1.4 0-2 1-2 2.8 0 1.8.6 2.8 2 2.8 1 0 1.6-.5 2-1.4l1.9 1a4.4 4.4 0 01-4.1 2.5c-1.4 0-2.5-.5-3.4-1.3-.8-.9-1.3-2-1.3-3.6 0-1.5.5-2.7 1.3-3.5 1-1 2-1.3 3.3-1.3 2 0 3.3.7 4.1 2.2l-2 1zm9 0c-.4-.9-1-1.3-1.8-1.3-1.4 0-2 1-2 2.8 0 1.8.6 2.8 2 2.8 1 0 1.6-.5 2-1.4l2 1a4.4 4.4 0 01-4.2 2.5c-1.4 0-2.5-.5-3.3-1.3-.9-.9-1.3-2-1.3-3.6 0-1.5.4-2.7 1.3-3.5.8-1 2-1.3 3.2-1.3 2 0 3.3.7 4.2 2.2l-2.1 1z"></path>
<g transform="matrix(.99377 0 0 .99367 -177.7 0)">
<circle cx="255.6" cy="15.3" r="10.8" fill="#fff"></circle>
<path d="M258.7 12.2c0-.4-.4-.8-.8-.8h-4.7c-.5 0-.8.4-.8.8V17h1.3v5.6h3.6V17h1.4v-4.8z"></path>
<circle cx="255.5" cy="9.2" r="1.6"></circle>
<path
clipRule="evenodd"
d="M255.5 3.4c-3.2 0-6 1.1-8.2 3.4A11.4 11.4 0 00244 15c0 3.2 1.1 6 3.4 8.2 2.3 2.3 5 3.4 8.2 3.4 3.2 0 6-1.1 8.4-3.4a11 11 0 003.3-8.2c0-3.3-1.1-6-3.4-8.3-2.2-2.3-5-3.4-8.3-3.4zm0 2.1c2.7 0 5 1 6.8 2.8a9.2 9.2 0 012.8 6.8c0 2.7-1 4.9-2.7 6.7-2 1.9-4.2 2.8-6.8 2.8-2.7 0-5-1-6.8-2.8A9.2 9.2 0 01246 15c0-2.6 1-4.9 2.8-6.8a9 9 0 016.8-2.8z"
fillRule="evenodd"
></path>
</g>
</svg>
</Link>
</p>
<Blockquote>
<Content>
<p>
Unless otherwise noted, content on this website is published under the{" "}
<Link href="https://creativecommons.org/licenses/by/4.0/">
<strong>Creative Commons Attribution 4.0 International Public License</strong>
</Link>{" "}
(CC-BY-4.0), which means that you can copy, redistribute, remix, transform, and build upon the content for any
purpose as long as you give appropriate credit (such as a hyperlink to the original URL).
</p>
<p>
The <Link href="https://creativecommons.org/licenses/by/4.0/legalcode">full license</Link> is re-printed
below.
</p>
<HorizontalRule />
<H2 id="full-text">Creative Commons Attribution 4.0 International Public License</H2>
<p style={{ textAlign: "center", lineHeight: 0 }}>
<Link
href="https://creativecommons.org/licenses/by/4.0/"
title="Creative Commons Attribution 4.0"
underline={false}
>
<svg width="120" height="42">
<path d="M3.1.5l113.4.2c1.6 0 3-.2 3 3.2l-.1 37.3H.3V3.7C.3 2.1.4.5 3 .5z" fill="#aab2ab"></path>
<path d="M117.8 0H2.2C1 0 0 1 0 2.2v39.3c0 .3.2.5.5.5h119c.3 0 .5-.2.5-.5V2.2c0-1.2-1-2.2-2.2-2.2zM2.2 1h115.6c.6 0 1.2.6 1.2 1.2v27.3H36.2a17.8 17.8 0 01-31.1 0H1V2.2C1 1.6 1.5 1 2.1 1z"></path>
<path
d="M73.8 32.7l.9.1.6.3.5.5.1.8c0 .3 0 .6-.2.8l-.7.6c.4 0 .7.3 1 .6l.2 1-.1 1-.6.5-.7.4H70.7v-6.6h3.1zm-.2 2.7c.3 0 .5 0 .7-.2l.2-.6v-.3l-.3-.3H74l-.4-.1h-1.4v1.5h1.5zm.1 2.8h.4l.4-.1.2-.3v-.4c0-.4 0-.6-.2-.8l-.8-.2h-1.6v1.8h1.6zM76.5 32.7h1.6l1.6 2.7 1.5-2.7H83l-2.5 4.1v2.6h-1.5v-2.6l-2.4-4zM34.3 19.6a13.6 13.6 0 01-27.3 0 13.6 13.6 0 0127.3 0z"
fill="#fff"
></path>
<path d="M31.7 8.5c3 3 4.5 6.7 4.5 11.1a15.4 15.4 0 01-15.6 15.6 15 15 0 01-11-4.6 15 15 0 01-4.6-11c0-4.3 1.5-8 4.6-11.1 3-3 6.7-4.5 11-4.5 4.4 0 8 1.5 11.1 4.5zm-20 2a12.5 12.5 0 00-3.9 9.1c0 3.5 1.3 6.5 3.8 9s5.6 3.8 9 3.8c3.5 0 6.6-1.3 9.2-3.8a12 12 0 003.6-9c0-3.6-1.2-6.6-3.7-9a12.3 12.3 0 00-9-3.8c-3.6 0-6.6 1.2-9 3.7zm6.7 7.6c-.4-.9-1-1.3-1.8-1.3-1.4 0-2 1-2 2.8 0 1.8.6 2.8 2 2.8 1 0 1.6-.5 2-1.4l1.9 1a4.4 4.4 0 01-4.1 2.5c-1.4 0-2.5-.5-3.4-1.3-.8-.9-1.3-2-1.3-3.6 0-1.5.5-2.7 1.3-3.5 1-1 2-1.3 3.3-1.3 2 0 3.3.7 4.1 2.2l-2 1zm9 0c-.4-.9-1-1.3-1.8-1.3-1.4 0-2 1-2 2.8 0 1.8.6 2.8 2 2.8 1 0 1.6-.5 2-1.4l2 1a4.4 4.4 0 01-4.2 2.5c-1.4 0-2.5-.5-3.3-1.3-.9-.9-1.3-2-1.3-3.6 0-1.5.4-2.7 1.3-3.5.8-1 2-1.3 3.2-1.3 2 0 3.3.7 4.2 2.2l-2.1 1z"></path>
<g transform="matrix(.99377 0 0 .99367 -177.7 0)">
<circle cx="255.6" cy="15.3" r="10.8" fill="#fff"></circle>
<path d="M258.7 12.2c0-.4-.4-.8-.8-.8h-4.7c-.5 0-.8.4-.8.8V17h1.3v5.6h3.6V17h1.4v-4.8z"></path>
<circle cx="255.5" cy="9.2" r="1.6"></circle>
<path
clipRule="evenodd"
d="M255.5 3.4c-3.2 0-6 1.1-8.2 3.4A11.4 11.4 0 00244 15c0 3.2 1.1 6 3.4 8.2 2.3 2.3 5 3.4 8.2 3.4 3.2 0 6-1.1 8.4-3.4a11 11 0 003.3-8.2c0-3.3-1.1-6-3.4-8.3-2.2-2.3-5-3.4-8.3-3.4zm0 2.1c2.7 0 5 1 6.8 2.8a9.2 9.2 0 012.8 6.8c0 2.7-1 4.9-2.7 6.7-2 1.9-4.2 2.8-6.8 2.8-2.7 0-5-1-6.8-2.8A9.2 9.2 0 01246 15c0-2.6 1-4.9 2.8-6.8a9 9 0 016.8-2.8z"
fillRule="evenodd"
></path>
</g>
</svg>
</Link>
</p>
<Blockquote>
<p>
<em>
Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or
legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other
relationship. Creative Commons makes its licenses and related information available on an "as-is" basis.
Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and
conditions, or any related information. Creative Commons disclaims all liability for damages resulting
from their use to the fullest extent possible.
</em>
</p>
</Blockquote>
<H3>Using Creative Commons Public Licenses</H3>
<p>
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights
holders may use to share original works of authorship and other material subject to copyright and certain
other rights specified in the public license below. The following considerations are for informational
purposes only, are not exhaustive, and do not form part of our licenses.
</p>
<UnorderedList>
<ListItem>
<p>
<strong>Considerations for licensors:</strong> Our public licenses are intended for use by those
authorized to give the public permission to use material in ways otherwise restricted by copyright and
certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and
conditions of the license they choose before applying it. Licensors should also secure all rights
necessary before applying our licenses so that the public can reuse the material as expected. Licensors
should clearly mark any material not subject to the license. This includes other CC-licensed material, or
material used under an exception or limitation to copyright.{" "}
<Link href="https://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors">
More considerations for licensors
</Link>
.
</p>
</ListItem>
<ListItem>
<p>
<strong>Considerations for the public:</strong> By using one of our public licenses, a licensor grants the
public permission to use the licensed material under specified terms and conditions. If the licensor's
permission is not necessary for any reasonfor example, because of any applicable exception or limitation
to copyrightthen that use is not regulated by the license. Our licenses grant only permissions under
copyright and certain other rights that a licensor has authority to grant. Use of the licensed material
may still be restricted for other reasons, including because others have copyright or other rights in the
material. A licensor may make special requests, such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to respect those requests where reasonable.{" "}
<Link href="https://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees">
More considerations for the public
</Link>
.
</p>
</ListItem>
</UnorderedList>
<H3>Licensed Rights</H3>
<p>
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and
conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in
consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the Licensed Material available under these terms
and conditions.
</p>
<H3>Section 1 Definitions.</H3>
<p>
a. <strong>Adapted Material</strong> means material subject to Copyright and Similar Rights that is derived
from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged,
transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights
held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work,
performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in
timed relation with a moving image.
</p>
<p>
b. <strong>Adapter's License</strong> means the license You apply to Your Copyright and Similar Rights in Your
contributions to Adapted Material in accordance with the terms and conditions of this Public License.
</p>
<p>
c. <strong>Copyright and Similar Rights</strong> means copyright and/or similar rights closely related to
copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the
rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
</p>
<p>
d. <strong>Effective Technological Measures</strong> means those measures that, in the absence of proper
authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international agreements.
</p>
<p>
e. <strong>Exceptions and Limitations</strong> means fair use, fair dealing, and/or any other exception or
limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
</p>
<p>
f. <strong>Licensed Material</strong> means the artistic or literary work, database, or other material to
which the Licensor applied this Public License.
</p>
<p>
g. <strong>Licensed Rights</strong> means the rights granted to You subject to the terms and conditions of
this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
</p>
<p>
h. <strong>Licensor</strong> means the individual(s) or entity(ies) granting rights under this Public License.
</p>
<p>
i. <strong>Share</strong> means to provide material to the public by any means or process that requires
permission under the Licensed Rights, such as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material available to the public including in ways
that members of the public may access the material from a place and at a time individually chosen by them.
</p>
<p>
j. <strong>Sui Generis Database Rights</strong> means rights other than copyright resulting from Directive
96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
</p>
<p>
k. <strong>You</strong> means the individual or entity exercising the Licensed Rights under this Public
License. <strong>Your</strong> has a corresponding meaning.
</p>
<H3>Section 2 Scope.</H3>
<p>
a.{" "}
<em>
Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or
legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other
relationship. Creative Commons makes its licenses and related information available on an "as-is" basis.
Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and
conditions, or any related information. Creative Commons disclaims all liability for damages resulting from
their use to the fullest extent possible.
<strong>License grant.</strong>
</em>
</p>
</Blockquote>
<H3>Using Creative Commons Public Licenses</H3>
<p>
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights
holders may use to share original works of authorship and other material subject to copyright and certain other
rights specified in the public license below. The following considerations are for informational purposes only,
are not exhaustive, and do not form part of our licenses.
</p>
<UnorderedList>
<ListItem>
<p>
<strong>Considerations for licensors:</strong> Our public licenses are intended for use by those authorized
to give the public permission to use material in ways otherwise restricted by copyright and certain other
rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the
license they choose before applying it. Licensors should also secure all rights necessary before applying
our licenses so that the public can reuse the material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-licensed material, or material used under an
exception or limitation to copyright.{" "}
<Link href="https://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors">
More considerations for licensors
</Link>
.
</p>
</ListItem>
<ListItem>
<p>
<strong>Considerations for the public:</strong> By using one of our public licenses, a licensor grants the
public permission to use the licensed material under specified terms and conditions. If the licensor's
permission is not necessary for any reasonfor example, because of any applicable exception or limitation to
copyrightthen that use is not regulated by the license. Our licenses grant only permissions under copyright
and certain other rights that a licensor has authority to grant. Use of the licensed material may still be
restricted for other reasons, including because others have copyright or other rights in the material. A
licensor may make special requests, such as asking that all changes be marked or described. Although not
required by our licenses, you are encouraged to respect those requests where reasonable.{" "}
<Link href="https://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees">
More considerations for the public
</Link>
.
</p>
</ListItem>
</UnorderedList>
<H3>Licensed Rights</H3>
<p>
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions
of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this
Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits
the Licensor receives from making the Licensed Material available under these terms and conditions.
</p>
<H3>Section 1 Definitions.</H3>
<p>
a. <strong>Adapted Material</strong> means material subject to Copyright and Similar Rights that is derived from
or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged,
transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held
by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work,
performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in
timed relation with a moving image.
</p>
<p>
b. <strong>Adapter's License</strong> means the license You apply to Your Copyright and Similar Rights in Your
contributions to Adapted Material in accordance with the terms and conditions of this Public License.
</p>
<p>
c. <strong>Copyright and Similar Rights</strong> means copyright and/or similar rights closely related to
copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the
rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
</p>
<p>
d. <strong>Effective Technological Measures</strong> means those measures that, in the absence of proper
authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international agreements.
</p>
<p>
e. <strong>Exceptions and Limitations</strong> means fair use, fair dealing, and/or any other exception or
limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
</p>
<p>
f. <strong>Licensed Material</strong> means the artistic or literary work, database, or other material to which
the Licensor applied this Public License.
</p>
<p>
g. <strong>Licensed Rights</strong> means the rights granted to You subject to the terms and conditions of this
Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed
Material and that the Licensor has authority to license.
</p>
<p>
h. <strong>Licensor</strong> means the individual(s) or entity(ies) granting rights under this Public License.
</p>
<p>
i. <strong>Share</strong> means to provide material to the public by any means or process that requires
permission under the Licensed Rights, such as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material available to the public including in ways
that members of the public may access the material from a place and at a time individually chosen by them.
</p>
<p>
j. <strong>Sui Generis Database Rights</strong> means rights other than copyright resulting from Directive
96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as
amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
</p>
<p>
k. <strong>You</strong> means the individual or entity exercising the Licensed Rights under this Public License.{" "}
<strong>Your</strong> has a corresponding meaning.
</p>
<H3>Section 2 Scope.</H3>
<p>
a.{" "}
<em>
<strong>License grant.</strong>
</em>
</p>
<OrderedList>
<ListItem>
<p>
Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide,
royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the
Licensed Material to:
</p>
<p>A. reproduce and Share the Licensed Material, in whole or in part; and</p>
<p>B. produce, reproduce, and Share Adapted Material.</p>
</ListItem>
<ListItem>
<p>
<strong>Exceptions and Limitations.</strong> For the avoidance of doubt, where Exceptions and Limitations
apply to Your use, this Public License does not apply, and You do not need to comply with its terms and
conditions.
</p>
</ListItem>
<ListItem>
<p>
<strong>Term.</strong> The term of this Public License is specified in Section 6(a).
</p>
</ListItem>
<ListItem>
<p>
<strong>Media and formats; technical modifications allowed.</strong> The Licensor authorizes You to exercise
the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical
modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to
forbid You from making technical modifications necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective Technological Measures. For purposes of this
Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted
Material.
</p>
</ListItem>
<ListItem>
<p>
<strong>Downstream recipients.</strong>
</p>
<p>
A. <strong>Offer from the Licensor Licensed Material.</strong> Every recipient of the Licensed Material
automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and
conditions of this Public License.
</p>
<p>
B. <strong>No downstream restrictions.</strong> You may not offer or impose any additional or different
terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so
restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
</p>
</ListItem>
<ListItem>
<p>
<strong>No endorsement.</strong> Nothing in this Public License constitutes or may be construed as
permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or
sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution
as provided in Section 3(a)(1)(A)(i).
</p>
</ListItem>
</OrderedList>
<p>
b.{" "}
<em>
<strong>Other rights.</strong>
</em>
</p>
<OrderedList>
<ListItem>
<p>
Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives
and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow
You to exercise the Licensed Rights, but not otherwise.
</p>
</ListItem>
<ListItem>
<p>Patent and trademark rights are not licensed under this Public License.</p>
</ListItem>
<ListItem>
<p>
To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the
Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory
or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such
royalties.
</p>
</ListItem>
</OrderedList>
<H3>Section 3 License Conditions.</H3>
<p>Your exercise of the Licensed Rights is expressly made subject to the following conditions.</p>
<p>
a.{" "}
<em>
<strong>Attribution.</strong>
</em>
</p>
<OrderedList>
<ListItem>
<p>If You Share the Licensed Material (including in modified form), You must:</p>
<p>A. retain the following if it is supplied by the Licensor with the Licensed Material:</p>
<p>
i. identification of the creator(s) of the Licensed Material and any others designated to receive
attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
</p>
<p>ii. a copyright notice;</p>
<p>iii. a notice that refers to this Public License;</p>
<p>iv. a notice that refers to the disclaimer of warranties;</p>
<p>v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;</p>
<p>
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications;
and
</p>
<p>
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI
or hyperlink to, this Public License.
</p>
</ListItem>
<ListItem>
<p>
You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and
context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the
conditions by providing a URI or hyperlink to a resource that includes the required information.
</p>
</ListItem>
<ListItem>
<p>
If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the
extent reasonably practicable.
</p>
</ListItem>
<ListItem>
<p>
If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of
the Adapted Material from complying with this Public License.
</p>
</ListItem>
</OrderedList>
<H3>Section 4 Sui Generis Database Rights.</H3>
<p>
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
</p>
<p>
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all
or a substantial portion of the contents of the database;
</p>
<p>
b. if You include all or a substantial portion of the database contents in a database in which You have Sui
Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual
contents) is Adapted Material; and
</p>
<p>
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents
of the database.
</p>
<p>
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public
License where the Licensed Rights include other Copyright and Similar Rights.
</p>
<H3>Section 5 Disclaimer of Warranties and Limitation of Liability.</H3>
<p>
a.{" "}
<strong>
Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the
Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning
the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation,
warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or
other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where
disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
</strong>
</p>
<p>
b.{" "}
<strong>
To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without
limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive,
exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the
Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses,
or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply
to You.
</strong>
</p>
<p>
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner
that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
</p>
<H3>Section 6 Term and Termination.</H3>
<p>
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You
fail to comply with this Public License, then Your rights under this Public License terminate automatically.
</p>
<p>b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:</p>
<OrderedList>
<ListItem>
<p>
automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery
of the violation; or
</p>
</ListItem>
<ListItem>
<p>upon express reinstatement by the Licensor.</p>
</ListItem>
</OrderedList>
<p>
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies
for Your violations of this Public License.
</p>
<p>
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or
conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this
Public License.
</p>
<p>d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.</p>
<H3>Section 7 Other Terms and Conditions.</H3>
<p>
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless
expressly agreed.
</p>
<p>
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are
separate from and independent of the terms and conditions of this Public License.
</p>
<H3>Section 8 Interpretation.</H3>
<p>
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit,
restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without
permission under this Public License.
</p>
<p>
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be
automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be
reformed, it shall be severed from this Public License without affecting the enforceability of the remaining
terms and conditions.
</p>
<p>
c. No term or condition of this Public License will be waived and no failure to comply consented to unless
expressly agreed to by the Licensor.
</p>
<p>
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any
privileges and immunities that apply to the Licensor or You, including from the legal processes of any
jurisdiction or authority.
</p>
<Blockquote>
<OrderedList>
<ListItem>
<p>
Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide,
royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the
Licensed Material to:
</p>
<p>A. reproduce and Share the Licensed Material, in whole or in part; and</p>
<p>B. produce, reproduce, and Share Adapted Material.</p>
</ListItem>
<ListItem>
<p>
<strong>Exceptions and Limitations.</strong> For the avoidance of doubt, where Exceptions and Limitations
apply to Your use, this Public License does not apply, and You do not need to comply with its terms and
conditions.
</p>
</ListItem>
<ListItem>
<p>
<strong>Term.</strong> The term of this Public License is specified in Section 6(a).
</p>
</ListItem>
<ListItem>
<p>
<strong>Media and formats; technical modifications allowed.</strong> The Licensor authorizes You to
exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make
technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications necessary to exercise the Licensed Rights,
including technical modifications necessary to circumvent Effective Technological Measures. For purposes
of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces
Adapted Material.
</p>
</ListItem>
<ListItem>
<p>
<strong>Downstream recipients.</strong>
</p>
<p>
A. <strong>Offer from the Licensor Licensed Material.</strong> Every recipient of the Licensed Material
automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and
conditions of this Public License.
</p>
<p>
B. <strong>No downstream restrictions.</strong> You may not offer or impose any additional or different
terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing
so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
</p>
</ListItem>
<ListItem>
<p>
<strong>No endorsement.</strong> Nothing in this Public License constitutes or may be construed as
permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with,
or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive
attribution as provided in Section 3(a)(1)(A)(i).
</p>
</ListItem>
</OrderedList>
<p>
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply
one of its public licenses to material it publishes and in those instances will be considered the "Licensor."
The text of the Creative Commons public licenses is dedicated to the public domain under the{" "}
<Link href="https://creativecommons.org/publicdomain/zero/1.0/legalcode">
<em>CC0 Public Domain Dedication</em>
</Link>
. Except for the limited purpose of indicating that material is shared under a Creative Commons public license
or as otherwise permitted by the Creative Commons policies published at{" "}
<Link href="https://creativecommons.org/policies">creativecommons.org/policies</Link>, Creative Commons does
not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons
without its prior written consent including, without limitation, in connection with any unauthorized
modifications to any of its public licenses or any other arrangements, understandings, or agreements
concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the
public licenses.
b.{" "}
<em>
<strong>Other rights.</strong>
</em>
</p>
<OrderedList>
<ListItem>
<p>
Moral rights, such as the right of integrity, are not licensed under this Public License, nor are
publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor
waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to
allow You to exercise the Licensed Rights, but not otherwise.
</p>
</ListItem>
<ListItem>
<p>Patent and trademark rights are not licensed under this Public License.</p>
</ListItem>
<ListItem>
<p>
To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of
the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable
statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to
collect such royalties.
</p>
</ListItem>
</OrderedList>
<H3>Section 3 License Conditions.</H3>
<p>Your exercise of the Licensed Rights is expressly made subject to the following conditions.</p>
<p>
a.{" "}
<em>
<strong>Attribution.</strong>
</em>
</p>
<OrderedList>
<ListItem>
<p>If You Share the Licensed Material (including in modified form), You must:</p>
<p>A. retain the following if it is supplied by the Licensor with the Licensed Material:</p>
<p>
i. identification of the creator(s) of the Licensed Material and any others designated to receive
attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
</p>
<p>ii. a copyright notice;</p>
<p>iii. a notice that refers to this Public License;</p>
<p>iv. a notice that refers to the disclaimer of warranties;</p>
<p>v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;</p>
<p>
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications;
and
</p>
<p>
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the
URI or hyperlink to, this Public License.
</p>
</ListItem>
<ListItem>
<p>
You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and
context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the
conditions by providing a URI or hyperlink to a resource that includes the required information.
</p>
</ListItem>
<ListItem>
<p>
If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the
extent reasonably practicable.
</p>
</ListItem>
<ListItem>
<p>
If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of
the Adapted Material from complying with this Public License.
</p>
</ListItem>
</OrderedList>
<H3>Section 4 Sui Generis Database Rights.</H3>
<p>
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
</p>
<p>
Creative Commons may be contacted at <Link href="https://creativecommons.org/">creativecommons.org</Link>.
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share
all or a substantial portion of the contents of the database;
</p>
</Blockquote>
</Content>
</>
);
<p>
b. if You include all or a substantial portion of the database contents in a database in which You have Sui
Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its
individual contents) is Adapted Material; and
</p>
<p>
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the
contents of the database.
</p>
<p>
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public
License where the Licensed Rights include other Copyright and Similar Rights.
</p>
<H3>Section 5 Disclaimer of Warranties and Limitation of Liability.</H3>
<p>
a.{" "}
<strong>
Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the
Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning
the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation,
warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent
or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable.
Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
</strong>
</p>
<p>
b.{" "}
<strong>
To the extent possible, in no event will the Licensor be liable to You on any legal theory (including,
without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential,
punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use
of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs,
expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may
not apply to You.
</strong>
</p>
<p>
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner
that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
</p>
<H3>Section 6 Term and Termination.</H3>
<p>
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You
fail to comply with this Public License, then Your rights under this Public License terminate automatically.
</p>
<p>b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:</p>
<OrderedList>
<ListItem>
<p>
automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery
of the violation; or
</p>
</ListItem>
<ListItem>
<p>upon express reinstatement by the Licensor.</p>
</ListItem>
</OrderedList>
<p>
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies
for Your violations of this Public License.
</p>
<p>
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or
conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this
Public License.
</p>
<p>d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.</p>
<H3>Section 7 Other Terms and Conditions.</H3>
<p>
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You
unless expressly agreed.
</p>
<p>
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are
separate from and independent of the terms and conditions of this Public License.
</p>
<H3>Section 8 Interpretation.</H3>
<p>
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit,
restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without
permission under this Public License.
</p>
<p>
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be
automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be
reformed, it shall be severed from this Public License without affecting the enforceability of the remaining
terms and conditions.
</p>
<p>
c. No term or condition of this Public License will be waived and no failure to comply consented to unless
expressly agreed to by the Licensor.
</p>
<p>
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any
privileges and immunities that apply to the Licensor or You, including from the legal processes of any
jurisdiction or authority.
</p>
<Blockquote>
<p>
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply
one of its public licenses to material it publishes and in those instances will be considered the
"Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the{" "}
<Link href="https://creativecommons.org/publicdomain/zero/1.0/legalcode">
<em>CC0 Public Domain Dedication</em>
</Link>
. Except for the limited purpose of indicating that material is shared under a Creative Commons public
license or as otherwise permitted by the Creative Commons policies published at{" "}
<Link href="https://creativecommons.org/policies">creativecommons.org/policies</Link>, Creative Commons does
not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons
without its prior written consent including, without limitation, in connection with any unauthorized
modifications to any of its public licenses or any other arrangements, understandings, or agreements
concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the
public licenses.
</p>
<p>
Creative Commons may be contacted at <Link href="https://creativecommons.org/">creativecommons.org</Link>.
</p>
</Blockquote>
</Content>
</>
);
};
export default License;

View File

@@ -4,21 +4,23 @@ import NotesList, { NotesListProps } from "../../components/NotesList";
import { getAllNotes } from "../../lib/helpers/parse-notes";
import type { GetStaticProps } from "next";
const Notes = ({ notesByYear }: NotesListProps) => (
<>
<NextSeo
title="Notes"
description="Recent posts by Jake Jarvis."
openGraph={{
title: "Notes",
}}
/>
const Notes = ({ notesByYear }: NotesListProps) => {
return (
<>
<NextSeo
title="Notes"
description="Recent posts by Jake Jarvis."
openGraph={{
title: "Notes",
}}
/>
<Content>
<NotesList notesByYear={notesByYear} />
</Content>
</>
);
<Content>
<NotesList notesByYear={notesByYear} />
</Content>
</>
);
};
export const getStaticProps: GetStaticProps = async () => {
// parse the year of each note and group them together

View File

@@ -37,135 +37,138 @@ const WindowsIcon = styled(Windows95Logo, {
fill: "currentColor",
});
const Previously = () => (
<>
<NextSeo
title="Previously on..."
description="An incredibly embarrassing and somewhat painful trip down this site's memory lane..."
openGraph={{
title: "Previously on...",
}}
/>
const Previously = () => {
return (
<>
<NextSeo
title="Previously on..."
description="An incredibly embarrassing and somewhat painful trip down this site's memory lane..."
openGraph={{
title: "Previously on...",
}}
/>
<PageTitle>🕰 Previously on...</PageTitle>
<PageTitle>🕰 Previously on...</PageTitle>
<Content>
<Figure
src={img_wayback}
href="https://web.archive.org/web/20010501000000*/jakejarvis.com"
alt="Timeline of this website's past."
priority
>
...the <Link href="https://web.archive.org/web/20010501000000*/jakejarvis.com">Cringey Chronicles&trade;</Link>{" "}
of this website's past.
</Figure>
<HorizontalRule />
<Marquee>
🚨 <strong>Trigger warning:</strong> excessive marquees, animated GIFs, Comic Sans, popups,{" "}
<CodeInline>
color: <span style={{ color: "#32cd32" }}>limegreen</span>
</CodeInline>{" "}
ahead...
</Marquee>
<p style={{ marginTop: 0 }}>
<Link
href="/y2k/"
prefetch={false}
css={{
"&:hover": {
// classic windows 9x hand cursor easter egg
cursor: `url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAACVBMVEVHcEwAAAD///8W1S+BAAAAAXRSTlMAQObYZgAAAEdJREFUeAFjoAVghTGkHIhghMAYmQEwxlIYYxlYlSiQMQEsELUKyli1ahWYwQZjMGIwGLKQGA4QA1EYEP0rGVAZrKGhSF4BAHw/HsVwshytAAAAAElFTkSuQmCC") 16 12, auto`,
},
}}
<Content>
<Figure
src={img_wayback}
href="https://web.archive.org/web/20010501000000*/jakejarvis.com"
alt="Timeline of this website's past."
priority
>
<WindowsIcon /> Click here for the{" "}
<strong>
<em>full</em>
</strong>{" "}
experience anyway.
</Link>
</p>
...the{" "}
<Link href="https://web.archive.org/web/20010501000000*/jakejarvis.com">Cringey Chronicles&trade;</Link> of
this website's past.
</Figure>
<figure style={{ margin: 0 }}>
<IFrame
src="https://jakejarvis.github.io/my-first-website/"
title="My Terrible, Horrible, No Good, Very Bad First Website"
height={500}
allowScripts
css={{ margin: "0.6em 0" }}
/>
<figcaption>
<Link href="https://jakejarvis.github.io/my-first-website/">November 2001</Link> (
<Link href="https://github.com/jakejarvis/my-first-website">view source</Link>)
</figcaption>
</figure>
<HorizontalRule />
<HorizontalRule />
<Marquee>
🚨 <strong>Trigger warning:</strong> excessive marquees, animated GIFs, Comic Sans, popups,{" "}
<CodeInline>
color: <span style={{ color: "#32cd32" }}>limegreen</span>
</CodeInline>{" "}
ahead...
</Marquee>
<Figure src={img_2002_02}>February 2002</Figure>
<p style={{ marginTop: 0 }}>
<Link
href="/y2k/"
prefetch={false}
css={{
"&:hover": {
// classic windows 9x hand cursor easter egg
cursor: `url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAACVBMVEVHcEwAAAD///8W1S+BAAAAAXRSTlMAQObYZgAAAEdJREFUeAFjoAVghTGkHIhghMAYmQEwxlIYYxlYlSiQMQEsELUKyli1ahWYwQZjMGIwGLKQGA4QA1EYEP0rGVAZrKGhSF4BAHw/HsVwshytAAAAAElFTkSuQmCC") 16 12, auto`,
},
}}
>
<WindowsIcon /> Click here for the{" "}
<strong>
<em>full</em>
</strong>{" "}
experience anyway.
</Link>
</p>
<HorizontalRule />
<figure style={{ margin: 0 }}>
<IFrame
src="https://jakejarvis.github.io/my-first-website/"
title="My Terrible, Horrible, No Good, Very Bad First Website"
height={500}
allowScripts
css={{ margin: "0.6em 0" }}
/>
<figcaption>
<Link href="https://jakejarvis.github.io/my-first-website/">November 2001</Link> (
<Link href="https://github.com/jakejarvis/my-first-website">view source</Link>)
</figcaption>
</figure>
<Figure src={img_2002_10}>October 2002</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2002_02}>February 2002</Figure>
<Figure src={img_2003_08}>August 2003</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2002_10}>October 2002</Figure>
<Figure src={img_2004_11}>November 2004</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2003_08}>August 2003</Figure>
<Figure src={img_2006_04}>April 2006</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2004_11}>November 2004</Figure>
<Figure src={img_2006_05}>May 2006</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2006_04}>April 2006</Figure>
<Figure src={img_2007_01}>January 2007</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2006_05}>May 2006</Figure>
<Figure src={img_2007_04}>April 2007</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2007_01}>January 2007</Figure>
<Figure src={img_2007_05}>May 2007</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2007_04}>April 2007</Figure>
<Figure src={img_2009_07}>July 2009</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2007_05}>May 2007</Figure>
<Figure src={img_2012_09} href="https://focused-knuth-7bc10d.netlify.app/" alt="September 2012">
<Link href="https://focused-knuth-7bc10d.netlify.app/">September 2012</Link> (
<Link href="https://github.com/jakejarvis/jarv.is/tree/v1">view source</Link>)
</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2009_07}>July 2009</Figure>
<Figure src={img_2018_04} href="https://hungry-mayer-40e790.netlify.app/" alt="April 2018">
<Link href="https://hungry-mayer-40e790.netlify.app/">April 2018</Link> (
<Link href="https://github.com/jakejarvis/jarv.is/tree/v2">view source</Link>)
</Figure>
<HorizontalRule />
<HorizontalRule />
<Figure src={img_2012_09} href="https://focused-knuth-7bc10d.netlify.app/" alt="September 2012">
<Link href="https://focused-knuth-7bc10d.netlify.app/">September 2012</Link> (
<Link href="https://github.com/jakejarvis/jarv.is/tree/v1">view source</Link>)
</Figure>
<Figure src={img_2020_03} href="https://quiet-truffle-92842d.netlify.app/" alt="March 2020">
<Link href="https://quiet-truffle-92842d.netlify.app/">March 2020</Link> (
<Link href="https://github.com/jakejarvis/jarv.is-hugo">view source</Link>)
</Figure>
</Content>
</>
);
<HorizontalRule />
<Figure src={img_2018_04} href="https://hungry-mayer-40e790.netlify.app/" alt="April 2018">
<Link href="https://hungry-mayer-40e790.netlify.app/">April 2018</Link> (
<Link href="https://github.com/jakejarvis/jarv.is/tree/v2">view source</Link>)
</Figure>
<HorizontalRule />
<Figure src={img_2020_03} href="https://quiet-truffle-92842d.netlify.app/" alt="March 2020">
<Link href="https://quiet-truffle-92842d.netlify.app/">March 2020</Link> (
<Link href="https://github.com/jakejarvis/jarv.is-hugo">view source</Link>)
</Figure>
</Content>
</>
);
};
// a complete sh*tshow of "global" overrides, mainly to compensate for font change
Previously.getLayout = (page: ReactElement) => {

View File

@@ -12,138 +12,142 @@ import { fathomSiteId, siteDomain } from "../lib/config";
import faunaImg from "../public/static/images/privacy/fauna_hits.png";
const Privacy = () => (
<>
<NextSeo
title="Privacy"
openGraph={{
title: "Privacy",
}}
/>
<PageTitle>🕵 Privacy</PageTitle>
<Content>
<p>Okay, this is an easy one. 😉</p>
<H2 id="hosting">Hosting</H2>
<p>
Pages and first-party assets on this website are served by{" "}
<Link href="https://vercel.com/">
<strong> Vercel</strong>
</Link>
. Refer to their <Link href="https://vercel.com/legal/privacy-policy">privacy policy</Link> for more
information.
</p>
<p>
For a likely excessive level of privacy and security, this website is also mirrored on the{" "}
<Link href="https://www.torproject.org/">🧅 Tor network</Link> at:
</p>
<Blockquote css={{ overflowWrap: "break-word" }}>
<Link href="http://jarvis2i2vp4j4tbxjogsnqdemnte5xhzyi7hziiyzxwge3hzmh57zad.onion">
<strong>jarvis2i2vp4j4tbxjogsnqdemnte5xhzyi7hziiyzxwge3hzmh57zad.onion</strong>
</Link>
</Blockquote>
<H2 id="analytics">Analytics</H2>
<p>
A very simple hit counter on each blog post tallies an aggregate number of pageviews (i.e.{" "}
<CodeInline>hits = hits + 1</CodeInline>) in a <Link href="https://fauna.com/">Fauna</Link> database. Individual
views and identifying (or non-identifying) details are <strong>never stored or logged</strong>.
</p>
<p>
The <Link href="https://github.com/jakejarvis/jarv.is/blob/main/pages/api/hits.ts">serverless function</Link>{" "}
and{" "}
<Link href="https://github.com/jakejarvis/jarv.is/blob/main/components/HitCounter/HitCounter.tsx">
client script
</Link>{" "}
are open source, and <Link href="https://github.com/jakejarvis/website-stats">snapshots of the database</Link>{" "}
are public.
</p>
<Image src={faunaImg} alt="The entire database schema." />
<p>
<Link href="https://usefathom.com/ref/ZEYG0O">
<strong>Fathom Analytics</strong>
</Link>
, a <em>very</em> <Link href="https://usefathom.com/privacy-focused-web-analytics">privacy-focused</Link>{" "}
service, is also used to gain insights into referrers, search terms, etc.{" "}
<strong>without collecting anything identifiable about you</strong>. (My <Link href="/stats/">dashboard</Link>{" "}
is completely public, too!)
</p>
<IFrame
src={`https://app.usefathom.com/share/${fathomSiteId}/${siteDomain}`}
title="Fathom Analytics dashboard"
height={500}
allowScripts
const Privacy = () => {
return (
<>
<NextSeo
title="Privacy"
openGraph={{
title: "Privacy",
}}
/>
<H2 id="third-party">Third-Party Content</H2>
<PageTitle>🕵 Privacy</PageTitle>
<p>
Occasionally, embedded content from third-party services is included in posts, and some may contain tracking
code that is outside of my control. Please refer to their privacy policies for more information:
</p>
<Content>
<p>Okay, this is an easy one. 😉</p>
<UnorderedList>
<ListItem>
<Link href="https://blog.codepen.io/documentation/privacy/">CodePen</Link>
</ListItem>
<ListItem>
<Link href="https://www.facebook.com/policy.php">Facebook</Link>
</ListItem>
<ListItem>
<Link href="https://docs.github.com/en/github/site-policy/github-privacy-statement">GitHub</Link>
</ListItem>
<ListItem>
<Link href="https://soundcloud.com/pages/privacy">SoundCloud</Link>
</ListItem>
<ListItem>
<Link href="https://twitter.com/en/privacy">Twitter</Link>
</ListItem>
<ListItem>
<Link href="https://vimeo.com/privacy">Vimeo</Link>
</ListItem>
<ListItem>
<Link href="https://policies.google.com/privacy">YouTube</Link>
</ListItem>
</UnorderedList>
<H2 id="hosting">Hosting</H2>
<H2 id="hcaptcha">Fighting Spam</H2>
<p>
Pages and first-party assets on this website are served by{" "}
<Link href="https://vercel.com/">
<strong> Vercel</strong>
</Link>
. Refer to their <Link href="https://vercel.com/legal/privacy-policy">privacy policy</Link> for more
information.
</p>
<p>
Using{" "}
<Link href="https://www.hcaptcha.com/">
<strong>hCaptcha</strong>
</Link>{" "}
to fight bot spam on the <Link href="/contact/">contact form</Link> was an easy choice over seemingly
unavoidable alternatives like <Link href="https://developers.google.com/recaptcha/">reCAPTCHA</Link>.
</p>
<p>
For a likely excessive level of privacy and security, this website is also mirrored on the{" "}
<Link href="https://www.torproject.org/">🧅 Tor network</Link> at:
</p>
<p>
You can refer to hCaptcha's <Link href="https://www.hcaptcha.com/privacy">privacy policy</Link> and{" "}
<Link href="https://www.hcaptcha.com/terms">terms of service</Link> for more details. While some information is
sent to the hCaptcha API about your behavior <strong>(on the contact page only)</strong>, at least you won't be
helping a certain internet conglomerate{" "}
<Link href="https://blog.cloudflare.com/moving-from-recaptcha-to-hcaptcha/">train their self-driving cars</Link>
. 🚗
</p>
<Blockquote css={{ overflowWrap: "break-word" }}>
<Link href="http://jarvis2i2vp4j4tbxjogsnqdemnte5xhzyi7hziiyzxwge3hzmh57zad.onion">
<strong>jarvis2i2vp4j4tbxjogsnqdemnte5xhzyi7hziiyzxwge3hzmh57zad.onion</strong>
</Link>
</Blockquote>
<p>
I also enabled the setting to donate 100% of my{" "}
<Link href="https://humanprotocol.org/?lng=en-US">HMT token</Link> earnings to the{" "}
<Link href="https://wikimediafoundation.org/">Wikimedia Foundation</Link>, for what it's worth. (A few cents,
probably... 💰)
</p>
</Content>
</>
);
<H2 id="analytics">Analytics</H2>
<p>
A very simple hit counter on each blog post tallies an aggregate number of pageviews (i.e.{" "}
<CodeInline>hits = hits + 1</CodeInline>) in a <Link href="https://fauna.com/">Fauna</Link> database.
Individual views and identifying (or non-identifying) details are <strong>never stored or logged</strong>.
</p>
<p>
The <Link href="https://github.com/jakejarvis/jarv.is/blob/main/pages/api/hits.ts">serverless function</Link>{" "}
and{" "}
<Link href="https://github.com/jakejarvis/jarv.is/blob/main/components/HitCounter/HitCounter.tsx">
client script
</Link>{" "}
are open source, and <Link href="https://github.com/jakejarvis/website-stats">snapshots of the database</Link>{" "}
are public.
</p>
<Image src={faunaImg} alt="The entire database schema." />
<p>
<Link href="https://usefathom.com/ref/ZEYG0O">
<strong>Fathom Analytics</strong>
</Link>
, a <em>very</em> <Link href="https://usefathom.com/privacy-focused-web-analytics">privacy-focused</Link>{" "}
service, is also used to gain insights into referrers, search terms, etc.{" "}
<strong>without collecting anything identifiable about you</strong>. (My <Link href="/stats/">dashboard</Link>{" "}
is completely public, too!)
</p>
<IFrame
src={`https://app.usefathom.com/share/${fathomSiteId}/${siteDomain}`}
title="Fathom Analytics dashboard"
height={500}
allowScripts
/>
<H2 id="third-party">Third-Party Content</H2>
<p>
Occasionally, embedded content from third-party services is included in posts, and some may contain tracking
code that is outside of my control. Please refer to their privacy policies for more information:
</p>
<UnorderedList>
<ListItem>
<Link href="https://blog.codepen.io/documentation/privacy/">CodePen</Link>
</ListItem>
<ListItem>
<Link href="https://www.facebook.com/policy.php">Facebook</Link>
</ListItem>
<ListItem>
<Link href="https://docs.github.com/en/github/site-policy/github-privacy-statement">GitHub</Link>
</ListItem>
<ListItem>
<Link href="https://soundcloud.com/pages/privacy">SoundCloud</Link>
</ListItem>
<ListItem>
<Link href="https://twitter.com/en/privacy">Twitter</Link>
</ListItem>
<ListItem>
<Link href="https://vimeo.com/privacy">Vimeo</Link>
</ListItem>
<ListItem>
<Link href="https://policies.google.com/privacy">YouTube</Link>
</ListItem>
</UnorderedList>
<H2 id="hcaptcha">Fighting Spam</H2>
<p>
Using{" "}
<Link href="https://www.hcaptcha.com/">
<strong>hCaptcha</strong>
</Link>{" "}
to fight bot spam on the <Link href="/contact/">contact form</Link> was an easy choice over seemingly
unavoidable alternatives like <Link href="https://developers.google.com/recaptcha/">reCAPTCHA</Link>.
</p>
<p>
You can refer to hCaptcha's <Link href="https://www.hcaptcha.com/privacy">privacy policy</Link> and{" "}
<Link href="https://www.hcaptcha.com/terms">terms of service</Link> for more details. While some information
is sent to the hCaptcha API about your behavior <strong>(on the contact page only)</strong>, at least you
won't be helping a certain internet conglomerate{" "}
<Link href="https://blog.cloudflare.com/moving-from-recaptcha-to-hcaptcha/">
train their self-driving cars
</Link>
. 🚗
</p>
<p>
I also enabled the setting to donate 100% of my{" "}
<Link href="https://humanprotocol.org/?lng=en-US">HMT token</Link> earnings to the{" "}
<Link href="https://wikimediafoundation.org/">Wikimedia Foundation</Link>, for what it's worth. (A few cents,
probably... 💰)
</p>
</Content>
</>
);
};
export default Privacy;

View File

@@ -41,32 +41,34 @@ const GitHubLogo = styled(OctocatOcticon, {
fill: "$text",
});
const Projects = ({ repos }) => (
<>
<NextSeo
title="Projects"
openGraph={{
title: "Projects",
}}
/>
const Projects = ({ repos }) => {
return (
<>
<NextSeo
title="Projects"
openGraph={{
title: "Projects",
}}
/>
<PageTitle>💾 Projects</PageTitle>
<PageTitle>💾 Projects</PageTitle>
<Content>
<Wrapper>
{repos.map((repo: Repository) => (
<Card key={repo.name} {...repo} />
))}
</Wrapper>
<Content>
<Wrapper>
{repos.map((repo: Repository) => (
<Card key={repo.name} {...repo} />
))}
</Wrapper>
<ViewMore>
<Link href={`https://github.com/${authorSocial.github}`}>
View more on <GitHubLogo /> GitHub...
</Link>
</ViewMore>
</Content>
</>
);
<ViewMore>
<Link href={`https://github.com/${authorSocial.github}`}>
View more on <GitHubLogo /> GitHub...
</Link>
</ViewMore>
</Content>
</>
);
};
export const getStaticProps: GetStaticProps = async () => {
// https://docs.github.com/en/graphql/reference/objects#repository

View File

@@ -21,33 +21,35 @@ const FathomIcon = styled(FathomLogo, {
fill: "$text",
});
const Stats = () => (
<>
<NextSeo
title="Stats"
openGraph={{
title: "Stats",
}}
/>
<PageTitle>📈 Stats</PageTitle>
<Content>
<PoweredBy>
Powered by{" "}
<Link href="https://usefathom.com/ref/ZEYG0O" underline={false}>
<FathomIcon /> Fathom Analytics
</Link>
</PoweredBy>
<IFrame
src={`https://app.usefathom.com/share/${fathomSiteId}/${siteDomain}`}
title="Fathom Analytics dashboard"
height={600}
allowScripts
const Stats = () => {
return (
<>
<NextSeo
title="Stats"
openGraph={{
title: "Stats",
}}
/>
</Content>
</>
);
<PageTitle>📈 Stats</PageTitle>
<Content>
<PoweredBy>
Powered by{" "}
<Link href="https://usefathom.com/ref/ZEYG0O" underline={false}>
<FathomIcon /> Fathom Analytics
</Link>
</PoweredBy>
<IFrame
src={`https://app.usefathom.com/share/${fathomSiteId}/${siteDomain}`}
title="Fathom Analytics dashboard"
height={600}
allowScripts
/>
</Content>
</>
);
};
export default Stats;

File diff suppressed because it is too large Load Diff