진짜.. 파이프 오르간이다.. 악기의 여왕이라고 하는..
칼 리히터가 오르가니스트이었을 줄이야....
명연임.
So finally, a guide for ThinkPad BIOS hacking. Not recommended for anyone who does not have basic grasp of how computers work. If you can't understand something, chances are you're playing with fire by not having enough knowledge. Not saying you're safe if you understood everything at once. Flashing even original BIOS can render your computer unbootable and with ThinkPads, there's no recovery option (aside from some high-tech "soldering" tools). Modified may be even worse. All responsibility for damaging your computer using anything from this page is yours.Terminology, so that I don't have to repeat it all the time.
- Last generation = X200, X200T, X301, T400, T500, W500, W700
- Previous generation = *60, *61, X300
- SL300/SL400/SL500 have AMI BIOS which I have no experience with
When you download a BIOS update from Lenovo, you'll find there something.FL1 (to open the bootable CD version of last generation get perhaps UltraISO). It's the actual BIOS image. There's also .FL2, that's the Embedded controller. The actual BIOS has first obstacle - get PhComp.exe to unpack it from some specific compression only Lenovo uses (inherited from IBM). The BIOS consists of many different modules, which are in last years also compressed.
The decompose the BIOS to individual modules for previous generation, get perhaps phnxdeco - the version a little fixed by me mostly works. If you search enough, you can also find Phoenix BIOS Editor 2.2, something made by Phoenix to allow some quick changes for OEMs - when you open any recent ThinkPad BIOS in it, it will fail, but when that happens, there's already TEMP folder with everything but holes (fixed-location code) extracted, so just grab it and you're done. Be aware that because of write buffering, some modules might be incomplete - if that happens, or you're not sure, try again and compare.
To decompose the BIOS to individual modules for last generation, get phnxsplit written by me (partially based on phnxdeco). It's very dumb tool, just searched the whole BIOS file for module headers and if it finds one, tries to guess compressed or not and then copies / decompresses. Also gives the modules original header, where possible, to allow use of Phoenix tools later.
So you have individual modules. There are some option ROMs for all supported graphics (integrated, discrete, all versions), for ethernet card (boot) etc. There are logos. There are some ACPI things - you can find some tool by M$ to compile/decompile the biggest acpi-related file. Security modules, and much more. However, most things you might be after are located in Bios Code modules. Whitelist checking functions are there. HDD checking functions are there. Processor fan error messages are there (actually directly, these are, to my surprise, not in Strings module). The modules have 27-byte header mentioned earlier, which mostly does not interest you, except four-byte integer at position 0xB. That is module location, and when there are far jumps or procedure calls, that is the address module will be referred with. Be aware it's big endian. Get this number, it should end with zero (in hex). Strip the last zero, and you should get four-digit hex number. Use that as segment when using disassemblers.
Okay, so let's say we search the modules for something known... like... Intel Wifi 3945ABG card has vendor ID 8086 and product ID 4227. Write that in the big endian way (as two-byte integers), and search for 0x86802742. It should get found in one module many times (in *60 series, that is). That's the whitelist... What now, though. You can modify it, yes, to include your card, but then you will have trouble putting the module back, because it might change size after compression - and it won't fit in place. You can mitigate that by changing also some other cards which you don't need. And you will probably succeed... still, it's not the preferred way.
Now strip the 27-byte header. It would make positions wrong. Then let's find the beginning of the whitelist block. You have to guess, there are other cards, from other vendor IDs... but when you have the number, and search for it (don't forget, big endian), you should get a few matches at most. So let's load that module to IDA Disassembler (change extension if it complains) and navigate to that position(s). Press C to tell IDA to try parse that place to instructions. Now it's up to your coding skills... if you think it's some comparing routine, perhaps some register is filled with the whitelist block address and then later being added some (9 for wlan, 4 for wwan) bytes to it, you're probably there.
In T60, when you find one of the two WLAN card checks, you might end up with something like this... or basically in all ThinkPads from *30 series on, it will be very similar. You can find the routine searching for 0x2C01 and 0x2E01 (as you can see in the picture being set to dx) - these two-bytes are pretty unique. Easier than guessing the whitelist block beginning.
In all WLAN/WWAN routines which are responsible for the actual 180x error, you'll find commands "clc" and "stc". There are Clear Carry and Set Carry - effectively set one bit in state register to zero (clear) or one (set). And that's the routines way of returning value. With carry bit set, there's some unsupported card. With carry bit clear, there's either no card, or there's a supported card. The easiest way now is to change the set carry instruction to clear carry.
However... there's more to this. For WLAN, there's one more check - against second whitelist - which controls whether the card is connected to the hardware wireless switch - and if it does not pass there, it will get "radio disable" signal to pin 20. So you need to modify one more check, and that one's a little more tough.
Essentially, I've solved this by replacing the whitelist check by test whether we don't have all zeroes (eax==0 && edx==0; hopefully to ignore when there's no card) and if not, then save the saveApproval.
To be continued.
Preview of things to come: You can look at PhnxPatch, which will find the whitelist checks in your decompressed BIOS modules and patch them. This tool has been used to do all patched BIOSes currently available from me, since around summer 2008, except for some rare cases when I had to do it manually (because the patterns weren't found). However after the patching something needs to be done to match compressed module filesize - I'm using the most straightforward way possible, locate the actual, now unused, whitelist and keep writing random data there until the filesize matches.
<<origin : http://www.endeer.cz/bios.tools/bios.html >>
Split Phoenix BIOS to individual modules: phnxdeco.exe (by Anthony Borisow) (requires cygwin1.dll, based on modified source quickfixed to output valid filenames for special sections such as */?<>)
(De)compress IBM BIOS compression: phcomp.exe (by Phoenix Technologies)
Recalculate Phoenix BIOS checksum: phnxcksm.exe (by me, source)
2008-04-26: Forgot to upload update of checksum utility, which didn't work for ROM files with ESCD skipped, for Thinkpads it only worked with 2MB or larger. It still probably is nowhere about universal now, but at least for Thinkpad 1MB BIOS files it works. phnxcksm.exe 0.2 (source)
Replace module in Phoenix BIOS: phnxmod.exe (by me, source, currently limited to only replacing same-size modules, needs modules already compressed by prepare.exe, actually right now it only saves you from having to do hex-copy/paste manually and makes sure the module is not present more than once; but expect support for enlarging module size and perhaps maybe for adding a new module)
Expected use of these tools is perhaps phcomp-decompress/phnxdeco/modify/prepare-compress/phnxmod/phnxcksm/phcomp-compress. Get yourself a copy of prepare.exe from running BIOS editor available from Intel's download center.
2008-03-05: Experimental updated version of phnxdeco (source). My aim is to split individual modules as good as Phoenix BIOS editor. Currently does not support more than two segments per module (max. 2 used in Lenovo BIOSes, seen four in some HP notebook BIOS – this one will still have something corrupted, will fix later). Supports -x mode for BIOSes larger than 1MB, but not fully, will be fixed later.
2008-11-09: phnxsplit - new Phoenix BIOS structure (source – based on phnxdeco, uses its lzint decompression routine). Very dumb tool similar to what phnxdeco was for older Phoenix BIOS structure. The result cannot be considered complete, but you get the modules and if you're good enough, you can modify them and inject back to original ROM. There are also new tools fp.exe/fi.exe instead of prepare.exe/catenate.exe. Find them perhaps in any Lenovo BIOS update for recent machine.
Suggestions to improve the tools? E-mail me at q@thisdomain (yes, really only q).
Bypassing whitelists in recent ThinkPad BIOSes
Zdravím české a slovenské návštěvníky, na zmíněném e-mailu možno řešit cokoliv týkající se rozebírání BIOSu :)
<<origin : http://www.endeer.cz/bios.tools/ >>
스티브 워즈니악, 지나 스미스 // 장석훈 옮김, 청림출판, 2008
1장 일렉트로닉 키드
p.16
...
이런 모든 가르침 중에서 아버지가 준 가장 중요한 가르침이 하나 있다. ... 아버지는 엔지니어가 된다는 것이 무엇인지에 대해 알려 주었다. 엔지니어 중에서도 진짜 엔지니어가 된다는 것이 무엇인지에 대해 말이다. 아버지가 했던 말이 또렸하다. 아버지는 공학이란 이 세상에서 도달할 수 있는 것들 가운데 가장 중요한 것이며 엔지니어란 사람들로 하여금 새로운 사회로 나아가도록 도움이 되는 전자 장치를 만드는 사람이라고 말했다. 나아가 엔지니어가 되면 세상을 바꿀 수 있고 수많은 사람들의 생활방식을 바꿀 수 있다는 말도 했다.
오늘날까지도 나는 엔지니어가 이 세상을 이끌어가는 중요한 사람이라고 믿고 있다. 나 또한 내가 언젠가 그런 사람이 될 것이라 믿으면서, 내 인생을 공학에 바쳐 왔다.
...
p.18
...
오늘날에도 난 늘 이런 식으로 생각한다. 즉, 기술적인 측면과 인간적인 측면을 항상 함께 염두에 둔다. ... 나는 부품 조립 하나까지 예술가처럼 하고 싶다. ... 인간에게 가장 쓸모 있는 형태를 만들고 싶은 것이다.
...
엔지니어이긴 하지만, 인간을 더 많이 생각하는 엔지니어라고 말이다.
...
.p.59
...
당시 나는 선생님들을 우러러 보았다. 정말 그랬다. 나는 선생님들이 엔지니어와 함께 세상에서 가장 똑똑한 사람들이라고 생각했다. 그들은 교단에 서서 너무나 편한 어조로 우리를 가르쳤다. 나는 내 머리도 좋다고 생각했다. 하지만 선생님들이 어려운 내용의 글을 척척 읽고 확신에 차서 말하는 것을 보면서 선생님들이 나보다 훨씬 머리가 좋다고 생각했다. 당시 내 눈에 우리 고등학교 선생님들은 모두 머리가 좋은 학자 였다.
지금은 좀 냉소적이다. 모두가 똑같은 것을 읽고 똑같은 답을 받아들이는 것을 기준으로 학생들의 지능을 규정하는 모습을 수없이 본 뒤로 그렇다.
...
p.92
...
그 순간 나는 정부란 마음만 먹으면 어떤 식으로든 국민 한 명쯤 충분히 골탕 먹일 수 있다는 사실을 깨달았다.
...
그 교훈이라 바로 그들이 옳은 일을 하리란 믿음을 가져서는 안 된다는 사실이다.
...
애플을 설립하고 난 뒤 나는 좋은 정부 관계자들을 꽤 많이 만났다. 하지만 정부에 대한 부정적인 인상은 여전하다. 그들이 하는 말을 거의 믿을 수가 없다
...
2장 괴짜 엔지니어의 천재적인 프로젝트
p.143
...
이제 내 인생의 중요한 시기가 왔다. 버클리 3학년을 마친 직후 나는 꿈에 그리던 일자리를 얻었다. 컴퓨터 만드는 일은 아니었고 HP에서 계산기를 설계하는 일이었다. 나는 거기서 내 남은 생을 보내리라 다짐했다. 그곳은 정말이지 완벽에 가까운 직장이었다.
때는 1973년 1월이었다. 나 같은 엔지니어에게 그보다 더 좋은 일터는 없었다. 기술 분야의 다른 회사들과 달리 HP는 영업자들의 손에 의해서만 돌아가는 회사가 아니라 엔지니어들을 예우해 주는 회사였다. 그 회사가 여러 해 동안 오실로스코프, 계측기, 전원 공급 장치, 온갖 종류의 실험 도구, 거기에는 의료 장비까지 만들어 왔다는 사실이 이를 증명했다. 그곳에서는 엔지니어들이 실제 사용하는 거의 모든 것들을 만들었고, 엔지니어가 회사를 이끌었다. 그곳에서는 엔지니어들이 대외적으로뿐만 아니라 대내적으로도 중요한 존재였다. 내가 좋아하지 않을 수 없었다.
...
p.147~149
...
HP에서 나는 엔지니어뿐 아니라 영업부 직원들과도 아주 친한 사이가 됐다. 자유분방한 회사 분위기가 좋았다. 장발에 수염을 기르고 있는 나를 아무도 뭐라는 사람이 없었다. HP에서는 사람의 능력만 볼 뿐 생김새나 차림새는 상관하지 않았다.
게다가 나는 난생 처음으로 개인 연구실을 가지게 되었다. 원하기만 하면 얼마든 개인 연구실들을 돌아다니며 다른 사람들과 이야기를 나눌 수 있었다. 하루 종일 사람들과 제품에 대한 아이디어를 나누고 의견을 주고받았다. HP에서는 그런 것을 편하게 할 수 있었다.
매일 오전 10시와 오후 2시가에 회사는 도넛과 커피를 직원들에게 돌렸다. 정말 기분 좋은 일이었다. 또한 영리한 것이기도 했다. 그것을 핑계로 사람들이 한 자리에 모여 이야기도 하고 친목도 도모하고 아이디어도 나눌 수 있었기 때문이다.
...
HP에서는 내가 그럴 수 있다는 것을 알았다. 관리직으로 가지 않고도 오랫동안 엔지니어로 일할 수 있는 것이다. 나보다 나이가 훨씬 많은 엔지니어 두 사람을 보면서 그럴 수 있음을 확신했다. 그들도 관리 업무를 하고 싶어 하지 않았다.
나는 HP에서 약 4년간 일했다. 대학 졸업장이 없었기에 근처의 산 호세 대학 야간 과정을 들어 학위를 따겠노라고 윗사람들과 약속했다. 지금 하는 일이 너무도 소중했기 때문에 일을 그만두고 전적으로 학교생활에만 매달린다는 것은 상상할 수도 없었다.
p.179
...
그것은 1975년 3월 홈브루 컴퓨터 클럽이라 불리는 기이한 친구들의 첫 모임에서 시작되었다. 이 모임은 기술과 그 기술이 이룩한 것에 매료돼 있는 사람들의 모임이었다. ... 우리 모임은 일을 쉬고 있는 엔지니어인 고든 프렌치의 차고에서 있었다.
첫 모임에 참석한 뒤, 나는 훗날 애플I이라고 알려진 컴퓨터를 설계하기 시작했다. 그 모임이 계기가 된 것이다.
홈브루는 시작부터 '컴퓨터 기술을 보통 사람들에게 전파한다'는 목표가 있었다. 즉, 일반인들도 컴퓨터를 마련하여 그것을 가지고 뭔가 할 수 있도록 만든다는 것이다. 이는 그 모임이 있기 전부터 나의 꿈이었다. 나는 내 집을 찾은 기분이었다.
서서히 홈브루의 목표는 확장되었다. 오래지 않아 신분과 재산에 상관없이 누구나 컴퓨터를 소유하고 사용할 수 있는 그런 세상에 대해 이야기를 나누었다. 우리는 컴퓨터를 누구나 구입할 수 있는 것으로 만들고, 그것이 사람들의 삶을 바꾸기를 바랐다.
...
당시에는 대기업만이 컴퓨터를 갖출 수 있었다. 이는 대기업이 작은 기업들과 일반인들은 할 수 없는 일을 할 수 있다는 뜻이었다. 우리는 그런 상황을 바꾸고자 했다.
...
IBM과 디지털 이큅먼트 같은 대기업은 우리가 외치는 사회적 메시지에는 귀를 기울이지 않았다. 그들은 소형 컴퓨터에 대한 구상이 얼마나 강력한 힘을 발휘할지 꿈도 꾸지 못했다. 그들은 우리가 생활 속의 작은 컴퓨터를 만드는 것을 보면서 '그것들이 기껏해야 장난감 수준에 머물 것이다', '상대적으로 작은 시장이다'라고 말했다. 그들은 그 시장이 얼마만큼 성장할지 헤아리지 못했다.
...
p.184~186
...
그런데 기적이 일어났다. 한 친구가 캐나다의 어느 회사가 만든 8008이라는 기술적 세부사항이 적힌 마이크로프로세서의 데이터 시트를 사람들에게 나눠 줬다. 그것은 인텔 8008 마이크로프로세서의 완벽한 복제판었다. 그것을 갖고 집으로 와서 생각했다.
...
그날 밤 나는 마이크로프로세서 데이터 자료를 꼼꼼히 들여다보기 시작했다. A 레지스터에 메모리 위치를 할당하는 것에 대한 지시 사항이 있었다. 이것 봐라. 나는 생각했다. 다음으로는 A레지스터에서 메모리 빼는 것에 관한 지시 사항이 있었다. 세상에. 이게 무슨 말인지 모를 사람도 있겠지만, 나는 이 사항의 의미를 정확히 알고 있었다. 그것은 내가 알게 된 것 가운데 가장 흥분되는 부분이었다.
그 자리에서 난 이 지시 사항들이 내가 고등학교와 대학교 시절 종이 위에서 미니컴퓨터를 설계할 때 따랐던 것과 같은 내용임을 알았다. 내가 종이 위에 재설계했던 미니컴퓨터가 지금 말하는 것과 똑같은 것임을 알았던 것이다.
단지 지금의 CPU 부분이 여러 개가 아닌 하나의 칩에 연결되어 있으며, 그것이 바로 마이크로프로세서인 것이었다. 거기에는 삐져 나온 핀이 있는데, 우리는 그 핀을 이용하여 메모리 핍 같은 것들을 연결하면 됐다.
이제 나는 모임에서 모든 사람들이 열광하던 알테어가 어떤 것인지 이해할 수 있었다. 그것은 내가 5년 전 설계했던 크림소다 컴퓨터와 거의 똑같았다. 알테어에는 마이크로프로세서, 즉 하나의 칩에 연결된 CPU가 장착돼 있고, 내가 만든 것에는 CPU가 여러 개의 칩에 연결돼 있다는 점이 차이라면 차이였다. 다른 차이는 그것이 팔리고 있느냐 아니냐 하는 것이었다. 마이크로프로세서 컴퓨터는 대당 379달러였던 것으로 기억한다. 그밖에는 하나도 차이가 없었다. 그러고 보면 난 알테어를 접하기 5년 전 이미 크림소다를 설계했었던 셈이다.
마치 나의 모든 인생이 이 하나의 지점을 향해 달려왔다는 생각이 들었다. 미니컴퓨터를 재설계한 것 하며, 퐁과 브레이크 게임에서 화면에 문자를 출력시킨 것 하며, TV 단말기 작업에 매달린 것 하며. 크림소다 컴퓨터와 그밖의 것들을 통해 나는 메모리 연결하는 법과 작동체계 만드는 법을 알고 있었다. 내게 필요한 것은 이 캐나다산 프로세서 같은 것과 메모리 칩 몇개뿐이었다. 그렇게 하면 내가 그토록 원하던 컴퓨터를 만들 수 있었다.
세상에, 내 손으로 컴퓨터를 만들고, 그것을 소유하고, 남은 생 동안 그것으로 하고 싶은 일들을 할 수 있다니!
400달러나 주고 알테어를 구입할 필요가 없었다. 알테어는 금속 프레임과 표시등으로 둘러싸인 화려한 칩들의 묶음일 뿐인 데다, 400달러는 내 월급의 실수령액이었다. 알테어를 가지고 뭔가 재미있는 일을 하려면 그보다 더 많은 돈을 써야 했다. 아마도 수백, 아니 수천 달러가 들 것이었다.
...
p.187
...
첫 모임을 마치고 돌아온 그날 밤 PC에 관한 이런 생각들이 한꺼번에 머리속에 떠올랐다. 둑이 터진 것 같았다.
그날 밤 나는 훗날 애플I으로 알려지게 될 컴퓨터를 종이 위에 스케치하기 시작했다. 돌이켜 보건대 구상은 순식간이었다. 설계하는데 몇 시간 걸리지 않았다. 부품을 구하고 그 부품의 데이터 시트를 연구하느라 한 달 이상의 시간이 걸리긴 했지만.
이 프로젝트를 수행한 이유는 여러 가지였다. 그 가운데 하나가 홈브루 회원들에게 단지 몇 개의 칩을 장착한, 사람들이 손쉽게 장만할 수 있는 컴퓨터, 즉 알테어를 구입할 수 있는 가격으로 프로그램까지 짤 수 있는 진짜 컴퓨터를 만들 수 있다는 것을 보여주기 위해서였다.
...
애플I을 설계한 또 다른 이유는 그 설계도를 모임의 다른 회원들에게 무료로 나눠 주기 위해서였다.
,,,
...
사람 만나는데 몇가지 금기 중, 정치색, 종교 등이 있다.
그런데 이것들은 왜 잘 안바뀔까?
희안할쎄.
오욱환, 학술상심사위원회 위원장, 이화여자대학교 교수
인생은 너무나 많은 우연들이 필연적인 조건으로 작용함으로써 다양해집니다. 대학에 진학한 후에는 전공분야에 따라 전혀 다른 인생길로 접어든다는 사실에 놀라기도 했을 겁니다. 전공이 같았던 동년배 학우들이 각기 다른 진로를 선택함으로써 흩어진 경험도 했을 겁니다. 같은 전공으로 함께 대학원에 진학했는데도 전공 내 하위영역에 따라, 그리고 지도교수의 성향과 영향력에 따라 상당히 다른 길로 접어들었을 겁니다. 그것이 인생입니다.
저는 한국교육학회나 분과학회에 정회원으로 또는 준회원으로 가입한 젊은 학자들에게 학자로서의 삶이 행복하기를 기원하며 몇가지 조언을 하고자 합니다. 이 조언은 철칙도 아니고 금언도 아닙니다. 학자로서 자존심을 지키며 살아가는 데 필요한 노하우라고 생각하시고 편하게 읽기를 바랍니다. 이 조언은 제가 젊었을 때 듣고 싶었던 것들입니다. 젊은 교육학도였을 때, 저는 이러한 유형의 안내를 받지 못했습니다.
직업에 따라 상당히 다른 삶을 살 수밖에 없습니다. 직업이 인생에 미치는 영향이 결정적이기 때문에, 저는 직업을 생업(生業)이라고 표현하기도 합니다. 학문은 권력이나 재력과는 거리가 있습니다. 학자로서의 성공은 학문적 업적으로만 판가름됩니다. 자신의 직업을 중시한다면, 그 직업을 소득원으로써 뿐만 아니라 자신의 존재가치로 받아들여야 맞습니다. 아래에 나열된 조언들은 제가 실천하고 있기 때문에 제시하는 것이 아닙니다. 이 조언들은 제 자신에게도 적용됩니다.
• “열심히 공부하고 있다면, 그에 걸맞은 일자리는 있다”고 확신하십시오. 일자리를 구하는 사람들은 구직난을 호소하지만, 일자리를 제공하는 사람들은 구인난으로 애를 태웁니다. 신임교수채용에 응모한 학자들은 채용과정의 까다로움과 편견을 비판합니다만, 공채심사위원들은 적합한 인물을 찾지 못해 안타까워합니다. 공정한 선발 과정을 기대하기는 쉽지 않습니다. 그렇지만, 공정하게 진행되기를 기원하면서 요구한 조건을 충분히 갖추는 데에 더 힘쓰십시오.
• 학문에 몰입하는 학자들을 가까이 하십시오. 젊은 학자들에게는 무엇보다도 모형이 되어줄 스승, 선배, 동료, 후배가 필요합니다. 어떻게 해야 할지 잘 모를 때에는 따라해 보는 방법이 효율적입니다. 그러다가 자신의 스타일을 갖추면 됩니다. 학문에의 오리엔테이션을 누구로부터 받느냐에 따라 학자의 유형이 상당히 좌우됩니다. 학문을 직업으로 삼으려면, 반드시 학문에 혼신을 다하는 사람들로부터 배워야 합니다. 존경할 수 없는 학자들을 직면했을 경우에는, 부정적 기준으로 삼으십시오. 다시 말해서, 그 사람들과 다르기 위해 노력하면 정도(正道)로 갈 수 있습니다.
• 시·공간적으로 멀리 있는 위대한 학자보다 ‘자신보다 조금 더 나은, 그렇지만 가까이 있는 사람들’을 모형으로 삼으십시오. 의식을 해야만 인식되는 사람은 일상적인 모형이 될 수 없습니다. 수시로 접하고 피할 수 없는 주변의 학자들 가운데에서 모형을 찾아야 합니다. 그 모형이 기대에 미치지 못한다고 판단될 때에는, 여러분이 이미 그 수준을 넘어섰기 때문입니다. 그 때, 눈을 들어 조금 더 멀리 있는 모형 학자들을 찾으십시오. 이러한 과정을 거치면서 여러분이 훌륭한 학자에 가까워집니다.
• 아직 학문의 길을 선택하지 않았다면, 가능한 조속히 결정해야 합니다. 이 길이 아니다 싶으면, 곧바로 이 길에서 벗어나는 것이 좋습니다. 학문은 적당히 해서는 성공할 수 없기 때문입니다. 선택하지 않은 일에 매진할 리 없고, 매진하지 않는 일이 성공할 리 없습니다. 학계에서의 업적은 창조의 결과입니다. 적당히 공부하는 것은 게으름을 연습하는 것과 조금도 다르지 않습니다. 게으른 학자는 학문적으로 성공할 수 없으며, 학계는 지적 업적을 촉구하기 때문에, 일상적으로도 불행할 수밖에 없습니다.
• 읽고 쓰는 일보다 더 오래 할 수 있고 더 즐거운 일을 가진 사람은 학문에 적합하지 않습니다. 읽었는데도 이해되지 않아서 속이 상하고 글쓰기로 피를 말리는 사태는 학자들에게 예사로 일어납니다. 그럼에도 불구하고 학자들은 읽고 씁니다. 이 일을 즐기기 때문입니다. 자신이 의미를 부여한 일은 어렵고 힘들수록 더 가치 있고 즐거울 수 있습니다. 읽고 쓰는 일을 피하려고 하면서도 그 일에 다가간다면, 학자로서 적합합니다.
• 학문하는 데 필요한 시간이 부족하다면, 대인관계를 줄여야 합니다. 학문하는 데 필요한 시간은 무한하지 않습니다. 학문에 투입하는 시간은 다른 업무에 할당하는 시간과 영합(zero sum)관계에 있습니다. 학문을 위한 시간을 늘리려면 반드시 다른 일들을 줄여야 합니다. 가장 효율적인 방법이 대인관계를 정리하는 것입니다. 자신의 개인 전화번호부가 보험설계사의 전화번호부처럼 다양하고 많은 인명들로 채워져 있다면, 학문하는 시간을 늘릴 수 없습니다. 물론 대인관계도 사회생활에 매우 중요합니다. 그러나 그것을 학문보다 더 중요하게 생각하면서도 학문을 직업으로 선택하면 불행해집니다.
• 학문 외적 업무에 동원될 때에는 맡겨진 역할을 성실히 수행해야 합니다. 그러나 그 일에 헌신하지는 마십시오. 젊은 학자들은 어디에서 근무하든 여러 가지 업무―흔히 잡무로 불리는 일―에 동원됩니다. 선택할 수 있을 때에는 이러한 일을 하지 않는 게 좋습니다만, 대부분의 경우는 선택할 수 없는 처지에 놓이게 마련입니다. 그 일을 부탁한 사람들은 젊은 학자들보다 직위가 높고 영향력이 더 큽니다. 그리고 그들은 젊은 학자들이 일하는 자세를 눈여겨봅니다. 잡무를 부탁하는 사람들은 젊은 학자들에게 평생 직업을 제공하거나 추천하거나 소개하는 위치에 있을 가능성이 많습니다. 하기 싫지만 피할 수 없을 때에는 성실해야 합니다.
• 시작하는 절차를 생략하십시오. 논문을 쓸 때 가장 힘든 시기는 시작할 때입니다. 시작하지 않으면, 결과가 나올 리 없습니다. 우리는 그냥 하면 될 일을 시작하는 절차에 구태여 의미를 부여하고 길일(吉日)이나 적일(的日)을 찾다가 실기(失機)합니다. 신학기에, 방학과 함께, 이 과제가 끝나면 시작하려니까 당연히 신학기까지, 방학할 때까지, 과제가 끝날 때까지 미루게 되고 정작 그 때가 되면 엄청난 스트레스를 받으면서 새로운 변명꺼리를 만들어 미루게 됩니다. “게으른 사람은 재치 있게 대답하는 사람 일곱보다 자기가 더 지혜롭다고 생각한”답니다(성경 잠언 27:16). 논문에 대한 아이디어가 떠오를 때마다 즉시 그리고 거침없이 많이 기록해두어야 합니다. 적기를 기다리다가는 아이디어를 놓칩니다. 사라진 아이디어는 천금을 주어도 되찾을 수 없습니다.
• 표절은 학자에게 치명적인 오명이 됩니다. 표절은 의식적으로도 그리고 무의식적으로도 일어납니다. 표절에의 유혹은 게으름과 안일함에서 시작됩니다. 표절을 알고 할 때에는 자신에게 관대하고 유리한 변명이 충분히 만들어집니다. 표절하지 않으려면 자신에게 엄격해야 합니다. 모르고 표절할 수 있는데, 이를 방지하기 위해서는 발표하기 전에 다른 사람들에게 점검을 받아야 합니다. 글쓰기에 엄격한 사람들을 가까이 해야 하고 정중하게 도움을 요청해야 합니다. 발표된 후에 표절로 밝혀지면, 감당할 수 없는 곤경에 처하게 됩니다.
• 시간과 돈을 어디에 사용하느냐에 따라 그 사람의 삶을 파악할 수 있습니다. 도서구입에 인색하고 음주나 명품구매에 거침없다면 학자로서 문제가 있습니다. 읽을 책이 없으면 읽어야 할 이유까지도 사라집니다. 책을 구입하고 자료를 복사하는 데 주저하지 마십시오. 지금 당장 필요하지 않더라도 앞으로 필요할 것으로 판단되면 구입해야 합니다. 꼭 필요한지를 따지는 것은 책을 사지 않으려는 이유를 찾는 것과 같습니다. 그 문헌들을 읽거나 가까이 두고 보아야 아이디어가 떠오르게 됩니다.
• 새 책을 구입했을 때나 새 논문을 복사했을 때에는 즉시 첫 장을 읽어두십시오. 그러면 책과 논문이 생경스럽지 않게 됩니다. 다음에 읽을 때에는, 시작하는 기분이 적게 들어 쉽게 읽을 수 있습니다. 구입한 책과 복사한 논문을 도서관 자료처럼 대하지 마십시오. 읽은 부분에 흔적을 많이 남겨두십시오. 아이디어가 떠오르거나 반론이 생각나면, 그 쪽의 여백에 적어두십시오. 그것이 저자와의 토론입니다. 그 토론은 자신이 쓸 글의 쏘시개가 됩니다.
• 학회 활동에 적극적으로 참여하십시오. 학회의 주체로서 활동하고 손님처럼 처신하지 마십시오. 학회에 적극적으로 참여함으로써 긍정적 모형들과 부정적 모형들을 많이 접해보십시오. 좋은 발표들로 모범 사례들을 만들어가고 실망스러운 발표들을 들을 때에는 그 이유들을 분석해보십시오. 학회에 가면 학문 활동을 어떻게 해야 할지 알 수 있습니다. 학회에 가면 필요한 자료를 얻을 수 있을 뿐만 아니라 감성적 자극도 받을 수 있습니다.
• 지도교수나 선배가 여러분의 인생을 결정해주지 않음을 명심하십시오. 학위논문을 작성할 때 지도교수는 절대적인 영향력을 가지고 있습니다. 그리고 선배의 조언은 학위논문을 완성하는 데 큰 도움이 됩니다. 그러나 그들의 지도와 도움에 대한 고마움 때문에 그들에게 종속되어서는 안 됩니다. 모든 홀로서기가 시련이듯이, 학자로서의 독립도 어렵습니다. 은사나 선배에의 종속은 그들의 요구 때문으로 이루어지기보다는, 젊은 학자들이 스스로 안주하려는 자세 때문인 경우가 더 많습니다.
• 걸작(傑作)이나 대작(大作)보다 습작(習作)에 충실하십시오. 논문을 쓰지 못하는 학자들의 특징 가운데 하나가 바로 걸작에 대한 집착입니다. 이들은 다른 학자들의 논문들을 시시하다고 평가하는 경향이 있습니다. 이들은 자신들이 하찮게 평가한 논문들과 비슷한 수준의 논문을 쓰지 않으려고 애쓰다가 논문을 쓰는 데 엄청난 압박을 느낍니다. 걸작에 대한 소망은 학자로서 당연히 가져야 합니다. 그러나 걸작은 쉽게 나오지 않을 뿐만 아니라 걸작을 지향한 논문이라고 해서 걸작이 되는 것도 아닙니다. 논문을 쓸 때마다 최선을 다하고 그 논문들이 쌓여지면서 걸작과 대작이 가능해질 뿐입니다.
• 학자의 길을 선택한 후에는 곧바로 연구업적에 대한 압박이 시작됩니다. 교수직을 구하려면 반드시 연구업적을 충분히 갖추어야 합니다. 많은 대학에서 연구보고서는 연구업적으로 평가해주지 않습니다. 그리고 공저는 높은 평가를 받지 못합니다. 번역서에 대한 평가는 실망스러울 정도로 낮습니다. 번역보다 창작에 몰두하십시오. 번역은 손쉬워 보이지만 아주 어려울 뿐만 아니라 생색도 나지 않습니다. 그리고 오역했을 경우에는 지적 능력을 크게 의심받습니다.
• 학자가 되고 난 후에는 저서에 대한 욕심을 버릴 수 없을 뿐만 아니라 압박도 만만치 않습니다. 도서관이나 서점에 들러 책을 찾을 때 다른 학자들이 쓴 책들만 보이면 상당히 우울해집니다. 여기에 더하여 자신과 비슷한 나이의 동료들이 교과서와 전공서를 출판할 때에는 뒤처지는 느낌을 떨치기 어렵습니다. 그래서인지 많은 학자들이 젊었을 때부터 교과서 집필을 서두릅니다. 교과서 집필은 생각과는 다르게 아주 어렵습니다. 교과서에 담길 내용은 대부분 알고 있는 것이기 때문에 쉽게 쓸 수 있을 것처럼 생각되기 때문입니다. 논문과는 다르게, 교과서 집필은 다른 학자들도 알고 있는 내용들을 가지고 독자적으로 구성하는 작업이어서 표절의 가능성도 아주 높고, 오류가 있을 경우 뚜렷하게 드러납니다. 학자로서 최소 10년은 지난 후에 교과서 집필을 고려하십시오.
• 학회에 투고한 논문이 게재되지 않더라도 속상해 하지 마십시오. 학회에서 발행되는 정기학술지에의 게재 가능성은 50퍼센트 수준입니다. 까다로운 학술지의 탈락률은 60퍼센트를 넘습니다. 그리고 학계의 초보인 여러분이 중견․원로 학자들과의 경쟁에서 유리할 리도 없지 않습니까? 아이디어를 짜내어 논문을 작성한 후 발송했더니 투고양식에 맞지 않는다고 퇴짜를 맞거나, 자세히 읽어보지도 않고 게재불가 판정을 한 심사평을 받을 수도 있으며, 최신 문헌과 자료를 사용했는데 이에 대해 문외한인 심사자를 만나 거부될 수도 있습니다. 게재불가를 받은 자신의 논문보다 훨씬 못한 논문들이 게재되는 난감한 경우도 겪을 겁니다. 그럼에도 불구하고 논문을 투고해야 합니다. 학회에 투고하기 전에 학회 편집위원회보다 더 까다로운 사람들로부터 예비 심사를 받기를 권합니다.
• 학문을 모르는 사람들은 학문 활동을 쉽게 생각합니다. “앉아서 책만 보면 된다”고 생각합니다. 학문은 소일거리처럼 책만 보는 일이 아닙니다. 논문작성은 피를 말리는 작업입니다. 이 일을 오랫동안 해 온 저도 논문을 작성할 때마다 스트레스를 받습니다. 논문은 다른 사람들을 깜짝 놀라게 하는 글이 아닙니다. 인문사회계에는 깜짝 놀랄 일이 많지 않습니다. 논문의 주제는 자신이 잘 알고 있는 분야에서 찾아야 합니다. 논문은 새로운 것을 밝히는 작업이라는 점에 집착함으로써 낯선 분야에서 주제를 찾으려는 사람들이 의외로 많습니다.
• 논문을 쓰려면 책상에 붙어 있어야 합니다. 논문의 아이디어는 직감(hunch)에서 나올지 몰라도 논문 글쓰기는 분명히 인내를 요구하는 노역입니다. 책상에 붙어 있으려면 책상에 소일거리를 준비해 두어 집중할 수 있는 시간을 늘리십시오. 컴퓨터는 최상의 제품을 구비하십시오. 프린터는 빨리 인쇄되는 제품을 구비하고 자주 인쇄하십시오. 퇴고는 반드시 모니터보다는 인쇄물로 하십시오. 퇴고할 때에는 다른 사람의 논문을 심사하듯 비판적으로 살펴보십시오. 논문의 초고를 작성했을 때쯤이면 내용을 거의 외우게 됩니다. 그래서 오류를 찾기가 매우 어렵습니다. 아무리 세심하게 작성하더라도 초고에는 오류가 아주 많습니다. 이 오류들을 잡아내려면 그 논문을 남의 논문처럼 따져가며 읽어야 합니다. 앞에서부터도 읽고, 뒤에서부터도 읽어야 하며, 중간부터도 읽어야 할 뿐만 아니라 오래 묵혔다가 다시 읽어보기도 해야 합니다. 자신이 쓴 글이 아닌 것처럼 느껴지는 방법은 모두 동원하시기 바랍니다. 이러한 과정을 거쳐야 하는 이유는 학회에 투고했을 때 심사위원들이 남의 글을 비판하듯 읽기 때문입니다. 논문심사자들은 심사대상 논문에 대해 호의적이 아닙니다. 이들은 익명이기 때문에 객관적이며 탈락률을 높여달라는 요구를 받을 때에는 아주 냉정해집니다.
• 학자의 길을 선택한 후에는 반드시 지적 업적을 갖추어야 합니다. 연구업적이 부족하면, 학계에서 설 땅이 별로 없습니다. 부족한 연구업적을 다른 것들로 보완하는 일은 쉽지 않을 뿐만 아니라 떳떳하지도 않습니다. 쫓기는 느낌을 떨쳐버릴 수 없기 때문에 항상 불안하고 우울해집니다. 자신의 전공영역에서 발간되는 국내외 학술지에 게재된 논문들을 체계적으로 점검하고 관심이 끌리는 논문들은 복사하여 가까운 데 두십시오. 그 논문들을 끈기 있게 파고들면, 여러분이 써야 할 글의 주제와 소재를 찾을 수 있습니다.
젊은 교육학자들이 학자로서의 일상을 즐거워하기를 기원합니다. 여러 가지 학술모임에서 이들의 행복한 미소를 보게 되기를 희망합니다. 이들의 즐거움과 행복으로 한국의 교육학이 발전하기를 기대합니다.
■ 필자 : 서울대학교 교육학과 학사, 서울대학교 대학원 교육학과 석사, University of Illinois at Urbana-Champaign, Ph.D., 이화여자대학교 교수로 재직 중
*한국 교육학회 뉴스레터, vol.45, no.3
젊은 아더왕이 복병을 만나 이웃나라 왕에게 포로신세가 되었다..
이웃나라 왕은 아더왕을 죽이려 하였으나 아더왕의 혈기와 능력에
감복하여 아더왕을 살려줄 하나의 제안을 한다..
그 제안이란,
그가 할 매우 어려운 질문에 대한 답을 아더왕이 한다면 아더왕을
목숨을 보장해주겠다는 것이다..
이웃나라 왕은 질문에 대한 답을 찾을 기한으로 1 년을 주었고,
아더왕이 1 년 안에 답을 찾아오지 못한 경우 처형하기로 하였다..
그 질문은 바로 "여자들이 정말로 원하는 것은 무엇인가?"였다..
이러한 질문은 현명하다는 사람들도 당황시킬 정도의 어려운 질문인데,
하물며 젊은 아더왕은 어쩌랴..
아더왕에게는 풀 수 없는 질문으로 보였다..
그러나 죽음보다는 나았기에 아더왕은 이웃 나라왕의 제안을 받아들여
1년동안 그 질문에 대한 답을 찾기에 나선다..
아더왕은 자신의 왕국에 돌아와서 모든 백성들에게 묻기 시작했다..
공주들, 창녀들, 승려들, 현자들, 그리고 심지어 광대들에게까지
모두 물어보았다..
하지만 그 누구도 만족할 만한 답을 줄 수 있는 사람이 없었다..
아더왕의 신하들이 왕에게 말하기를 북쪽에 늙은 마녀가 한 명 사는데
아마 그 마녀는 답을 알 것이라고 그 마녀를 데려오는 것이
어떠냐고 제안했다..
그러나 그 마녀는 말도 안되는 엄청난 댓가를 요구하는 것으로
유명하였다..
1년이 지나 마지막 날이 돌아왔고 아더왕에게는 늙은 마녀에게
물어보는 것.. 그 이외에 선택의 여지가 없게 되었다..
늙은 마녀는 답을 안다고 선뜻 대답하였지만 엄청난 댓가를
요구하였다..
그 댓가란 아더왕이 거느린 원탁의 기사들 중 가장 용맹하고
용모가 수려한 거웨인과 결혼하는 것이었다..
아더왕은 충격에 휩싸였고 주저하기 시작했다..
늙은마녀는 곱추였고 섬뜩한 기운이 감돌기까지 하였다..
이빨은 하나밖에 없었고 하수구 찌꺼기 같은 냄새를 풍겼으며
항상 이상한 소리를 내고 다녔다..
아더왕은 이제까지 이렇게 더럽고 추잡한 생물은 본적이 없었고
이런 추한 마녀를 자기의 가장 충성스러운 신하인 거웨인에게
결혼하라고 명령할 수가 없었다..
그러나 거웨인은 자기가 충성을 바치는 아더왕의 목숨이 달려있는
만큼 주저없이 그 마녀와 결혼을 하겠다고 자원했다..
결혼이 진행되었고 결국 마녀는 아더왕이 가진 질문에 대한
정답을 이야기하였다..
여자들이 정말로 원하는 것은 바로 자신의 삶을 자신이 주도하는 것,
곧 자신의 일에 대한 결정을 남의 간섭없이 자신이 내리는 것이라고 하였다..
정답을 듣자 모든 사람은 손바닥을 치며 저 말이야말로 진실이고 질문에 대한
정답이라고 하며 아더왕이 이제 죽을 필요가 없음에 기뻐하였다..
아더왕은 이웃나라왕에게 질문에 대한 답을 하였고 이웃나라왕은,
그것이야말로 진실이며 정답이라며 기뻐하면서 아더왕의
목숨을 보장해주었다..
하지만 목숨을 되찾은 아더왕에게는 근심이 남아있었다..
자신이 가장 총애하는 거웨인의 결혼에 대한 것이었다..
아더왕은 목숨을 되찾은 기쁨에 넘쳐있었지만 동시에
거웨인에 대한 일로 근심에 쌓여있었다..
그러나 거웨인은 대단한 사람이었다..
늙은 마녀는 결혼하자마자부터 최악의 매너와 태도로 거웨인을
비롯한 모든 사람을 대했다..
그러나 거웨인은 한치의 성냄이나 멸시없이 오직 착하게 자신의
아내로서 마녀를 대했다.. 첫날밤이 다가왔다..
거웨인은 자신의 인생에 있어서 최악의 경험이 될지도 모르는
첫날밤을 앞에두고 숙연히 침실에 들어갔다..
그러나 침실안의 광경은 거웨인을 놀라게 하기에 충분하였다..
거웨인의 인생에서 본적없는 최고의 미녀가 침대위에서 그를
기다리고 있었다.. 놀란 거웨인이 미녀에게 어찌된
일이냐고 물었다.. 미녀는 말했다..
자신이 추한 마녀임에도 거웨인은 항상 진실로 그녀를 대했고
아내로 인정하였으므로 그에 대한 감사로서 이제부터 삶의 반은 추한
마녀로, 나머지 반은 이 아름다운 미녀로서 있겠노라고 하였다..
그러면서 마녀는 거웨인에게 물었다..
낮에 추한 마녀로 있고 밤에 아름다운 미녀로 있을 것인가,
아니면 낮에 아름다운 미녀로 있고 밤에 추한 마녀로 있을 것인가..
거웨인에게 선택을 하라고 하였다..
거웨인은 이 진퇴양난의 딜레마에서 선택을 해야만 했다..
만일 낮에 아름다운 미녀로 있기를 바란다면 주위사람에게는 부러움을
사겠지만 밤에 둘만의 시간에 추한 마녀로 변한다면 어찌 살것인가..
아니면 반대로 낮에 추한 마녀로 있어 주위사람의 비웃음을 사겠지만
밤에 둘만의 시간에 아름다운 미녀로 변해 살것인가..
당신이라면 어떤 것을 선택하겠는가?
거웨인이 선택한 것은 아래에 씌여있다..
하지만 먼저 당신이 선택을 하고 선택한 후에 거웨인의 선택을 읽어보기를 바란다..
거웨인은 마녀에게 자신이 직접 선택하라고 말했다..
마녀는 이 말을 듣자마자 자신은 반은 마녀 반은 미녀 할 것 없이
항상 아름다운 미녀로 있겠노라고 말했다..
이유는 거웨인이 마녀에게 직접 선택하라고 할만큼 마녀의 삶과
결정권, 그리고 마녀 자체를 존중해주었기 때문이라고 하였다..
예전에는 회사와 다른 길 사이를 고민하는 듯 했는데, 잘하고 있는 듯 하다.
지금도 잘나가지만, 더 잘나가는 엔지니어가 되리라고 믿는다.
내가 취미로 하는 짓이나, 그놈이 직업을 하는 일이나 비슷한 성질의 일이라서, 모자라는 많은 것들을 물어본다.
이야기 하면서 그놈은 맥주를 두 병 마셨는데, 좀 흥분하는 듯 했다.
카메라가 preview하다가 capture하면, 어느정도의 딜레이가 있는데, 이 친구도 그것때문에 정말 고생했다고 한다. 보통 사람들이 카메라 성능을 판단하는 기준 중의 하나이니..
기술의 상품화가 직접적으로 연결된 부분이지 않나 싶다.
소니의 BI에 대해서 물어보니 정말 좋다고 한다.
회사 다니더니만 소위 말하는 소빠?가 되어 있다. 뭐 엔지니어가 좋다는 데.
두어시간 남자 둘이서 맥주도 파는 커피집에서 놀다가, 엔지니어는 엔지니어를 만나러 갔다.
중앙 제어식 에어컨이 시도때도 없이 자주 꺼져서, "개별 제어식"으로 후다닥 만들었다.
에어컨이 꺼지면, 자동적으로 다시 켜지도록 만들어 주는 장치이다.
에어컨 컨트롤러의 on-off status를 표시하는 LED의 anode전압을 ADC로 읽어서 off이면(LED의 불이 꺼져 있으면) 스위치를 잠깐 풀다운 시키고, 다시 원위치하는 동작을 한다(anode를 약하게 풀다운 시켜주지 않으면 ADC가 제대로 작동안한다! 아마도 LED의 다이오드 특성때문인듯 하다)
에어컨 스위치는 원래 풀업 상태인데, 풀다운될 때 토글되도록 되어 있다.
그리고 온도를 자동<->매뉴얼로 조작할 수 있도록 했다. 덕분에 선이 세 개나 더 늘어났지만..
결선이 엉망이다. 이짓도 오랜만에 하니까 잘 안된다.
대당 $3000짜리 불켜기 장치..
둘 다 잘 들어오고.. TEC는 잘 될런지..
LD 커넥터는 뒤쪽에, GPIB도 있음..