Ethnocomputing is the study of the interactions between computing and culture. It is carried out through theoretical analysis, empirical investigation, and design implementation. It includes research on the impact of computing on society, as well as the reverse: how cultural, historical, personal, and societal origins and surroundings cause and affect the innovation, development, diffusion, maintenance, and appropriation of computational artifacts or ideas. From the ethnocomputing perspective, no computational technology is culturally "neutral," and no cultural practice is a computational void. Instead of considering culture to be a hindrance for software engineering, culture should be seen as a resource for innovation and design. Subject matter Social categories for ethnocomputing include: Indigenous computing: In some cases, ethnocomputing "translates" from indigenous culture to high tech frameworks: for example, analyzing the African board game Owari as a one-dimensional cellular automaton. Social/historical studies of computing: In other cases ethnocomputing seeks to identify the social, cultural, historical, or personal dimensions of high tech computational ideas and artifacts: for example, the relationship between the Turing Test and Alan Turing's closeted gay identity. Appropriation in computing: lay persons who did not participate in the original design of a computing system can still affect it by modifying its interpretation, use, or structure. Such "modding" may be as subtle as the key board character "emoticons" created through lay use of email, or as blatant as the stylized customization of computer cases. Equity tools: a software "Applications Quest" has been developed for generating a "diversity index" that allows consideration of multiple identity characteristics in college admissions. Technical categories in ethnocomputing include: Organized structures and models used to represent information (data structures) Ways of manipulating the organized information (algorithms) Linguistic realizations of computation (theories of computation) Mechanical realizations of computation (computational tools) User interfaces Internationalization and localization Cultural HCI Uses of computational tools (uses) Ethnotechnology Origins Ethnocomputing has its origins in ethnomathematics. There are a large number of studies in ethnomathematics that could be considered ethnocomputing as well (e.g., Eglash (1999) and Ascher & Ascher (1981)). The idea of a separate field was introduced in 1992 by Anthony Petrillo in Responsive Evaluation of Mathematics Education in a Community of Jos, Nigeria, Dissertation (Ph.D.): State University of New York at Buffalo, which Petrillo elaborated a bit more on in March 1994, Ethnocomputers in Nigerian Computer Education, paper presented at the 31st Annual Conference of the Mathematical Association of Nigeria. Just like computer science