CC-BY-NC-SE 4.0 Created by Sasha Kurlyka for September 15, 2026 @ School of Commons
I don't think everybody needs to learn to program in general, and I don't think it's needed to make a web presence that supports, rather than distracts from, your work. To learn to program, especially web programming in 2026, is to still be a user of many black-box technologies. Instead, consider being a misuser/refuser.
Glitch is ... an active word, one that implies movement and change ... this movement triggers error. .. glitch as a form of nonperformace: the "failure to perform," an outright refusal. (Legacy Russell, Glitch Feminism)
These materials are for you to keep and use, if you want. You can right/option click, view source. You can read it - check if there are any trackers (look for 'google'). You can open developer tools and inspect the network: is the page talking to anything else? If you feel that you can trust it, you can save source as something.html; you can double click that or drag it into a browser to see it on your own computer.
There are the tools we'll use:
etherpad for collaborative reflection an discussion notesneocities.org if you want to publish your website; you can use neocities's own text editor, or your ownffmpeg for making documentation videos smaller while retainning some creative freedomInterested in learning more later? Understanding these technologies better can be productive for misuse/refusal. But for now, think of this as flipping through a long book, looking for ideas and inspirations.
...the truth is that grammar is always interesting, always useful. Mastering the logic of grammar contributes, in a mysterious way that again evokes some process of osmosis, to the logic of thought. - Francine Prose, Reading Like a Writer
You need somewhere to host your site. Testing locally, you can drag index.html into your browser tab. You can use a free service like neocities.org. The file should be named exactly "index.html." Right now, it can contain any text, for example, I will use: "TEXT ONLY HOME PAGE WORK SHOP."
The HT part of HTML means "hyper text" which mean links. That means both links going out, and links coming in.
<a href="page2.html">Go to page 2</a><a name="section1">I am heading 2!</a>The ML part of HTML means "markup language." A document is marked up using tags, most of which have an opening tag and a closing tag: marking up like using a highlighter, has to have a start and stop.
Each of the lines above looks like <marquee>text</marquee>. This tag was never officially part of HTML, and is strongly discouraged from being used at all, because of accessibility problems. It was added in the 1990s as a Microsoft proprietary browser animation. If the text above is animated in your browser, it is because that browser supports it for backwards-compatibility with legacy pages.
HTML is what you, as an author, write. Individual web browsers interpret it, so when you work in HTML, you are working with a/the browser as a medium. Web browsers prioritize backwards compatibility because "by default, documents on the Web are written for eternity."
Even in its own unofficial, near-universally disliked way, marquee was one of the few examples of animations in HTML. You can't mustn't animate or make things interactive in HTML.
To become an error is to surrender to becoming unknown, unrecognizable, unnamed. (Russell)
<div style=" display:block; position:absolute; width:100%; text-align:center; margin-top:-125px; filter:invert(1); font-size:100px; mix-blend-mode: difference; z-index:9999; ">❌</div>
Above is an example of an HTML div tag (a division, a generic container; visually needs CSS to describe it) with inline CSS. Rigth click on the emoji ❌ above, and use Develoepr Tools > Inspect to edit the CSS live to see what it does. Here is the Complete CSS Reference.
You can make things part of your document but invisible on the page with comment tags, like <!-- and -->. A user can still see this when they "view source." An AI crawler will see this, but may discard it without reading, but this is a potential way to communicate with machines (including in malicious ways, like AI crawler tarpits do) or with users who peek "behind the curtain." Image alt descriptiond and alt texts are also "invisible" but very much part of the intenional design of a webpage.
THIS IS DELIBERATELY MALICIOUS SOFTWARE INTENDED TO CAUSE HARMFUL ACTIVITY. DO NOT DEPLOY IF YOU AREN'T FULLY COMFORTABLE WITH WHAT YOU ARE DOING. -Nepenthes
Some things are definitely not text: a .zip file that is downloaded, or an image that is included in an HTML <img src='path/to/image.png'> tag.
.html file with UTF-8 encoding. Often available somewhereunder "Save as..."Not all characters are representable in Western (ISO 8859-3), falling back to UTF-8
(The above is what my text editor says when I try to save this file in not UTF-8; this file contains cyrillic.)
Here is an ASCII editor I am still working on for making layered not-quite-ASCII art. Viewed in the browser, the use of layer goes against one of the defining aspects of ASCII art. However, viewed in a text editor when editing that page, each layer is valid ASCII art.
...words are the raw material out of which literature is crafted (Prose)
Here's how to use developer tools and inspector to understand how a particular part of the page works:
<script> JavaScript snipper, try to read it.
Some algorithmic poetry to play with:
Here is the code for the spinners in the bullet lists on the page:
And here is the code for the spinners for the browser tab favicon, which is at the top of the document:
Which is to say, working with graphics, even when they are not image objects, requires learning a specialized toolset. It is not very legible on its own, and each toolset has a different flavor.
Below is an interactive web-based poem. Read it by (1) clicking (mouse); (2) turning on a screen reader and tabbing (keyboard); or (3) code inspection. Only through tabbing or code inspection is it possible to find the use of disorderliness and random selection. This randomization is accessibility guideline noncompliance for the artistic purpose of the work. WCAG requires that interactive works be fully operable with a keyboard alone (Success Criterion 2.1.1 Keyboard, Level A): if you can do it by mouse, you must be able to do it by tabbing, because screen readers, voice control, and switch devices all ride on the same underlying focus system. This poem does stay keyboard-operable, and uses aria-live regions to announce poem updates and completion, but its randomized focus also scrambles the predictability that guidelines like Success Criterion 2.4.3 Focus Order (Level AA) expect. The code indicates where this happens, so if you reuse it, you can decide on compliance. Finally, the poem is enclosed in a black-and-white dashed border, made with CSS, because the fences are sometimes white or white-and-black, not only yellow.
Other examples in my own work; I am interested in counterutilization of computing, rupture, refusal, corruption, and noncompliance.
Cmd+F5. Adjust verbosity in Settings > Accessibility > Spoken Content > Verbosity.Note: Using VoiceOver or NVDA while you make art is a way for you to understand the tools better - but it does not reflect how a screen reader user would use your work!
In. this document, I've used developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA roles; labels; and live regions. See especially the source of Order (2023).
Faithful documentation of text-only / text-ish work may still require a video.
But it feels strange to have a complex but tiny (less than 100KB) actual work, with enormous filesizes of the documentation! So I'll try to make the case that using command line (on any OS) with ffmpeg is possible and useful and maybe even inspiring. This is a free open-source project; about it, Drew DeVault writes:
ffmpeg is one of the foremost pillars of achievement in free software. It has touched the lives of every reader, whether they know it or not. If you’ve ever watched TV, or gone to a movie, or watched videos online, or listened to a podcast, odds are that ffmpeg was involved in making it possible. It is one of the most well-executed and important software projects of all time.
Starter cookbook for using ffmpeg in your documentaiton process:
ffmpeg -ss 00:01:23.456 -i input.mov -frames:v 1 frame.pngffmpeg -i input.mov -c:v libx264 -crf 23 -preset slow -c:a copy output.mov ffmpeg -i input.mov -c:v libx264 -crf 23 -preset slow -vf fps=10 -c:a copy output.movffmpeg -i input2.mov -c:v libx264 -crf 30 -preset veryslow -vf fps=10,scale=-2:480 -c:a aac -b:a 96k output.movffmpeg -i output.mov -i output2.mov -filter_complex \
"[0:v]scale=720:480:force_original_aspect_ratio=decrease,pad=720:480:(ow-iw)/2:(oh-ih)/2,setsar=1[v0]; \
[1:v]scale=720:480:force_original_aspect_ratio=decrease,pad=720:480:(ow-iw)/2:(oh-ih)/2,setsar=1[v1]; \
[v0][v1]concat=n=2:v=1:a=0[cat];[cat]pad=iw+16:ih+16:8:8:color=black[v]" \
-map "[v]" -c:v libx264 -crf 23 -preset slow -an stitched.movWith so much reading ahead of you, the temptation might be to speed up. But in fact it’s essential to slow down and read every word. Because one important thing that can be learned by reading slowly is the seemingly obvious but oddly underappreciated fact that language is the medium we use in much the same way a composer uses notes, the way a painter uses paint. (Francine Prose, Reading Like a Writer)