Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Participants: Hannah Ackermans * Julianne Aguilar * Bo An * Katie Anagnostou * Joanne Armitage * Lucas Bang * Alanna Bartolini * David M. Berry * Lillian-Yvonne Bertram * Elisa Beshero-Bondar * Briana Bettin * Sayan Bhattacharyya * Avery Blankenship * Gregory Bringman * Tatiana Bryant * Zara Burton * Evan Buswell * Ashleigh Cassemere-Stanfield * Angela Chang * Prashant Chauhan * Lia Coleman * Chris Coleman * Bill Condee * Nicole Cote * Christina Cuneo * Pierre Depaz * Ranjodh Dhaliwal * Samuel DiBella * Quinn Dombrowski * Kevin Driscoll * Brandee Easter * Jeffrey Edgington * Zoelle Egner * Tristan Espinoza * Teodora Sinziana Fartan * Meredith finkelstein * luke fischbeck * Cyril Focht * Cassidy Fuller * Erika Fülöp * gripp gillson * Alice Goldfarb * Jan Grant * Sarah Groff Hennigh-Palermo * Saksham Gupta * MARIO GUZMAN * Gottfried Haider * Rob Hammond * Nabil Hassein * Diogo Henriques * Gui Heurich * Kate Hollenbach * Stefka Hristova * Bryce Jackson * Dennis Jerz * Joey Jones * Amy Kintner * Corinna Kirsch * Harris Kornstein * Julia Kott * Rishav Kundu * Karios Kurav * Cherrie Kwok * Sarah Laiola * RYAN LEACH * Rachael Lee * Kristen Lillvis * Elizabeth Losh * Jiaqi LU * Megan Ma * Emily Maemura * ASHIK MAHMUD * Felipe Mammoli * Mariana Marangoni * Terhi Marttila * Daniel McCafferty * Christopher McGuinness * Alex McLean * Chandler McWilliams * Todd Millstein * Achala Mishra * Mami Mizushina * Nick Montfort * Molly Morin * Gutierrez Nicholaus * Matt Nish-Lapidus * Michael Nixon * Mace Ojala * Steven Oscherwitz * Delfina Pandiani * Stefano Penge * Megan Perram * Gesina Phillips * Tanner Poling * Julia Polyck-O’Neill * Ben Potter * Amit Ray * Katrina Rbeiz * Jake Reber * Thorsten Ries * Giulia Carla Rossi * Barry Rountree * Warren Sack * samara sallam * Mark Sample * Perla Sasson-Henry * zehra sayed * Carly Schnitzler * Ushnish Sengupta * Lyle Skains * Andrew Smith * Rory Solomon * S. Hayley Steele * Samara Steele * Nikki Stevens * Daniel Temkin * Anna Tito * Lesia Tkacz * Fereshteh Toosi * Nicholas Travaglini * Paige Treebridge * Paige Treebridge * Álvaro Triana Sánchez * Lee Tusman * Natalia + Meow Tyshkevich + Kilo * Annette Vee * Malena Velarde * Dan Verständig * Yohanna Waliya * Samantha Walkow * Josephine Walwema * Shu Wan * Biyi Wen * Zach Whalen * Mark Wolff * Christine Woody * kathy wu * Katherine Yang * Shuyi Yin * Nikoleta Zampaki * Hongwei Zhou
Coordinated by Mark Marino (USC), Jeremy Douglass (UCSB), Sarah Ciston (USC), and Zach Mann (USC). Sponsored by the Humanities and Critical Code Studies Lab (USC), and the Digital Arts and Humanities Commons (UCSB).

emoji as asymmetries, playful data structure (2022 Code Critique)

Title: Asymmetrical Emoticon
Author: Biyi Wen
Language: No language, concept only
Year: 2021


In context of a data structure class, there is a method to tell if there are balancing brackets in a string. Similarly, the method can be applied to tell if a word is a palindrome.

I use the metaphor of a stack of plates to understand this structure. I have a handful of plates, each to represent a character. I count the plates and see if they are even or odd. In the example I've drawn, the emoji (0_0) is odd numbered, consisted of five chars. Like stacking plates, I stack the plates one by one upon each other, until the one in the very middle. I remove the one on the middle and start my comparing process. I check: the chars are matching! I remove the plate on the top; I continue to check, the chars are matching again, I remove the plate on the top. If the (0_0) is symmetrical, the plate stack will be empty.




A handful of questions arise when critically examining this concept. As a method, it is intended to yield binary results: a string of characters can either pass the test, or not pass the test. The following are the emojis I gathered that are more nuanced than the one appeared in the example, and I see them challenging the either/or narrative. Faces (let's make this scope of mammals, because there are emojis of animal faces) are not symmetrical. The "eyebrows" of (=•́ܫ•̀=) tilts, expressing a nuanced expression. How do we see the possibility to queer? Do we see qualities that are specific to the culture of emoticons? Another question also arose when I started to think of how visually faces are perceived and processed by humans. Having undergone learning experiences, humans are able to register if a face is roughly symmetrical. The difference between how humans think, and how the computer program makes decisions, provides a space of queering.

I've been too lazy to implement the program. It has some possibilities - I was thinking that machine learning can be used as a queering method for the concept. Here to initiate the discussion.

Emoticon examples:

┻━┻︵ (°□°)/ ︵ ┻━┻

ฅ ̳͒•ˑ̫• ̳͒ฅ

(=•́ܫ•̀=)

Comments

  • :) I see that the scratch work on the board doesn't match how I defined odd and even in the text. One starts the counting at 0, the other starts at 1.

  • edited January 18

    I think one of the challenges you may face is that emojis like this are often made of characters that are graphemes, multiple characters in memory rendered as a single character. In this case traversing the string like an array of characters can have issues as the information for a single grapheme may be stored in multiple slots. This is an issue that occurs when processing strings outside of english as many of the characters that exist outside of the latin alphabet are actually graphemes. In languages like C# you have TextElementEnumerator which can manage graphemes but it depends a lot on what coding language you would use to build it. To check for the palindrome aspect you could also do a reverse and compare.

    Edit: Added Code snippet for a reverse compare that supports graphemes in C#

        string original = "ฅ ̳͒•ˑ̫• ̳͒ฅ";
    
        TextElementEnumerator enumerator = StringInfo.GetTextElementEnumerator(original);
    
        List<string> elements = new List<string>();
    
        while (enumerator.MoveNext())
        {
            elements.Add(enumerator.GetTextElement());
        }
    
        elements.Reverse();
        string reversed = string.Concat(elements);
    
        if( string.Compare(original, reversed) == 0)
        {
            //Do something with the palindrome
        }
        else
        {
            //string is Asymetrical
        }
    
  • Thank you for the interesting concept, Biyi!
    I don't really have any answers, but I do have a few questions and thoughts.

    "How do we see the possibility to queer?"

    What do you mean by "to queer" in this case? What is queered and to what end?

    Another question also arose when I started to think of how visually faces are perceived and processed by humans.

    I love that you bring this up. Do you see possibilities with this procedure (or as @annatito suggested, by doing a reverse and compare) for better identification of strings that signify a visual image rather than linear language? I'm thinking about if/how could it be used to improve screen readers' interpretation of these types of emoji's for example?
    for example, your last example (=•́ܫ•̀=) is simply read out by my screen reader (Thunderbolt) as "equals bullet bullet equals" (and ฅ ̳͒•ˑ̫• ̳͒ฅ is simply "bullet bullet", and ┻━┻︵ (°□°)/ ︵ ┻━┻ as "degrees wide square degrees slash"). (My apologies to anyone actually reading with a screen reader, this must have been an annoying sentence).

    These emoji's are one example of strings that are meant to be interpreted as one visual.
    Do you think there would also be an opportunity to adjust the procedure to include other forms of visual emoji memes? I am thinking for example of the Twitter meme of the prayer circle of candles with a text of what is being summoned in the middle. Visually it's a circle but the way a machine reads it linearly, it is not. Could a similar procedure identify them by comparing if each line begins and ends with the same emoji?

  • edited January 18

    @hannahackermans said:
    I love that you bring this up. Do you see possibilities with this procedure for better identification of strings that signify a visual image rather than linear language? I'm thinking about if/how could it be used to improve screen readers' interpretation of these types of emoji's for example?

    Screen reader software often really struggles with the visual elements of internet language, the reality is it needs to be translated by someone in some way for the screen reader to make the link between the visual and text. I would be really interested in looking at the possibility of crowd sourcing or community sourcing these sorts of character to visuals dictionaries as they can vary widely in usage between cultures and online communities. For example Reddit may have its own culture of use of these symbols which differs from other sites, the trick would be linking the living dictionary of symbols with the specific digital locale the person is visiting. There is even a possibility for programatically analysing symbol use in a site and building a draft dictionary which can then be adjusted by users of the sites.

  • @annatito, we're one the same page there, I was not suggesting a quick fix to the issue, but rather proposing that algorithms similar to these can contribute to indicating the likelihood of a visual rather than textual meaning. Yes, community sourcing would be a great part of the solution, especially for something so community-specific (thank you for bringing that up!), as long as the accountability for it is adequately shared with the platforms and technologies involved.

  • @hannahackermans Definitely. I think there is a lot of work that can be done in this space especially if we are given the time to think creatively about it :smile:

  • edited January 23

    Thank you Anna and Hannah for your insightful comments! It's really great to find interlocuters on this mini program / concept. I am addressing your responses merged into one.

    What do you mean by "to queer" in this case? What is queered and to what end? I had two references in mind, one is Queering Phenomenology by Sara Ahmed, and the other is Aesthetic Programming coauthored by @siusoon and @geoffcox who both introduced the handbook in the introductions thread. I checked in the PDF version of Aesthetic Programming with the keyword "phenomenology", and I didn't find one. In my opinion notions of (queer) phenomenology can be applied to the space of code.

    As we enter the space of logical code, the space follows a set of logical rules. The rules are of operational intent, to produce working programs. It's a space of convention and good practice: write informative comments, maintain readable indentation, choose logic that make sense to you and potential readers, and etc.

    Can this space be tilted? I see the asymmetric emoji program embodying approaches that tilt the space of code. The approach to tilt is not to challenge the entirety of logical operations, as we are still using logical operations such as "if then, else", but to bring an extent of tension into the space. Programs such as the palindrome spits out a binary yes/no answer, conventionally, the result is left at that, it is or it isn't, the context of the program does not open up the space to queer. As the emoji are full expressions, it queers the operational space the program runs through. The result of the program is not a definitive, concealing stamp, but opening up possibilities to look at the tensions present in the code process. These tensions include the aspects of character encoding and screen readability as you both have discussed in the upper threads.

    < cite>to what end To what end is a good remark on queering the orientation of code - where is this code going? A functional program has a purpose, it is a means to an END. I don't have the end answer to this program - the end seems to have provoked questions and tensions...

  • Thanks @annatito for the C## snippet! I haven't used C## before, but I get what the TextElementEnumerator is doing. I have to digest and process what the reversal is doing.

Sign In or Register to comment.