Discussion of hot-button contentious issues, such as gender identities, and Israel-Palestine affairs, upon which I conspicuously avoid taking a position, while analysing the semantics of public debate about these issues. This will risk being considered favouring a side. But also, since I am talking about weaponization of meaning, I do not see an alternative except to discuss weaponised meanings.
Now, I am no ethnographer or political scientist, but as best I can tell the simplest group membership structure that explains the current situation would look something like this (My apologies in advance to those who I have inevitably crudely simplified away):
Code
import pandas as pdfrom upsetplot import UpSet, from_membershipsimport matplotlib.pyplot as plt# Define archetypal memberships.archetypes_definitions = [ {"groups": ["Israeli Citizen", "Jew", "Likud"], "count": 15}, {"groups": ["Israeli Citizen", "Jew", "WB Resident"], "count": 7}, {"groups": ["Israeli Citizen", "Jew"], "count": 25}, {"groups": ["Israeli Citizen", "Arab", "Muslim", "Sunni"], "count": 12}, {"groups": ["Israeli Citizen", "Druze", "Arab"], "count": 3}, {"groups": ["Israeli Citizen", "Druze"], "count": 2}, {"groups": ["Israeli Citizen", "Arab", "Bedouin", "Muslim", "Sunni"], "count": 4}, {"groups": ["Israeli Citizen", "Arab", "Christian"], "count": 3}, {"groups": ["Palestinian","WB Resident","Arab","Muslim","Sunni","PA Affiliate", ],"count": 18, }, {"groups": ["Palestinian", "Gaza Resident", "Arab", "Muslim", "Sunni", "Hamas"],"count": 12, }, {"groups": ["Palestinian", "WB Resident", "Arab", "Christian"], "count": 2}, {"groups": ["Palestinian", "Gaza Resident", "Arab", "Muslim", "Sunni"],"count": 25, }, {"groups": ["Palestinian", "WB Resident", "Arab", "Muslim", "Sunni"], "count": 20}, {"groups": ["Hezbollah", "Muslim", "Shiite", "Arab"], "count": 8}, {"groups": ["Houthi", "Muslim", "Shiite", "Arab"], "count": 6},]memberships_data = []for archetype in archetypes_definitions: current_groups =list(archetype["groups"])if"WB Resident"in current_groups or"Gaza Resident"in current_groups:if"OT Resident"notin current_groups: current_groups.append("OT Resident")if"Muslim"in current_groups andnot ("Sunni"in current_groups or"Shiite"in current_groups ):ifnotany( group_name in current_groups for group_name in ["Hezbollah", "Houthi"] ): current_groups.append("Sunni")for _ inrange(archetype["count"]): memberships_data.append(current_groups)# Create the data structure for UpSet plot# from_memberships with this input type will return a pandas Series# where the index is a MultiIndex of booleans (sets), and values are 1s.# The index will NOT be unique if archetypes are repeated.upset_data_series = from_memberships(memberships_data)## Debugging# print(f"Type of data from from_memberships: {type(upset_data_series)}")# if isinstance(upset_data_series, pd.Series) and isinstance(# upset_data_series.index, pd.MultiIndex# ):# print(f"Series head (index may not be unique yet):\n{upset_data_series.head()}")# print(f"Index names: {upset_data_series.index.names}")# print(# f"Total archetypal individuals represented (length of series): {len(upset_data_series)}"# )# print(f"Is index unique before UpSet: {upset_data_series.index.is_unique}")# else:# print(# f"Warning: Data from from_memberships is not the expected Series with MultiIndex. Type: {type(upset_data_series)}"# )# if isinstance(upset_data_series, pd.Series):# print(f"Series index type: {type(upset_data_series.index)}")final_data_for_plot = upset_data_seriestry:# Create the plot# Set subset_size='sum' to aggregate the 'ones' from from_memberships. upset_plot_object = UpSet( final_data_for_plot, subset_size="sum", min_subset_size=1, show_counts=True, sort_by="cardinality", # Sorts intersection bars sort_categories_by="cardinality", # Sorts the sets on the left )# Styling subsets: 'present' should use names that are in upset_data_series.index.namesif"OT Resident"in upset_data_series.index.names: upset_plot_object.style_subsets( present=["OT Resident"], facecolor="lightblue", label="In Occupied Territories", )if"Hamas"in upset_data_series.index.names: upset_plot_object.style_subsets( present=["Hamas"], edgecolor="red", hatch="xx", linewidth=2, label="Hamas Affiliation", )if"Likud"in upset_data_series.index.names: upset_plot_object.style_subsets( present=["Likud"], edgecolor="blue", hatch="//", linewidth=2, label="Likud Affiliation", ) fig = plt.figure(# figsize=(18, 10) ) upset_plot_object.plot(fig=fig)# plt.suptitle(# "Conceptual Group Memberships In and Around Israel-Palestine",# fontsize=16,# ) plt.figtext(0.5,0.01,"NOTE: Intersection sizes are based on defined archetypes, not actual population data. This is a conceptual model.", ha="center", fontsize=8, style="italic", ) plt.tight_layout(rect=[0, 0.03, 1, 0.95])# plt.savefig("israel_palestine_upset_plot.png", dpi=300)# plt.show()# print("UpSet plot 'israel_palestine_upset_plot.png' generated.")# Access the aggregated intersections from the UpSet object for the count# aggregated_intersections = upset_plot_object.intersections# print(# f"Number of unique intersections shown: {len(aggregated_intersections[aggregated_intersections >= 1])}"# )# print(f"Total sum of intersection sizes: {aggregated_intersections.sum()}")exceptExceptionas e:print(f"An error occurred during plot generation: {e}")print(f"Data passed to UpSet (head):\n{final_data_for_plot.head() ifisinstance(final_data_for_plot, pd.Series) else'Data not a Series'}" )ifisinstance(final_data_for_plot, pd.Series) andisinstance( final_data_for_plot.index, pd.MultiIndex ):print(f"Index names of data: {final_data_for_plot.index.names}")
Conceptual Group Memberships In and Around Israel-Palestine
This map is contentious precisely because of its role in our red vs. blue power struggle, as a way of elevating some voices and silencing others. As such, it’s a remarkable example of the main point I’m trying to make in this post: the act of extracting a limited feature set from a natural paradigm, and then representing those higher-value features in a cultural product of some kind, is always about power on some level.
See also Affirming the Consequent and Tribal thermodynamics.
While people in and around the tech industry debate whether algorithms are political at all, social scientists take the politics as a given, asking instead how this politics unfolds: how algorithms concretely govern. What we call “high-tech modernism”—the application of machine learning algorithms to organize our social, economic, and political life—has a dual logic. On the one hand, like traditional bureaucracy, it is an engine of classification, even if it categorizes people and things very differently. On the other, like the market, it provides a means of self-adjusting allocation, though its feedback loops work differently from the price system. Perhaps the most important consequence of high-tech modernism for the contemporary moral political economy is how it weaves hierarchy and data-gathering into the warp and woof of everyday life, replacing visible feedback loops with invisible ones, and suggesting that highly mediated outcomes are in fact the unmediated expression of people’s own true wishes.
Patreon’s changes to its terms also threw the “adult baby/diaper lover” community into chaos, in a perfect illustration of my point: A lot of participants inside that fandom insist it’s not sexual. A lot of people outside find it obscene. Who’s correct?
As part of answering that question for this article, I tried to find examples of content that’s arousing but not actually pornographic, like the egg yolks. This, as it happens, is a very “I know it when I see it” type of thing. Foot pottery? Obviously intended to arouse, but not explicitly pornographic. This account of AI-generated ripped women? Yep, and there’s a link to “18+” content in the account’s bio. Farting and spitting are too obviously kinky to successfully toe the line, but a woman chugging milk as part of a lactose intolerance experiment then recording herself suffering (including closeups of her face while farting) fits the bill, according to my entirely arbitrary terms. Confirming my not-porn-but-still-horny assessment, the original video—made by user toot_queen on TikTok, was reposted to Instagram by the lactose supplement company Dairy Joy. Fleece straightjackets, and especially tickle sessions in them, are too recognizably BDSM. This guy making biscuits on a blankie? I guess, man. Context matters: Eating cereal out of a woman’s armpit is way too literal to my eye, but it’d apparently fly on Patreon no problem.
“If the Russians want to slow down negotiations they demand we agree upon a taxonomy.”
Dwork, Hardt, Pitassi, et al. 2012. “Fairness Through Awareness.” In Proceedings of the 3rd Innovations in Theoretical Computer Science Conference. ITCS ’12.
Feldman, Friedler, Moeller, et al. 2015. “Certifying and Removing Disparate Impact.” In Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. KDD ’15.