5 ms·
SoulsOnly.tff – A font for humans not AI and keyboard firmware to type in it
- billtarbell 3mo agoEveryone rushing to make their content AI-friendly made me want to figure out how to make content AI-unfriendly. Basically human-written words meant for human eyes only. So I built "SoulsOnly.ttf": a font for humans not AI, and keyboard firmware to type in it. The implementation of a font can be "hacked" to make what looks like gobbledegook to a computer, render as legible to humans. Copying and pasting text written in the font into AI to summarize is almost impossible. And to avoid AI image analysis, a version of the font can be loaded with the glyphs scattered and require a simple "focus" interaction by the reader to begin reading. Note that a sufficiently prompted AI agent can definitely read this, so it's not meant to be cryptographically sound, more just unfriendly to the common AI reader!
- emschwartz 3mo agoHilarious. Nice work
- billtarbell 3mo agoThanks! Font against the machine! lol
- ncr100 3mo agolol
- pedrogpimenta 3mo agoI love this! But won't the machine easily pick up on this?
- cwnyth 3mo agoAs they said in the comment you replied to: "Note that a sufficiently prompted AI agent can definitely read this, so it's not meant to be cryptographically sound, more just unfriendly to the common AI reader!"
- billtarbell 3mo agoIt's actually not really easy for AI, without the agent doing some actual coding itself to reverse engineer the font file, or to take screenshots at different variable font intervals to zone in on the "focused" version of the variable font. All of that being said, the intention (beyond just having fun creating it) was to make it AI "unfriendly" so AI bots doing broad quick reads of it are going to be left with gobbledegook encoded characters.
- anon291 3mo agoMost llms can equally engage with text in picture form as text in token form. In fact my initial research on this (later corroborated by actual published papers) indicate that this is a cheap way to save on tokens.
- billtarbell 3mo agoOh interesting and good to know on the token savings with this technique. My test with claude had it use vision and then programmatically test different variable font input variables (mimicking the user scrub interaction) until it was able to OCR it.
- anon291 3mo agoI mean I can't know for sure but I'm pretty sure that by the time the upper layers of the network are reached the lower level networks have already transformed the image tiles into proper position encoded embeddings of the tokens in the words in the image. That would be my operating assumption at least.
- billtarbell 3mo agoThe encoded data and the font file go over the network. The font file is executed locally on the readers machine.
- anon291 3mo ago
- cwillu 3mo agoFuck blind people I guess?
- stronglikedan 3mo agoI don't know why you'd feel so hostile towards the blind, but you do you...
- coreyp_1 3mo agoThey meant that this is a technique that relies on a person's vision, which means that the blind, by definition, are being excluded. They weren't being hostile toward the blind, they were pointing out that the project itself is hostile towards the blind.
- billtarbell 3mo agoCertainly no. But point taken. This really isn't intended for use on a website like that, more a fun exploration of the difference between human and AI perception. That being said, I updated the project with an analogous audio experiment version for the unsighted.
- arplynn 3mo agoBreak search and screw over your disabled readers with this one weird trick! Legal in multiple countries
- billtarbell 3mo agoPoint taken. This really isn't intended for that, more a fun exploration of the difference between human and AI perception. That being said, I updated the project with an analogous audio version.
- cog-flex 3mo agoI truly lovely this as a conceptual exercise. However, I worry it will be easy for an agent to decompose. That said, well done.
- blahgeek 3mo agoReminds me of an anti-crawl mechanism I encountered some time ago in a financial data provider's website: for all numbers in the table, a special font is used where 0~9 are randomly rendered as different chars (e.g. '0' is rendered as 5, '1' is rendered as 8, etc.). The backend server returns the "encoded" chars, and is then correctly "decoded" by the font. The font changes after each reload. So humans always see the correct numbers, but when some crawler uses the HTML source, the numbers are incorrect.
- rao-v 3mo agoHow would a human copying/pasting a number work?
- rpastuszak 3mo agoIn my experience (PDF contract sent by a house seller), copy paste was broken. That said, after 15 minutes of gently massaging the PDF with claude, it was pretty easy to drop the substitutions and restore the original text.
- wongarsu 3mo agoThe proper way would be to set "user-select: none;" to prevent the user from copying. Annoying, but better than copying wrong info
- vips7L 3mo agoHilarious that Claude was used to make it.
- billtarbell 3mo agoLOL yeah, jokes on claude for helping me create something AI-unfriendly i guess!
- john_strinlai 3mo agoneat idea! it is slightly amusing to find "btarbell and claude committed 2 weeks ago" in an anti-ai project.
- ForHackernews 3mo agoturns out the master's tools will dismantle the master's house
- adampunk 3mo agoThat remains to be seen.
- billtarbell 3mo agoThanks and lol yeah regarding using claude for this. Didn't intend to come across as generally anti-AI, I'm just interested in exploring ways where we can connect person to person with a reasonable assumption that AI isn't intermediating our communication.