add post and extra legal, revamp home page
This commit is contained in:
parent
d3efb33db8
commit
f02bd683da
@ -2,7 +2,7 @@ baseURL= "https://fosscat.com/"
|
|||||||
defaultContentLanguage = "en-us"
|
defaultContentLanguage = "en-us"
|
||||||
title = "Foss Cat"
|
title = "Foss Cat"
|
||||||
theme = "gokarna"
|
theme = "gokarna"
|
||||||
enableRobotsTXT= true
|
enableRobotsTXT = false
|
||||||
enableEmoji = true
|
enableEmoji = true
|
||||||
# pygmentsStyle = "catppuccin-frappe"
|
# pygmentsStyle = "catppuccin-frappe"
|
||||||
|
|
||||||
@ -16,6 +16,7 @@ socialIcons = [
|
|||||||
]
|
]
|
||||||
# <link> tags for favicon support
|
# <link> tags for favicon support
|
||||||
customHeadHTML = '''
|
customHeadHTML = '''
|
||||||
|
<meta name="robots" content="noai, noimageai">
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||||
|
|||||||
@ -2,7 +2,8 @@
|
|||||||
date: 2026-03-07T23:30:48-07:00
|
date: 2026-03-07T23:30:48-07:00
|
||||||
description: "From a legal loophole in the 70's, we now deal with tanks on American roads."
|
description: "From a legal loophole in the 70's, we now deal with tanks on American roads."
|
||||||
image: "/images/ford-f150.webp"
|
image: "/images/ford-f150.webp"
|
||||||
lastmod: 2026-03-08T00:07:54-07:00
|
image_alt: "An image of a vintage blue Ford F150"
|
||||||
|
lastmod: 2026-03-09T00:32:23-06:00
|
||||||
showTableOfContents: false
|
showTableOfContents: false
|
||||||
tags: ["cars", "politics"]
|
tags: ["cars", "politics"]
|
||||||
title: "How Cars Became Trucks"
|
title: "How Cars Became Trucks"
|
||||||
|
|||||||
@ -0,0 +1,54 @@
|
|||||||
|
---
|
||||||
|
date: 2026-03-08T23:12:51-06:00
|
||||||
|
description: "As the internet sours past its due date, why blog? And what about?"
|
||||||
|
# image: ""
|
||||||
|
lastmod: 2026-03-09T00:32:23-06:00
|
||||||
|
showTableOfContents: false
|
||||||
|
tags: ["privacy", "internet", "life"]
|
||||||
|
title: "What Is Appropriate for the Internet"
|
||||||
|
type: "post"
|
||||||
|
---
|
||||||
|
|
||||||
|
# What should go here?
|
||||||
|
|
||||||
|
As I write each day, I find myself self-censoring some topics.
|
||||||
|
|
||||||
|
Obviously if I had extreme political views or problematic takes on things, I could suffer real world consequences. Cancel culture is alive and well in the United States, on both sides of the aisle. So, regardless of your political leaning, the internet is not safe.
|
||||||
|
|
||||||
|
With AI becoming [more _amazing_ every day (nytimes)](https://www.nytimes.com/2025/11/02/opinion/ai-privacy.html), and [data brokers amassing mounds of data (cnet)](https://www.cnet.com/tech/services-and-software/data-brokers-how-your-personal-data-becomes-business/) on each of us, one might think putting some intimate thoughts online is not the wisest decision.
|
||||||
|
|
||||||
|
{{<aside>}}
|
||||||
|
To the uninitiated, this is really only a concern to the privacy conscious. Or perhaps, the privacy paranoid :grin:.
|
||||||
|
|
||||||
|
Social Media aggregates tons of data on its users, which is sold to data brokers and integrated into algorithms. I don't mean to overstate this but everyone I know uses social media. Lots of people I know feel like this whole dilemma is too far gone for anything to be done.
|
||||||
|
|
||||||
|
At least on my website, people have to come and take it. Plus, I have just added some [more explicit guards](/terms) against [getting my data harvested](/robots.txt). So, fingers crossed the line gets crossed then I can sue for billions :smiling_imp:
|
||||||
|
{{</aside>}}
|
||||||
|
|
||||||
|
But, I think the with some prudence, putting thoughts online is an excellent use of time.
|
||||||
|
|
||||||
|
## Why It Matters
|
||||||
|
|
||||||
|
AI is melting my brain.
|
||||||
|
|
||||||
|
At my day job as a Software Developer, I cannot code like I used to. Sure, perhaps I've learned how to be an "AI-Whisperer" or something.
|
||||||
|
|
||||||
|
But it feels like I've lost an edge.
|
||||||
|
|
||||||
|
I think about the times I studied hard for a final exam. All the necessary concepts are fresh. Poised to strike, from neuron to graphite. The formulas are at the tip of my tongue ready to be spat out onto the page to prove my know on how to find the area of a circle rotated around an axis in three dimensions offset by some coordinate. Amazing.
|
||||||
|
|
||||||
|
I've lost the edge for the things I ~do~ did every day: write code.
|
||||||
|
|
||||||
|
Now? I, manage. Architect? Oversee? Sometimes just skim?
|
||||||
|
|
||||||
|
Anyway, this is really material for a different post.
|
||||||
|
|
||||||
|
Point is, writing these posts keeps me sharp. Maybe not for coding, but certainly for self reflection.
|
||||||
|
|
||||||
|
I find that invaluable.
|
||||||
|
|
||||||
|
And if some data broker gets to track me down and endanger my family and I because GPT-10 identified me as a terrorist threat, then so be it. These privacy concerns unfortunately feel like a collective action problem. Though an individual can logically conclude it foolish or dangerous, I think it's important to fight for what we would like to see in the world.
|
||||||
|
|
||||||
|
I'd like to see less billboards. Less [trucks](/posts/26-03-07-how-cars-became-trucks/) (which is also a collective action problem). Less AI generated internet content. Hopefully someone lands here from searching on a search engine (did you know Google isn't the only one?). I'd like to be a part of the human-made side. I find writing these to be helpful, and I hope someone out there will find something helpful here too.
|
||||||
|
|
||||||
|
[Let me know](mailto:feeback@fosscat.com) what you think! If you agree of disagree with anything on this site, I'd love to hear from you. Take care.
|
||||||
47
content/terms.md
Normal file
47
content/terms.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
title: "Terms of Use"
|
||||||
|
date: 2026-03-08
|
||||||
|
draft: false
|
||||||
|
type: "page"
|
||||||
|
showTableOfContents: false
|
||||||
|
---
|
||||||
|
|
||||||
|
## Copyright
|
||||||
|
|
||||||
|
All original content on fosscat.com — including text, images, code samples, and other
|
||||||
|
creative works — is copyright Nate Anderson. All rights reserved unless otherwise noted.
|
||||||
|
|
||||||
|
## Permitted Use
|
||||||
|
|
||||||
|
You are welcome to read, share, and link to any content on this site for personal,
|
||||||
|
non-commercial purposes. Quoting excerpts with proper attribution and a link back to the
|
||||||
|
original is encouraged.
|
||||||
|
|
||||||
|
## Prohibited Use
|
||||||
|
|
||||||
|
The following uses of content from this site are expressly prohibited without prior
|
||||||
|
written consent:
|
||||||
|
|
||||||
|
- **AI and machine learning model training** — using site content as training data,
|
||||||
|
fine-tuning material, or evaluation benchmarks for any AI or ML system
|
||||||
|
- **Data broker resale** — collecting, packaging, or reselling site content as part of a
|
||||||
|
data product or service
|
||||||
|
- **Market research products** — incorporating site content into commercial research
|
||||||
|
reports, databases, or analytics platforms
|
||||||
|
- **Ad-targeting and profiling** — using site content or visitor behavior to build
|
||||||
|
advertising profiles or audience segments
|
||||||
|
- **Any other commercial data exploitation** — automated or manual collection of site
|
||||||
|
content for any for-profit purpose not listed above
|
||||||
|
|
||||||
|
This prohibition applies regardless of the method of collection, whether by web scraper,
|
||||||
|
crawler, API, manual copying, or any other means.
|
||||||
|
|
||||||
|
## Acceptance
|
||||||
|
|
||||||
|
By accessing and browsing this site, you agree to be bound by these terms. If you do not
|
||||||
|
agree, you should discontinue use of the site immediately.
|
||||||
|
|
||||||
|
## Exceptions
|
||||||
|
|
||||||
|
If you would like to request an exception to these terms for a specific use case, please
|
||||||
|
contact [legal@fosscat.com](mailto:legal@fosscat.com).
|
||||||
@ -53,6 +53,7 @@
|
|||||||
{{- partial "list-posts.html" . -}}
|
{{- partial "list-posts.html" . -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
<a class="view-all" href="/posts/">View all posts →</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ $projects := where .Site.RegularPages "Params.type" "projects" }}
|
{{ $projects := where .Site.RegularPages "Params.type" "projects" }}
|
||||||
@ -66,7 +67,8 @@
|
|||||||
<div class="home-project-meta">
|
<div class="home-project-meta">
|
||||||
{{ with .Params.status }}
|
{{ with .Params.status }}
|
||||||
{{ $color := $project.Params.statusColor | default "#9e9e9e" }}
|
{{ $color := $project.Params.statusColor | default "#9e9e9e" }}
|
||||||
<span class="home-project-status" style="color: {{ $color }}; border: 1px solid {{ $color }}; background-color: {{ $color }}20;">{{ . }}</span>
|
<span class="home-project-status"
|
||||||
|
style="color: {{ $color }}; border: 1px solid {{ $color }}; background-color: {{ $color }}20;">{{ . }}</span>
|
||||||
·
|
·
|
||||||
{{ end }}
|
{{ end }}
|
||||||
Updated {{ $project.Lastmod.Format "Jan 2, 2006" }}
|
Updated {{ $project.Lastmod.Format "Jan 2, 2006" }}
|
||||||
@ -78,6 +80,14 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ end }}
|
<div class="home-connect">
|
||||||
|
<p>
|
||||||
|
Subscribe via <a href="{{ "/index.xml" | absURL }}">RSS</a><a href="https://aboutfeeds.com/" class="rss-info" title="What is RSS?" aria-label="What is RSS?">?</a>,
|
||||||
|
send feedback to <a href="mailto:feedback@fosscat.com">feedback@fosscat.com</a>,
|
||||||
|
or check out the <a href="https://git.fosscat.com/n8r/fosscat-site">source code</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
{{ end }}
|
||||||
42
static/robots.txt
Normal file
42
static/robots.txt
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# All content on fosscat.com is the work of its author.
|
||||||
|
# Scraping, crawling, or collecting content from this site for
|
||||||
|
# commercial purposes — including AI/ML model training, data brokerage,
|
||||||
|
# or any for-profit data exploitation — is expressly prohibited,
|
||||||
|
# regardless of whether your user-agent is listed below.
|
||||||
|
|
||||||
|
# AI and data scrapers — disallowed
|
||||||
|
User-agent: GPTBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: CCBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: Google-Extended
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: anthropic-ai
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: Claude-Web
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: Omgilibot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: FacebookBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: Bytespider
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: DataForSeoBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: PetalBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
# All other crawlers (search engines, etc.) — allowed
|
||||||
|
User-agent: *
|
||||||
|
Allow: /
|
||||||
|
|
||||||
|
Sitemap: https://fosscat.com/sitemap.xml
|
||||||
@ -1,10 +1,12 @@
|
|||||||
---
|
---
|
||||||
date: {{ .Date }}
|
date: {{ .Date }}
|
||||||
# description: ""
|
# description: ""
|
||||||
# image: ""
|
# image: "/images/"
|
||||||
lastmod: {{ now.Format "2006-01-02" }}
|
# image_alt: ""
|
||||||
|
lastmod: {{ .Date }}
|
||||||
showTableOfContents: false
|
showTableOfContents: false
|
||||||
# tags: ["",]
|
# tags: ["",]
|
||||||
title: "{{ replace .File.ContentBaseName `-` ` ` | title }}"
|
title: "{{ replace .File.ContentBaseName `-` ` ` | title }}"
|
||||||
type: "post"
|
type: "post"
|
||||||
|
draft: false
|
||||||
---
|
---
|
||||||
|
|||||||
@ -172,6 +172,15 @@ pre {
|
|||||||
border-top-color: var(--dark-tertiary-color);
|
border-top-color: var(--dark-tertiary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.home-connect {
|
||||||
|
color: var(--dark-muted-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rss-info {
|
||||||
|
border-color: var(--dark-muted-color);
|
||||||
|
color: var(--dark-muted-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* TODO: Check if this is needed or not */
|
/* TODO: Check if this is needed or not */
|
||||||
|
|
||||||
/* Content links: dark mode color override */
|
/* Content links: dark mode color override */
|
||||||
|
|||||||
@ -69,11 +69,11 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin-bottom: 170px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.blog-post.has-post-navigation {
|
body.blog-post.has-post-navigation {
|
||||||
margin-bottom: 80px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
b,
|
b,
|
||||||
@ -301,15 +301,14 @@ a:hover .feather-sun {
|
|||||||
|
|
||||||
/* FOOTER */
|
/* FOOTER */
|
||||||
.footer {
|
.footer {
|
||||||
bottom: 0;
|
|
||||||
color: inherit;
|
color: inherit;
|
||||||
left: 0;
|
margin: 60px auto 0;
|
||||||
margin-left: 30%;
|
max-width: 600px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 40px 0;
|
padding: 40px 20px;
|
||||||
position: absolute;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 40%;
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer span {
|
.footer span {
|
||||||
@ -604,6 +603,16 @@ table td {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.view-all {
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 1.0rem;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--accent-color);
|
||||||
|
border-top: 1px solid var(--light-secondary-color);
|
||||||
|
padding-top: 0.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
.home-projects-card .view-all {
|
.home-projects-card .view-all {
|
||||||
display: block;
|
display: block;
|
||||||
margin-top: 0.8rem;
|
margin-top: 0.8rem;
|
||||||
@ -614,10 +623,49 @@ table td {
|
|||||||
padding-top: 0.6rem;
|
padding-top: 0.6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.home-projects-card .view-all:hover {
|
.view-all:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* HOME CONNECT blurb */
|
||||||
|
.home-connect {
|
||||||
|
width: 80%;
|
||||||
|
margin: 2rem auto 0;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: var(--light-muted-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-connect a {
|
||||||
|
color: var(--accent-color);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-connect a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rss-info {
|
||||||
|
display: inline-block;
|
||||||
|
width: 1.1em;
|
||||||
|
height: 1.1em;
|
||||||
|
line-height: 1.1em;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.7em;
|
||||||
|
font-weight: 700;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px solid var(--light-muted-color);
|
||||||
|
color: var(--light-muted-color) !important;
|
||||||
|
margin-left: 0.2em;
|
||||||
|
vertical-align: super;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rss-info:hover {
|
||||||
|
border-color: var(--accent-color);
|
||||||
|
color: var(--accent-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* SINGLE */
|
/* SINGLE */
|
||||||
.post [role="doc-subtitle"] {
|
.post [role="doc-subtitle"] {
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
@ -855,6 +903,10 @@ table td {
|
|||||||
min-width: unset;
|
min-width: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.home-connect {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
main#content .container {
|
main#content .container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
@ -876,8 +928,7 @@ table td {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
margin-left: 0;
|
padding: 40px 15px;
|
||||||
width: 100%;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,39 +1,41 @@
|
|||||||
<footer class="footer">
|
<footer class="footer" style="margin-top: 20px;">
|
||||||
<!-- Option for user to inject custom html -->
|
<!-- Option for user to inject custom html -->
|
||||||
{{ if .Site.Params.CustomFooterHTML }}
|
{{ if .Site.Params.CustomFooterHTML }}
|
||||||
{{ .Site.Params.CustomFooterHTML | safeHTML }}
|
{{ .Site.Params.CustomFooterHTML | safeHTML }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ .Scratch.Set "footerText" "" }}
|
{{ .Scratch.Set "footerText" "" }}
|
||||||
|
|
||||||
{{ if (.Site.Params.Footer) }}
|
{{ if (.Site.Params.Footer) }}
|
||||||
|
|
||||||
{{ if and (eq .Kind "page") (.Date) }}
|
{{ if and (eq .Kind "page") (.Date) }}
|
||||||
{{ .Scratch.Add "footerText" (.Date | time.Format "2006") }}
|
{{ .Scratch.Add "footerText" (.Date | time.Format "2006") }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ .Scratch.Add "footerText" (time.Now | time.Format "2006") }}
|
{{ .Scratch.Add "footerText" (time.Now | time.Format "2006") }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if and (eq .Kind "page") (.Lastmod) (gt (time.Format "2006" .Lastmod) (time.Format "2006" .Date)) }}
|
{{ if and (eq .Kind "page") (.Lastmod) (gt (time.Format "2006" .Lastmod) (time.Format "2006" .Date)) }}
|
||||||
{{ .Scratch.Add "footerText" "-" }}
|
{{ .Scratch.Add "footerText" "-" }}
|
||||||
{{ .Scratch.Add "footerText" (.Lastmod | time.Format "2006") }}
|
{{ .Scratch.Add "footerText" (.Lastmod | time.Format "2006") }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ .Scratch.Add "footerText" " " }}
|
{{ .Scratch.Add "footerText" " " }}
|
||||||
{{ .Scratch.Add "footerText" .Site.Params.Footer }}
|
{{ .Scratch.Add "footerText" .Site.Params.Footer }}
|
||||||
|
|
||||||
{{ if and (eq .Kind "page") (.Site.Copyright) }}
|
{{ if and (eq .Kind "page") (.Site.Copyright) }}
|
||||||
{{ .Scratch.Add "footerText" " " }}
|
{{ .Scratch.Add "footerText" " " }}
|
||||||
{{ .Scratch.Add "footerText" .Site.Copyright }}
|
{{ .Scratch.Add "footerText" .Site.Copyright }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if (gt (.Scratch.Get "footerText" | len) 0) }}
|
{{ if (gt (.Scratch.Get "footerText" | len) 0) }}
|
||||||
<span>© {{ .Scratch.Get "footerText" | markdownify }}</span>
|
<span>© {{ .Scratch.Get "footerText" | markdownify }}</span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<span>
|
<span style="font-size: 0.85em; max-width: 600px; display: inline-block; line-height: 1.4; margin-top: 20px;">
|
||||||
Made with ❤️ using <a target="_blank" href="https://github.com/gokarna-theme/gokarna-hugo">Gokarna</a>
|
© Nate Anderson {{ now.Format "2006" }}. Content may be read and shared freely for personal use.
|
||||||
</span>
|
Commercial data collection is prohibited without written consent.
|
||||||
</footer>
|
<a href="/terms/">Terms of Use</a>.
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
Loading…
Reference in New Issue
Block a user