diff --git a/packages/next/app/blog/2021-10-29-the-story-of-futureporn/page.tsx b/packages/next/app/blog/2021-10-29-the-story-of-futureporn/page.tsx deleted file mode 100644 index a91a0bf..0000000 --- a/packages/next/app/blog/2021-10-29-the-story-of-futureporn/page.tsx +++ /dev/null @@ -1,54 +0,0 @@ - -import Link from "next/link" -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome" -import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons" - -export default async function Page() { - - - - return ( -
-
- -
- - - - -

The Story of Futureporn

- -

2020 was a busy time for me. I started a small business, attended lots of support group meetings, and rode my bicycle more than ever before. I often found myself away from home during times when Melody was streaming on Chaturbate.

- -

You probably know that unlike other video streaming platforms, Chaturbate doesn’t store any VODs. When I missed a stream, I felt sad. I felt like I had missed out and there’s no way I’d ever find out what happened.

- -

I’m pretty handy with computer software. Creating programs and websites has been my biggest passion for my entire life. In order to never miss a ProjektMelody livestream again, I resolved to create some software that would automatically record Melody’s Chaturbate streams.

- -

I put the project on hold for a few months, because I didn’t think I could make a website that could handle the traffic that the Science Team would generate.

- -

I couldn’t shake the idea, though. I wanted Futureporn to exist no matter what!

- -

I’ve been working on this project off and on for about a year and a half. It’s gone through several iterations, and each iteration has taught me something new. Right now, the website is usable for finding and downloading ProjektMelody Chaturbate VODs. Every VOD has a link to Melody’s tweet which originally announced the stream, and a title/description derived from said tweet. I have archived all of her known Chaturbate streams.

- -

The project has evolved over time. Originally, I wanted to have a place to go when I missed one of Melody’s livestreams. Now, the project is becoming a sort of a time capsule. We’ve all seen how Melody has been de-platformed a half dozen times, and I’ve taken this to heart. Platforms are a problem for data preservation! This is one of the reasons for why I chose to use the Inter-Planetary File System (IPFS.)

- -

IPFS can end 404s through “pinning,” a way of mirroring a file across several different computers. It’s a way for computers to work together to serve content instead of working independently, thus gaining redundancy and performance benefits. I see a future where pinning files on IPFS becomes as easy as pinning a photo on Pinterest. Fans of ProjektMelody can pin the VODs on Futureporn, increasing that VOD’s replication and servability to future viewers.

- -

But wait, there’s more! I have been thinking about a bunch of other stuff that could be done with past VODs. I think the most exciting thing would be to use computer vision to parse Melody’s vibrator activity from the video, and export to a data file. This data file could be used to send good vibes to a viewer’s vibrator in-sync with VOD playback. Feel what Melody feels! Very exciting, very sexy! This is a long-term goal for Futureporn.

- -

I have several goals for Futureporn, as listed on the Goals page. A bunch of them have to do with increasing video playback performance, user interface design, but there’s a few that are pretty eccentric… Serving ProjektMelody VODs to Mars, for example!

- -

I hope this site is useful to all the Science Team!

- -
-
-

Futureporn needs financial support to continue improving. If you enjoy this website, please consider becoming a patron.

-
-
- -
-
-
- - ) -} \ No newline at end of file diff --git a/packages/next/app/blog/page.tsx b/packages/next/app/blog/page.tsx deleted file mode 100644 index 994e452..0000000 --- a/packages/next/app/blog/page.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import Link from 'next/link'; -import { siteUrl } from '@/lib/constants'; -import { IBlogPost } from '@/lib/blog'; - - -export default async function PostsPage() { - const res = await fetch(`${siteUrl}/api/blogs`); - const posts: IBlogPost[] = [ - { - id: 1, - slug: '2021-10-29-the-story-of-futureporn', - title: 'The Story Of Futureporn' - } - ] - - return ( -
-
- -

All Blog Posts

-
- -
- {posts.map((post: IBlogPost) => ( -
- -

> {post.title}

- -
- ))} -
-
-
- ); -} \ No newline at end of file diff --git a/packages/next/app/components/footer.tsx b/packages/next/app/components/footer.tsx index ff4431e..e51f679 100644 --- a/packages/next/app/components/footer.tsx +++ b/packages/next/app/components/footer.tsx @@ -25,7 +25,6 @@ export default function Footer() {
  • Tags
  • RSS Feed
  • API
  • -
  • Blog
  • Status
  • Upload
  • Profile
  • diff --git a/packages/next/app/components/pager.tsx b/packages/next/app/components/pager.tsx index 915d1b5..0d9db68 100644 --- a/packages/next/app/components/pager.tsx +++ b/packages/next/app/components/pager.tsx @@ -11,7 +11,7 @@ export default function Pager({ baseUrl, page, pageCount }: IPagerProps): React. const getPagePath = (page: any): string => { const pageNumber = parseInt(page); - console.log(`pageNumber=${pageNumber}`) + console.log(`pageNumber=${pageNumber}`); return `${baseUrl}/${pageNumber}`; }; diff --git a/packages/next/app/lib/blog.ts b/packages/next/app/lib/blog.ts deleted file mode 100644 index 222b7f6..0000000 --- a/packages/next/app/lib/blog.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface IBlogPost { - slug: string; - title: string; - id: number; -} \ No newline at end of file