Quartz sync: Nov 4, 2023, 12:23 PM

This commit is contained in:
bfahrenfort 2023-11-04 12:23:25 -05:00
parent 55ae3f0459
commit 91c86d21b3
2 changed files with 28 additions and 15 deletions

View File

@ -0,0 +1,12 @@
---
title: Why Training Generative AI Constitutes Copyright Infringement
tags:
- essay
- seedling
- ai
date: 2023-11-04
draft: true
---
Quick reiteration: **This site contains my own opinion in a personal capacity, and is not legal advice, nor is it representative of anyone else's opinion.**
I've seen a few news articles and opinion pieces recently that support training generative AI and LLMs on the broader internet as well as more traditional copyrighted works, without respect to the copyright holders for all of the above.

View File

@ -1,3 +1,6 @@
// Remark42 comments for Quartz
// v1.1
import { QuartzTransformerPlugin } from "../types"
// Configuration documented at https://remark42.com/docs/configuration/frontend/
@ -20,37 +23,35 @@ export const Remark42: QuartzTransformerPlugin<Options> = (opts?: Options) => {
var scripts = new Array<any>()
// Put the config into window scope
var configAsString : string = "var remark_config={"
for(const key in opts)
{
var configAsString: string = "var remark_config={"
for (const key in opts) {
let value = opts[key as keyof Options] // Fucked
configAsString += key + ":" + "'" + value + "'," // Turbo fucked
}
configAsString += "}"
scripts.push({script:configAsString, loadTime: "afterDOMReady", contentType: "inline"})
scripts.push({ script: configAsString, loadTime: "afterDOMReady", contentType: "inline" })
// Modify the config based on the client sided theme
const dynamicTheme : string = `remark_config.theme = document.documentElement.getAttribute('saved-theme')`
scripts.push({script:dynamicTheme, loadTime: "afterDOMReady", contentType: "inline"})
const dynamicTheme: string = `remark_config.theme = document.documentElement.getAttribute('saved-theme')`
scripts.push({ script: dynamicTheme, loadTime: "afterDOMReady", contentType: "inline" })
// Put the embeddable components into window scope
function getComment(e : Array<String>) {
for (var o = 0; o < e.length; o++)
{
function getComment(e: Array<String>) {
for (var o = 0; o < e.length; o++) {
var src = opts?.host + '/web/' + e[o] + '.js'
scripts.push({src: src, loadTime: "afterDOMReady", contentType: "external",})
scripts.push({ src: src, loadTime: "afterDOMReady", contentType: "external", })
}
}
getComment(opts?.components || ["embed"])
// Allow SPA mode
const spaRouting : string = `
const spaRouting: string = `
function initRemark42() {
if (window.REMARK42) {
if (this.remark42Instance) {
this.remark42Instance.destroy()
}
remark_config['url'] = window.location.origin + window.location.pathname
this.remark42Instance = window.REMARK42.createInstance(remark_config)
}
}
@ -59,7 +60,7 @@ export const Remark42: QuartzTransformerPlugin<Options> = (opts?: Options) => {
this.initRemark42()
})
`
scripts.push({script:spaRouting, loadTime:"afterDOMReady", contentType:"inline"})
scripts.push({ script: spaRouting, loadTime: "afterDOMReady", contentType: "inline" })
return {
name: "Remark42",