웹 표준 교과서 나왔다는데

웹 표준 교과서 책 표지마시코 타카히로가 쓴 웹 표준 교과서가 김대석님의 번역으로 나왔습니다. 사실 번역은 아주 오래 전에 이루어졌습니다. 원본이 영어가 아닌 일본어이다보니 웹 표준에 대해서도 능통하고, 한국어, 일본어를 모두 소화할 수 있는 번역자로 김대석님은 아주 독보적이었던 것 같습니다. 그리고 2006년 초반인 것 같은데, 강민혜님, 신현석님, 조훈님과 함께 번역된 결과물의 우리말 감수를 맡게 되었습니다. 저는 접근성 부분 감수를 맡으면서 책을 구경하게 되었습니다. 말 그대로 교과서라는 이름이 어울리는 내용입니다. 방대한 관련 표준이 참고하기 좋게 담아져 있다는 뜻이지요. 일본 책이고 여러 우여 곡절 끝에 나오다 보니 시기상으로 늦게 나온 것이 아쉽습니다. 수만님의 훌륭한 실용적인 웹 표준 시리즈에 추가해 선택의 폭이 조금 더 넓어졌습니다.

책이 나오는 과정에서 부러웠던 것은 일본이라는 나라였습니다. 우리 나라는 아직까지 번역서가 아닌 우리 토종의 웹 표준 관련 책이 하나도 없지만 이웃 일본은 관련 책이 꽤 여러 권 나와 있습니다. 그만큼 일본은 이미 이런 분야까지도 책을 쓰고, 그것이 팔리고, 소비될 정도로 왕성하게 지식을 생산하고, 유통하는 나라이지만 우리는 아직까지 새로운 지식을 만들어낼 역량이 안 되거나 토양이 척박하다는 것이지요.

얼마 전에 감수자들과 디지털미디어리서치 조광현 사장님이 간만에 모이는 자리가 있었는데 애석하게 저는 참석하지 못해서 아직 책을 손에 넣지 못했습니다. 책을 얻으면 우리 회사에 있다가 한 웹 에이전시 회사로 떠나는 디자이너에게 선물로 주기로 했습니다. 유용하게 썼으면 좋겠습니다. 번역하신 대석님, 감수하신 훈님, 쿠키님, 현석님, 그리고 조광현 사장님 모두 고생하셨습니다.

웹 접근성 향상 캠페인

인터넷이 며칠 째 먹통이 되어 이런 캠페인을 하고 있다는 사실을 까맣게 몰랐군요. 한국 정보 문화 진흥원에서 웹 접근성 향상 캠페인을 하고 있습니다. 웹 접근성, 웹 표준, 상호 운용성 등에 대해 사람들이 말을 많이 하지만, 아직도 대다수의 사람들에게는 다른 나라 얘기이거나 도대체 무슨 이야기인지 모르는 것이 현실입니다. 그런 면에서 이런 캠페인은 보통 사람들에게 쉽고 평범하게 웹 접근성이 왜 중요하고 꼭 지켜야만 하는 것인지를 알려주는 중요한 역할을 하는 것 같습니다. 쉽고 빠르게 접근성에 대해 설명해주는 동영상, 강추입니다.

접근성에 대해 잘 아는 사람들조차도 장애인의 접근성에 대해 직접적으로 이야기 꺼내는 것을 두려워합니다. 대신에 좀 더 근사하고, 저항이 없는 국제 표준, 기술 표준, 상호 운용성, 구조와 표현의 분리, 모바일 웹, 최신 기술 등의 섹시한 단어로 포장을 해서 접근성을 간접적으로 강조하곤 합니다. 저도 그래왔었구요. 그만큼 장애인은 소수이고, 돈도 안 되고, 장애인의 문제를 가지고 제품 개발자들에게 설득하기가 쉽지 않기 때문이겠지요. 그러나 아무리 소수라고 해도 장애인들에게 “세상과 통하는” 매우 중요한 문인 웹을 닫아놓고 IT 선진국이라고 외치는 것은 자기 기만일 수도 있습니다. 사실 장애인이나 노인은 이제 소수도 아니지요.

얼마 전에 아버지에게 웹에 있는 씽크프리 오피스를 이용해서 주소록을 정리하는 것을 알려드렸던 경험이 있습니다. 접근성의 문제는 거창한 이론에서 나오지 않더군요. 접근성 지침에 있는 항목들을 다 지킨다고 되는 것이 아니라는 것을 알았습니다. 컴맹이 봐도, 누가 봐도, 장애인이 봐도 직관적으로 이해하고 교육받지 않아도 쉽게 쓸 수 있게 하는 것, 이것이 접근성입니다. 컴퓨터를 잘 모르는 아버지에게 씽크프리 오피스는 너무 복잡했고, 새롭게 익혀야 할 개념도 너무 많았습니다. 그러니 아직 갈 길이 먼 것 같습니다. 제 웹 사이트도 아직 먼 것 같습니다.

Returned to a normal, actually better one

Thanks to one of the smartest guys, Jungshik (my brother at Google), I could come back to the better future! He found that the hosting service provider just generated the MySQL 3.x dump as it had been. It was actually encoded with utf-8 with no explicit encoding direction in it. One mistake I made is that I did not set the DB character set as utf-8 but it was still in euc-kr in WordPress configuration file in the WordPress root directory. Big mistakes the hosting provider made include that they set the default DB and connection character set as euc-kr and all collations configured for all tables were also euc-kr. Luckily enough, combining all these mistakes, the existing data displayed correctly while newly imported data cannot be stored properly. People tried to enter data with utf-8 encoding according to the web page encoding scheme and the DB interpreted them as euc-kr data which was wrong.

What Jungshik did was to backup the existing tables first. He found that the MySQL has a bug (that is, the last about 20 bytes were trimmed or tangled when exporting its tables to a local SQL file). He just made a shell script to fix this bug and also he converted the dumped SQL to a genuine utf-8 certainly specifying all necessary character sets using his script. Then he just changed the default table names for WordPress because it could be dangerous to replace directly with the old tables. (WordPress provides a configuration file for you to change the default table name prefix.) After successfully restoring the new tables, he and I tested writing, editing, and searching, etc. However, I came to have more tables than necessary. Just after identifying that everything worked fine, he finally replaced the old tables with the new tables.

All things are ok but some works including visitors’ comments made during transition period were unrecoverable. I truly apologize for your efforts to enter your message which had gone away.

드디어 워드프레스 업그레이드를 모두 마쳤습니다. 호스팅 업체에 부탁해서 MySQL 4.1이 있는 서버로 옮기고 나서 한글이 입력되지 않을 뿐만 아니라, 기존 데이터를 수정하는 순간 그 데이터도 손상되는 문제가 생겨 호스팅 업체에 몇 번씩 전화와 게시판을 통해 문의했지만 워드프레스의 문제일 뿐 자기들은 아무 것도 잘못한 게 없다고 했습니다. 사실은 처음에는 기존에 입력한 데이터가 화면에 보이는 것도 깨져서, 이게 한글의 문제가 아니라 진짜로 다른 문제인 줄 알았습니다. MySQL 3.x 대는 문자 인코딩 방식을 지정하는 것이 없었지만 사실 워드프레스는 유니코드를 사용하고 있었고, 그것을 호스팅 업체가 서버를 이전하면서 euc-kr로 가져와버린 것입니다. 이 문제를 미국에 있는 형에게 물어봤더니, 일단 호스팅 업체는 손대지 못하게 하라고 말하더군요. 그렇게 하고 형이 작업을 했는데, 간단한 셸 스크립트를 짜서 새롭게 덤프받은 DB의 문자셋을 변경했습니다. 변경하는 과정에서 MySQL 4.1의 버그도 발견했는데 그것도 셸 스크립트를 이용해 복원했습니다. 혹시나 해서 변경된 테이블을 바로 옛 테이블에 덮어쓰지 않고 새로운 테이블을 생성하였습니다. 그리고 워드프레스에서 새로운 테이블을 인식할 수 있게 테이블 이름 기본값을 바꾸어주었습니다. 데이터 입력이 제대로 되는 것을 확인한 후, 마지막으로 기존 테이블에 새로운 테이블 내용을 덮어쓰고, 다시 테이블 이름 기본값을 바꾸었습니다. 그리고 이제 쓸모없게 된 테이블들을 다시 지웠구요.

놀란 가슴을 이제야 진정시킵니다. 호스팅 업체에서는 이런 문제를 해결해주었을 리가 만무하고, 형의 도움이 있어서 천만 다행이었습니다. 형은 구글에서 제품의 세계화(internationalization)와 지역화(localization)를 담당하고 있거든요. 아무튼 이렇게 요란하게 소란을 피운 후에라도 완전한 유니코드 체계로 정착이 되었고 워드프레스 2.2를 쓸 수 있게 되어 다행입니다.

시스템을 변경하는 동안, 일부 데이터가 손상되었습니다. 한글 입력에 문제가 있는 줄 모르고 마구 에디팅을 하다가 날아간 것도 있고, 또 방문하신 분들이 한글로 코멘트를 입력했다가 날아간 것도 있습니다. 입력한 것을 날린 것에 대해 정말 죄송합니다.

Main theme from Laputa: The Castle in the Sky

Recently I have been somewhat depressed and this kind of music playing is a relief from the stress. I played this with Piano 1 + Stereo Piano patches in my GS1000 synthesizer. It is excerpted from the famous Japanese animation, Laputa: The Castle in the Sky. Please understand that I am not a professional player and it sounds uneven in terms of tempo, dynamics, and harmonies.

Open Laputa MP3 link page

My blog is still troublesome with Korean and multilingual characters, please do not use Korean letters until you are told to do so.

Announcement: Temporarily dysfunctional

Hi, every visitor. I am sorry to deliver this ugly news to you. After the engineer at the hosting service provider moved all data and files to this new server, I cannot update my data. Furthermore, exactly from 2:40 of June 8th to 16:40 of the same date, I lost all updated or created data including your comments. I am asking the hosting provider about the problem but they said there is no problem in the transplantation. I suspect that there is any incompatibility between new MySQL 4.1.15 and old version, 3.23.58.

One more probable or plausible reason would be the wrong encoding scheme configured by the hosting provider. When I check the MySQL status at the terminal, all charactersets for server, DB, client and conn. are euc-kr while my WordPress data and web pages are encoded with UTF-8, a Unicode encoding scheme. Due to this, I cannot modify any existing data and even web feed sends broken information!

I would like to express my deep apology and regret that some of your writings were nullified. Please do not post your comments (in Korean language) until you see a new notification here.

Thanks for your patience.

At 10:09, Sunday, June 10, everything works just fine! Now you can leave your message in Korean again!

WP Unformatted 플러그인을 깔았습니다.

워드프레스 2.0에서 글을 쓸 때에 엔터키를 쳐서 줄을 바꾼 곳에 대해 무조건 <br /> 마크업을 넣어버려 지금까지 HTML 문서를 좀 복잡하게 만든 경우에는 엉뚱한 곳에 <br />이 들어가버려 심각한 문제가 생겼습니다. 그래서 나중에 일일이 엔터키를 쳤던 곳을 다 지워주는 번거로운 작업을 했었습니다. 그렇다고 모든 글을 한 줄로 만들 수도 없고… 그래서 위지윅 에디터도 알아보고, 몇 가지 알아봤는데 가장 단순하고 깔끔한 것을 선택했습니다. 알렉스 킹(Alex King)이 만든 언포맷티드(WP Unformatted)라는 것인데, 글을 쓸 때에 커스텀 필드 키로 sponge라고 넣고, 값을 1이라고 넣어주면, 사용자가 쓴 마크업을 그대로 보여주게 됩니다. 물론 이것은 타자기로 치듯이 보여준다는 뜻이 아닙니다. (아직도 사용자가 작성한 내용에 대해 <pre> 마크업을 씌워서 이상하게 보여주는 게시판이 일부 남아있는 것을 봤습니다.) 웹 호스팅 업체에 MySQL 4.0 이상이 지원되고 아파치 mod_alias와 mod_rewrite가 모두 지원되는 곳으로 옮겨달라고 요청했는데, 그 이후에 워드프레스 2.2 설치하면 별 필요없는 것일지도 모르겠군요.

제가 정보통신부 장관 표창을 받았습니다.

정보화 유공자 포상 전자 신문 기사

오늘 코엑스 3층 오디토리움에서 스무 해를 맞이하는 정보 문화의 달 기념식이 열렸습니다. 영광스럽게도 저도 상을 하나 받게 되어 회사에 휴가를 내고 아침부터 꽃단장(?)하고 서울로 갔었습니다. 행사 예행 연습을 해야 한다고 9시 반까지 오라고 해서 부지런을 떨며 갔는데 막상 도착해보니 시간은 많이 남더군요. 어쨌든 장관님을 비롯한 높으신 분들이 오시는 행사라 진행 요원들도 무척 신경을 쓰고 있었습니다. 그 짧은 순간을 위해 두 번 예행 연습을 하고 수상식에 나가 표창장을 받았습니다. 정보화 유공 포상은 강지원 변호사와 삼성에스디에스 김인 사장, 전자신문 금기현 대표이사 등이 훈장/포장을 받고 또 대통령, 국무총리, 정보통신부 장관 표창자들 중에 몇 명이 대표로 시상식에 참가했습니다. 저도 앞에 나가 수상을 했는데 언론사에서 나와서 사진 찍는 사람이 그렇게 많았지만 제 사진을 개인적으로 찍어주는 사람은 없어서 결국 사진사 아저씨 한 분이 찍어놓은 제 사진을 나중에 보내주겠다고 해서 그러겠노라고 했습니다.

살다 보니 이런 일도 일어납니다. 아마 웹 콘텐츠 접근성 지침을 소개한 것실무 제작 기법 책을 쓰면서 마음 졸인 것, 기타 접근성 홈페이지 경진 대회나 인증 마크 등 관련 행사 등에 심사, 평가, 자문 등을 하면서 발로 뛴(?) 것에 대해 고생했다고 보상을 주신 것 같습니다. 사실 회사에서 딱히 웹 개발을 하는 것도 아니고, 이런 활동들 때문에 회사일 소흘히 한다는 말 들을까봐 항상 조심스러웠습니다. 물론 결코 그렇지는 않았다고 자신있게 말할 수 있지만… 아무튼 보이지 않은 곳에서 접근성을 높이기 위해 저보다 더 열심히, 활발하게, 전문적으로 묵묵히 활동하시는 관련된 모든 분, 부족한 저를 추천해주신 분들께 진심으로 감사드립니다.

피아노 연주 두 곡 (Reminiscence, Memory)

디지털 피아노를 사고 싶어서 여기 저기 알아보고 있습니다. 어차피 놓을 데도 없어 당장에 살 건 아니지만, 그래도 상당히 오랫동안 사이트를 돌아다니면서 봤더니 역시 고급 기종엔 야마하가 꽉 잡고 있더군요. 음질도 아주 뛰어나고. 그 다음이 카시오, 카와이, 다이나톤 정도가 자리잡고 있는데, 피아노 음색은 다이나톤이 야마하 다음으로 제일 나은 것 같고, 공간을 덜 차지하고 USB나 SD 카드를 지원하는 실용성 측면에서는 카시오가 좋아 보입니다.

아무튼 지금 당장 구입할 건 아니어서 새삼스럽게 기존에 가지고 있던 61건반 GS1000을 어떡하나 하다가 피아노 음색이 어떤지 실험해보기로 했습니다. 터치는 한 마디로 꽝이니 말할 필요가 없고, 기능은 그래도 나름 신디사이저이다 보니 음색 편집도 되고 꽤 많습니다. 가장 기본 악기인 피아노 소리에서 각종 효과(리버브, 코러스)를 최대한 낮추고 녹음을 해보았습니다. GS1000의 피아노 음질은 중중하 정도 됩니다. 아주 싸구려 디지털 피아노보단 더 나은데, 샘플링을 한 원본 피아노가 가정용 피아노같은 느낌, 내장 스피커가 제대로 소리를 못 내주는 것, 동시 발음수(24)가 너무 작아 페달을 쓰기 어려운 것, 건반이 나빠서 빠른 곡을 치기 어려운 것 등이 귀만 고급스러워진 요즘에는 자꾸 거슬립니다.

첫 번째 곡은 128Kbps로 했더니 음질이 안 좋아서, 두 번째는 192Kbps로 했습니다. 지금까지는 웹에 포함된 멀티미디어 재생기들의 접근성이 낮아서 MP3 파일을 내려받을 수 있게 첨부했는데 이번에는 웹 페이지 내에 포함시켜 보았습니다. 최대한 표준에 맞추고, 접근성을 고려해서 포함은 시켰지만 아직 그냥 단순하게 링크 거는 것보다는 접근성이 좀 떨어집니다. 무료로 MP3 호스팅 받는 SnapDrive.net 업체의 정책이 바뀌어 플래시 플레이어를 삽입하게 되어 있는데 웹 표준에 맞출 수가 없어서 Box.net이라는 호스팅 업체로 바꾸고 그냥 단순한 링크로 바꾸었습니다.

첫 번째 곡: Reminiscence (예전에 만든 자작곡)

Reminiscence MP3 있는 페이지

두 번째 곡: 뮤지컬 캣츠(Cats) 중 메모리 (Memory)

  • 곡/ 편곡/연주: 앤드류 로이드 웨버 (Andrew Lloyd Webber) / 신승식 / 신승식
  • 악기: GS1000 / Piano 1
  • 녹음: 곰 녹음기 (192Kbps)

메모리 MP3 있는 페이지

워드프레스 2.2 업그레이드 실패

워드프레스 2.0을 쓴 지가 오래되어서 2.2가 최근에 나왔길래 맘먹고 업그레이드를 시도했다. 설명서를 보고 데이터베이스와 파일을 모두 백업받고, 그런대로 잘 진행이 되다가 업그레이드 스크립트를 실행하는데, 경고가 나왔다. 데이터베이스가 옛날 버전이니 먼저 업그레이드를 하라는 것이다. 이런~. 그래서 호스팅 업체(아사달)에서 제공하는 MySQL 버전을 확인해보니 3.23.58이었다. 워드프레스 업그레이드 설명서를 보니 MySQL 버전이 꼭 4.0 이상이어야 한다면서 낮은 버전에서는 절대 업그레이드 하지 말라고 되어 있었다. 다행히 백업을 받아놨으니 망정이지 마지막 순간에 큰 일 날 뻔 했다. 옛날 버전으로 다시 돌아가는데 계속 에러가 나서 긴장했다. 겨우 원상 복구는 시켰지만 아까운 시간 홀라당 까먹으니 기분이 별로다. 호스팅 업체를 바꿔야 하는 걸까?