Press "Enter" to skip to content

→ Alice Sun / Blog Posts

Evolutionary Pac-Man


Week 8 assignment based on Steering Behavior example. Typeface: Alpha Headline

Full Screen, Code

Some additional updates are expected:

  • assigning separate class for ghost/poison vector
  • continuously generating new food

 

En & Kor

Continued from the last exercise: detecting those titles with Korean letters was easy but excluding them wasn’t. I asked help from Allison to figure out how to filter out the ones with Korean, which is a method that ideally only collects English titles.

The problem was, sometimes I visited contents that belong to neither Korean nor English. After the review, I found out mostly they are Japanese, and excluded them as well – despite of their small number.

Next step was going into more details. One of the things I tried was checking the usage difference of same service in two languages. It will be more useful if I can collect interesting keywords, and filter out results based on them.

Project by Google Fonts – saving in this post as a reference. Not sure how relevant it will be, but it was interesting to see the same content in different composition.

 

Letter from the Trial

A rewriting generator of the letter from Alice in Wonderland, Chapter 12. The original letter itself is a poem full of pronouns, plays again with the ambiguity of pronouns. In the story, it was used as an item that proves the king’s unjust and poor reasoning. Using that ambiguity, the generator will realign the original poem with shmarkov and create new ones.

To make them in similar structure, I put indent in every line with even order.

… and put empty line between every stanza.

During the modification, I tried to figure out a natural way to adjust special characters, but ended up being not so successful. Furthermore, I came to a conclusion that only controlling special characters won’t make the poem more natural. Probably just removing them all might be a better idea?

 

Final Project Proposal

Assignment 07: Final Project Proposal

For your final projects, you will draw upon your personal data collection and the insights gained from your weekly assignments to design and develop a project that critically engages with one or more (or all) of the stages of the quantified self pipeline – track, reflect, act – covered throughout this course.

  • It is important that you manage your ambitions by clearly defining your research question, focusing your design concept, and keeping your project scope tight. You final project will be evaluated on how clearly your concept is communicated through your chosen media and your thoughtfulness in considering all the things that you know as well as what you don’t. Therefore it is important to take the time to read, write out, sketch, moodboard, and concept your final project proposal.
  • Your final project proposal is an opportunity for you to do the necessary initial research to clearly state the question you seek to address and the social phenomenon you’re interested to comment on and your planned methods to communicate your idea. Be prepared to convince us about your concept and the methods with which you plan to make that concept tangible.

Background research / Literature review


It is a conflict between ways of life, beliefs, customs, value systems and not necessarily one between language system.

Perhaps cases of perfect bilingual and biculturalism are extremely rare, if at all possible.

In linguistics, code-switching occurs when a speaker alternates between two or more languages, or language varieties, in the context of a single conversation (i.e. dialect).

In linguistics, a calque or loan translation is a word or phrase borrowed from another language by literal, word-for-word or root-for-root translation.

Third culture kid (TCK) or third culture individual (TCI) are terms used to refer to children raised in a culture other than their parents’ for a significant part of their early development years.

Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language.

 

Moodboard

 

Hypothesis / Definition of question(s)

What are my “code-switching” moments:

  • people
  • activity
  • emotion
  • location
  • and more?

 

Objectives

The outcomes will be built based on Reporter Application data and keyboard input data. Reporter Application was chosen because of its flexibility, while keyboard input was chosen due to its nature of daily usage, auto-tracking, and active multilingualism in computing (specifically in reading and writing).

  • Language usage report from beginning of the class to end of the class in web environment
  • (optional) create a tool to track language usage
    • design the overall service in more detailed version
    • look into different ways and make prototypes

 

Goals

Create awareness that individuals are consisted of various sides, which make them interesting and complex. It requires more than a monotonous approach to analyze someone’s character.

 

Sketches / Technical considerations:

  • Language usage report: JS along with useful library as d3.js and chart.js
  • (optional) Language usage tool
    • design: Sketch, Adobe Creative Suite and InVision
    • prototype: Python, node.js

 

Reflection

Assignment 07: Reflection

Include a quippish timeline of your reflection “thesis statements”, and design a way to represent your mood throughout the course.

While thinking about different ideas, I kept collecting my ip information. One of the things I noticed is that if the website contents are in certain language, the “title” of the page would likely to contain the language.

I’m not fluent in regular expression in any level, but since I had class about it last week, I thought using range match will be a good idea. As [a-z], [가-힣] will contain all the possible combination of letter with Korean alphabet.

It was successful to collect the ones that contained Korean letters, but I kept on failing filtering out them. From 2/11 to 3/5, I visited 726 webpages that presents Korean contents. There are total 4776, so brief way to exclude Korean letters will be 4776-726 = 4050 pages. However, regarding the small number of pages that present neither Korean nor English contents, I’d like to filter them out properly.

On another hand, for some reason, the Chrome extension I was using to track IP information stopped working. I personally emailed the developer to ask if it’s finishing its service or having a temporary problem. It seemed to be having some issue, but didn’t say it will permanently close the extension – so hopefully it will be back to service.

 

Untrack Me

Assignment 06: Hack your tracker / Untrack me

Develop a method to hack one (or more) of your tracking apps. Write a short reflection about your hack – how did you do it? What information is gained or lost? What are the implications of hacking your data in the way that you did?

  • Obfuscate data/circumvention collection assignment. Develop a method to hack one (or more) of your tracking apps. Software or hardware solutions or a combo of both are welcome. Document your process.
  • Make an instructable about your hack (e.g. DNA Spoofing); you don’t need to make a video, but you should outline the steps to your circumvention in a public place, like Instructables.

So far I’ve been using both Reporter Application and Chrome Extensions along with Chrome History, however, for this week’s activity using Chrome Extension seemed to be a suitable target. Although Reporter Application also tracks various data such as distance and temperature, because it’s “reporting” system – I can always refuse to submit my report.

The Chrome site tracking happens all the time, but in order to have the history in json format, I’m weekly using another extension called History export. There’s another way to download the history as csv format. For my convenience, I use the extension. However, the extension does not include IP location so I have to manually type in the information.

The best way to obfuscate the Chrome history tracking is simple: usage of incognito window Under incognito, it’s possible to avoid the auto-tracking of my website visits – therefore, those won’t be exported to json file at the end of the week. I’ve actually been using this method when I revisit some websites in order to check their IP locations; because as I mentioned above, they don’t automatically get saved and exported. All the extensions are off in incognito window as default, so it’s important to allow access of IP Tracking Extension.

 

 

Reflection

Assignment 06: Reflection

Write a short reflection about your hack – how did you do it? What information is gained or lost? What are the implications of hacking your data in the way that you did?

This week’s activity was relatively simple, due to the nature of Chome browser that is easy to adjust tracking options. Not only that, but also it was something I’ve been intentionally doing since the beginning of website tracking to collect IP location. It derived from the idea that revisiting of websites (to recheck IP location) shouldn’t be included in Chrome history list – because it’s only part of “tracking” process, not a natural visit. Consequently, my website visits during the process of rechecking IP locations are lost forever, under my decision. However, for certain decisions, there are always room for a debate. It made me rethink about a correlation between arbitrary decisions and data cleansing.

 

Research Presentation

Income and Lifespan Inequality

  1. Presentation Slides
  2. Executive Summary
  3. Poster

All reference sources are included in each slide under the speakers notes:

 

DWD Final: Annual Report

A definition of an annual report is a comprehensive report on a company’s activities throughout the preceding year. During January to February, I worked on the annual report for NYU Office of Global Services. Due to its “comprehensive” nature, it was inevitable to cover large amount of data, such as number of international students, visa types of international scholars, inbound data (NYC campus) and global campus demographics.

While the categories and wording weren’t so different from last year’s version, the most time-consuming process was contacting and collecting data from different teams. Furthermore, often the data had to be modified several times, which led me to revisit and edit the report again and again.

It was more time-consuming for other members in the office as well, because they didn’t have any other choices than going through me in order to make even a small change in numbers.

It led me to an idea of removing the middle step, and allowing different team members in the office to directly modify the data. To prototype the idea, I used the existing interactive annual report that contains relatively minimized information (compared with PDF version).

Process

The report now consists of two pages: (1) a page for data input and (2) page with infographic results. Page 2 will be built based on data from page 1, which is only accessible by the office people – while page 2 is the public report for everyone.

Other graphs were built with chart.js since they only required small number of input. However, in case like student demographic over the world that contains at least 200 countries and populations – leaving it as a separate file seemed more reasonable. In fact, the current map uses Google Fusion because it’s easy to modify via Google Sheets. For my new prototype, I tried d3.js with topojson.

CSV format is easy to edit by Excel, just like Google Sheets, but one of the problems was that I didn’t want to collect stacks of CSV file every time it gets modified. As a solution, with multer.diskStroage I set up the file name to be always consistent as population.csv, thus the new file upload will only replace the old one.

Conclusion + Links

All icons by Dinosoft Labs

This structure will be useful if there’re more categories to present like its PDF version (which can possibly happen in our office.) The new system can achieve better results for both reporters and designers – because reporters don’t have to go through an extra step or feel sorry about making changes, while designers can solely focus on visualizing data.

GitHub: Code,
Annual Report: Page 1 + Page 2

 

And Our Faces, My Heart, Brief As Photos

An acrostic poem generator using some existing peoms from And our faces, my heart, brief as photos by John Berger.

Inporting 4 different poems: Leaving, Waterfront, A Forest I Knew, and Factory by John Berger; then combine them as one list. Initially I started with only a single poem, but soon I realized that an acrostic generator requires an adequate amount of source text, especially because I’m collecting lines, not words.

Now the list contains all lines from four different poems. The following code checks the first letter [0] in each line, and creates a dictionary of lines in alphabetical order.

The dictionary is completed, although it’s still missing some letters (those ones won’t be available to form the poem). Then, set up a word that will be the seed: first letters of each line. Once the seed word is decided, the next step is going through initials{} dictionary and check if it contains any sentence starting with the same letter. Then, it will choose randomly among the list of sentences, if there are more than one.

Results

Code