Daybreakin Things

Posted
Filed under 컴퓨터

지난 주말에 있었던 Codefest이지만, 그동안 바이오정보전자개론 시험과 System Programming 프로젝트 제출과 각종 숙제 등으로 인해 정신없이 지내느라 후기를 이제서야 쓰게 되었다.

이번 코페에서는 무엇보다 Tatter&Company의 노정석 사장님과 Tatter&Friends의 대표격이신 inureyes님이 직접 참가하셨다는 것이 눈에 띄었다. 나는 MetaBBS 프로젝트로 참가하였지만, 밤샘할 때 TatterTools Documentatino 프로젝트에 끼어서(-_-) 같이 cmap(마인드맵의 일종)을 그려가면서 태터툴즈의 미래에 대해 아이디어를 모아보기도 했다. 확실히 새로운 수익 모델과 다른 포털들과의 연계 등 비즈니스적인 측면까지 시야를 넓히는 데 도움이 되었고, 아이디어를 구성하는 방법에 대해 배울 수 있었다. (사실 경영자의 입장에서 본다면 웹표준이니 뭐니 하는 논의들만이 전부가 아니라는 것을 보게 된다. 앞으로 몇 달 내로 TNC를 주축으로 정말 많은 변화가 벌어질 것임을 알 수 있었다. 이번에 태터툴즈 블로그 호스팅 서비스도 오픈한다.)

한편 MetaBBS는 CN님, lacovnk님, 그리고 전설(..)의 서상현 선배가 참여하여 전체 revision 330 정도 중에서 100 정도를 하룻밤 사이에 이뤄내는 놀라운 집중도를 보여주었다. (물론 삽질해서 한줄 commit한 것들도 좀 있지만 말이다) dev.metabbs.org의 Timeline을 보면 밤을 새면서 몇 분 간격으로 계속해서 코드 업데이트가 이루어졌다는 것을 볼 수 있다. (버그들도 많이 고치고, 새로운 기능들도 추가되고, 또 그로 인한 새로운 버그들이 생겨나기도 했다)

확실히, 온라인에서 IRC 등으로만 대화하던 사람들과 직접 만나서 같이 코딩하는 것이, 비록 1박2일이라는 짧은 시간이긴 하지만, 엄청난 집중도을 이끌어낼 수 있는 것 같다. 덕분에 상당히 geek스런 분위기를 연출하긴 하지만, 그러면서 보다 돈독한 인간 관계도 형성할 수 있다. 다음 번 8회 Codefest는 8월에 3박4일 정도의 일정으로 제대로 된 숙식까지 제공되며 진행된다고 하니 이참에 동아리 사람들 끌고 가서 OCO 플젝이나 해볼까 하는 생각도 든다.;

ps. 그나저나 매번 코페에서 BMS 플레이를 통해 사람들의 이목을 집중시키던 토끼군(....)은 태터툴즈 팀의 참가로 인해 만방에 알려지게 되었으니, 이걸 축하해야 말아야 할까. -_-

ps2. 아까 저녁 시간에 Daum에 근무하시는 한 선배가 밥을 사주신다고 해서 동아리 사람들과 함께 저녁을 먹었는데, 그때 tattertools의 블로그 호스팅 서비스 이야기를 했었다. 알고보니 오늘 그 내용이 발표되었고, Daum이 후원자였다. -_-;;

Posted
Filed under 컴퓨터

드디어 제로보드 5 개발 안내 글이 떴다.

현재 90% 정도 개발이 완료된 상태로, Smarty 템플릿 엔진을 이용해 레이아웃을 구성하게끔 되어 있다고 한다. 기존의 게시판+회원관리 수준이 아니라 하나의 CMS 툴로 재탄생하는 것이다. Smarty가 처음엔 낯설게 느껴지겠지만 실제로 써보면 매우 직관적이다. (재작년에 추진하다가 중단됐던 경기과학고 홈페이지 프로젝트도 smarty 기반이었다) 태터툴즈 등에서 볼 수 있는 스킨 치환자를 매우 일반화시켜놓은 것이며, 간단한 프로그래밍(if 문을 이용한 분기나 for 문, 값을 원하는 대로 formatting하기 등)이 가능하며, 스킨 template 파일들이 php 코드로 변환되어 캐싱되기 때문에 실행 속도도 빠르다. (그 변환하는 소스를 봤는데 엄청나게 길었던 기억이 난다)

또하나 눈여겨 볼 점은 GPL 라이센스를 따를 예정이라는 점이다. 마음에 드는 대로 고쳐서 원저작자를 표기하고 소스 코드를 공개하는 조건 하에 재배포하는 것이 가능하다는 것이다. 따라서 기존 제로보드를 쓰면서 각종 패치를 만들고 이를 개별적으로 적용해야 하는 불편이 사라지게 되었다. 제로보드 자체의 개발도 zero님이나 그 주변 분들뿐만 아니라 보다 많은 사람들이 참여할 수 있을 것으로 기대된다.

문제는, 거의 새로 만든 프로그램이나 다름 없기 때문에, 기존 사용자층을 어떻게 흡수할 것인가 하는 점이다. 지금까지 쌓인 방대한 양의 스킨과 각종 팁 자료를 전혀 쓸 수 없을 것이기 때문이다. (아마 유명한 스킨 제작자들은 smarty를 배워서 변환해 제공할지도 모르겠다) 그런만큼, 특히 Documentation이 잘 되어 있어야 한다는 생각이 든다. 사용자들이 웹표준을 처음부터 잘 지키기 어렵다는 점도 초기 진입 장벽이 될 것이다.

하지만 일단 일련의 변화를 겪고 안정화되면 우리나라 사용자들의 취향에 잘 맞으면서 최신 웹 경향을 잘 따르는 멋진 툴이 탄생할 것이라고 생각한다.

Posted
Filed under 컴퓨터

드디어 Tatter&Friends가 결성되고 나서 최초의 버전이 릴리즈되었다. 내가 중간고사 등 시간이 없었던 관계로 많은 기여를 하지는 못했지만 Ajax javascript의 사소한 오류나 paging 링크에서 현재 선택된 페이지의 링크 색상을 스킨에서 변경할 수 있도록 class 속성 추가 등 자잘한 몇 가지 문제점들을 고칠 수 있었다.

아마 다음 번 1.0.6 버전에서는 위지윅 에디터의 기본 글꼴 및 스타일을 스킨과 동기화시키는 부분에 대한 작업에 들어가게 될 것이다. 현재 1.x 버전에서는 키워드 페이지 편집 기능이 존재하지 않는데, 글별로 다중 키워드 공개가 가능하도록 만드는 작업도 해야 된다.

System Programming 세 번째 프로젝트와 바이오정보전자개론 에세이 및 책읽기 숙제 Due, 바정전개론의 정재승 교수님 수업 범위 시험(....)을 앞두고 주말 내내 KLDP CodeFest에 가는 것이 다소 부담스럽기는 하나(-_-), MetaBBS와 TatterTools Documentation 프로젝트에 참여하면서 학과 공부와는 다른 소기의 경험과 성과를 얻을 수 있으리라 생각한다.

*

요즘 다시 피아노에 빠지기 시작했다. 원인은 슈베르트 즉흥곡과 모차르트 소나타. 생각보다 어렵지 않으면서도 내가 좋아하는 스타일의 곡들이 많다. (모차르트 소나타는 대충 치려면 대충 칠 수 있는데 소리를 예쁘게 내는 것이 쉽지 않다) 물론 깔끔하게 치려면 연습은 꽤 해야겠지만, 딱 적당한 난이도여서 flow 상태에 빠질 수 있을 것 같다.

한편 갑자기 빡쎄진 바이오정보전자개론은 정재승 교수님의 악명 높은(?) 책읽기+에세이 과제 때문에 애들이 다들 진절머리를 치고 있다. 일주일 하나씩 책 읽고 원고지 20장 분량의 에세이를 써가야 하며, 책 읽은 내용을 바탕으로 간단한 퀴즈까지 친다. 다음 주 월요일을 마지막으로 정재승 교수님의 수업이 끝나긴 하지만 코페 다음날 치는 시험이란... OTL (대략 30장은 될 듯한 영어로 강의 자료를 "숙독"하라고 하셨으니.. 어쩌면 코페 가서 시험공부해야 될지도 모르겠다 -_-)

하여튼 요즘 바쁘게 지내고 있다. 저번 주에는 숙제 듀가 3일 연속으로 걸려 있었던 데다 MetaBBS 개발 센터 사이트 세팅 등으로 새벽 4시에 자는 날이 반복되었었고, 이번 주는 다행히 그 정도는 아니지만 또 나름대로 빡쎈 일정이 되고 있다. 아무튼 바쁜 만큼 또 재미있고 보람있는 것이니 이번 학기 남은 기간도 계속 열심히 살아야겠다.;

Posted
Filed under 컴퓨터

간만에 좋은 레퍼런스 글을 읽었다. javascript로 접근성을 지키는 코딩을 하는 방법에 관한 것인데 너무나 공감가는 부분이 많다.

우선 <a href="/path/linkfile" onclick="window.open(this.href, '', '...'); return false;" >link</a>와 같은 코딩 방식은 정말 추천할 만한 것이다. 얼마 전에 MR 홈페이지의 익명게시판을 만들면서 글 삭제 버튼을 구현할 때, 이런 방법을 써서 javascript가 되면 확인/취소 대화상자를 띄우고(onclick 핸들러에서 return false를 하면 해당 링크가 실행되지 않기 때문에 가능하다), javascript가 비활성화되어 있을 경우는 그 url이 바로 실행되어 삭제가 된다. 즉 기능 이용에는 아무런 문제가 없게 하고 있는 것이다. 이것은 Firefox/IE 등 여러 브라우저에서 다 통하는 것 같다.

그 다음으로 엄청나게 공감한 건, 각종 form 정보를 javascript를 이용해서 여러 페이지에 걸쳐 자동으로 넘기게끔 되어 있는 것들이었는데, 예로 든 qubi.com(철도·교통 포탈로 철도 예약 가능)을 내가 자주 이용하기 때문이다.

정확한 원인은 모르겠지만 Microsoft Script Debugger를 설치했다가 지운 뒤로 IE에서 qubi.com에 들어갔을 때 열차 조회 시 "권한이 없습니다"라는 메시지가 뜨며 오류가 나기 시작했다. (iframe으로 조회창을 만들어놨던데 그 주소의 host과 iframe을 감싼 document 주소의 host가 달라서 그런 것인지.. 디버깅 해봐도 원인을 모르겠다)

아무튼, 그래서 나는 열차 예약은 Firefox로 하고 결제는 IE로 하고 있다. 그런데 Firefox로 로그인하려고 하면 문제의 javascript를 이용한 redirection 때문에 주소창에 매번 url을 직접 다시 쳐줘야 하는 불편을 겪고 있다. (그나마 열차 조회와 예약이 작동하는 게 다행이라고 해야 되는 건지..orz)

Javascript도 잘 생각을 하고 쓰면 정말 유용한 도구이지만, 그걸 잘못 이해하고 쓰면 가장 최악의 접근성을 낳기도 한다. 철도청이 철도공사로 바뀌어 국가 행정 기관이라고 볼 수는 없게 되었지만, 분명히 국민을 위한 공익성을 띠고 있으므로 아래에서 말한 행정 소송의 범위에 포함될 수 있을 것이다. 제발 저런 javascript를 이용한 redirection 폼, javascript로만 submit 가능한 폼을 만들지 않았으면 좋겠다. (이것 때문에 회원가입과 로그인이 안 되는 사이트만 해도 엄청나게 많을 것이다)

Posted
Filed under 컴퓨터

한국 모질라 포럼에 올라온 글이다. 고려대 법대 교수로 재직하고 계시는 분인데, 현재 우리나라의 Microsoft 종속적인 웹페이지들—그 중에서도 특히 관공서와 전자 정부—을 법률 차원에서 비판하고 시정을 촉구하는 민원 제기를 계획하고 있다. 내용을 읽어보면 조목조목 잘 따져놓았고, 약간씩 미흡한 부분들에 대해서는 사람들이 계속 이야기를 하여 고쳐나가고 있다.

그동안 몇몇 블로거, 웹개발자 등 기술적 지식이 있는 사람들 사이에서만 웹표준화 주장을 해왔는데, 이렇게 직접적인 표면적 움직임이 드러나기는 처음이다. 특히나 실제 법률 지식이 있는 법대 교수가 자발적으로 주도하고 있다는 건 큰 의미를 가진다. 아무래도 행정가들한테 보다 강력한 언변을 구사할 수 있을 것이기 때문이다.

웹표준의 문제는 단지 기술적인 면만 있는 것이 아니다. 많은 글에서 말해왔듯, 웹페이지를 만들고자 하는 기획자·주문자부터 인식이 바뀌어야 하기 때문이다. 개발의 편리함, 화려함과 멋진 디자인을 추구하는 것은 좋으나, 그것 때문에 보다 취향에 맞는 웹브라우저를 사용할 권리, 웹사이트 컨텐츠에 대해 접근성을 가질 권리가 박탈되어서는 안 되는 것이다. (사실 개발의 편리함은 일단 웹표준을 받아들이고 나면 역전될 것이다)

마이크로소프트가 IE에 대한 정책을 변경할 때마다 정통부 관계자들이 직접 찾아가서 하소연해야 하는 이런 처지를 하루 빨리 벗어날 수 있기를 바란다. 이 프로젝트가 꼭 성공하였으면 좋겠다.

Posted
Filed under 컴퓨터

태터툴즈에서 trac을 사용하는 걸 보고 편리하다는 생각이 들었던 데다, 마침 토끼군이 내 서버에서 trac을 깔아서 theseit 프로젝트에 활용하고 있었기 때문에 나도 MetaBBS를 위한 trac 세팅을 해보았다. 그 결과물은 여기.

특히 이번에는 내 서버를 이용하는 사람들이 직접 참여할 수 있도록 user group 등을 모두 정리하였고, 전용 계정을 만들어서 중앙 집중적 관리를 할 수 있도록 하였다. 아무나 쓸 수는 없고 태터툴즈와 비슷하게 developer 권한을 가진 사람만이 ticket 발행이 가능하게끔 되어 있다. (Reporter와 같은 레벨을 하나 더 둘 지는 좀더 생각해봐야겠다)

그리고, MetaBBS 프로젝트로 CN 님과 함께 제7회 KLDP CodeFest 행사에 참여하게 되었다. 내가 바빠서 워낙 오랫동안 코드에 손을 대지 못하고 있었는데 이번 기회에 좀 제대로 기여를 해봐야겠다.

Posted
Filed under 컴퓨터

열심히 shell도 짜고, 태터툴즈 개발자 사이트에서 놀기도 하면서 평온한 오후를 보내고 있었는데, 갑자기 내 서버의 shell 접속, svn 접속, 웹서버, irc 프록시 등이 한꺼번에 연결이 다 끊어졌다. 그래서 일단 동아리 방에 전화해서 선배한테 서버를 재부팅해달라고 부탁했고, 재부팅이 되자 잠시 동안은 정상인 듯했다. 그러나 잠시 후 다시 먹통.

결국 안되겠다 싶어서 동방에 갔는데, 재부팅 시켜놓고 잠시 있으면 다시 먹통이 되는 것이다. 해킹이 아닐까 해서 온갖 삽질들(아파치 로그 살펴보기, 정보통신팀에 전화해서 blocking 확인하기 등부터 시작해서 netstat, who, ps, top 등등)을 해봤는데 별다른 이상 징후가 없었다. (며칠 전에 내 서버에 있던 한 친구 계정의 soojung 블로그로 스팸이 무지막지하게 날아들면서 서버가 과부하가 걸렸던 적이 있는지라 특히 해킹 등이 의심될 수밖에 없었다)

Python으로 script를 짜서 터미널에 계속 문자를 출력하게 해도 리부팅 후 2분 정도가 지나면 그대로 먹통이 되는 것이었다. 그래서 결국 회사일로 바쁘실 용수 형에게 물어봤더니 nmap으로 포트 스캔 해보라고 하셨다. 결과는... 엥? 웬 윈도우용 머신에서 돌아가는 포트들만 잔뜩 열려 있는 것이다. (netbios, upnp 등등) ssh, http와 같이 리눅스 서버에서 열려있을 만한 포트는 하나도 없었다.

가만히 생각해보니 윈도우용 머신이랑 ip 충돌이 난 것 같았다. (이때가 삽질 3시간 째. orz) 그래서 포탈과 아라BBS 등에 글을 올리고 기다리니 오후 8시가 좀 넘어서야 겨우 복구되었다.

내 서버에서는 현재 3명이 System Programming 프로젝트를 하고 있는 데다, 오픈소스 프로젝트 5개의 SVN저장소를 제공하고 있다. 그리고 특히 중요한 건 토끼군과 내가 내 서버를 통해 IRC Proxy를 통한 접속을 한다는 것이다. 따라서 이 서버가 멈추는 건 상당히 위험한 일이 될수밖에 없다.

어쨌든 이제서야 삽질이 끝났다. 왜 꼭 평온한 하루를 보내려고 하면 일이 하나씩 터지는지 모르겠다. -_-

Posted
Filed under 컴퓨터

드디어 태터툴즈의 GPL 소스 코드가 공개되었습니다. http://dev.tattertools.com에 가보시면 유명한 오픈소스 프로젝트 관리툴인 trac을 이용해 위키와 프로젝트 관리 시스템이 구축되어 있고, SVN 저장소 사용법이 나와 있습니다.

이제 저는 노정석님께서 직접 부탁해주신 '포스트 별 키워드 공개 여부 기능'과 HTML 직접 편집할 때 나타나는 에디터의 버그 등을 수정해야 되겠군요. 문제는 당장 오늘 12시까지 due인 디자인문화와기술 발표 숙제와, 내일 12시까지 due인 이산구조 숙제가...orz 이 기쁜 순간(?)을 앞에 두고 숙제를 하고 있어야 한다니 아쉽습니다. -_-;

어쨌든 앞으로 태터툴즈의 무궁한 발전을 바라며, 많은 사람들이 이 프로젝트에 기여할 수 있기를 바랍니다.

Posted
Filed under 컴퓨터

Macs do windows, too.

우리는 그동안 애플이 "인텔맥에 윈도우를 까는 걸 말리지는 않겠으나 설치를 지원하지는 않을 것"이라고 말해온 것에 완전히 낚였다. 올블로그에서 본 글로 알게 되었는데, MaxOSX 10.4.6 최신 업데이트에서 공개된 Apple BootCamp는 공식적으로 듀얼 부팅을 지원하는 프로그램이다. Windows XP SP2 CD만 있으면 iSight 및 백라이트 키보드를 제외한 모든 하드웨어의 드라이버가 완벽하게 제공되는 상태로 윈도우즈를 깔 수 있으며, 나중에는 MaxOSX 내에서 윈도우즈를 반투명하게 띄울 수 있게 하는 것도 구상 중이라고 한다.

이렇게 되면 Mac의 어플리케이션들을 써보고 싶었던 나로서도 다음에 구입할 데스크톱을 살 때 인텔맥으로 고르는 걸 망설일 필요가 전혀 없게 되는 것이다. 농담이 아니라 정말로, 다음에 쓰게 될 데스크톱 구입 시에는 인텔맥을 사는 걸 심각하게 고려해봐야겠다.

Posted
Filed under 컴퓨터

얼마 전에 Naver Open API에 대한 글을 보긴 했었는데, 역시나 이런 게 나왔다. 푸하하;

속도도 상당히 빠르고, 구글과 거의 흡사한 인터페이스를 가지고 있다. (구글이 연한 하늘색을 주요 색상으로 쓴다면 여기는 연한 초록색을 쓴다. -_-) 이런 응용을 할 수 있는 API가 공개된 것은 정말 잘 된 일이지만, 블로그 검색을 보면 네이버 내부에 그 결과가 거의 한정되어 있다는 점을 볼 수 있고, 내가 네이버를 주로 이용하는 이유인 "TV 편성표", "단위 환산"과 같은 특수(?) 검색어에 대해 별도로 제공되는 정보들은 나타나지 않는다. (API이기 때문에 일관성을 유지해야 하기 때문일 수도 있겠다)

네이버의 Open API 공개 이후, 다음에서도 일련의 움직임을 보이고 있는 것 같다. 윤석찬 님이 쓰셨듯, 앞으로 공개될 다른 Open API들도 기본 조건을 잘 고려해서 만들어져야 할 것이다. 확장성과 범용성, 사용하기 쉬운 예제의 제공, 다양한 표준 프로토콜의 지원, 사후 커뮤니티 관리 등.. Daum의 경우는 윤석찬 님이 계시니 어떤 모습으로 공개될 지 궁금하다.

현재의 네이버 Open API는 2%가 아니라 30% 부족한 것 같다. 그래도 대형 포탈에서 스스로 트래픽을 감당하면서 그런 문을 열어주었다는 데에는 의미가 있다. 구글형 네이버 말고도, 앞으로 다양한 활용 예시가 등장했으면 좋겠다. (MetaBBS에도 넣어볼까나? -_-)

Posted
Filed under 컴퓨터

결국 집에 와서 만들어야 할 shell은 안 만들고 mail box rotator나 만들고 앉아있다. orz

그래도, mutt로 스팍스 메일함 확인할 때마다 수천 통이 넘는 메일을 읽느라 느려지는 게 계속 신경쓰여서 결국 python으로 삽질해가며 만들어내고 말았다.

가장 삽질이었던 부분은, for line in file 형태로 파일을 읽어나가면, seek 등의 다른 파일 조작 함수를 혼용할 수 없다는 사실이었다. (저런 for-in 루프로 읽으면 자체적으로 버퍼링을 하기 때문에 seek 등이 오동작을 일으킨다) python documentation을 자세히 읽어본 뒤에야 그 사실을 알 수 있었다. orz

그것 말고 또 한참 삽질하게 만든 것은, string concatenation이 매우 비효율적이라는 점이었다. (python의 string도 java처럼 immutable string이니까, 매번 새로운 string 개체를 생성해서 복사하니 느릴 수밖에 없다) 그래서 가급적 불필요한 concatenation을 없애고 파일에 기록하는 것은 바로 파일에 쓰는 방식으로 했다. 그리고 ''.join(sequence)라는 구문이 있었으니... 오, 나의 구세주여. -_-; (구글에서 검색해본 결과 ''.join이 상당히 빠르다는 사실을 알 수 있었다.)

어쨌든, 그 결과물은 여기서 볼 수 있다. BSD License이니 쓰실 분은 맘대로 쓰셔도 좋으나 메일 분실, 데이터 손실 등에 대한 책임은 지지 않는다. 자, 이제 슬슬 shell을 짜야지...

Posted
Filed under 컴퓨터

오늘부터 태터 센터가 조금 바뀌었다. 개발 블로그가 따로 분리되고 사용자 중심의 공간이 따로 분리되었다. 앞으로 소스가 공개되어 본격적인 개발자 커뮤니티가 생기면 이들은 좀더 분명하게 구분될 것이다. (내 생각엔 dev.tattertools.com, dev.tattertools.com/blog, tatterstory.net이 각각 개발자 커뮤니티, 개발 블로그, 사용자 중심 블로그의 역할을 맡았으면 하는데, 노정석 님이 주로 블로깅을 해왔다는 역사적인 이유로 인해 tatterstory.net이 개발 블로그가 되어 url 상에서 조금 혼동이 생길 것 같다. 개인적으로는 소스 코드 공개를 하면서 url들도 싹 정리했으면 한다.)

여하튼, "태터툴즈 가이드북"이 출판된다는 소식 자체는 참 고무적이다. 주변 사람들 중에도 설치형 블로그를 사용해보고 싶지만 어려움을 느끼는 사람들이 많은데, 책으로 잘 정리되어 나온다면 큰 도움이 될 것이다. (문제는 mysql, 웹호스팅 계정, ftp 업로드 등의 개념을 초보자에게 알기 쉽게 설명하는 것이 그리 쉽지만은 않을 거란 사실이다) 또한 나부터라도 기념 등의 이유로 그 책을 하나 둘 사서 보게 될 것 같으니, 적게나마 태터툴즈의 재정(?)에도 도움이 될 것 같다.

태터툴즈가 더 대중성을 띠고 사용자층을 폭넓게 확보하려면 설치의 장벽을 넘어야 하는데, 이렇게 가이드북을 낸다는 건 그쪽으로 크게 신경쓰겠다는 뜻도 된다. 앞으로 더 대중들에게 쉽게 다가설 수 있는 태터툴즈가 되길 바란다. (그래야만 수익 모델도 세워지고 장기적인 발전이 가능할 것이다)

Posted
Filed under 컴퓨터

어제 드디어 태터툴즈 오픈하우스 행사가 있었다. 전날 스팍스 개강파티에서 맥주와 소주를 짬뽕해서 마신 것이 집안 내력(12시간 가까이 자고 글을 쓰는 지금도 계속 머리가 아프고 정신이 없는데, 내가 어머니 체질을 닮아 술을 섞어마시면 안 된다고 한다.. -_-)으로 엄청난 후유증을 가져다주고 있었지만 KAIST에서 거의 불가능한(?) 7시 40분에 기상하여 4일째 술을 퍼마신(..) 친구(배터리)를 끌어내다시피하여 서울로 올라갔다.

깔끔하게 와이셔츠와 넥타이까지 딱 맞춰입은 태터&컴퍼니 분들을 보면서 즐겁게(그러나 후유증으로 힘들게..) 발표를 보았다. 이미 전에도 얼추 알고 있었던 거라 크게 새로운 내용은 없었다. 다만 GPL화를 한 이유에 대해서 권순선 님이 그리 하라 하셔서 했다는 것이 황당(^^)했고, 태터툴즈의 전반적인 프로그램 구조를 알 수 있었다.

블로그에서만 보았던 포항공대 물리학 석사과정에 계시는 신정규님(inureyes)도 만나 인사를 나누었고, 라이브블로그 때 이미 만났던 함장님도 다시 볼 수 있었다.

사실 세미나보다 더 많은 이야기가 오간 것은 저녁 식사였다. 저녁을 먹을 건지 말 건지 잘 모르는 가운데 배터리(끝나고 대전으로 다시 내려가야 했으므로)가 저녁 먹기가 애매해 보여서 끝까지 기다렸고, 가까운 음식점에서 태터&컴퍼니 분들, 함장님 등 몇몇 블로거들과 식사를 같이 할 수 있었다.

식사 때 내가 물어본 것은, 일반 사용자들의 참여를 이끌어낼 방법이 없겠는가 하는 점, 태터툴즈와 이올린의 다양한 변형을 통한 수익 모델 창출에 대해 더 구체적인 계획이 있는가 하는 점 등이었다. 어느 분이 글마다 키워드 사용 여부를 선택할 수 있게 해달라고 하길래, 기왕 하는 거 글마다 어떤 키워드를 쓸 건지 말 건지 설정할 수 있게 해달라고 했더니 노정석 님께서 "원래 우리 회사에서는 아이디어 낸 사람이 만드는 것"이라며 나보고 만들어달라고 하셨다. -,.-

집단 지성이라는 것은, 만들기 전에 집단 지성을 강조해서 되는 것이 아니라 철저한 개인화와 소통 채널의 확보가 있어야 자연스레 이루어진다는 점, 그리고 자기에게 이익이 된다는 점을 알아야 tag cloud의 제대로 된 가치가 발현된다는 점 등을 이야기했다.

또, 장기적인 수익 사업이라고 보기는 어렵지만 설치형 블로그라는 한계를 극복하기 위한 블로그 서비스를 해보는 게 어떻겠냐 하는 의견도 나왔다. (호스팅처럼 계정을 제공하는 건 아니고, 이글루스처럼 가입해서 바로 블로그를 쓸 수 있는 형태 말이다) 이 부분에 대해서는 노정석 님도 고려해보겠다는 눈치셨다.

Tiny Core, Rich Components를 목표로 소스 코드를 대폭 수정하고 있다는 이야기도 하셨는데, 역시 나도 그런 방향에 동의하는 입장이다. (개발은 잠시 중단했지만 내가 만들던 Java IRC Bot도 그걸 목표로 하고 있으며 현재 나온 대부분의 IRC Bot들도 그런 방식이다.) 특히 오픈소스화된다면 필수적인 부분이 될 것이다.

버그 트래킹 시스템으로는 어떤 걸 쓸까 하는 이야기도 나왔는데, 내 서버에서 토끼군이 쓰고 있는 trac 같은 것이 괜찮을 것 같다는 의견이 있었다.

다 기억나지는 않지만 대략 이런 이야기들이 오갔다. 집에 오자마자 거의 뻗다시피해서 12시간 가까지 잠을 잤는데도 아직도 머리가 지끈거리고 있다. orz 어쨌든 다음에도 이런 오픈하우스 행사를 계속 할 예정이라고 하니 태터툴즈에 관심 있는 사람들은 참가해도 좋을 것이다.

덧. tattertools.com에서 기술적인 부분과 사용자 중심적인 부분을 분리하게 될 거라고 하셨다. 확실히 아직 초보자가 다가서기에는 어려워보인다.

Posted
Filed under 컴퓨터

저번 겨울 방학 후반부터 시작한 2006년 SPARCS 프로젝트인 OCO(Open Course-site Organizer)를 출품한 IT Festival이 그제와 어제 이틀 동안 열리고 끝났다. 아쉽게 상은 못 받았지만, 다른 학교의 IT 동아리들은 어떤 수준에서 어떤 아이디어로 개발을 하고 있는지 살펴볼 수 있는 기회였다. (아, 서울대 UPnL 작품도 나왔는데 거기서 stania 님도 볼 수 있었다;;)

초반 개발을 거의 내가 하고, 그 코드를 기반으로 다른 사람들이 작업을 시작하는 데 시간이 많이 걸린 게 아쉬웠다. (사람들이 프로그래밍을 잘 못하거나 그런 건 아니나 웹프로그래밍과 XML에 대해 익숙하지 않아 단시간에 그걸 응용할 수 없었던 것이다. 물론 나도 처음부터 아주 잘 하는 건 아니었고, 삽질하면서 배우고 있다. -_-) 아무래도 소프트웨어인데다 웹프로그래밍이라 겉으로 뭔가 만들었다고 보여주지 못하는 게 심사위원들에게 점수를 못 받은 부분이 된 것 같다. 그리고 OCO 프로젝트의 의도인 "과목 정보 공개" 자체에 대해 상당히 거부감을 보이시는 심사위원(교수)도 있었다. (물론 우리도 기획 과정에서 그런 이야기가 나왔었고 그에 대한 우리의 입장을 설명해주긴 했다)

최고상인 정보통신부장관상을 받은 인하대 로보트연구회의 Mementory 작품의 경우, 역시 기술적으로 아주 뛰어난 건 없었지만 일상의 모든 것을 기록한다는 그 아이디어와 취지가 좋았다. (그 작품을 봤을 때 딱 그런 생각을 했었는데 역시 최고상을 받더라.) 온도, 압력, GPS, 소형카메라, 맥박수 등을 재는 센서가 달린 작은 기기를 가지고 다니면서 USB 메모리에 그 정보를 일정 주기로 계속 기록하고 나중에 PC에서 읽어들여 personal memory 형태로 저장/관리할 수 있는 작품이었다.

그 외의 다른 동아리들은 주로 메신저, 보안 프로그램 등을 선보였는데 그다지 아이디어의 뛰어남 등은 보이지 않았고 기술적으로도 대동소이한 듯 싶었다. (개발 언어가 다르다거나 그런 차이랄까..) 내가 MR이기 때문에 더 유심히 지켜본 Mirage에서는 블루투스의 신호 강도를 이용해 전시장 등에서 특정 위치에 가까이 접근할 경우 그 부근에 대한 설명을 해준다거나 하는 장치를 만들었다. 기술적인 시도는 좋았지만 아이디어는 이미 상용화까지 이루어진 부분이라 점수를 못 받은 것 같다.

뭐, 전시 내용은 괜찮았는데 주최 측에게 몇 가지 이야기하고 싶은 게 있다.

먼저, 첫째 날 경품 추첨에서 내가 넣은 표가 무려 PMP에 당첨이 되었는데, 당첨자 발표 당시 최소 1명씩은 부스를 지키고 있으라고 하는 말에 나와 몇몇이 남아 있었던 것이 화근(?)이 되어 상품을 못 받았다. 그래서 동아리 선배들이 그쪽에 항의했으나 본인이 없었기 때문에 소용이 없다는 식이었던 것 같다. (나는 전혀 모르고 부스를 지키고 있다가 나중에 얘기해줘서 알았기 때문에 달리 대처할 수가 없었다. 이미 재추첨으로 다른 사람에게 상품이 넘어간 후였다.)

사전에 본인이 반드시 참석해야 한다거나, 아니면 부스를 지키는 인원에 대한 별도의 안내·조치가 있어야 했는데 그런 것이 전혀 없었기 때문에(추첨 카드에는 연락처만 적게 되어 있었다) 이는 주최측의 잘못이다.

두 번째로, 골든벨 이벤트에서 예선 문제가 작년 출품 동아리의 작품이나 참가 인원수 등을 묻는, 사실 상 random한 인원을 뽑는 문제였다는 점과, 일부 문제에서 보다 정확한 검증을 거치지 않아 오답이 있었다는 점이다. 도우미 자원봉사자들이 네이버 백과사전(..)을 뒤져서 문제를 냈는데, 바로 XML과 XHTML을 구분하는 부분에 문제가 있었다. 네이버 백과사전에는 XML에 대해서 "인터넷 웹을 구성하는 HTML을 획기적으로 개선한 차세대 인터넷 언어."라고 정의하고 있다. 하지만 엄밀하게 말하면 XML은 "인터넷 언어"가 아니다. W3C의 XML 표준문서 첫머리를 인용하면,

Extensible Markup Language (XML) is a simple, very flexible text format derived from SGML (ISO 8879). Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere.

라고 하고 있다. 원래는 대형 전자 출판용으로 설계된 언어였으나, 사용 용도가 다양해지면서 웹에서도 활용되고 있다는 것이다. 그리고 XML의 문법 구조를 지키면서 HTML을 개선한 "차세대 인터넷 언어"는 XHTML이다. 역시 W3C에서 이야기하는 바는 다음과 같다.

The Extensible HyperText Markup Language (XHTML™) is a family of current and future document types and modules that reproduce, subset, and extend HTML, reformulated in XML. XHTML Family document types are all XML-based, and ultimately are designed to work in conjunction with XML-based user agents. XHTML is the successor of HTML, and a series of specifications has been developed for XHTML.

이것은 명백히 네이버 백과사전의 오류이며, 이를 제대로 검증하지 못한 주최측에도 어느 정도 문제가 있다. (사실 도우미들이 XHTML에서 들어본 적이 있기라도 했다면 아마 쉽게 잘못을 파악할 수 있었겠지만 그랬는지 안 그랬는지는 확인할 방법이 없다)

그 문제가 지나간 다음 나와 배터리(친구 nick)는 사회자를 불러서 정정을 요구했지만 행사 진행 상 어쩔 수 없다고 했다. (나와 그 친구는 이 이벤트에 참가하지 않고 관전하고 있었다) 그때 떨어진 사람 중에 XHTML을 답으로 적은 사람이 있었는데 그 사람에게 1등상을 주든지, 나중에라도 원래 정답을 이야기해달라고 요구했으나 묵살(?)되었다.

그래도 "삼성"의 이름을 걸고 하는 것인데, 앞으로는 좀 더 진행을 잘 해주었으면 좋겠다. 이제 3회 정도 되었으면 슬슬 공신력도 어느 정도 생길 때가 되지 않았나 싶은데 말이다.

어쨌든, 대학교 IT 동아리들은 어떤 활동을 하고 있는지 알 수 있는 경험이 되었다는 점은 좋다. 다음 번 IT Festival은 좀더 발전된 모습으로 매끄러운 진행을 했으면 좋겠다.

Posted
Filed under 컴퓨터

학부생 연구 참여 프로그램 홈페이지 알바가 드디어 끝났다. (물론 앞으로 약간의 A/S를 해야 할지도 모르겠지만...) 사실 사이트 자체가 기술적으로 어려운 것은 없었으나, 포탈 사이트 로그인 연동 부분에서 좀 삽질했고 역시 CSS를 못알아먹는 IE 때문에 삽질한 게 작업 시간의 상당 부분을 차지했다. (그러나 그 중에서도 가장 황당했던 것은 서버가 별도로 준비되어 있지 않아서 연구처 직원분의 한 데스크탑을 계속 켜놓고—그것도 무선랜을 사용하는—알아서 서버 세팅을 해놓으라고 했던 것이다. 윈도우용 아파치, php, mysql 까느라 또 삽질..OTL 작업하다가 phpmyadmin 2.7 stable 버전의 어이없는 버그로 고생하기도...)

주문받아 만드는 게 어떤 건지 경험 삼아 시작한 것이었는데, 작업 기한이 당겨지면서 동아리 활동가 겹쳐 상당히 빡쎄게 하고 말았다. 어쨌든, 그 결과물은 여기에서 볼 수 있다.

나름대로 표준을 지키려 노력했고, 접근성도 고려하려고 했지만, 급하게 만드느라 완전한 validation은 안 될 수도 있다. 그리고 메뉴 부분은 javascript로 동작한다. orz (지금에서야 validation을 해보니 오타라든가 /를 빼먹었거나 &를 entity로 하지 않았거나 하는 것들이 대부분인 것 같다. 다행히 GR Board를 사용한 게시판 부분은 XHTML 1.0 Strict validation이 된다.)

어쨌든 나름대로의 경험이 될 것 같다. 하지만 앞으로 이 정도 해주려면(완전 백지상태에서 시작해서 디자인 + 코딩을 혼자 다...-_-) 더 많이(!) 받아야겠다. -_-;;