this post was submitted on 03 Aug 2024
1069 points (99.1% liked)

Programmer Humor

32571 readers
154 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
1069
submitted 3 months ago* (last edited 3 months ago) by sag@lemm.ee to c/programmerhumor@lemmy.ml
 
you are viewing a single comment's thread
view the rest of the comments
[–] lord_ryvan@ttrpg.network 5 points 3 months ago* (last edited 3 months ago) (3 children)

You dropped this \

Short explanation: Type ¯\\\_(ツ)\_/¯ to see ¯\_(ツ)_/¯.

Long expanation: Lemmy supports formatting, like _italic_ becomes italic. To stop this from happening, you can put a \ before it like \_; the \ isn't shown. This is why ¯\_(ツ)_/¯ becomes ¯_(ツ)_/¯. To show a \ you need an additional \ like so: \\, and to make sure _ is shown and not turned into italic, it too needs \. This is why ¯\\\_(ツ)\_/¯ becomes ¯\_(ツ)_/¯

[–] AnUnusualRelic@lemmy.world 2 points 3 months ago

The backslash is known as an escape character in this context, because it removes (escapes) the special meaning of the following character.

It's also used that way in most Unix shells.

[–] ulterno@lemmy.kde.social 1 points 3 months ago* (last edited 3 months ago)

Alternatively, you can just use the `` enclosure, used for single line code.
That is a "grave accent" or a ""backtick", the key you will find on the left of the '1' key and under the 'Esc' key on a standard (ISO, maybe) 104/105 key qwerty keyboard.

[–] theneverfox@pawb.social 1 points 3 months ago (1 children)

I'm sorry, I have no idea what you're talking about. Could you explain it in assembly?

[–] lord_ryvan@ttrpg.network 5 points 3 months ago* (last edited 3 months ago) (1 children)
global _main
    extern  _GetStdHandle@4
    extern  _WriteFile@20
    extern  _ExitProcess@4

    section .text
_main:
    ; DWORD  bytes;    
    mov     ebp, esp
    sub     esp, 4

    ; hStdOut = GetstdHandle( STD_OUTPUT_HANDLE)
    push    -11
    call    _GetStdHandle@4
    mov     ebx, eax    

    ; WriteFile( hstdOut, message, length(message), &bytes, 0);
    push    0
    lea     eax, [ebp-4]
    push    eax
    push    (message_end - message)
    push    message
    push    ebx
    call    _WriteFile@20

    ; ExitProcess(0)
    push    0
    call    _ExitProcess@4

    ; never here
    hlt
message:
    db      '¯\\\_(ツ)\_/¯', 10
message_end:
[–] lightscription@lemmy.world 1 points 3 months ago* (last edited 3 months ago)

Do you want to show us what that looks like in assembly, ASCII from machine code? ...ha, ha, ha, no!

Depends on the device, I know. Such a pain without the higher level languages.

What would it look like for ARM android touch screens? Just for one character...

But if some characters go missing or are exchanged for others for no discernable reason, then might that be an exploit on a EC or assembly level?