Live data from Hacker News

Show HN: I made a Chrome extension to reveal zero-width characters

github.com

51–60 of 99 posts

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#51
post #27

Earlier quoted context omitted.

> ... the "natural state" is one where word-of-mouth and first-hand accounts are the most authoritative evidence we can have (other than physical evidence like DNA left behind) First-hand accounts aren't always reliable. https://en.wikipedia.org/wiki/Eyewitness_testimony

Neither is DNA for that matter. https://www.theatlantic.com/magazine/archive/2016/06/a-reaso...

DNA is pretty ironclad. What that article shows is that people in authoritative positions are fallible.

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#52

Earlier quoted context omitted.

You made that word up!

All words are made up so that's ok.

>All words are made up so that's ok.

Not really, JFYI ;):

http://www.marriedtothesea.com/030807/dictionary.gif

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#53

A bit tangential, here's a few unix utils you can use to inspect text: `vis`: display non-printable characters in a visual format `cat -e`: Display non-printing characters and display a dollar sign (`$') at the end of each line. `hexdump -c`: Display the input offset in hexadecimal, followed by sixteen space-separated, three column, space-filled, characters of input data per line. `od -a`: Output named characters.

Ooh! I adore `od`, and know too many options for it. But I didn't know about the others. Thanks!

I'll also add my favorite companion to `od` and hexdumps: `man ascii`.

P.S. May we please have a basic Markdown parser for HN?

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#54
post #48

Earlier quoted context omitted.

what is cat-v.org? (Obviously I visited that link, read the about page - I'm asking for your summary. it's still not clear to me after my initial visit.)

I'm sure there are better people to answer this question, but cat-v.org is the personal blog & collection of interesting stuff by former plan9 personality uriel (sadly no longer with us). It hosts random thoughts and lots of interesting stuff (including man pages) about plan9 and early unix systems, and miscellaneous other unix trivia. It really is a treasure. Take the time to browse, it's well worth it if you're som…

Thank you, I found your summary helpful and yes I will look through it.

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#55

The project is clearly motivated by Be careful what you copy: Invisibly inserting usernames into text [0] (posted 12 hours ago on HN), and many people here might think zero-width characters (or rather, any esoteric Unicode characters) are the only (or the prominent) way to watermark texts, which is wrong. The whole topic - watermarking - is worth at the very least a lengthy blog post, and maybe even several articles,…

Excellent list. For completion's sake, I'd include intentional typos as an instance of category 5. This can be hard to catch if the typo is in a name. A logical extension of that would be entirely made-up names for non-essential people/places. At the age of 5, Hawking visited Oxford, incidentally passing through Fakenamingham-on-Watermarkshire. Dictionaries/encyclopedias have been known to insert entirely fake entrie…

>Dictionaries/encyclopedias have been known to insert entirely fake entries as a way of proving ownership.

Just like non-existing places/roads on maps, so-called "trap-streets":

https://en.wikipedia.org/wiki/Trap_street

and similar:

https://en.wikipedia.org/wiki/Agloe,_New_York

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#56
post #20
post #11

OP, does this mess up ZWJ emoji (like any of the skin-tone-modified emoji)?

Sorry I'm afraid I don't understand the question.

It's how a lot of newer emoji work.

Suppose, for example, that you want the emoji "Man Facepalming Medium Skin Tone". There is no single Unicode code point for that. Instead, it uses five code points:

    U+1F926 FACE PALM
    U+1F3FD EMOJI MODIFIER FITZPATRICK TYPE-4
    U+200D ZERO WIDTH JOINER
    U+2642 MALE SIGN
    U+FE0F VARIATION SELECTOR-16
The first two compose to make the "facepalm" with desired skin tone. The last two make "man". The zero-width joiner composes the first two and last two together, so that the whole sequence renders as a single emoji.

Here's a list of emoji which use the ZWJ this way:

https://emojipedia.org/emoji-zwj-sequences/

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#58
Have you thought about revealing things like non-breaking space, thin space, hair space, and so on? I think at least Fecebutt replaces non-breaking spaces with regular spaces in comments, perhaps precisely to frustrate such steganography. (Ironically, last I recall, they do preserve the difference between double and single spaces, e.g. after periods, which is even more invisible in HTML.)

I second the recommendations of vis, cat -e (or cat -vte), and od -a. I didn't know about hexdump; I always used xxd.

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#59
post #22
post #20

Earlier quoted context omitted.

Sorry I'm afraid I don't understand the question.

It's a pretty obscure edge case. You could retain ZWJs when they were between two Unicode points with the Symbol or Emoji Symbol classes, but on further reflection, it would probably be more honest to just strip the ZWJs everywhere and decompose the emojis. EDIT: also what jedanbik said

Hardly obscure. ZWJ emoji sequences are really common now.

Re: Show HN: I made a Chrome extension to reveal zero-width characters

#60

Anything like this for VSCode? Just adding option-space accidentally in a ruby file (after an `end`) will cause ruby to explode and not tell you anything. Randomly deleting code until it runs was my only fix.

There is an extension called Highlight Bad Chars. I installed it after reading this
Post reply on HN