It looks like you're new here. If you want to get involved, click one of these buttons!
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.
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#
Thank you for the interesting concept, Biyi!
I don't really have any answers, but I do have a few questions and thoughts.
What do you mean by "to queer" in this case? What is queered and to what end?
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?
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
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.