2024년 9월 16일 월요일

David Boring by Daniel Clowes

 다니엘 클로우즈의 David Boring을 읽었다. 

주인공인 20대 남자 보링은 자신의 이상형에 가까운 여성을 찾고 있고, 기억에도 없는 아버지의 흔적을 찾고 있다. 그러던 중 완벽한 여성을 만나고 정체 모를 괴한에게 총을 맞고 기묘한 사건에 맞닥뜨린다. 


아이스헤이븐이나 고스트월드처럼 사건이 일어날 듯하다가 아무것도 일어나지 않는 것과 달리 독자의 예상을 뒤집으며 흥미진진하게 사건이 진행된다.  여러 우연들이 겹치는 스토리 진행은 폴 오스터의 소설들이 떠올랐고, 시도 때도 없이 여성과의 섹스신이 등장하는 것은 무라카미 하루키의 소설들이 떠올랐다. 하지만 아이스헤이븐과 윌슨을 통해 작가를 좋아하게 된 나는 이 만화를 좋아할 수 없었다. 그래도 보링의 레즈비언 친구 캐릭터는 재미있었다. 


한국어로는 번역이 되었던데 굳이 궁금하지 않으셔도 됩니다. 




2023년 8월 20일 일요일

움베르토 에코 - 로아나 여왕의 신비한 불꽃 (정리)


 주인공이 병원에서 깨어난다. 기억이 없다. 

안개를 좋아해서 안개에 대한 구절을 다 외우고 있다. 

기억에 관한 사유들. (피아노를 치는 사람은 다음 음계를 알고 있어야 되는데 자신은 그렇지 못하다...연속 선상에 있지 않기 때문에)

주인공이 고서적 상인이기 때문에 이들에 대한 이야기도 나온다. 미망인 집 털기. 책 수집가가 죽고 나면 그 가족이 책을 팔려고 의뢰하는데, 이들은 책에 대해 애정이 없기 때문에 쉽게 많은 책을 싸게 살 수 있다고. 고대 법전과 신학에 대한 논문들. 

고서적 서점의 젊은 시빌리와 자신이 기억을 잃기 전에 불륜 관계있을지도 모른다. 잃어버린 기억 중에 사랑이 있다면, 게다가 비밀스러운 사랑이 있다면 긴장도가 갑자기 높아진다. 그런데 시빌라와 그런 사이가 아니였다는 것이 나중에 밝혀진다. 

주인공(얌보)은 기억을 찾기 위해서 솔라라에 있는 어린 시절 지냈던 부모님 집으로 간다. 

에피날의 판화와 1905년판 최신 멜치 백과사전.주인공은 백과사전에서 고문 파트를 찾아봄. 어릴 때부터 많이 찾았나 봄. [황금 계단] 총서의 어린이용 축약본. 피노키오 디즈니 판에 나오는 스트롬볼리(극장 주인)는 원전에서는 만자푸오코.라는 이름. 

그랑 기뇰 극장:잔혹 연극을 주로 상연했다는 파리의 극장. 살라니 출판사에서 나온 '내 아이들 문고' 이때에도 아이들을 위한 책들이 출간되었다. 프랑스판 쉬제트 문고. 

주인공이 어릴 때 학교에서 썼던 작문. 자신도 크면 입대해서 이탈리아를 위해 싸우겠다는 친 무솔리니 작문. 이후 8개월 후 그가 썼던 작문을 보면 유리잔이 깨어진 것을 이야기한 것이 있는데, 허무감을 느낄 수 있었다. 그는 어린 시절 8개월 동안 무슨 일이 있었는지 몹시 궁금해한다. 그는 집안에 비밀 방이 있음을 깨닫고 아말리아에게 추궁해서 그 방으로 가는 입구를 알아낸다. 주인공은 1944년으로 돌아가고, 그의 할아버지는 파시스트에게 쫓기는 빨치산 4명을 그 방에 숨기고 구해준다. 


여기까지 1권 


숨겨진 방은 예배당이고 거기서 주인공은 자신이 어린 시절 보던 만화책 묶음을 발견한다. 당시 미키 마우스의 이름은 토폴리노라는 이탈리아 이름으로 바뀜. 

로아나 여왕의 신비한 불꽃은 주인공이 발견한 어릴적에 보던 만화. 주인공이 무언가를 보았을 때 자신의 잃어버린 기억을 다시 살아나는 기분을 느꼈을 때, 그 야릇한 기분을 '신비한 불꽃'이라고 표현했다. 

문득 그는 벼랑골이라는 지명을 기억해낸다. 사람들이 시체를 파서 그것을 성인의 시신이라고 하고, 교회 유리관 속에 안치해서 사람들을 끌어모았다는 이야기. 


샬로 공화국:1943년 무솔리니가 실각한 이후 1945년 빨치산에게 붙잡힐 때까지 존속되었던 이탈리아 사회 공화국. 행정 중심지가 작은 도시 살로여서 살로 공화국이라고 불린다. 

당시 파시스트 자경단들이 각 마을의 출판업자, 신문 기자들에게 아주까리 기름을 먹이는 고문을 했는데, 신문 기자였던 할아버지도 메를로에게 이를 당함. 할아버지는 이 때 싼 똥을 향수병에다 담아둠. 나중에 1943년 국왕이 두체를 불신임했을 때 마을 장정들을 데리고 메를로를 붙잡아 향수병에 보존한 자신의 똥을 메를로에게 먹임. 이 에피소드는 펠리니의 아마코드(1973)에도 나온다. 

그는 자신이 청소년 기에 쓴 시도 발견하는데, 이를 '청소년의 여드름 같은 시'라고 평했다. 그는 한 소녀에게 사랑을 바치는 시가 많은 것을 발견하고 자신의 친구에게 이게 누군지 물어본다. 고교 시절 짝사랑했던 소녀 릴라인데, 아르헨티나로 이사를 가서 연락이 끊겼다고 했다. 얌보(주인공)는 평생을 릴라만 생각하면서 살았는데, 최근(그가 기억 상실 되기 전)에 릴라의 친구로부터 릴라가 고등학교 졸업 후 죽었다는 사실을 알게 된다. 릴라는 시빌라의 애칭이라는 것이다. 그는 밀라노로 돌아가서 고등학교 동창생으로부터 릴라의 사진을 받기로 생각한다. 그러다가 할아버지가 모아놓은 고서 상자 속에서 엄청 값비싼 세익스피어 희귀 판본(퍼스트 폴리오)을 발견하고 그만 다시 고혈압으로 쓰러지고 만다. 

여기부터 2권의 2/3가 남았는데, 이 분량 동안 주인공은 주마등처럼 자신의 어린시절부터 회고하게 된다. 

어릴적 곰 인형의 장례식(이는 작가의 에세이 '미네르바의 성냥갑'에도 나온다고. 작가의 자전적 이야기이 듯)

2차 대전이 터지고 주인공은 도시에서 솔라라의 할아버지 집으로 간다. 그는 당시에 청소년 사목회관에서 시간을 많이 보낸다. 청소년 사목회관은 이탈리아의 청소년 종교, 체육, 문화 교육 시설로 이탈리아 마을에서 중요한 위치를 차지한다고 한다. 당시 빨치산은 2종류가 있었는데, 왕을 지지하는 바우돌리오 파와 공산주의자인 가리발디파. 영국이 바우돌리오 파에만 무기를 지원해서 바우도리오 파의 무기가 더 좋았다고 한다. 파시스트 중에서 제일 악질은 검은 여단들로 이들은 소년원이나 교도소에서 나왔고, 사람들에게 무서움을 주는 것을 즐긴다고 했다. 

주인공은 여기서 어른 그라뇰라와 친해진다. 그라뇰라에게 많은 철학을 배웠고 그라뇰라와 벼랑골 이야기는 100페이지에 달하고 2권에서 제일 재미있는 파트이다. 그는 장애가 있는 듯하고 다른 어른들과는 잘 못어울리는 듯하다. 그는 가죽집에 담긴 메스를 들고 다닌다. 검은 여단에게 잡히면 고문을 당할 것이고 그는 고문을 당하게 되면 동지의 이름을 말할 것이기 때문에 잡히기 전에 목숨을 끊기 위해 그 메스를 들고 다닌다고 한다. 

소년 시절 주인공은 높은 산속에 있는 산마르티노 아이들을 괴롭히는 것을 즐겼다. 그들은 일종의 전쟁을 했는데, 주인공은 산마르티노를 급습하기 위해 길을 이용하지 않고 벼랑(벼랑골)을 올라서 산마르티노 아이들을 괴롭혔다. 마침 카자흐스탄 군인 8명이 마을에 오고 그들은 산마르티노 사제관에 피신한다. 그런데 나치친위대가 온다는 소문이 있고, 이들을 탈출시켜서 바우돌리노파에게 인계해야된다는 것이다. 유일한 방법은 벼랑골을 이용하는 것. 주인공이 벼랑골 지리를 잘 안다는 사실 때문에 어른들이 주인공에게 길 안내를 시킨다. 탈출의 밤. 일행은 독일 군에게 발각되고 그라뇰라는 자신의 메스로 이들을 죽인다. 그리고 그라뇰라는 무사히 주인공을 집으로 보내주고 카자흐스탄 군인들도 살려주고 가다가 검은 여단에게 붙잡혀서 메스로 목숨을 끊는다. 

위스망스의 '거꾸로'가 여기서도 나오네. 앙드레 보통의 '여행의 기술'에도 나오고 브레통의 '나자'에도 이 소설이 나온다. 

주인공은 유년 시절 내내 벼랑골의 기억에 사로잡혀 있다가 고등학교 때 릴라를 보고 벼랑골의 고통을 잊게 된다. 돈 레나토 신부는 사랑을 마음 속에만 간직하고 있으라고 한다. 


릴라와 딱히 주인공은 무언가를 한 것은 아님. 연극을 좋아하는 주인공은 릴라라는 동급생을 짝사랑하면서 괴로워함. 자신을 시라노라고 생각. 코마 상태에서 주인공은 로아나 여왕에게 릴라의 얼굴을 딴 한번만 보게 해달라고 부탁함. 싸이키델릭한 환상들 사이에서 제일 마지막으로 릴라가 등장할 즈음 주인공은 태양이 검게 변함을 느낀다. 

이 책은 무려 두번이나 읽었네. 오늘까지 치면 세번이다. 처음엔 샀으니까 읽고. 두 번째에는 책 버리기 전에 책 내용이 하나도 기억이 안나서 읽고. 오늘은 책 진짜로 버리기 전에 훗날을 위해 내용을 정리하기 위해. 



2023년 5월 18일 목요일

걱정이 많아서 걱정

오늘 어쩌다가 이 노래를 듣게 되었다. 동독에서 인기를 얻었던 체코 출신의 가수 Karel Gott인데, '천상의 목소리'란 별명에 수긍이 간다. 어쨌든 그가 부른 '꿀벌 마야의 모험' 주제가이다. 


요즘 걱정이 너무 많아서 걱정이다. 걱정이 구름이라면 내가 사는 서울시 XX구의 VV 동은 덮었을 것이다. 이 걱정이란 것이 내 머리 속에만 존재하고 세상에는 아무런 영향을 미치지 못한다는 생각을 하면 위로가 될까. 

오늘은 유튜브가 추천해준 라벨 피아노 곡을 들었다. 베르트랑 샤마유. 프랑스 출신 피아니스트. 나는 낭만주의 보다 차분한 인상주의 음악가들이 더 좋다. 




2022년 3월 25일 금요일

[Unity} How to pop up multiple window with error message.

 1. I would like to pop error message window up. 

     Before I just use one designated 'Error Pop Up Window' and 'SetActive(true)' command. 

2. But now I call multiple function with Delegate Chain. If I use only one pop up window and there are multiple error message in miltiple function, that will give me error in my life. So I figured out this "Hmm. Will I instantiate Pop Up window as prefab? " I did but Pop Up window instantiate where I can't see.

    public void PopErrInstantiate()

    {

        GameObject childObject = Instantiate(popErrorPref) as GameObject;

     }

3.Then let's make Pop Up window instantiate & let this be the child of main Canvas. 

    public void PopErrInstantiate(s)

    {

        GameObject childObject = Instantiate(popErrorPref) as GameObject;

        childObject.transform.parent = Ui_ControlUi.BigCanvas.transform;

    }

4. OK. Let's destroy this pop up before my game will be stacked withPop Up window object. I put destroy in the close funtion that was attached in Close button of Pop Up window. 

        public void Close()

        {

            GameObject one = canvas.transform.parent.transform.parent.gameObject;

            Destroy(one);

        } 

 

Full Code is below


I made a prefab with UI_test level hierarchy. DialogueUI script is attached in [Dialog UI Test]. 

Below is the code of Dialouge UI 


namespace EasyUI.Dialogue
{
    public class Dialogue
    {
        public string Message = "Message goes here.";
    }

    public class DialogueUI : MonoBehaviour
    {
        [SerializeField] GameObject canvas; 
        [SerializeField] Text messageUIText;
        [SerializeField] Button closeButton;

        Dialogue dialogue = new Dialogue();

        //public Control_UIs ConUDialog;
        public static DialogueUI Instance;

        private void Awake()
        {
            Instance = this;
            closeButton.onClick.RemoveAllListeners();
            closeButton.onClick.AddListener(Close);
        }

        public DialogueUI SetMessage(string message)
        {
            dialogue.Message = message;
            return Instance;
        }

        public void Show()
        {
            messageUIText.text = dialogue.Message;
            canvas.SetActive(true);
        }

        public void Close()
        {
            canvas.SetActive(false);
            GameObject one = canvas.transform.parent.transform.parent.gameObject;
            Destroy(one);
        }
    }
}

That code is from Youtube tutorial 


And I call that function like this. 

        else
        {
            string message;
            message = "Band members should be less than 9"; 
            ControlUi_casting.PopErrInstantiate(message); //생성해서 띄우는 팝업창 열기
        } 






2021년 8월 8일 일요일

세계를 읽다 - 독일

세계를 읽다 - 독일// 컬쳐쇼크 시리즈 한국어판. 리처드 로드 지음. 가지 출판. 


인상적인 것들만 정리해 봄. 


  


물건을 잘 빌려주지 않는다. 무언가를 빌린다면 그것을 빌린 상태 그대로 돌려주는 것이 중요하다. 


집과 자동차에 대한 애착이 많아서 집을 방문할 때 미리 약속을 하고 방문해야하고 밤 10시 이후에는 전화하지 않는다. 남의 자동차에 기대지 않는다. 남의 집의 물건은 반드시 그 자리에 두어라. 


독일인은 회사와 사생활의 영역을 매우 중시한다. 친한 동료도 회사에서는 형식적 호칭으로 부르고 업무가 끝나면 친근한 호칭으로 바꾼다. 


독일인은 모든 일들을 계획적으로 하기 때문에 시간을 맞추어야 한다. 잘못을 하면 솔직하게 인정하라. 

합리주의에 대한 확고한 신념으로 감상주의에 대한 경멸이다. 

독일인은 어떤 나쁜 일이 닥칠지 모른다는 생각으로 항상 비관적이고 우울하고 그에 대한 계획을 철저히 잘 세운다. 

독일 사람들은 외국인을 싫어한다. 그러나 이 외국인에 잘사는 나라 출신의 백인(미국 및 서유럽)은 포함되지 않는다. 가끔 이사를 갈 때 외국인의 입주는 원치 않는 집주인들도 있다. 

사람들이 줄을 서지 않는다. 사람들이 무뚝뚝하지만 상점에 갈 때와 나갈 때 형식적인 인사를 해야한다. 

독일에서의 성공의 열쇠는 자신감의 표현. 상대방의 눈을 똑바로 보고 악수를 할 때는 힘차게 하라. 사업상 만남에서도 헤어질 때 Schonen tag noch라고 말하라. 

이유없이 칭찬을 하면 상대방은 나에게 무슨 꿍꿍이가 있다고 생각할 것이다. 

독일 사람들은 긴밀하고 특별한 관계에 있는 사람에게만 쓴다. 

생일 때는 직장동료에게 생일턱을 쏴야한다. 생일 선물을 일찍 주면 불운이 온다고 생각한다. 

일찍 출근하고 일찍 퇴근한다. 

독일인은 문서숭배자이다. 

독일인은 첫인상을 중요시한다. 적절하게 낮은 목소리 톤이 중요하다. 곧장 본론으로 들어가라. 

2020년 11월 11일 수요일

Receipt

 Found old receipts from a bag that I haven't used for a long time. I got those receipt from my trip in UK in year 2016. 

It is fun to recollect old memory. First I tried to throw out those receipts but I changed my mind. I will check every receipt of those and write in my travel journal. 

The receipt of today is...


Latitude Coffee

81 Rose Street 04 August 2016 


I searched that on Google Map. 


That cafe seems still to be there. 

I went in there for natural calls. But coffee was nice and the owner of coffee shop was also nice. I went there several more times during my staying in Edinburgh. 

It was my second visit of Edinburgh. There are so many place that I wish to visit and when I visit some city more than one times that means I have friends in there or I love that city. And I don't have any friend in Edinburgh. 







2020년 8월 21일 금요일

Functions of Google Spreadsheet that I used for balancing game.

 


Function list is here. 


INDEX: show the content of indicated row & column in the selected range. 

example: 

=INDEX(AM12:AN19, 5 ,1)

=> INDEX(selected range, indicated row, indicated column)




Switch & IFS

1) I would like to something that return a value according to its range.
- Usually in C#, it is possible to use Switch operator and range.
- But I couldn't find the way to do in Google Spreadsheet function.

2) What I want is 'return out of chart' if the point is less than 800, and 'return 100 if point is between 800 and 1000. The solution is like this

- IFS(AJ12 < 'b1'!B14, "순위권 밖", AND( AJ12>='b1'!B14, AJ12 <'b1'!B13), RANDBETWEEN(91,100))

- IFS(first condition, value for return, second condition, value for return)
- It seems for me there is no syntax like 'AJ12> B14 && AJ< B13)
- Instead I use like this 'AND( AJ12> B14, AJ< B13), some value)
- it means if the value passes as true for both of condition in AND( ) then return some value.

To get the value from other sheet
= the name of other sheet '!' and cell number
like this = b1! B13