Mili의 싱글 | |||
<colbgcolor=#61b5b7><colcolor=#fff> {{{#!wiki style="margin:0 -10px -7px" {{{#!wiki style="display: inline-table; min-width:20%; min-height:2em" {{{#!folding [ '12~'14 ] {{{#!wiki style="margin:-5px 0 -5px; word-break: keep-all" | Chocological | Friction | Utopiosphere |
YUBIKIRI-GENMAN | |||
Witch’s Invitation | Past the Stargazing Season | Rosetta | |
Fable | Colorful |
- [ '15~'16 ]
- ||<tablebgcolor=#fff,#1c1d1f><width=33.3%> UFO ||<width=1000> Vulnerability ||<width=33.3%> ||
Bathtub Mermaid Space Colony world.execute (me) ; RTRT
- [ '17~'18 ]
- ||<tablebgcolor=#fff,#1c1d1f><width=33.3%> 幾年月 ||<width=1000> Rubber Human ||<width=33.3%> Opium ||
奶水 Mushrooms Mirror Mirror Camelia Lemonade Rightfully Within
- [ '19~'20 ]
- ||<tablebgcolor=#fff,#1c1d1f><width=33.3%> Victim ||<width=1000> 不死蝶 ||<width=33.3%> Sloth ||
蜜蜂 Birthday Kid Static String Theocracy sustain++; From a Place of Love Phantomcat of Meowloween
- [ '21~'22 ]
- ||<tablebgcolor=#fff,#1c1d1f><width=33.3%> Iron Lotus ||<width=1000> Children of the City ||<width=33.3%> Gone Angels ||
Poems of a Machine Bulbel Flowerworks In Hell We Live, Lament Bento Box Bivouac Sideshow Duckling My Creator Skin-Deep Comedy Paper Bouquet GIVE ME RICE Mortal With You Ocean Bby
- [ '23~'24 ]
- ||<tablebgcolor=#fff,#1c1d1f><width=33.3%> Between Two Worlds ||<width=1000> Gunners in the Rain ||<width=33.3%> Fly, My Wings ||
Sleep Talk Metropolis Entertainment Compass Duetting Solo Grown-up’s Paradise Hero Life We Sow
1. 개요
Ending Short ver. |
Full ver. |
음악 프로젝트 그룹 Mili의 곡.
2020년 4월 넷플릭스 독점 방영 예정인 애니메이션 공각기동대 SAC 2045의 엔딩 테마곡이다. 2020년 2월 13일 Ending 버전이 공개되었으며, 2020년 6월 9일 Full 버전이 공개되었다.
2. 가사
If abstraction is the definition of beauty 추상성이 아름다움의 정의라면 Are those of us chasing after clarity 명료함을 추구하는 우리는 A representation of Ugly? 추함의 표현인 건가요?[1] CALL ME MOMMY 엄마라고 부르렴 JUST LIKE YOUR FANTASY 네가 가진 환상[2]처럼 There is no crime in ideality 이상적임에는 범죄란 없어[3] MUX>>>DEMUX[4] Can't you understand me? 이해할 수 없나요? I'm not mine NAND I'm not yours 전 제 것이 아니에요 NAND 전 당신 것이 아니에요[5] Ah 아[6] This could end right here if you don't let it out 털어놓지 않는다면 여기서 끝나버릴 수도 있어요[7] Let it out 털어놓아 줘요 Give up or give me your all[8] 포기하든지, 아니면 전부를 주세요 Tell me now 지금 말해줘요 Tell me now 지금 말해줘요
|
#!syntax java
package extraLarge;
/**
* The goal of this program is to obtain a HEALTHY
* and SUSTAINABLE relationship,darling.
*
* @author Cassise wei from Mili
*/
public class sustainPlusPlus {
public static void main(String[] args){
World world = new World();
Life me = new Ghost();
Life you = new Ghost();
/**
* If abstraction is the definition of beauty
* Are those of us chasing after clarity
* A representation of ugly?
*/
world.getObject().sortByAttribute("beauty");
if(world.getObject().getFirst().getArtTags().indexOf("abstract") != -1) {
me.addPhysicalAttribute("ugly");
you.addPhysicalAttribute("ugly");
}
world.giveBestAward("ugly", me);
world.giveBestAward("ugly", you);
/**
* CALL ME ,MOMMY
* JUST LIKE YOUR FANTASY
* There is no crime in ideality
*/
if(you.getFetishes().searchByType("name calling", "mommy") != -1) {
you.addToMemory(me);
you.setNicknameFor(you.getMemory(me), "mommy");
}
Rule r = new Rule("Oedipus complex is okay", true);
world.addRule(r);
/**
* MUX>>>DEMUX
* Can't you understand me?
* I'm not mine NAND I'm not yours
* Ah
*/
try {
you.decodeMessage(me.codeMessage("I'm not mine NAND I'm not yours.","mux"),"mux");
} catch(InsufficientIntelligenceQuotientException e) {
world.sendMessage("Oh you dummy.", you);
me.announce("Ah");
}
/**
* This could end right here if you don't let it out
* Let it out
*/
if(you.getThoughts().size() != 0) {
try {
you.sayTo(you.getThoughts(), me);
you.clearThoughts();
} catch(ToomuchOfApussyException e) {
world.getRelationship(me, you).end();
}
}
/**
* Give up or give me your all
* tell me now
* tell me now
*/
if (you.getMemories(me).getLove() < 0.5) {
world.getRelationship(me, you).setSustain(0);
} else {
you.transferThoughs(me);
you.transferAttributes(me);
//sustain++;
world.getRelationship(me, you).increaseSustain();
}
/**
* If we can be completely simulated
* Do we need a real reality?
*/
Simulation s =new Simulation(me, world, 1993, 227760);
if (s.compareToOriginal(me) == 100) {
world.execute(me);
}
/**
* Don't let words die, let love run dry
* Like what we did to the rivers we killed off in our near future
* Ah
*/
for (int sustain = 0; sustain < world.getRiver().size(); sustain++) {
me.sayTo("I love you.", you);
you.sayTo("I love you." me);
}
/**
* And mumble some stupid stuff
* Like
* "I saw it comming"
* Pretend it's not happening
* us loser do nothing so winners keep winning
*/
String[] tags = {"stupid", "dumb", "petty", "ignorant"};
world.mute(me, tags);
world.mute(you, tags);
for (Life them : world.getLifeTopOnePercent()) {
me.fight(them);
you.fight(them);
}
/**
* Sit
* Fetch your leash
* DICTATED ECONOMY
*/
me.command(you, "sit");
me.command(you, "fetch");
you.pay(me, you.getFinanceProperties(), "educational purposes");
/**
* Show me
* Your belly
* FORGOTTEN ECOLOGY
*/
me.command(you, "strip");
me.command(you, "exhibit");
world.addPollution("environmental", "indecency", you)
/**
* Stay
* Okay, eat
* HUAMN PSYCHOLOGY
*/
me.command(you, "stay");
me.command(you, "eat");
you.love(me);
/**
* g 0 0 d b o i
* Here's a treat
* HUNGRY FOR ENERGY
*/
me.praise(you, "Good boy.");
me.gift(you, "meat");
you.consumeLast();
/**
* We are searching
* Following our human instincts
* Looking for ghosts of the non-existing kind
* Who make us whole from the very beginning
*/
Ghost[] findings = world.search(me, "ghost");
Ghost[] parents = new Ghost[2];
for (Ghost g : findings) {
me.addFamily(g);
if (me.isHappy()) {
if (parents[0] == null) {
parents[0] = g;
}
else if(parents[1] == null) {
parents[1] = g;
}
else{
//IGNORED because 'me' is never happy
//and will never be happy anyway
}
}
me.removeFamily(g);
}
/**
* We keep chasing
* Dreaming about the perfect being
* Perfect parents who are non-existing
* Our bodies grew, our minds stayed the same
*/
if (me.getDreamParents().equals(parents)) {
me.setParents(parents);
}
else {
me.throwTantrum();
}
/**
* Now darling, where do we go from here?
*/
me.ask(you, "Where do we go from here?");
/**
* Now darling, where do we go from here?
*/
me.ask(you, "Where do we go from here?");
/**
* Now darling, where do we go from here?
*/
me.ask(you, "Where do we go from here?");
/**
* Darling, darling
*/
me.callFor(you);
me.callFor(you);
/**
* Hey honey, where do we go from here?
*/
you.ask(me, "Where do we go from here?");
/**
* Hey honey, where do we go from here?
*/
you.ask(me, "Where do we go from here?");
/**
* Now darling, where do we go from here?
*/
me.ask(you, "Where do we go from here?");
/**
* Now darling, where do we go from here?
*/
me.ask(you, "Where do we go from here?");
/**
* To where?
*/
me.ask(world. "To where?");
/**
* CALL ME DADDY
* WHERE'S YOUR "YES SIR" & "PLEASE"?
* That's the only vocabulary you need
*/
you.setNicknameFor(you.getMemory(me),"daddy");
String[] vocab = {"sir", "yes", "no", "please", "thank you", "master",
"red", "green", "yellow"};
you.setVocabulary(vocab);
/**
* MUX>>>DEMUX
* Can't you understand me?
* You turn my screen #0000ff
*/
you.disorient(me);
/**
* We could end right here if you'd just let us fall
* Let us fall
*/
for (War w : you.getOngoingFights()) {
if (w.getScore(you) < 0.5) {
world.execute(me);
world.execute(you);
}
}
/**
* No tears, No regrets
* No zero-days at our fault
*/
me.setMemory("sad", null);
you.setMemory("sad", null);
me.setMemory("regretful", null);
you.setMemory("regretful", null);
Vulnerability zeroDays = world.getVulnerabilities().getZeroDays();
for (Vulnerability v : zeroDays) {
v.setAuthors(null);
}
/**
* Here me out
* It's a perfact plan
*/
me.command(you, "listen");
me.sayTo("Anything inconvenient, I shall erase for you.", you);
/**
* If you'd just
* SHUT UP
* SHUT UP
* Then maybe you'll see what I've endured now
*/
me.command(you, "be quiet");
me.command(you, "be quiet");
try {
you.listenTelepathically(me.world);
} catch (NotAMindReaderException e) {
world.getRelationship(me, you).challenge();
}
/**
* Hear me out
* LILULILALULALULA
*/
me.command(you, "listen");
me.sayTo("I did it all for you.", you);
you.ignoreCommands();
you.setMessages(null);
/**
* It's all just sunk cost, I know
* But I'm not ready to stop
*/
me.manipulate(you, "beg");
me.manipulate(you, "gaslight");
me.manipulate(you, "blame");
me.manipulate(you, "tears");
world.getRelationship(me,you).end();
you.setMemory(me, null);
/**
* I don't want to stop
*/
me.getMemory(you, "positive");
me.getMemory(you, "date");
me.getMemory(you, "fun");
me.getMemory(you, "travel");
me.getMemory(you, "wedding");
me.getMemory(you, "pregnancy");
me.getMemory(you, "kids");
me.getMemory(you, "snuggle");
me.getMemory(you, "netflix&chill");
me.getMemory(you, "gaming");
me.getMemory(you, "birthday");
me.getMemory(you, "cooking");
me.getMemory(you, "exercising");
me.getMemory(you, "studying");
me.getMemory(you, "gardening");
me.getMemory(you, "chores");
me.getMemory(you, "shopping");
me.getMemory(you, "driving");
me.getMemory(you, "daily");
me.getMemory(you, "sad");
me.getMemory(you, "angry");
me.getMemory(you, "fight");
me.getMemory(you, "forgiveness");
me.getMemory(you, "makeup");
me.getMemory(you);
world.setRelationship(me, you, null);
// a
// u
// i
// s
// ;
// i
// t
// s ;
// a n +
// s +
//s t
// s a +
// u in +
//s ;
// ta n+
// ++
// u t n +
//s in
// t n+ ;
// s a
//s t i +
// u i + ;
//s a n +
// s + ;
// u t i +
//s st i +
// us a n +;
// s ain+
//su ai +;
//s tain ;
// ust n +
//s stai + ;
//su t in +;
// ustain++
//sustain++;
//sustain++;
//sustain++;
//sustain++;
//sustain++;
//sustain++;
//sustain++;
}
}
3. 특징
- 이전 작인 world.execute(me);, world.search(you);처럼 제목 자체가 Java 코드로 이루어져 있으며, 동영상에도 가사의 내용과 맞는 Java 코드를 기반으로 하는 가상의 프로그래밍 코드가 나온다.
- 뮤직비디오의 기계들이 서로 연결되어 있는데 타치코마의 파츠들을 연결했다.
- 인트로의 전주가 상당히 암울한동시에 웅장하면서도 미래적이다.어두운 mv의 그래픽이 더해지면서 종교적인 분위기마저 띈다.
4. 관련 문서
[1] 이 부분에 대응되는 코드에서 giveBestAward() 함수가 항상 실행된다. 여기에 대응되는 속성이 '추함'이고 대상이 '우리'인 점을 감안하면, '어느 쪽이든 우리는 추함을 피할 수 없다'는 의미가 된다. 그냥 giveAward()도 아니고 giveBestAward()라는 점에서 포상 드립을 노린 것일 수도 있다.[2] 코드상에서는 호칭에 대한 페티시로 표현된다.[3] 이 부분에 대응되는 코드에서 오이디푸스 콤플렉스가 언급된다. 물론 이 코드 역시 항상 실행된다.[4] 멀티플렉서(MUX)와 디멀티플렉서(DEMUX)를 의도한 표현으로, 여러 입력 중 하나를 (적절한 방식으로) 취하고, 그것을 다시 여러 대상 중 하나에 전달한다는 의미이다.[5] NAND 논리게이트를 의도한 표현으로, 적어도 주어진 두 명제 중 하나는 거짓이라는 (포기하라는) 의미이다. 드모르간 법칙으로 해석하자면, '난 나의 것 OR 난 너의 것'으로 해석이 된다.[6] 코드상에서는 이 가사만이 예외 처리에 들어가 있다. 즉, 앞서 전달하려 했던 것이 전달되지 않은 (예외가 발생한) 것으로 볼 수 있다. 이 때 코드에서 처리하는 예외의 명칭은 "불충분한 IQ 예외"(InsufficientIntelligenceQuotientException)로, 이 예외는 Can't you understand me?에 대응된다.[7] '끝나버리는 부분'은 코드상으론 world.getRelationship(me, you).end();에 대응되며, 이 코드는 다시 ToomuchOfApussyException 예외에 대응된다. 즉, 겁쟁이마냥 행동하다가는 끝나버릴 수도 있다는 뜻으로, 과감하게 털어놓으라는 의미.[8] '전부를 주는' 부분은 코드상으론 world.getRelationship(me, you).increaseSustain();에 대응된다. 즉, sustain++;은 increaseSustain()의 내부 처리 결과를 의미한다. 이 내용은 주석에도 명시되어 있다. 반대로 '포기'를 의미하는 world.getRelationship(me, you).setSustain(0);은 sustain = 0;을 의미.[9] 0000FF는 파란색이다. 화자가 명령하는 대상이 자신의 말을 이해하지 못하자 화가 나서 이성이 끊어진 상태.[10] 코드의 맥락 상 제로 데이 취약점을 의미한다.