Blog Archive

2023-10-19

따뜻한 사람들의 이야기와 그림이 있는 동화책, 《책과 노니는 집》

책과 노니는 집. 이영서 글. 김동성 그림
책과 노니는 집. 이영서 글. 김동성 그림

초등학교 5학년 아이가 읽어보고, 내용과 단어가 너무 어렵다고 하여, 도움을 주기 위해 저도 읽어보았습니다. 제9회 문학동네 어린이 문학상 대상을 받은 작품이라니 어떤 작품일까 궁금하기도 했습니다.

아버지의 죽음

이야기의 배경은 조선 후기 천주학이 학문으로 들어오기 시작할 무렵에 서울입니다. 주인공 장이는 책을 필사하는 것을 업으로 삼은 아버지와 살고 있는 어린 소년입니다. 그런데 아버지가 천주학 책을 필사했다는 이유로 죽도록 맞아, 소년은 세상에 홀로 남겨질 것을 두려워합니다.

죄 없는 사람을 이 지경으로 만들어 놓다니...... 모진 놈들......

아버지에게 일감을 주었던 책방 주인 최 서쾌가 아버지가 죽기 전에 찾아와 이렇게 말합니다. 보편적인 사람의 상식과 정서에서 아버지는 죄 없는 사람이었고, 한 사람을 이 지경으로 만들어놓은 국가의 무자비한 폭력에 대해 탄식하는 것이지요. 그 시대에서 받아들일 수 없는 말과 행동을 하는 것이 국가가 보았을 때 죄가 됩니다. 그러나 통치자가 만들어놓은 합법의 테두리라는 것은 시대에 따라 달라지기도 합니다. 설사, 그 시대 기준으로 죄가 있다고 하더라도, 사람이 죽을만큼 맞는 것이 옳다고 할 수는 없습니다. 죄가 있다고 신체적인 형벌을 주는 일, 그리고 사람의 목숨까지 국가가 빼앗아가는 일이, 현대 사회에서는 이제 많이 사라져가고 있습니다. 얼마나 다행인 걸까요.

국가의 정책, 지배자의 통치 방향과 다르다는 이유로 조선 말기에 천주학과 조금이라도 관련이 되었다고 의심받는 것은 매우 위험한 일이었습니다. 그럼에도 불구하고, 서학을 접한 사람들은 더 많아집니다. 그리고 그들은 엄격하게 계급이 구분되어 날 때부터 귀한 사람과 천한 사람이 구분되는 신분 사회의 모순을 인식하게 됩니다. 이런 사람들의 생각과 정서를 따라가지 못한 국가는 가혹한 탄압을 행합니다. 왕조 시대와 식민지 시대를 거쳐서 민주 공화국이 되고, 절대적인 통치자, 왕에 의한 지배에서, 법에 의한 지배(rule by law) 사회가 된 우리 나라! 정말 많이 진보했습니다. 그러나, 그 법이 정의, 평등, 인권, 사상의 자유 등 인간의 이상을 반영하지 못한 상태에서, 법 통치자에 의해 잘못 휘둘러지는 경우는 없는지도 생각해봅니다. 

혼자였던 장이를 도와주는 사람들

아버지가 돌아가시고, 최 서쾌의 도움으로 필사한 책 배달을 하게 된 소년, 장이. 이번에는 동네 불량배인 허궁제비에게 큰 괴롭힘을 당하고 난처한 처지에 빠집니다. 가족도, 도와줄 사람도 없는 장이는 혼자서 끙끙대며 힘들어합니다. 그러나, 장이는 고립무원의 약자가 아니었습니다! 가족이 없는 장이에게 일터를 주었던 최 서쾌, 도리원에서 만난 낙심이, 청지기 아저씨, 미적 아씨, 지물포 주인 오씨 등이 모두 합심하여 도움을 주었습니다! 최 서쾌는 이렇게 말합니다.

네가 감당할 수 없거든 도움을 청하란 얘기다....... 휴우.

도움을 제공한 장이

관아에서 다시 천주학 관련자를 대대적으로 색출하여 잡아가는 일이 벌어집니다. 이번에는 그동안 신분의 차이를 뛰어넘어 장이를 따뜻하게 대해주었던 홍 교리에게 장이가 큰 도움을 제공합니다! 많은 사람들과 부대끼며 살아가지만, 외로운 현대인들은 각자 도생의 세계로 더 깊이 들어갑니다. 그런데, 장이는 도움을 받고, 또 도움을 줄 수 있는 행복을 가졌습니다. 국가 폭력이 지금보다 훨씬 더 거대한 과거 왕조 시대로 결코 돌아가고 싶진 않습니다. 하지만, 이렇게 사람들이 어려울 때 서로 도움을 주고 외면하지 않는 것이 조상들의 보편적인 정서였다면, 현대인으로서 그런 옛날이 그리워지기도 합니다.

마무리

소년 장이의 성장 소설일 수도 있고, 조선 후기의 역사 소설일 수도 있습니다. 장이라는 순진한 어린이의 시선을 따라 책과 관련된 이야기가 담담하게 그려지면서, 책읽기를 권장하는 어린이 문학일 수도 있습니다. 이런 여러 성격을 다 갖고 있지만, 어느 것 하나 과함이 없습니다. 어린이들에게 책을 많이 보라고 강요하지도 않고, 역사가 너무 도드라지지도 않으며, 사회 문제를 직접적으로 제기하지도 않습니다. 이야기는 알차게 꽉 차 있지만, 이를 읽는 독자들에게는 각자의 생각과 느낌, 상상으로 채울 수 있는 여백이 아주 많습니다. 마지막으로, 이야기와 한 몸이 된 듯한, 아름답고 따스한 삽화가 없었다면, 책읽기의 즐거움이 반감되었을 것입니다.

2023-10-16

종이 PDF 양식을 온라인 양식으로 변경, 결과도 PDF 양식으로 저장 (Jotform 이용)

지난 번에 구글 설문(Google Forms)로 응답받은 내용이 개인별 PDF 파일로 생성되는 방법을 살펴보았습니다. 이번 시나리오는, 기존에 오프라인으로 쓰던 입력 양식이 이미 있다고 가정하고, 그것을 최대한 살려서, 온라인 양식을 만든 다음, 온라인 양식으로 응답을 받으면, 오프라인 양식에 값이 저장되게 하는 것입니다. 


온라인 양식(form) 생성 도구 중에 가장 세세한 기능과 옵션을 제공하는 잣폼(Jotform)이라는 서비스를 이용합니다. 잣폼에서는 온라인에서 PDF 양식을 직접 만들 수도 있고, 기존 PDF 파일을 불러와 온라인 폼과 연결시킬 수도 있습니다. 온라인 폼을 통해 받은 데이터를 잣폼 테이블(Jotform Tables)을 이용해 데이터베이스로 관리할 수 있고, 하나하나의 받은 데이터를 원래의 PDF 파일 형식으로 내보낼 수 있습니다. 

1. 종이 PDF 양식 파일 준비


출력하여 종이로 입력받는 가상의 동아리 가입 신청서를 아래와 같이 PDF 파일로 준비하였습니다. 아래 그림을 선택하면, 여기에서 사용된 PDF 파일을 다운로드 받을 수 있습니다.

종이 출력용 가입 신청서 양식 PDF
종이로 된 가입 신청서 양식 PDF


2. 잣폼에서 폼 생성하기


잣폼에 가입하고 처음 들어가면 My Forms 화면에서 [CREATE FORM] 버튼이 있습니다. 이것을 누르면, 어떤 방법으로 폼을 만들 것인지 물어봅니다. 미리 PDF 모양을 만들어놨으므로 Import Form 을 선택하고, Import PDF form 을 선택한 다음, 만들어놓은 PDF 파일을 불러옵니다.

Jotform에서 Create Form 선택
Create Form 선택

Import Form 선택
Import Form 선택

Import PDF Form 선택
Import PDF Form 선택


3. 온라인 폼과 PDF의 연결

PDF 파일 Import 완료된 모습
PDF 파일 Import 완료된 모습. 이제 Add Form Element 버튼을 눌러 온라인 양식들을 만들기 시작한다.
불러온 PDF 파일을 보면서 잣폼에서 순서대로 양식 요소(Form Element)를 만들어줍니다. [Add Form Element] 버튼을 누르고 차례대로 폼을 생성합니다. 맨 처음에 '성명'은 'Short Text'로 생성하면 되겠지요. 

Form Element중에 Short Text를 골라 성명 필드를 만든다.
Form Element중에 Short Text를 골라 성명 필드를 만든다.



왼쪽 온라인 폼 창에서는, "Type a question"이라고 뜬 폼 레이블에 "성명"을 입력합니다. 오른쪽 PDF 창에서는, 초록색 사각형 텍스트 필드가 PDF 파일 위에 나타납니다. 그것의 위치와 크기를 성명 옆에 갖다 놓습니다. 

생성된 성명 필드를 PDF 파일의 성명란에 옮겨놓는다.
생성된 성명 필드를 PDF 파일의 성명란으로 옮긴다.


이어서 성별에 쓰이는 Single Choice 를 추가하고, 레이블을 "성별"로 입력합니다. 생성된 초록색 동그라미 버튼을 남, 여, 비공개 버튼에 각각 옮깁니다.

이런 식으로 휴대전화에는 다시 Short Text를, 회원 구분에는 Single Choice를, 가입경로에는 Multiple Choice를, 신청일에는 Date Picker를 추가합니다. 마지막으로 신청자 서명에는 Signature 폼을 추가합니다.

4. PDF Preview 및 온라인 폼 테스트


오른쪽 상단의  Preview Form 버튼을 누르면, 방금 만든 양식들을 온라인으로 테스트해볼 수 있습니다. 온라인으로 변환된 동아리 신청서에 값들을 넣어봅니다.

온라인과 연결 완료된 PDF 양식. 오른쪽 위 Preview Form을 눌러 데이터 입력 테스트를 할 수 있다.
온라인과 연결 완료된 PDF 양식. 오른쪽 위 Preview Form을 눌러 데이터 입력 테스트를 할 수 있다.


양식 작성 후에는 Preview PDF를 통해, 내가 넣은 값들이 PDF 종이 신청서에 어떤 모양으로 들어갈지 미리 확인해볼 수 있습니다. 최종 제출(Submit) 버튼을 누르면 이제 테스트로 넣은 값이 들어갑니다.

입력 테스트 화면. 입력 후 Preview PDF를 누르면, PDF 종이 신청서에 값이 어떤 모양으로 들어가는지 확인 가능. Submit을 누르면 최종 제출 완료
입력 테스트 화면. 입력 후 Preview PDF를 누르면, PDF 종이 신청서에 값이 어떤 모양으로 들어가는지 확인 가능. Submit을 누르면 최종 제출 완료

데이터 입력 후 Preview PDF를 통해 확인한 PDF에 데이터가 입력된 모습
데이터 입력 후 Preview PDF를 통해 확인한 PDF에 데이터가 입력된 모습

5. 최종 만들어진 폼을 공개(Publish)


이제 온라인 폼으로 만든 것을 상단 메뉴 중에 PUBLISH 를 선택해 공개적인 링크를 만듭니다. 이 링크를 홈페이지나 소셜 미디어에 올리면, 공개적인 신청/설문을 받을 수 있습니다. 

PUBLISH를 선택하면, 공개적인 데이터 입력 링크가 만들어져 데이터 입력을 받을 수 있다.
PUBLISH를 선택하면, 공개적인 데이터 입력 링크가 만들어져 데이터 입력을 받을 수 있다.

여러분도 데이터 입력을 직접 테스트할 수 있습니다. 최종 제출 전에 Preview PDF를 선택하면, 내가 입력한 데이터가 PDF 양식에 어떻게 들어가는지 확인할 수 있고, 다운로드도 받을 수 있습니다. 입력 양식 안에 이메일 필드가 있는 경우, 응답자의 이메일로 입력된 PDF를 보내게 할 수 있습니다.



6. 데이터 수집


여러 사람이 온라인 폼으로 제출한 데이터는 Jotform Tables에서 확인하고 관리가 가능합니다. Jotform 메인 메뉴에서 Tables를 선택합니다. 지금까지 수집한 데이터들이 깔끔하게 테이블에 들어가 있습니다. Jotform Tables는 Airtable과 매우 비슷하게, 관계형 데이터베이스를 기반으로 데이터 관리를 쉽게 해주는 도구입니다.

메인 메뉴에서 Tables를 선택하면, 수집된 데이터를 테이블에서 확인할 수 있다.
메인 메뉴에서 Tables를 선택하면, 수집된 데이터를 테이블에서 확인할 수 있다.

7. 결과를 다시 PDF 양식으로 출력


이제 입력받은 결과를 다시 PDF 양식으로 출력도 가능합니다. 출력을 원하는 데이터 레코드의 추가 메뉴(⋮)를 누르고, Download as PDF 를 누르면 아래와 같이 값이 채워진 PDF 파일을 얻을 수 있습니다.

테이블에서 입력된 데이터를 개별 데이터, 또는 전체 데이터 모두에 대해 종이 PDF 양식에 값이 채워진 모습으로 다운로드받을 수 있다.
테이블에서 입력된 데이터를 개별 데이터, 또는 전체 데이터 모두에 대해 종이 PDF 양식에 값이 채워진 모습으로 다운로드받을 수 있다.

입력된 값이 종이 PDF 양식에 맞게 들어간 PDF 샘플을 여기에서 확인해보십시오.


잣폼은 현재 나와있는 온라인 양식, 설문조사 도구 중 가장 세세한 설정이 가능하고, 기능이 많아서, 구글 설문과 같이 널리 쓰이는 도구 외에 하나 더 알아둘 만 합니다. 그 중에 오늘은 온라인 폼과 PDF 폼을 연동하는 방법을 알아보았습니다. 다음에는 제가 일상적으로 사용하는 Airtable을 이용햐여 비슷한 작업을 한 번 해보겠습니다.

2023-10-14

완벽해 보이는 가정의 균열, 《마당이 있는 집》

김진영 작가의 마당이 있는 집
김진영 작가의 마당이 있는 집


현실이 원하는 대로 되지 않으면, 나는 소설을 든다. 소설에 빠져들며, 현실의 아픔을 잠깐 잊고 싶어서. 이번에는 오랜만에 읽은 스릴러 소설. 운명이 다른 두 여자의 가정이 무너져가는 이야기가 짧은 며칠 사이에 극적으로 전개되며 쉽게 책을 놓을 수 없게 만드는 매력이 있었다.

그러나 2023년 나의 현재의 암담한 상황과 소설 속의 상황이 자꾸 오버랩 되면서 읽는 동안 계속 깊은 계곡으로 빠지는 느낌이 들었음을 부정할 수 없었다. 추리 소설이라고 하면 보통은 사실이 상당히 나중에 밝혀지는 반면, 이 작품은 중간중간에 두 주인공의 독백을 통해 사실들이 하나 둘씩 드러나게 되므로 추리물은 아니다. 그러나 끝까지 결말이 어떻게 전개될지 궁금하게 만들고 긴장하게 만든다는 점에서 영화 시나리오를 써본 작가의 소설적 재미를 만들어내는 능력에 감탄하게 된다.

완벽해 보이는 의사 남편을 둔 김주란의 가정에서 남편과 아내의 미묘한 균열을 세밀하게 그려지고, 아마 그런 점에서 공감이 가는 부부들도 많지 않을까 생각된다. 남편은 아내를 자상하게 보호해주는 것 같고, 아내는 그의 틀 안에서 행복을 누리는 것 같아 보인다. 그러나, 김주란이 문제 제기를 할 때마다 그냥 미안하다, 그만하자로 대충 마무리해버리는 남편의 모습. 그리고 그런 상황에서 오히려 내가 잘못된 것은 아닌가 의문을 갖고, 자신을 믿지 못하는 아내, 김주란의 모습. 그냥 참고 넘기면 그냥 계속 평온할 지도 모를 관계에서 조그마한 균열이 파국을 향해 급하게 달려간다. 완벽한 가정이란 이 세상에 없는 것인가? 괜찮아 보이는 가정, 그리고 처음부터 문제가 있어 보이는 두 개의 가정의 모습을 보고, 이 세상 많은 가족 구성원들이 피해갈 수 없는 질문을 던져본다. 가족의 구성원 모두가 동의할 이상적인 가정은 어떤 모습일까?

같은 제목을 가진 드라마로도 작품화되었는데, 아직 보지는 못했다. 김진영 작가의 차기작을 기대해본다.

마당이 있는 집:, 김진영 저, 엘릭시르

2023-10-08

나의 과학적 지식 수준을 다시 돌아보게 만든 《문과 남자의 과학 공부》

문과 남자의 과학 공부: 나는 무엇이고 왜 존재하며 어디로 가는가? 유시민 지음.
문과 남자의 과학 공부 책표지

나는 수학이나 과학을 싫어하거나 크게 겁내지는 않았다. 내가 궁금해하는 문제에 대해 과학적 사고를 하는 법과 과학적 원리를 모르는 내가 답답해, 대학교에서도 공대의 음향학 수업을 듣거나, 다른 과에 가서 미적분학, 미분방정식 등 수학, 그리고 컴퓨터 프로그래밍 수업을 찾아들었다. 최근 몇 년을 돌이켜봐도, 미적분의 힘이나, 뇌과학의 모든 역사, 보이는 세상은 실재가 아니다와 같은 교양 과학 서적들을 재미있게 보았던 기억이 있다. 

그런데, 유시민 작가의 책 《문과 남자의 과학 공부》를 보면서, 한참을 반성했다. 정말 과학적인 기초 사실들에 대해 내가 이렇게 대충대충, 건성으로 들어만 본 것을 아는 체 하고 있었다는 것을 깨달았다. 대표적인 것이 "오랜 시간"에 걸쳐서 생물이 진화한다는 진화론에 대해 나는 너무 무지했었다. 생존에 유리한 자연 선택이 이루어지고, 그것이 유전자에 어떻게 반영된다는 것인지 너무 몰랐었다. 

우주의 탄생, 그리고 그것이 현재 지구상에서 발견되는 주기율표에 나오는 원소들과 무슨 관계가 있는지, 원자핵과 전자는 얼마나 떨어져 있는지, 앞으로 우주는 어떻게 될 것인지에 대해 이제야 조금 손에 잡힐 듯이 이해하게 되었다. 

뇌과학, 생물학, 화학, 물리학, 수학의 과학적 발견들을 탐색하며, "나는 무엇인가?", "나는 어떻게 존재하는가?", "나는 어디로 가는가?"와 같은 인문학적 질문에 대한 답을 찾아본다. 하나하나가 대충대충 넘어가지 않았다. 스스로 "거만한 바보"를 겨우 벗어난 "문과" 남자라고 칭한 저자는 훌륭한 과학 커뮤니케이터들이 쓴 수많은 과학 교양서들의 도움을 받아, 다른 어떤 커뮤니케이터보다도 과학을 쉽고 재미있게 설명하고 있다. 

저자가 참고했던 책들은 그대로, 독자들에게 추천할 만한 훌륭한 과학 교양서들이다. 이 목록들을 알게 된 것만으로도 충분히 읽을 가치가 있었다. 코스모스, 원더풀 사이언스, 세계를 바꾼 17가지 방정식, 이기적 유전자, 눈먼 시계공, 파인만의 여섯 가지 물리 이야기, 엔드 오브 타임, 원소의 왕국, 사회생물학 대논쟁, 통섭: 지식의 대통합, 생명이란 무엇인가, 다정한 것이 살아남는다, 불확실성의 시대, 김상욱의 양자 공부, 세상의 모든 수학, 일어날 일은 일어난다, 내가 누구인지 뉴턴에게 물었다, 어느 수학자의 변명 등 그 중에 몇 가지만 나열해도 풍부한 추가 읽을 거리가 생긴다. 

인상깊었던 부분은 나열할 수 없이 많지만, 아무래도 마지막 장에 나온 수학에 관해서 영국 수학자 하디의 말에 고개를 끄덕이게 되었다. 예전부터 궁금했다. 수학과에 가면 도대체 논문을 어떻게 쓸까? 수학과에 가는 그 많은 사람들이 수학적인 발견을 하나씩 해내어 논문을 쓰는 걸까? 하디는 산술, 대수학, 유클리드기하학, 미적분학, 공학, 물리학, 경제학, 사회과학 전공자가 배우는 수학은 "하찮은 수학"이라고 하였다. 그러나 그런 수학은 세상에 유용하게 쓰인다. 그런데 현대의 기하학과 대수론, 정수론, 집합론, 상대성이론, 양자역학은 아름다운 "진정한 수학"이지만, 세상에 쓸모가 없다고 하였다. 물론 이런 이분법은 맞지 않다. 상대성 이론이 없었다면, 우리가 일상에서 쓰는 내비게이션만 해도 엄청난 오차 때문에 전혀 쓸모가 없게 된다. 유시민 작가는 다른 과학과는 다르게, 소위 "진정한 수학"을 하는 수학자들은 "인간계"가 아닌 "신계"에 속한 사람들 같다고 말한다. 대표적인 천재 수학자 가우스를 예로 들면서. 

학교 다닐 때, 수학 좀 잘 한다는 사람들은 수학에 많이 의존하는 과학을 하면 잘 할 수 있는 것 같다. 그런데, 그렇게 수학을 잘 한다는 것이, 새로운 "신계"의 수학적 발견을 해낸다는 것과는 다른 이야기인가 보다. 이런 비슷한 이야기를 몇몇 과학자들에게서 들었던 기억이 난다. 

아내가 도서관에서 빌린 책이라 충분히 밑줄 치고, 메모하면서 보지 못해 아쉽다. 책 반납일을 단 며칠 앞두고 펼치기 시작해서 다 볼 수 있을까 걱정하였다. 하지만 너무 속도감있고 재미있게 책장을 넘길 수 있어서, 그건 쓸 데 없는 걱정이었다. 인문학과 과학이 만나서 어떻게 세상의 문제들을 설명해가는지 궁금한 사람들은 이 책에서 여정을 시작해도 좋을 것 같다.

[돌베개]문과 남자의 과학 공부 : 나는 무엇이고 왜 존재하며 어디로 가는가?, 돌베개, 유시민

2023-10-05

개리 마커스의 《클루지》

클루지: 생각의 역사를 뒤집는 기막힌 발견
클루지: 생각의 역사를 뒤집는 기막힌 발견

저자 개리 마커스(Gary Marcus)는 심리학자이자, 인지과학자입니다. 많은 심리학적 발견들은 인간의 뇌 활동이 많은 오류와 편향(bias)으로 가득차 있다고 말을 하죠. 개리 마커스는 우리 몸에 진화적인 관성에서 쓸모없어 보이는 신체 구조가 남아 있는 것처럼, 우리의 뇌에도, 비합리적이거나 잘못 설계된 흔적들 투성이라고 합니다. 그 결과, 뇌가 관장하는 우리의 기억, 신념, 의사 결정과 선택, 언어, 행복과 쾌락의 추구 과정에도 불합리하고, 엉성한 측면들이 많다는 것이죠.


다니엘 카네만이 구분했던 즉각적이고 자동적인 시스템 1 사고와, 의식적이고 통제된 숙고를 하는 시스템 2 사고 비슷한 개념이 나옵니다. 아주 오래된 인류 진화의 산물인 반사 체계(선조 체계)와 비교적 최근에 진화하여 좀 더 합리적인 처리를 하는 숙고 체계를 구분합니다. 이 두 체계의 갈등에서 많은 경우, 사람들이 반사 체계가 우선적으로 작동하여, 클루지스러운 기억, 신념의 형성, 의사 결정, 나중에 후회할 선택을 하게 된다고 합니다.


확증 편향(confirmation bias)과 동기에 의한 추론(motivated reasoning), 점화 효과(priming effect), 닻내림 효과(anchoring effect), 후광 효과, 언어의 불완전성 등이 대표적인 클루지로 소개됩니다. 이 글에서는 대표적이지는 않지만, 제가 인상깊게 보았던 몇 가지 클루지를 여기에 소개합니다.


생생하고, 개인적이고, 일화적인 기억


여러 사례가 개입되고 통계학적으로 뒷받침되는 다른 정보보다, 내가 개입되거나, 나의 경험이 들어가 있는 일화적인 기억을 우선시해 의사결정을 할 수 있습니다. 예를 들어 소비자원에서 나온 보고서는 종합적으로 A 상품이 더 좋다고 하는데, 어떤 한 사람의 일화에서 A상품이 결함이 있어서 B 상품을 추천한다고 하면, 결국 내가 상품을 선택할 때 생생하고 일화적인 것에 굴복하여 B를 선택할 경우가 많다고 합니다. 나의 특수한 경험은 사례 수가 제한되어 있는데, 그것을 일반화하여, 나중에 의사결정이나 선택에 영향을 주지 않는지 조심해야겠지요.


스피노자의 가설


철학자 스피노자는 "모든 정보를 이해와 동시에 (먼저) 받아들이고 ...... 틀린 정보는 ... (나중에야) 물리친다"고 말하였다. 이것을 검증하기 위해 심리학자 길버트는 실험을 통해, 사람들이 주의를 분산시키는 방해을 받을 때, 거짓 명제를 받아들이는 빈도가 증가함을 보여주었습니다. 이게 하찮아보이지만, 심각한 문제를 야기할 수도 있다고 하네요. 아동 포르노물을 소지했다는 혐의로 고발당한 미국의 한 정치인은 아무런 증거도 나오지 않았지만, 그가 입은 손상은 이미 돌이킬 수 없었습니다. 법률에서는 '유죄로 증명되기 전까지는 무죄'라는 무죄 추정의 원칙이 있지만, 우리의 마음은 그렇지 않는 것이 문제랍니다. "당신이 열두 살 때부터 포르노 잡지를 읽었다는 것이 사실인가요?" 이런 식으로 질문만 받아도 그것을 사실로 믿기에 충분할 수 있다고 합니다. 모든 것을 사실로 믿기 전에 의도적으로 의심해야 할 지도 모르겠습니다.


가까운 것과 먼 것


우리의 마음은 가까운 것과 먼 것에 대해 완전히 다른 방식으로 생각합니다. 가까운 것은 더 구체적으로, 먼 것, 먼 미래는 추상적으로 생각하는 경향이 있다고 합니다. 그래서 지구 온난화는 2050년에야 현실로 다가올 먼 미래라고 생각할수록, 현재에 나의 행동과 대처에 아무런 변화를 기대하기 어렵겠지요. 가까운 것과 먼 것에 대한 생각을 균형있게 해야 합니다. 그 한 가지 방법으로 '잠시 기다리기'를 택할 수 있습니다. 비합리성은 시간과 함께 사라지는 반면에, 복잡한 결정은 시간을 두고 그것에 몰두할 때 가장 훌륭하게 이루어진다고 합니다.


이 책이 번역된 시기가 2008년이니 꽤 오래 전에 나왔네요. 저자 개리 마커스는 책에서 인터넷에 각종 정보가 넘쳐나던 당시를 '폭로된 진실'의 세계라고 칭하며 아이들이 인터넷에 있는 정보를 절대적 진리로 쉽게 믿어버릴 위험성에 대해 경고합니다. 그러니 아이들에게 대립되는 증거들을 평가하는 법을 가르치도록 많은 노력을 기울여야 한다고 말합니다. 생성형 AI가 나온 2023년 현재에도 매우 유효한 주장입니다.


내친 김에, 저자에 대해 좀 더 찾아보니, 2016년에 우버(Uber)에 인수된 지오메트릭 인텔리전스(Geometric Intelligence)라는 머신러닝 스타트업의 공동 창업자였네요. 2019년에는 로버스트에이아이(Robust.AI)를 설립했다고 하구요. 그리고 최근에 나온 TED 비디오에서 그는 생성형 AI가 허위 정보를 퍼뜨릴 위험성에 대해 경고하고 있습니다. AI의 두 가지 전통적 접근법(심볼릭 접근법과 연결주의 접근법, 즉 오늘날의 신경망)을 보완적으로 사용하여 허위 정보 생산의 위험성을 줄일 필요가 있다고 말합니다.


모두가 자기 주장을 강하게 내세우며 서로 대립하는 오늘날, 우리가 불완전하고, 클루지로 가득차 있다는 것을 인정하는 것은, 더 좋은 해결책을 찾기 위한 출발점일 것입니다. 우리 자신의 결점과 클루지를 이해하고, 겸손한 자세로, 더 현명한 판단과 선택을 찾고자 노력하는 사람들이라면 한 번 읽어보라고 추천합니다.

[갤리온]클루지 : 생각의 역사를 뒤집는 기막힌 발견 (리커버 에디션), 갤리온, 개리 마커스

2023-10-03

가을 나들이 - 경기도 광주시 팔당호반 둘레길 자전거 여행

아침에는 쌀쌀하고 낮에는 따스하며, 하늘은 높고 청명한 가을입니다. 긴 연휴동안 멀리 가진 못해도 가까운 곳에 하루라도 갔다 오자며, 점심을 먹고, 경기도 광주의 팔당 물안개 공원을 찍고 출발했습니다. 저희 동네인 용인시 기흥구에서 1시간 정도 걸리는 가까운 거리에 있었습니다.

물안개공원 제2주차장에 차를 세우려다, 자전거 대여하는 곳이 있다길래 조금 더 가서, (주)휴로드 다육이·선인장·허브 체험 농원 옆에 차를 세우고, 자전거를 빌렸습니다. 일인용, 이인용 탠덤, 3인용, 4인용이 있었는데, 아이까지 같이 타려고 저희는 3인용을 빌렸습니다. 한 시간에 15,000원이었어요. 3인용 자전거는 두 사람의 발의 힘으로 가는데, 일반 자전거보다 훨씬 느린 속도로 여유있게 풍경을 감상할 수 있습니다. 발에 힘도 살짝 들어가고, 운동도 살짝 되는 느낌이 좋았습니다. 

자전거 코스는 팔당호반 둘레길 1코스의 일부분으로 귀여섬(허브섬)을 가운데로 한 바퀴 도는 한 시간 남짓한 길입니다. 강건너 북쪽에는 바로 유명한 두물머리가 있습니다. 두물머리는 항상 많은 사람들로 붐비지만 강 남쪽의 둘레길은 사람이 별로 없고, 제대로 시골 풍경을 즐길 수 있는 곳입니다.

자전거를 타고 느리게 가는 길에 한 순간 한 순간이 모두 시선을 사로잡습니다. 도도히 흐르는 강물과 푸른 하늘, 바람에 하늘거리는 코스모스, 울창한 숲, 아기자기한 길, 모든 것이 다 조화롭고 평화롭습니다. 

수도권에서 하루 또는 반나절 짧은 힐링 여행을 생각하신다면, 팔당 물안개 공원으로 한 번 떠나보세요!

자전거 도로와 산책로 (팔당호반둘레길 1코스의 일부)
자전거 도로와 산책로 (팔당호반둘레길 1코스의 일부)

우리가 빌렸던 3인용  자전거
3인용 자전거

자전거를 잠시 세워놓고 휴식
자전거를 잠시 세워놓고 휴식


앞에 가는 다른 자전거 모습
앞에 가는 다른 자전거 모습

둘레길 주변 숲과 평원
둘레길 주변 숲과 평원

팔당 호반 둘레길 안내 표지판
팔당 호반 둘레길 안내 표지판

자전거 타다가 멈추고 코스모스 군락으로 들어가는 길
둘레길 가운데 코스모스 군락으로 들어가는 길



활짝 핀 코스모스들
활짝 핀 코스모스들



둘레길에서 바라본 한강
둘레길에서 바라본 팔당호, 한강

둘레길에서 바라본 한강 모습
둘레길에서 바라본 한강 모습



농원 안에서 파는 아기자기한 화분들
다육이 농원의 작은 화분들

농원에 전시된 빨간 선인장
다육이 농원의 빨간 선인장들

한강을 바라보며 차를 마실 수 있는 야외 테이블
한강을 바라보며 차를 마실 수 있는 야외 테이블

야외 테이블 근처에 핀 흰 코스모스
야외 테이블 근처에 핀 흰 코스모스


2023-09-29

Airtable 팁: 2024년 공휴일을 반영한 영업일 기준 전날, 다음날 계산식

에어테이블(Airtable)은 관계형 데이터베이스를 기반으로 매우 쉽고, 매우 강력한 노코드 앱 개발 환경을 제공합니다. 스프레드시트와 유사하지만, 훨씬 다재다능하며, 워크플로우(workflow), 자동화, 데이터 시각화나 비즈니스 인텔리전스(BI)를 쉽게 구축할 수 있으며, 데스크톱 또는 모바일 앱 또는 웹을 쉽게 만들 수도 있습니다. 앞으로 Airtable과 관련한 다양한 이야기와 팁을 하나씩 정리해보겠습니다.

두 날짜의 차이 판단하여 이름 붙이기

Airtable에서 {시작일}이라는 필드가 있다고 했을 때, 그 시작일이 현재를 기준으로 다음날인지, 전날인지, 아니면 이틀 후인지 등은 DATETIME_DIFF 함수를 통해 쉽게 파악할 수 있습니다.

SWITCH(     
	DATETIME_DIFF({시작일}, NOW(), 'days'), 
	2, '모레',
	1, '내일',
	0, '오늘',
	-1, '어제',
	-2, '그제' )
이런 식입니다. 그런데, 이 수식에는 몇 가지 문제가 있습니다. 

첫째, 시간대가 반영되지 않았습니다. 우리 나라는 표준 시간(UTC, Universal Time Coordinated)보다 9시간 빠르므로, 위와 같이 하면, 9시간의 오차가 계속 나게 됩니다. 즉, 필드 값이 어제 오후 3시가 넘어가면, 위의 수식에서는 그냥 '오늘'이라는 값을 리턴해버립니다.

둘째, 영업일(working days, business days)이 반영되지 않았습니다. 실제 Airtable을 비즈니스 현장에서 쓸 때에는 영업일을 기준으로 날짜 계산이 필요한 경우가 많습니다. 예를 들어, 예정 일정 하루 전에 반드시 (자동 또는 수동으로) 이메일/문자 알림을 보내거나, 고객에게 전화를 걸어야 하는 업무가 있다고 가정해보겠습니다. 다음 주 월요일이 교육 시작일인데, 오늘은 전주 금요일입니다. 그러면 오늘은 그냥 날짜 상으로는 3일 전이지만, 영업일 기준으로는 하루 전입니다. 그래서 오늘 반드시 고객에게 전화를 걸어야 합니다. 

2024년 9월 달력. 영업일 기준 다음날과 캘린더 기준 내일이 완전히 다른 경우
2024년 9월 달력. 영업일 기준 다음날과 캘린더 기준 내일이 완전히 다른 경우


    
영업일을 반영하려면, 주말인 토요일, 일요일을 일단 계산에서 제외해야 합니다. 그래도 문제가 있습니다. 주말은 아니지만, 공휴일, 소위 말하는 빨간 날을 제외해야 제대로 된 영업일 기준의 날짜 계산을 해줍니다. 그냥 수동으로 업무를 처리할 때에는, 그 정도는 사람이 감안해서 미리미리 처리해주면 되겠지만, 모든 것이 자동으로 처리되는 대량의 데이터 시스템에서는, 이런 계산을 대충 하게 되면 큰일 납니다.

시간대, 영업일을 고려한 날짜 차이 계산식

따라서 다음과 같이 보완을 해줍니다.

첫째, 시간대를 반영해서, Airtable 현재 시스템 시간에 DATEADD 함수를 이용해 9시간을 더합니다.
DATEADD(NOW(), 9, 'hours')
둘째, 구해진 시간을 한국 시간대로  설정해줍니다. SET_TIMEZONE 함수는 첫 번째 파라미터의 시간을 두 번째 파라미터에서 표시한 시간대로 표시해 시간값을 리턴해줍니다. 시간대별 표시자(identifier) 목록을 참고하십시오. (Airtable 필드 형식(Formatting) 설정에서 시간대를 바꿔주는 옵션이 있습니다만, 이것은 손대지 않는다고 가정합니다.) 추가로, 편의상 DATESTR 함수를 써서 일정 표시를 ISO 8601 날짜 표현방식에 따라, YYYY-MM-DD로 바꿔주겠습니다.

DATESTR(SET_TIMEZONE(DATEADD(NOW(), 9, 'hours'), 'Asia/Seoul'))


셋째, 이렇게 구한 현재 날짜/시간과 {시작일} 필드값을 비교해야 합니다. 그런데, 위에서 썼던 DATETIME_DIFF 함수를 쓰면, 주말이나 공휴일을 고려하지 않고, 날짜 차이를 계산합니다. 약간 주의할 점은, 시작일과 끝일을 모두 포함하여 계산하니, 양수인 경우 +1이, 음수인 경우 -1을 더한 값이 나옵니다.WORKDAY_DIFF라는 영업일 계산 함수를 써서, 일단 주말을 고려하여 날짜 차이를 계산합니다.

WORKDAY_DIFF(
  	DATESTR(SET_TIMEZONE(DATEADD(NOW(), 9, 'hours'), 'Asia/Seoul')),
    {시작일}
)

이렇게 하면, 시작일에서 현재일 사이에 영업일이 며칠 있는지 계산해줍니다. 그 값이 마이너스이면, 시작일이 이미 지났다는 뜻이고, 양수이면 시작일이 미래라는 뜻입니다. 결과가 0이면 영업일이 하나도 없으니, 시작일과 현재일이 모두 휴일이라는 뜻입니다. 1 또는 -1이면 시작일이나 현재일 둘 중의 하나가 영업일이라는 뜻입니다.

넷째, WORKDAY_DIFF 함수에서 세 번째 파라미터에 주말이 아닌 공휴일을 추가합니다. 2024년 기준 대한민국 공휴일을 참조하여, 마지막으로 공휴일 목록을 하나의 문자열로 묶어서 넣습니다. 

WORKDAY_DIFF(
	DATESTR(SET_TIMEZONE(DATEADD(NOW(), 9, 'hours'), 'Asia/Seoul')),
    {시작일}, 
    '2023-01-23, 2023-01-24, 2023-03-01, 2023-05-05, 2023-06-06, 2023-08-15, 2023-09-28, 2023-09-29, 2023-10-02, 2023-10-03, 2023-10-09, 2023-12-25, 2024-01-01, 2024-02-09, 2024-03-01, 2024-05-15, 2024-06-06, 2024-08-15, 2024-09-16, 2024-09-17, 2024-09-18, 2024-10-03, 2024-10-09, 2024-12-25'
)

다섯째, 다시 SWITCH 조건문에서 위의 값을 검사하여, 전전날, 전날, 오늘, 다음날, 담담날을 표시해주도록 합니다.

SWITCH(
	WORKDAY_DIFF(DATESTR(SET_TIMEZONE(DATEADD(NOW(), 9, 'hours'), 'Asia/Seoul')), {시작일}, '2023-01-23, 2023-01-24, 2023-03-01, 2023-05-05, 2023-06-06, 2023-08-15, 2023-09-28, 2023-09-29, 2023-10-02, 2023-10-03, 2023-10-09, 2023-12-25, 2024-01-01, 2024-02-09, 2024-03-01, 2024-05-15, 2024-06-06, 2024-08-15, 2024-09-16, 2024-09-17, 2024-09-18, 2024-10-03, 2024-10-09, 2024-12-25'),
	-3,'전전날',
	-2,'전날',
    -1,'(지난)오늘',
    0, '휴일',
	1,'(올)오늘',
	2,'다음날',
	3,'담담날'
)

실제 베이스 예시: 행사 운영 관리


아래에 예시로 만들어놓은 '행사운영관리'라는 베이스를 살펴보십시오. {시작일}이 오늘인지, 전날인지, 다음 날인지 판단하여 {영업일 기준}이라는 필드에서 결과를 보여줍니다. 시작일 하루 전에는 '사전 안내'를 반드시 해야 하고, 당일은 '현장 진행'을 해야 하고, 하루가 지나면 '해피콜'을 반드시 해야 한다고 합시다. 그런 업무를 체크리스트로 만들어놓고, 전날 일정, 오늘 일정, 다음날 일정 등만 따로 볼 수 있는 뷰(View)를 만들어놓으면, 누락이 없는 업무 관리 시스템이 됩니다. 또 거기에 전날, 오늘, 다음날 해야 하는 일들을 자동화(automation)로 걸어놓으면, 업무 담당자의 반복적인 업무가 획기적으로 줄어들겠죠? 이런 이야기는 다음 기회에...

2023-09-27

유리상자 숙녀에게 피아노 편곡

아주 예전부터 피아노로 즐겨 쳐왔던 곡입니다. 그런데 손으로만 치는 곡은 연주할 때마다 조금씩 달라지게 됩니다. 그리고 그것을 악보로 그리다 보면 또 생각이 계속 바뀌지요. 무엇이 최선일까? 이게 나을까 저게 나을까, 하나의 음표 가지고, 수 십 번을 바꿔가면서 고민합니다. 저같이 전문 작곡가가 아닌 사람에게는 이렇게 익숙한 곡도, 악보로 그리기 위해 엄청난 시간과 노력이 들어갑니다. 거의 일주일 정도 틈날 때마다 매달려서 겨우 그럴듯한 수준의 악보를 만들어냈습니다.

변진섭이 처음에 불렀었고, 한참 후에 유리상자가 리메이크해서 불렀습니다. 가을에 서둘러 온 초겨울 새벽녘에 찾아온 반가운 눈처럼 다가온 그대! 그러나 우울한 눈빛이 마음에 걸려서 조심스러운 마음이 노래에 잘 묻어나는 것 같습니다. 피아노 조금만 칠 줄 아는 분이라면, 아주 쉽게 연주할 수 있을 것입니다. 흔히 말하는 이지 피아노(easy piano) 스타일의 곡입니다.

최근에 힘든 일로 정말 시달렸습니다. 앞으로도 예정된 힘든 일들이 기다리고 있습니다. 그리고, 어느덧 한가위 명절 연휴를 눈앞에 두고 있습니다. 가족들이 모여서 따뜻한 정을 나누면서, 위로가 되고 사랑이 되어, 용기를 얻을 수 있는 시간이 되었으면 좋겠습니다. 제 스스로에게 위안을 주는, 그리고 덤으로 다른 사람들에게도 작은 울림을 전해주는 음악 작업들을 시간이 날 때마다 조금씩 해보겠습니다.

숙녀에게 - 하광훈 / 신승식 by Greg SHIN


유리상자의 리메이크 곡, 숙녀에게(2005년). 이 곡을 듣고 피아노로 조금 더 클래시칼하게 편곡해보았습니다.


변진섭이 부른 원곡, 숙녀에게(1989년).


숙녀에게 가사

어쩌면 처음 그땐 시간이 멈춘듯이
미지의 나라 그곳에서 걸어온 것처럼
가을에 서둘러온 초겨울 새벽녁에
반가운 눈처럼 그대는 내게로 다가왔죠
그대의 맑은 미소는 내맘에 꼭 들지만
가끔씩 보이는 우울한 눈빛이 마음에 걸려요
나 그대 아주 작은 일까지 알고 싶지만
어쩐지 그댄 내게 말을 안해요
허면 그대 잠든밤 꿈속으로 찾아가
살며시 얘기 듣고 올래요
그대의 맑은 미소는 내맘에 꼭 들지만
가끔씩 보이는 우울한 눈빛이 마음에 걸려요
나 그대 아주 작은 일까지 알고 싶지만
어쩐지 그댄 내게 말을 안해요
허면 그대 잠든밤 꿈속으로 찾아가
살며시 얘기 듣고 올래요
나 그대 아주 작은 일까지 알고 싶지만
어쩐지 그댄 내게 말을 안해요
허면 그대 잠든밤 꿈속으로 찾아가
살며시 얘기 듣고 올래요