diff --git a/sosoft/card-back.html b/sosoft/card-back.html new file mode 100644 index 000000000..62d16e98c --- /dev/null +++ b/sosoft/card-back.html @@ -0,0 +1,93 @@ + + + + + + + +
+
+
Jeffrey Alan Scudder
+
prompt
+
2026
+
aesthetic.computer
+
+
+ + diff --git a/sosoft/card-front.html b/sosoft/card-front.html new file mode 100644 index 000000000..f6ea877ee --- /dev/null +++ b/sosoft/card-front.html @@ -0,0 +1,100 @@ + + + + + + + +
+
+
Type a word into a computer.
+
Press enter.
+
Show someone what appears.
+
+
+ + diff --git a/sosoft/card.pdf b/sosoft/card.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c6148f532b571e9ba1ee2192efdbb225b9789d35 GIT binary patch literal 8322 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 literal 0 HcmV?d00001 diff --git a/sosoft/card.tex b/sosoft/card.tex new file mode 100644 index 000000000..3fa618705 --- /dev/null +++ b/sosoft/card.tex @@ -0,0 +1,161 @@ +% sosoft-card.tex — Score for Social Software deck card +% Jeffrey Alan Scudder — "$roz" (KidLisp program as score) +% Card size: 2.75in × 4.75in (70mm × 120mm) +% Full-color KidLisp syntax highlighting (light mode palette) +% +% Build: cd sosoft && xelatex card.tex + +\documentclass[12pt]{article} +\usepackage[ + paperwidth=2.75in, + paperheight=4.75in, + top=0.375in, + bottom=0.375in, + left=0.35in, + right=0.35in, +]{geometry} +\usepackage{fontspec} +\usepackage{xcolor} +\usepackage{tikz} +\usepackage{listings} +\usepackage{setspace} +\usepackage{graphicx} + +\pagestyle{empty} + +% === FONTS === +\newfontfamily\acbold{ywft-processing-bold}[ + Path=../system/public/type/webfonts/, + Extension=.ttf +] +\newfontfamily\aclight{ywft-processing-light}[ + Path=../system/public/type/webfonts/, + Extension=.ttf +] +\setmonofont{Nimbus Mono PS} + +% === KidLisp light-mode palette (from LIGHT_MODE_COLOR_MAP) === +\definecolor{ink}{RGB}{0,0,0} +\definecolor{faint}{RGB}{140,140,140} +\definecolor{klfn}{HTML}{0099cc} % functions: cyan (light mode) +\definecolor{klform}{HTML}{cc00cc} % special forms: magenta (light mode) +\definecolor{klnum}{HTML}{cc0066} % numbers: pink (light mode) +\definecolor{klident}{HTML}{cc6600} % identifiers: orange (light mode) +\definecolor{klgreen}{HTML}{2e8b57} % fade/mediumseagreen (light mode) +\definecolor{klmath}{HTML}{00aa00} % math ops: lime (light mode) +\definecolor{klcmt}{HTML}{666666} % comments: gray (light mode) +% Paren rainbow (depth 0-7) +\definecolor{p0}{RGB}{255,100,100} % red-ish +\definecolor{p1}{RGB}{255,180,100} % orange-ish +\definecolor{p2}{RGB}{255,255,100} % yellow-ish +\definecolor{p3}{RGB}{100,255,100} % green-ish +\definecolor{p4}{RGB}{100,200,255} % cyan-ish +\definecolor{p5}{RGB}{150,150,255} % blue-ish +\definecolor{p6}{RGB}{200,100,255} % purple-ish +% CSS color names used in $roz (their actual values) +\definecolor{klred}{RGB}{255,0,0} +\definecolor{klblue}{RGB}{0,0,255} +\definecolor{klblack}{RGB}{0,0,0} +\definecolor{klcyan}{RGB}{0,200,200} % darkened for white bg +\definecolor{klyellow}{HTML}{cc9900} % darkened for white bg +\definecolor{klmagenta}{RGB}{200,0,200} +\definecolor{klwhite}{RGB}{180,180,180} % visible on white bg +% Rainbow per-character colors (from RAINBOW_COLORS) +\definecolor{rb0}{HTML}{ff0000} % r - red +\definecolor{rb1}{HTML}{ff7f00} % a - orange +\definecolor{rb2}{HTML}{ffff00} % i - yellow +\definecolor{rb3}{HTML}{00ff00} % n - green +\definecolor{rb4}{HTML}{0000ff} % b - blue +\definecolor{rb5}{HTML}{4b0082} % o - indigo +\definecolor{rb6}{HTML}{9400d3} % w - violet + +% === Manual highlighting (listings can't do KidLisp's semantic coloring) === +% We'll use lstlisting with escapechar to manually color tokens + +\lstdefinestyle{kidlisp-card}{ + basicstyle=\ttfamily\fontsize{6.5pt}{11.5pt}\selectfont\color{ink}, + breaklines=false, + frame=none, + xleftmargin=0pt, + aboveskip=0pt, + belowskip=0pt, + columns=fixed, + keepspaces=true, + showstringspaces=false, + escapechar=|, +} + +% Shorthand macros for coloring +\newcommand{\fn}[1]{{\color{klfn}\textbf{#1}}} +\newcommand{\xf}[1]{{\color{klfn}#1}} +\newcommand{\nm}[1]{{\color{klnum}#1}} +\newcommand{\id}[1]{{\color{klident}#1}} +\newcommand{\cn}[2]{{\color{#1}#2}} +\newcommand{\pr}[2]{{\color{#1}#2}} + +\begin{document} + +% ============================================================ +% FRONT — The Score +% ============================================================ + +\begin{tikzpicture}[remember picture, overlay] + \draw[ink, line width=0.4pt] + ([xshift=0.15in, yshift=-0.15in]current page.north west) + rectangle + ([xshift=-0.15in, yshift=0.15in]current page.south east); +\end{tikzpicture} + +\vspace*{\fill} + +% Shadow macro with inverse color: #1=shadow color, #2=content +% Shadow is offset 0.35pt down-right in the specified shadow color at 30% opacity +\newcommand{\sh}[2]{% + \setbox0=\hbox{#2}% + \rlap{\raisebox{-0.35pt}{\hspace{0.35pt}{\color{#1!30}\copy0}}}% + \box0% +} +% Per-character rainbow word macro +\newcommand{\rbow}{% + \sh{rb4}{\color{rb0}r}% + \sh{rb5}{\color{rb1}a}% + \sh{rb6}{\color{rb2}i}% + \sh{rb0}{\color{rb3}n}% + \sh{rb1}{\color{rb4}b}% + \sh{rb2}{\color{rb5}o}% + \sh{rb3}{\color{rb6}w}% +} + +\begin{lstlisting}[style=kidlisp-card] +|\sh{klred}{\cn{klgreen}{fade}}|:|\sh{klcyan}{\cn{klred}{red}}|-|\sh{klyellow}{\cn{klblue}{blue}}|-|\sh{klwhite}{\cn{klblack}{black}}|-|\sh{klyellow}{\cn{klblue}{blue}}|-|\sh{klcyan}{\cn{klred}{red}}| +|\sh{klnum}{\fn{ink}}| |\sh{p4}{\pr{p0}{(}}||\sh{klnum}{\fn{?}}| |\rbow| |\sh{ink}{\cn{klwhite}{white}}| |\sh{klfn}{\nm{0}}||\sh{p4}{\pr{p0}{)}}| |\sh{p4}{\pr{p0}{(}}||\sh{klfn}{\nm{1s}}|... |\sh{klfn}{\nm{24}}| |\sh{klfn}{\nm{64}}||\sh{p4}{\pr{p0}{)}}| +|\sh{klnum}{\fn{line}}| |\sh{klnum}{\id{w}}|/|\sh{klfn}{\nm{2}}| |\sh{klfn}{\nm{0}}| |\sh{klnum}{\id{w}}|/|\sh{klfn}{\nm{2}}| |\sh{klnum}{\id{h}}| +|\sh{p4}{\pr{p0}{(}}||\sh{klnum}{\xf{spin}}| |\sh{p4}{\pr{p1}{(}}||\sh{klfn}{\nm{2s}}|... |\sh{klfn}{\nm{-1.125}}| |\sh{klfn}{\nm{1.125}}||\sh{p4}{\pr{p1}{)}}||\sh{p4}{\pr{p0}{)}}| |\sh{p4}{\pr{p0}{(}}||\sh{klnum}{\xf{zoom}}| |\sh{klfn}{\nm{1.1}}||\sh{p4}{\pr{p0}{)}}| +|\sh{p4}{\pr{p0}{(}}||\sh{klfn}{\nm{0.5s}}| |\sh{p4}{\pr{p1}{(}}||\sh{klnum}{\xf{contrast}}| |\sh{klfn}{\nm{1.05}}||\sh{p4}{\pr{p1}{)}}||\sh{p4}{\pr{p0}{)}}| +|\sh{p4}{\pr{p0}{(}}||\sh{klnum}{\xf{scroll}}| |\sh{p4}{\pr{p1}{(}}||\sh{klnum}{\fn{?}}| |\sh{klfn}{\nm{-0.1}}| |\sh{klfn}{\nm{0}}| |\sh{klfn}{\nm{0.1}}||\sh{p4}{\pr{p1}{)}}| |\sh{p4}{\pr{p1}{(}}||\sh{klnum}{\fn{?}}| |\sh{klfn}{\nm{-0.1}}| |\sh{klfn}{\nm{0}}| |\sh{klfn}{\nm{0.1}}||\sh{p4}{\pr{p1}{)}}||\sh{p4}{\pr{p0}{)}}| +|\sh{klnum}{\fn{ink}}| |\sh{p4}{\pr{p0}{(}}||\sh{klnum}{\fn{?}}| |\sh{klred}{\cn{klcyan}{cyan}}| |\sh{klblue}{\cn{klyellow}{yellow}}| |\sh{klgreen}{\cn{klmagenta}{magenta}}||\sh{p4}{\pr{p0}{)}}| |\sh{klfn}{\nm{8}}| +|\sh{klnum}{\fn{circle}}| |\sh{klnum}{\id{w}}|/|\sh{klfn}{\nm{2}}| |\sh{klnum}{\id{h}}|/|\sh{klfn}{\nm{2}}| |\sh{p4}{\pr{p0}{(}}||\sh{klnum}{\fn{?}}| |\sh{klfn}{\nm{2}}| |\sh{klfn}{\nm{4}}| |\sh{klfn}{\nm{8}}||\sh{p4}{\pr{p0}{)}}| +\end{lstlisting} + +\vspace*{\fill} + +% QR code + label in bottom-right corner (KidLisp style) +\begin{tikzpicture}[remember picture, overlay] + % $roz label (white on black, minimal padding, just above QR) + \node[anchor=south east, inner sep=0pt] + at ([xshift=-0.2in, yshift=0.7in]current page.south east) + {\colorbox{black}{% + \rule[-1pt]{0pt}{6.5pt}% + \kern-1pt{\ttfamily\fontsize{7.5pt}{7.5pt}\selectfont\color{white}\$roz}\kern-0.5pt% + }}; + % Gray offset hard shadow (2pt down-right only) + \node[anchor=south east, inner sep=1pt, fill=black!60] + at ([xshift=-0.18in, yshift=0.18in]current page.south east) + {\rule{0.48in}{0.48in}}; + % White QR container flush with bottom-right corner + \node[anchor=south east, inner sep=1pt, fill=white] + at ([xshift=-0.2in, yshift=0.2in]current page.south east) + {\includegraphics[width=0.48in]{qr-roz.eps}}; +\end{tikzpicture} + +\end{document} diff --git a/sosoft/qr-roz.eps b/sosoft/qr-roz.eps new file mode 100644 index 000000000..5d79ade9d --- /dev/null +++ b/sosoft/qr-roz.eps @@ -0,0 +1,14 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%BoundingBox: 0 0 75 75 +%%Pages: 1 1 +%%EndComments +/p { moveto 0 1 rlineto 1 0 rlineto 0 -1 rlineto fill } bind def +gsave +1.000000 1.000000 1.000000 setrgbcolor +75 75 scale +0 0 p +grestore +0.000000 0.000000 0.000000 setrgbcolor +3 3 scale +0 24 p 1 24 p 2 24 p 3 24 p 4 24 p 5 24 p 6 24 p 8 24 p 10 24 p 14 24 p 16 24 p 18 24 p 19 24 p 20 24 p 21 24 p 22 24 p 23 24 p 24 24 p 0 23 p 6 23 p 9 23 p 10 23 p 12 23 p 16 23 p 18 23 p 24 23 p 0 22 p 2 22 p 3 22 p 4 22 p 6 22 p 9 22 p 11 22 p 12 22 p 13 22 p 16 22 p 18 22 p 20 22 p 21 22 p 22 22 p 24 22 p 0 21 p 2 21 p 3 21 p 4 21 p 6 21 p 9 21 p 13 21 p 16 21 p 18 21 p 20 21 p 21 21 p 22 21 p 24 21 p 0 20 p 2 20 p 3 20 p 4 20 p 6 20 p 10 20 p 14 20 p 16 20 p 18 20 p 20 20 p 21 20 p 22 20 p 24 20 p 0 19 p 6 19 p 9 19 p 10 19 p 11 19 p 12 19 p 13 19 p 18 19 p 24 19 p 0 18 p 1 18 p 2 18 p 3 18 p 4 18 p 5 18 p 6 18 p 8 18 p 10 18 p 12 18 p 14 18 p 16 18 p 18 18 p 19 18 p 20 18 p 21 18 p 22 18 p 23 18 p 24 18 p 8 17 p 13 17 p 0 16 p 1 16 p 3 16 p 4 16 p 6 16 p 9 16 p 10 16 p 12 16 p 14 16 p 16 16 p 18 16 p 24 16 p 1 15 p 2 15 p 5 15 p 7 15 p 8 15 p 9 15 p 10 15 p 11 15 p 12 15 p 13 15 p 14 15 p 15 15 p 19 15 p 20 15 p 21 15 p 22 15 p 23 15 p 0 14 p 1 14 p 3 14 p 4 14 p 5 14 p 6 14 p 7 14 p 8 14 p 10 14 p 11 14 p 13 14 p 15 14 p 18 14 p 19 14 p 20 14 p 21 14 p 24 14 p 0 13 p 2 13 p 7 13 p 9 13 p 10 13 p 14 13 p 18 13 p 21 13 p 22 13 p 23 13 p 24 13 p 4 12 p 5 12 p 6 12 p 7 12 p 8 12 p 9 12 p 12 12 p 15 12 p 18 12 p 19 12 p 24 12 p 0 11 p 2 11 p 4 11 p 11 11 p 12 11 p 14 11 p 15 11 p 16 11 p 17 11 p 20 11 p 23 11 p 0 10 p 1 10 p 3 10 p 4 10 p 6 10 p 10 10 p 12 10 p 13 10 p 14 10 p 15 10 p 18 10 p 20 10 p 21 10 p 22 10 p 23 10 p 24 10 p 0 9 p 3 9 p 4 9 p 5 9 p 7 9 p 9 9 p 10 9 p 11 9 p 12 9 p 17 9 p 19 9 p 21 9 p 22 9 p 24 9 p 0 8 p 2 8 p 5 8 p 6 8 p 7 8 p 8 8 p 10 8 p 11 8 p 13 8 p 15 8 p 16 8 p 17 8 p 18 8 p 19 8 p 20 8 p 22 8 p 23 8 p 8 7 p 9 7 p 10 7 p 14 7 p 16 7 p 20 7 p 22 7 p 23 7 p 0 6 p 1 6 p 2 6 p 3 6 p 4 6 p 5 6 p 6 6 p 11 6 p 13 6 p 14 6 p 16 6 p 18 6 p 20 6 p 24 6 p 0 5 p 6 5 p 9 5 p 13 5 p 14 5 p 15 5 p 16 5 p 20 5 p 23 5 p 0 4 p 2 4 p 3 4 p 4 4 p 6 4 p 8 4 p 9 4 p 12 4 p 14 4 p 15 4 p 16 4 p 17 4 p 18 4 p 19 4 p 20 4 p 23 4 p 0 3 p 2 3 p 3 3 p 4 3 p 6 3 p 8 3 p 10 3 p 11 3 p 16 3 p 17 3 p 18 3 p 23 3 p 24 3 p 0 2 p 2 2 p 3 2 p 4 2 p 6 2 p 11 2 p 12 2 p 15 2 p 16 2 p 20 2 p 21 2 p 22 2 p 23 2 p 24 2 p 0 1 p 6 1 p 8 1 p 9 1 p 11 1 p 14 1 p 18 1 p 19 1 p 20 1 p 22 1 p 23 1 p 24 1 p 0 0 p 1 0 p 2 0 p 3 0 p 4 0 p 5 0 p 6 0 p 8 0 p 10 0 p 11 0 p 16 0 p 17 0 p 18 0 p 21 0 p 24 0 p +%%EOF