2016년 11월 22일 화요일
웰케어 칫솔 / 험블 칫솔(친환경)
http://www.wellcare79.com/
험블 칫솔 (친환경)
웰케어 보다는 많이 비싸...
과학하고 앉아있네 팟캐스트에서 광고를 들었다.
http://blog.naver.com/PostView.nhn?blogId=eos312&logNo=220851274768&parentCategoryNo=&categoryNo=98&viewDate=&isShowPopularPosts=true&from=search
http://storefarm.naver.com/humblebrush/products/423277962
지마켓은 좀 더 비싸..
http://gmkt.kr/g1ogTs
http://item2.gmarket.co.kr/Item/DetailView/Item.aspx?goodscode=899810540
다른 대나무 칫솔도 있는 것 같다.
한국 치과의사가 만든 것 ?
http://m.blog.naver.com/6010832/220626594222
한국 프로젝트 노아
http://m.blog.naver.com/6010832/220626594222
여기 저기에서 200원 짜리라고 되어 있는데, 정말 그 가격인지는 모르겠다.
그러나, 실제로 활동적인 곳은 찾을 수 없었다. 1회성이서 이제는 없어졌거나, 자선 활동이어서, offline으로 옮겨져서 online에서는 찾을 수 없게 되었거나.
아이졸라 칫솔
중국산도 있는데, 험블과 가격이 거의 같다.
IDEACO(아이데코) 제품 뉴질랜드 제품이라는 둥 헷갈린다.
====
나는의사다 팟케스트에서 소개되었던 부드러운 칫솔이라던 것이 있다. 수입품인 것으로 알고 있다. 이름은 나중에 최근 방송에 나온 댓글에서 알게 되었는데,
큐라덴 칫솔
이라고 한다. 더 자세한 것은 알아내지 못했다. 찾아 볼 시간이 없었다.
-
-
2016년 11월 15일 화요일
메일 전달할 때에 첨부파일 성가신 이상한 것: Winmail.dat 를 읽어주는 프로그램
때로는
Winmail.dat 로 첨부되던가, 아니면,
ATT00001.dat 또는,
ATT00005.eml 등등의 형태로 첨부되는 경우가 있다고 한다.
이것은 표준 파일 형식이 아니고, MS에서 사용하는 첨부파일 형태라고 한다.
아래의 프로그램을 이용하면, 읽기가 가능해 진다.
Winmail.dat Reader
http://www.winmail-dat.com/
-
-
2016년 10월 30일 일요일
[메모]TeX4ht 한글 구현 오래된 연구 파일 위치 http://faq.ktug.org/faq/TeX4ht/한글구현
http://faq.ktug.org/faq/TeX4ht/한글구현
문서의 맨 처음에 있는
2594 (by Karnes) 2005-02-05 글은, 이제 옛 게시판이 되어서,
인터넷에서의 주소 위치가 아래로 바뀌어 있다.
https://ktug.kldp.net/jsboard/read.php?table=contrib&no=2594
그리고, 첫번째 예제 파일인, testdhucs-html.zip 파일도 거기에 기록된 위치에서는
찾을 수 없고, 2594 게시글처럼 다른 위치로 바뀌어, 아래의 위치에서 찾을 수 있다.
https://ktug.kldp.net/jsboard/data/contrib/files/20050205012112/testdhucs-html.zip
이 글 머리에 있는 위키 문서가 이제 편집/수정이 불가능하게 되어 있어서, 여기에 기록을
남긴다.
-
-
-
2016년 8월 22일 월요일
2016년 8월 10일 수요일
요즈음 한동안 약간의 관심을 갖고 있었던 변호사님의 근황. 우연히 한겨레 기사에서 알게 되었다.
http://www.hani.co.kr/arti/society/area/755937.html
그 직전에 전주 삼례수퍼 사건의 다음 스토리 펀딩에서 알게 되었을 때쯤에
한겨레에 나왔던 기사...
http://www.hani.co.kr/arti/society/society_general/722574.html
그 이후, 몇달 정도 더 관심이(관심만, 그저 관심만..) 있었으나,
그 스토리 펀딩에 진전이 없어서 궁금했었다.
이번에 업무를 보다가 인터넷을 해야 하니... 우연히 알게 되었다.
파산이시라니... 안타깝다.
-
-
2016년 8월 8일 월요일
up up and away.. MS 사의 판매 서비스 홈페이지에 나온 Back-to-school essentials 에 그림..
https://www.microsoftstore.com/store/msusa/en_US/cat/Back-to-school-essentials/categoryID.67998200?icid=en_US_Store_UH_sale_gm_bts
에 나온 그림이 있다.
요즈음, '디지털 치매'라는 책을 읽고 있는데, 학교에서의 컴퓨터 사용에 대한
신랄한 비판이 주된 내용이다.
MS 사의 고객 페이지에
Back-to-school essentials package 에 나온
지구본을 보고 있는 아이들의 사진과 이 광고의
주인공인.. 컴퓨터 화면...그 내용이라고
옆에 나오는 화면 내용이 흐릿하게...
'Prep for success'(성공을 위한 준비)라는 제목이 옆에...
오른쪽에는 화면에.. up up and away 이것은 검색해 보니, 1967년에 나온
히트곡의 제목이라고 한다.
그 오른쪽에 Apollo 11 (수십년전의
달 탐사선..) 사진은 충격적이게도, 그와 별 관련 없는 우주왕복선 콜럼비아 호 ..
고체 연료통의 색이 누렇게 된 것으로 봐서는 비참한 사고로 연소되어 사라지기
얼마 전쯤의 여러 번 발사된 후의 재발사 사진으로 추측된다.
어린이 옆에 내용이 일관성이 없는 제목과 사진, 그 사진은 비참한 사고로
몇 명의 목숨이 사라진 실패한 우주선...
'디지털 치매'의 주장에 의하면, 이런
Microsoft의 문구(성공을 위한...)는 (개-거짓말)이라고 할 수 있을 듯 하다.
그 아래의 내용은... 학생들에게 XBOX 게임기를 할인해서 판매한다... ㅋ
뭔가 그 화면과 비슷한 내용을 찾을 수 있을까 싶어서 아래의 검색을 해 봤다.
_( up up and away apollo 11 )_
http://history.nasa.gov/ap11fj/14day5-landing-prep.htm
아폴로11호에 대한 좋은 내용을 찾을 수 있었지만,
up up and away 와는 직접적인 관련이 없어 보인다.
대신.. Michael Collins(마이클 콜린스)가 아폴로11호 사령실 내부에 낙서(?)한 글에서
아폴로 11 호와 콜럼비아 호 사이의 관계를 얼핏 알아낸 듯하다.
http://history.nasa.gov/ap11fj/cm-107_graffiti.htm
그 낙서의 내용에 의하면, 아폴로 11호의 정식 명칭은 (Space craft 107) (우주선 107)
이며, 아폴로 11호는 alias(별칭)이며, 이 별칭 말고도 다른 별칭이 더 있는데,
그것이 Columbia(콜럼비아) 호 라는 것이다.
---
어쨌든, 도무지 좋게 보이지 않는 것은 왜 그럴까...
뻔뻔한 거짓말과 유혹에 둘러싸여... 어떻게 살아야 할지 걱정된다.
-
-
-
2016년 7월 28일 목요일
hexedit 정보.
스크린샷을 봤다.
https://www.reactos.org/gallery
그중 하나에 hexedit 이 작동하는 스크린샷이 있었다.
거기에는 hexedit 정보가 있었다.
http://www.catch22.net/
끝.
-
hexedit에서 긁어온 정보들. 중요한 것은...
github.com/strobejb/HexEdit
에서 소스 코드를 관리하고 있다고 한다.
-
https://github.com/strobejb/HexEdit
에 적힌 내용에 의하면,
소스코드는 VisualC++2010 이상에서 컴파일이 된다고 한다.
Building HexEdit
-
HexEdit requires Visual C++ 2010 (or later). HexEdit can be built using the IDE, or via the Visual Studio command-prompt by using the /build/build.bat command.
The resulting binaries will be located in the /bin directory.
When using the build.bat commandline tool, packaged zipfiles will be located in the build/out directory
Win32 Software & Programming Tutorials
Home
Software
Source
Tutorials
Contact
hexedit-x86-2.0.6.49.zip
Published on 15 Jun 2013
264.33 Kb
Download
hexedit-amd64-2.0.6.49.zip
Published on 15 Jun 2013
299.42 Kb
HexEdit 2.0
HexEdit is a hexadecimal file editor for Microsoft Windows. HexEdit allows the user to view and edit any type of file, no matter what format it is saved in.
With a maximum file size limit of 16Exabytes (17,179,869,184 gigabytes!!), HexEdit can cut, copy, paste, insert and delete any amount of data with no decrease in performance with larger files. With unlimited multi-level undo and redo capability, no matter how large the file, HexEdit brings a new level of control over file editing.
Open Source
HexEdit 2.0 has been fully open-sourced under the MIT licence. Visit github.com/strobejb/HexEdit to clone the sourcecode repository using Git, or download the entire source bundle as a single Zip file.
Features
16 Exabyte files - opens files of any size, with no decrease in performace
Unlimited Undo & Redo
Modify file time-stamps
Search & Replace for Hex, Ascii, Unicode and Numeric data
Flexible hex display options (hex, decimal, binary, byte, word, dword)
Fill data ranges
Custom types & structure viewer
TypeView provides a structured view on top of a file's raw hex bytes
Underlying structure of a file can interpreted and modified through the TypeView window
Supports full C syntax for structure definitions
Structures can be edited within HexEdit, or in an external source editor
Bookmarks and Annotations
Bookmarks and annotaitons within the hex display
Annotate any range(s) of bytes within a file
Fast access to saved bookmarked positions, through the bookmark viewer.
Automatically saves bookmarks for future use
Clipboard formats
Import & Export files or clipboard data, using many different formats of data:
Hex, Ascii & Raw data
Base64, UUEncode
Intel Hex & Motorola S-Records
HTML
C++, Assembler
Supported Platforms
Windows 2000, XP, Vista, 7
32bit & 64bit versions available
29 Jan 2012
Posted in Software
Screenshots
Powered by Drupal
-
2016년 7월 4일 월요일
맨홀뚜껑이 둥글지 않아도 되는 이유
- 맨홀 뚜껑이 원형이 아니어도 되는 이유
- 맨홀 뚜껑 둥글지 않아도 되는 이유 Reuleaux triangle, Reuleaux polygon
- 뢸로 삼각형, 뢸로 다각형
- curve of constant width
- 정폭곡선, 정폭도형
http://zetawiki.com/wiki/%EB%A7%A8%ED%99%80%EB%9A%9C%EA%BB%91%EC%9D%B4_%EB%91%A5%EA%B8%80%EC%A7%80_%EC%95%8A%EC%95%84%EB%8F%84_%EB%90%98%EB%8A%94_%EC%9D%B4%EC%9C%A0
2016년 6월 23일 목요일
facebook 에서 도움 요청된 문제....
2016년 6월 22일 수요일
2016년 6월 6일 월요일
heterosis 님 블로그 모음?
http://heterosis.egloos.com
http://heterosis.tistory.com
http://heterosis.net
http://heterosis.net/publications
http://heterosis.net/about
트위터를 그만둔 이유
https://youtu.be/w5wIiEhuoO4
-
-
2016년 6월 5일 일요일
쓸데없이 읽게 된 글들 내가 내 공부했던 것을 쓰고 싶은데, 도움?을 주는 것들..
https://madscientist.wordpress.com/2016/04/27/과학에-대한-글을-쓰고-싶은-과학자에게/
‘처음부터 다시 읽기’가 어려운 이유
http://ppss.kr/archives/77457?dable=10.1.4
--
애도되지 못하는 존재들
http://ppss.kr/archives/77941
국민일보에 있다는 유서를 복사해왔다.
--
다음은 A군이 남긴 유서 전문이다.
제 유서를 퍼뜨려 주세요.
**이 형이 딱 이맘때에 떠난 것 같아서 봤더니 아니나 다를까, 오늘이군요. 생명과학부 12 월 18 일엔 뭔가 있나 봅니다. 저도 형을 따라가려고요.
힘들고 부끄러운 20 년이었습니다. 저를 힘들게 만든 건 이 사회고, 저를 부끄럽게 만든 건 제 자신입니다. 하지만 이제는 괜찮습니다. 더 이상 힘들고 부끄러운 일은 없습니다. 지금은 제 인생에서 가장 행복한 순간입니다.
많은 이들이 이렇게 말했습니다. “남은 사람들을 위해서라도 죽으면 안 된다.” 엄마도 친구도 그러더군요. 하지만 이는 저더러 빨리 죽으라는 과격한 표현에 불과합니다. 저를 힘들게 만든 게 누구입니까. 이 사회, 그리고 이를 구성하는 ‘남은 사람들’입니다. 죽는 것조차 마음대로 못 하고, 나를 괴롭힌 그들을 위해서 죽지 못하다니요.
또 죽는다는 것이 여러분이 생각하는 것만큼 비합리적인 일은 아닙니다. 이걸 주제로 쓴 글이 ‘글쓰기의 기초’ 수업에서 좋은 평가를 받았으니 제 유서에 써도 괜찮은 내용일 겁니다. 제가 아는 경우에 대해서, 자살은 삶의 고통이 죽음의 고통보다 클 때 일어납니다. 다분히 경제적인 사고의 소산입니다.
말이야 이렇게 했지만, 그렇다고 저를 너무 피도 눈물도 없는 사람으로 보지는 말아 주십시오. 20년이나 세상에 꺾이지 않고 살 수 있던 건 저와 제 주위 사람들에 대한 사랑 때문입니다. 아직 날갯짓 한 번 못 한 제가 아까워 잠실대교에서 발걸음을 돌렸고, 제가 떠나면 가슴 아파 할 동생과 친구들을 위해 옥상에서 내려온 게 수 차례입니다.
하지만 지금은 너무 힘이 듭니다. 동시에 부끄럽기까지 합니다. 제 자신과 세상에 대한 분노가 너무 큰 고통으로 다가옵니다. 이만 꺾일 때도 됐습니다.
무엇이 저를 이리 힘들게 했을까요
제가 일생동안 추구했던 가치는 합리입니다. 저는 합리를 논리 연산의 결과라 생각합니다. 어느 행위가 합리적이라 판단하는 것은 여러 논리에서 합리적이라고 규정하는 것에 부합하기 때문입니다.
하지만 이 세상의 합리는 저의 합리와 너무나도 달랐습니다. 그렇다고 그걸 비합리라고 재단할 수 있는가 하면 또 아닙니다. 그것들도 엄밀히 논리의 소산입니다. 먼저 태어난 자, 가진 자, 힘 있는 자의 논리에 굴복하는 것이 이 사회의 합리입니다. 제 개인적으론 비합리라 여길 수 있어도 사회에서는 그 비합리가 모범답안입니다.
저와는 너무도 다른 이 세상에서 버티고 있을 이유가 없습니다.
돌이켜보면 좋은 기억이 없는 건 아닙니다. 가장 행복했던 기억을 꼽으라면 둘이 있습니다. 하나는 작년 가을에 무작정 여권 하나 들고 홀로 일본을 갔다 온 일이고, 다른 하나는 이번에 제주도에서 돌아온 다음 날의 일입니다. 즐거운 여행을 끝내고 일상으로 돌아가는 건 보통 힘든 일입니다. 하지만 그날 들은 수업은 너무나도 흥미로웠습니다. 먼저 생물학 시간에 인간과 미생물의 상호관계를 배우고 너무나 감명 받았습니다. 인간과 미생물은 정말 넓은 분야에 깊게 상호작용 하고 있었습니다. 연달아 있는 서양사 수업에서는 베버의 '프로테스탄트 윤리와 자본주의 정신'을 배웠습니다. 유물론적 사관에 익숙한 저에겐 신선한 충격이었습니다.
수업을 마치고 8 동을 나오는 길에 든 생각이 잠자리까지 이어졌습니다. 베버는 '직업으로서의 학문'에서 학문을 하는 것은 정신적 귀족이 되는 것이라 표현했습니다. 그때만큼은 제가 그 정신적 귀족이 된 느낌이었습니다. 서로 수저 색깔을 논하는 이 세상에서 저는 독야청청 ‘금전두엽’을 가진 듯 했습니다.
하지만 저는 금전두엽을 가지지도 못했으며, 생존을 결정하는 것은 전두엽 색깔이 아닌 수저 색깔이군요.
맛있는 걸 먹고 싶습니다. 이 글을 쓰면서 목이 너무 말라 맥주를 찾았지만 필스너우르켈은 없고 기네스뿐이어서 관뒀습니다. 처갓집 양념치킨을 먹고 싶지만 먹으면 메탄올의 흡수 속도가 떨어질까 봐 먹지 못하겠네요.
혹시 제가 실패하더라도 저는 여러분을 볼 수 없을 겁니다. 눈을 잃게 되거든요. 오셔서 손이나 잡고 위로해 주십시오. 많이 힘들 겁니다.
제가 성공한다면 억지로라도 기뻐해 주세요. 저는 그토록 바라던 걸 이뤘고 고통에서 해방됐습니다. 그리고 오셔서 부조 좀 해 주세요. 사랑하는 우리 동생 **이가 닭다리 하나나 더 뜯을 수 있게 해 주세요.
마지막으론 감사를 전해야겠습니다. 우울증은 상담치료와 약물치료로 완화됩니다. 상담치료로썬 환자의 말을 잘 들어주고 공감해 주는 것도 있지만 ‘실질적’인 위로를 주는 것이 중요합니다. 근거도 없는 ‘다 잘 될 거야’ 식의 위로는 오히려 독입니다. 여러분의 사랑하는 사람이 우울증으로 괴로워 할 때 저런 말은 절대 해서는 안 된다는 것을 기억해 주세요.
실질적인 위안이 된 사람으로 둘이 기억나네요. 하나는 **누나입니다. “힘들 때 전화해, 우리 가까이 살잖아.” 이 한마디로 전 몇 개월을 버텼습니다. 전화를 한 적은 없지만, 전화를 할 사람이 있다는 것, 그것도 이렇게 멋진 사람이 날 위로해줄 수 있다는 것이 정말 힘이 됐습니다. 누나 정말 고마워. 미안해. 결국 전화를 하지 못했네...
다른 하나는 ***입니다. ***도 정말 좋은 사람입니다. 질문 하나 할 때도 매번 안부 물어봐 주고 이것저것 챙겨다 주고 고마웠습니다. 또 제가 약대 준비할 땐 교재도 빌려 주고 결과 발표 일시도 상기시켜주는 등 물심양면으로 도와줬습니다. 약대 붙으면 맛있는 스시를 사기로 했는데, 결국엔 사지 못하게 됐네요. 고맙고 미안해... 행복하게 지내렴.
출처=서울대생의 자살, 그리고 유서 전문/온라인 커뮤니티 캡처
--
황우석 관련 소식?
팟캐스트 황우석 10년 취재기에 의하면, 진실은 황우석 박사가 매우 억울한데,
그에 대해 비난과 공격을 계속하는 사람들이 있기 때문이었다.
이 사람들 중에는 유명한 사람도 몇몇 있어 보였고, 황우석 비판의 내용이나
관점이 무엇인지 알고 싶었다.
제대로된 황우석 비판은 여기일 듯..
이제 찾아낸 곳이다.
내가 재미있게 들은 적이 있는 팟캐스트 방송 '과학하고 앉아 있네' 자매 시리즈인
'과학같은 소리하네'의 한 회에 나오셨던 김우재님의 글들이다.
https://medium.com/science-scientist-and-society-korean/황우석과-초파리-939c2aae514b#.qa395ef4c
이분이 위키에 기록을 정리했다고 하는데, 링크를 따라가 봤지만, 해당 페이지가 없어졌다! ( 여기가 위키피디아 의 한 페이지인데, 그냥 사고로 없어졌다고 하기엔 미심쩍다.)
한글 기록인 나무위키도 많이 변화가 생겼다. 위키피디아도 어딘가에 글이 남아 있을지?
아래가 아마도 개인적인 글들의 모음인듯... 글의 수가 매우 많다.
https://madscientist.wordpress.com/2014/03/05/stap-cell을-만드는-상세한-프로토콜/
http://heterosis.net
아래는 시골피디님의 블로그 글이다.
http://blog.hani.co.kr/nopd/20241
Creative Geneticist
김우재님이 불쾌한 글이었다는 내용을 남긴 문제의 시골피디님의 글이다.댓글에는 김우재님의 해명 댓글과 시골피디님의 답글도 있다.
시골피디님은 호칭을 문제 삼았지만,
어쨌든 원래 투고되었던 김우재님의 pressian 투고기사 내용 자체는 매우 비판적인 것이다.
http://www.pressian.com/news/article.html?no=95289
--
나무위키에 있는 글이 황우석 박사에게 비판적이면서도 쌍방이 내세우는 모든 사실을 다 적은 글들을 대표할 만하다고 생각된다.
현재 '나의 황우석 10년 취재기'에서 내세우는 음모론이
- 2011-06-27 13:30:19 (보기 | RAW | 이 리비젼으로 되돌리기 | 비교) r40 (+713) 128.134.64.221 ([rev 1.43] )
그 이후,
- 2011-07-02 14:24:36 (보기 | RAW | 이 리비젼으로 되돌리기 | 비교) r58 (+533) 222.109.153.14 ([rev 1.61] )
- 2011-07-02 14:39:38 (보기 | RAW | 이 리비젼으로 되돌리기 | 비교) r59 (+990) 222.109.153.14 ([rev 1.62] )
- 2011-07-03 19:16:50 (보기 | RAW | 이 리비젼으로 되돌리기 | 비교) r69 (+2339) 121.131.154.37 ([rev 1.72] )
그런데, 그 한참 후에 [음모론] 부분이 통째로 삭제되었다.
- 2015-06-04 20:12:40 (보기 | RAW | 이 리비젼으로 되돌리기 | 비교) r266 (-6518) 110.47.83.70 ()
2016년 06월 01일
http://www.sisa-news.com/news/article.html?no=104756
https://www.youtube.com/watch?v=koTcPZUQwXQ
==========
매머드 복제
2012년 YOUTUBE
https://www.youtube.com/watch?v=_rya6Jhzlzw&lc=z12wedw4foj3upnu5235zfzg3wqbfvkbs04
황우석 기여와 관련한 내용.
https://www.youtube.com/watch?v=xmlpSOHc5A4
_(구글: TEDxDeExtinction )_
2015년
TED
https://www.ted.com/talks/hendrik_poinar_bring_back_the_woolly_mammoth?language=en
==
TEDxDeExtinction
https://www.ted.com/tedx/events/7650
_(구글 검색: NGC mammoth clone project )_
2014년 영국 telegraph (한국인 과학자들에 의해 Woolly-매머드가 복제될 지도 모른다.)
http://www.telegraph.co.uk/news/earth/wildlife/11234151/Woolly-mammoth-could-be-cloned-by-South-Korean-scientists.html
http://www.livescience.com/27930-images-deextinction-species.html
10개의 관련 페이지가 나오고 _( NEXT )_ 를 클릭해서 _( 9 of 10 )_ 페이지에서
가장 관련이 있을 것 같은 내용을 발견했다.
National Geographic magazine covers de-extinction in its April 2013 issue. The National Geographic Society also hosted a forum on the subject, TEDxDeExtinction, in Washington, D.C., on March 15. - See more at: http://www.livescience.com/27930-images-deextinction-species.html#sthash.BrBztn9h.dpuf
여기에서 위의 2015년 검색어인 _( TEDxDeExtinction )_ 을 찾았다.
--
--
--
2016-0701 갱신..
뜻밖에 인기 팟캐스트 방송인 '이이제이'에 (황우석 사건과는 관련 없는) 다른 주제 때문에
황우석 사건을 결정적으로 제기한 경력이 있는 MBC 피디수첩의 그 당시 제작자(?)인
최PD께서 출연하셨는데, 여기에서 그저 소개정도로 약간 나온 황우석 사건 내용 때문에,
황우석 지지자들이 항의를 제기하자, 이작가는 이것이 싫었는지, 그 다음 방송에서
황우석 사건을 아주 많이 다뤘고, 여기에는 서울대학교 수의학과 교수인
우희종 박사가 나와서 결정적으로 황우석을 비판하는 견해를 밝히고, .. 그리하여 내가 듣게 되어서 이 관심을 가지게 된
시골피디의 팟캐스트 방송에서도 반박 방송을 하고,
(허, 참나...) 서로 관련이 없는(?) 두 방송이 서로 얽히게 되었다.
그런데, 우희종 박사의 이름이 웬지 낯이 익은 듯하여 예전의 페이스북을 뒤져보니,
내가 시골피디의 방송을 처음 듣게 된 직후,
페이스북에서
"서울대 수의과대학 교수의 퀀텀에너지 논문 하하하" 라는 비판 내용인
웬 이상한 퀀텀 에너지를 이용한 사이비라는 인상을 풍기는 섬유 개발과
상용화 기사에 등장한 것이, 바로 여기(최근 이이제이 방송(2016년7월1일 현재) )에서
황우석 박사를 비판한 우종천 박사이다. 이분도 서울대 수의학과라는 공통점(?) 때문에,
특히 물리학과 학생들에게 사이비같은 인상을 진하게 느끼게 만드는 '퀀텀에너지' 관련 기사
에서 같이 엮여서 똑같은 사기꾼 취급을 받을 뻔했는데, 시골피디의 방송을 들은 사람이
말렸고, 잠잠해진 글타래에 얽혀있다.
https://www.facebook.com/groups/ko.physics/permalink/1030931536994313/
이 무슨 악연(아니면 인연)일까?
더우기 _(구글검색
우희종, 양명기석과 양자에너지 조절 조치와 Quantum Energy 융합섬유가 미치는 면역적 기능분석 보고
)_ 에서 나오는 내용에 의하면, 정말로 이 논문이 발표가 된 것처럼 보도된 기사가
몇개 뽑혀 나온다. 그러나, 그 기사에 같이 붙어 나오는 사진은 무척 어설퍼 보인다. 발표가 된 장소도 특정 기업의 구내에서 였던 것으로 보인다. 그다지 제대로 된 발표가 아닌 것으로 보인다. 그 발표에는 계속 그 사장이라는 사람이 반복적으로 나오는 듯하다. 그 사장이라는 사람이 어떤 사람인지, 기사를 썼던 기자는 어떤 의도(?) 또는 경위로 기사를 쓰게 된 것인지 궁금하다.
-------
16년 10월 20일
황우석에게 많이 미련이 남은 것 같다.
팟캐스트를 듣고 있는데, 계속 궁금하다. 오늘은
시골피디 저널리즘 블로그를 찾아 봤다.
http://blog.daum.net/pd-diary
http://blog.hani.co.kr/nopd/
나무위키 - 황빠
http://rock1209.tistory.com/1631
http://www.goodfunding.net/gf/project_view&prj_code=15020020
-
-
2016년 6월 1일 수요일
Rebar Control: Nancy Cluts (October1996, updated June25, 1997)
출처:
https://msdn.microsoft.com/en-us/library/ms997549.aspx
The Rebar Control: Using a Coolbar in Your Application
Nancy Winnick ClutsMicrosoft Corporation
October 1996
Updated June 25, 1997
Contents
What Is a Coolbar?
Creating a Coolbar
Messages and Notifications
SummaryAbstract
One of the controls created for Internet Explorer 3.0 is the Rebar control. It is most commonly known, however, as the coolbar. A coolbar contains child windows such as toolbars, combo boxes, and bitmaps, and manages the size and position of the child windows it contains. Once you create the child windows and assign them to the coolbar, the child windows are displayed in it. This article demonstrates how to create and use a coolbar. The sample that accompanies this article, creatively named "Rebar," was written using Microsoft® Visual C++® version 4.2, the Win32® Software Development Kit (SDK), and the ActiveX™ SDK for Internet Explorer 3.x. If you are going to use the coolbar in an application targeted to Internet Explorer 4.0, use the Internet Client SDK (INet SDK) instead of the ActiveX SDK.What Is a Coolbar?
If you use Internet Explorer 3.0, you've seen the coolbar at the top of the screen, and probably thought that it was just a funky toolbar. Take a look:
In order to create a coolbar like the one in Figure 1, you need to:
- Create the coolbar.
- Create your child windows.
- Insert each child window into the coolbar.
All bands, except those that have the RBBS_FIXEDSIZE style, can be resized via the gripper bar. You can also single-click the gripper bar to minimize or maximize the band. The coolbar manages the size and position of the child window assigned to that band.
Creating a Coolbar
Creating a coolbar is similar to creating any other type of common control: You initialize the common control library and use the CreateWindowEx function.Using InitCommonControlsEx
The first thing your application must do is register the coolbar window class via the InitCommonControlsEx function. This function is different from InitCommonControls (which took no parameters) in that it is passed a structure, INITCOMMONCONTROLSEX, that describes what you want initialized. You need to fill in the dwSize member of this structure to successfully initialize the common control classes. This member allows the system to determine which version of the common controls you are using. INITCOMMONCONTROLSEX also contains the dwICC member, which specifies the common control you would like initialized. This member can be any combination of the following:Value | Meaning |
---|---|
ICC_ANIMATE_CLASS | Load animate control class. |
ICC_BAR_CLASSES | Load toolbar, status bar, track bar, and tooltips control classes. |
ICC_COOL_CLASSES | Load the coolbar class. |
ICC_DATE_CLASSES | Load date and time picker control class. |
ICC_HOTKEY_CLASS | Load hot-key control class. |
ICC_LISTVIEW_CLASSES | Load list view and header control classes. |
ICC_PROGRESS_CLASS | Load progress bar control class. |
ICC_TAB_CLASSES | Load tab and tooltips control classes. |
ICC_TREEVIEW_CLASSES | Load tree view and tooltips control classes. |
ICC_UPDOWN_CLASS | Load up-down control class. |
ICC_USEREX_CLASSES | Load ComboBoxEx class. |
ICC_WIN95_CLASSES | Load the animate control, header, hot-key, list view, progress bar, status bar, tab, tooltips, toolbar, track bar, tree view, and up-down control classes. |
INITCOMMONCONTROLSEX icex; icex.dwSize = sizeof(INITCOMMONCONTROLSEX); // Load the coolbar. icex.dwICC = ICC_COOL_CLASSES; InitCommonControlsEx(&icex);
Setting Up the Coolbar
Once the class has been registered, the application calls CreateWindowEx, specifying REBARCLASSNAME as the class name to create the coolbar (remember, the "real" name of the coolbar is Rebar). If you are going to add an image list to your coolbar, your application must send the RB_SETBARINFO message. This message passes a pointer to a structure, REBARINFO, in its lParam. The structure information below is based on information in the ActiveX SDK:typedef struct tagREBARINFO{ UINT cbSize; UINT fMask; HIMAGELIST himl; } REBARINFO, FAR *LPREBARINFO;
- cbSize — The size of this structure, in bytes. Your application must fill this member before sending any messages that use a pointer to this structure as a parameter. Use sizeof(REBARINFO) to fill in this member.
- fMask — Flag value that describes the structure members that are valid and the characteristics of the coolbar. Currently, there is only one valid mask value, RBIM_IMAGELIST, which specifies that the himl member is valid in the REBARINFO structure.
- himl — Handle to an image list. The coolbar will use the specified image list to obtain images. If you create a coolbar that will contain static images, you can use the image list functions to manage those images.
Coolbar styles
Special styles are associated with coolbar windows. These are listed in Table 2. Specify these styles in the same way that you specify other window styles in your call to CreateWindowEx.Value | Meaning |
---|---|
RBS_TOOLTIPS | Tooltips are supported. This style allows you to use the same tooltip in all of the inner bands. There is no hot region in the coolbar that will otherwise cause the tooltip created by this style bit to be shown. |
RBS_VARHEIGHT | The coolbar displays bands at the minimum required height when possible. Without this style, the coolbar displays all bands at the same height. The control uses the height of the tallest visible band to determine the height of other bands. |
RBS_BANDBORDERS | A border is placed around each band in the coolbar. |
RBS_FIXEDORDER | This style prevents the user from reordering the coolbar bands. |
- Creates an image list to associate with the coolbar and adds an image to it.
- Creates a coolbar that supports variable band height and has a background bitmap associated with it.
- Associates the image list with the coolbar.
// Create the image list. hIml = ImageList_Create ( MIN_COMBOCX, // width MIN_COMBOCY, // height 0, // creation flags NUM_LINKS + 1, // number of images 0); // amount this list can grow // Load the bitmap and add it to the image list. hBmp = LoadBitmap (hInst, MAKEINTRESOURCE (IDB_SMEAR)); idxFirstImage = ImageList_Add (hIml, // handle to image list hBmp, // handle of bitmap to add NULL); // handle of bitmap mask // Create the COOLBAR control. hWndRebar = CreateWindowEx( 0L, REBARCLASSNAME, NULL, WS_VISIBLE | WS_BORDER | WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CCS_NODIVIDER | CCS_NOPARENTALIGN | RBS_VARHEIGHT | RBS_BANDBORDERS, 0, 0, 400, 275, hWndParent, (HMENU)ID_REBAR, hInst, NULL ); if (!hWndRebar) return 0; // Set the image list for the coolbar. rbi.cbSize = sizeof(rbi); rbi.fMask = RBIM_IMAGELIST; rbi.himl = hIml; SendMessage(hWndRebar, RB_SETBARINFO, 0L, (LPARAM)&rbi);
Using an Extended Combo Box
Now that the coolbar has been created, we'd like to add some bands to it. Within each band, there will be one child control. In our example, we have two bands: one containing an extended drop-down combo box and the other containing a transparent toolbar. Let's first talk about the extended combo box that I decided to add.Combo boxes have been extended to support images and indentation. In the Rebar sample, I include an image for each item in my drop-down list of links to the Internet. You create an extended combo box by specifying "ComboBoxEx32" (in versions of Internet Explorer later than 3.x, use WC_COMBOEX) as the class in your call to CreateWindowEx. To use an image list, send the CBEM_SETIMAGELIST message with the handle to the image list after creating the combo box. Inserting items into the combo box is easy; you simply send the CBEM_INSERTITEM message with a pointer to a COMBOBOXEXITEM. This structure contains a field, fMask, that specifies which items in the structure are valid. Valid masks specify characteristics such as indented (CBEIF_INDENT), textual (CBEIF_TEXT), image (CBEIF_IMAGE), and extra data (CBEIF_LPARAM). Setting the iItem member of this structure to –1 indicates that you want the item inserted at the end of the list.
// Global array of cool links. COOLLINKS rgLinks[] = { {TEXT("Microsoft"),TEXT("http://www.microsoft.com/default.htm"), IDB_MSFT}, {TEXT("Microsoft Developer Network Online"), TEXT("http://www.microsoft.com/msdn/default.htm"), IDB_FDO}, {TEXT("Site Builder"), TEXT("http://www.microsoft.com/workshop/default.htm"), IDB_SB}, {TEXT("Win32 Development"),TEXT("http://www.microsoft.com/win32dev/default.htm"), IDB_WIN32}, {TEXT("Interactive Media"), TEXT("http://www.microsoft.com/imedia/default.htm"), IDB_IM}, {TEXT("Microsoft Developer Network"),TEXT("http://www.microsoft.com/msdn/default.htm"), IDB_MSDN}, {TEXT("Internet Explorer"),TEXT("http://www.microsoft.com/ie30/default.htm"), IDB_IE} }; int idx, idxImage; REBARBANDINFO rbBand; COMBOBOXEXITEM cbI; HBITMAP hBmp; // Create the combo box. hWndCombo = CreateWindowEx ( 0, // extended styles "ComboBoxEx32", // extended combo box – will TEXT(""), // default text WS_VISIBLE | WS_CHILD | WS_TABSTOP | WS_VSCROLL | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CCS_NORESIZE | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST, 0,0, // x, y MIN_COMBOCX, // width MIN_COMBOCY * NUM_LINKS, // height hWndParent, // parent window (HMENU)ID_COMBO, // ID hInst, // current instance NULL ); // no class data if (hWndCombo == NULL) return 0; // Set the image list for the combo box. SendMessage( hWndCombo, CBEM_SETIMAGELIST, 0L, (LPARAM)hIml); // Add strings to the combo box. for (idx=0; idx < NUM_LINKS; idx++) { // Load the bitmap and add it to the image list. hBmp = LoadBitmap (hInst, MAKEINTRESOURCE (rgLinks[idx].iBmp)); idxImage = ImageList_Add (hIml, // handle to image list hBmp, // handle of bitmap to add NULL); // handle of bitmap mask rgLinks[idx].idx = idxImage; // Each item has text, an lParam with extra data, and an image. cbI.mask = CBEIF_TEXT | CBEIF_LPARAM | CBEIF_IMAGE; cbI.pszText = rgLinks[idx].szName; // Name of the link. cbI.cchTextMax = sizeof(rgLinks[idx].szName) / sizeof(rgLinks[idx].szName[0]); cbI.lParam = (LPARAM)rgLinks[idx].szURL; // Pass the URL as extra data. cbI.iItem = -1; // Add the item to the end of the list. cbI.iImage = idxImage; // Image to display. // Add the item to the combo box drop-down list. SendMessage(hWndCombo, CBEM_INSERTITEM, 0L,(LPARAM)&cbI); }
Adding Bands to the Coolbar
Once you create the child windows, your application must fill in a structure called the REBARBANDINFO that describes the characteristics of each band you want to insert. As before, the structure information below is based on information in the ActiveX SDK.typedef struct tagREBARBANDINFO { UINT cbSize; UINT fMask; UINT fStyle; COLORREF clrFore; COLORREF clrBack; LPSTR lpText; UINT cch; int iImage; HWND hwndChild; UINT cxMinChild; UINT cyMinChild; UINT cx; HBITMAP hbmBack; UINT wID; } REBARBANDINFO, FAR *LPREBARBANDINFO;
- cbSize — The size of this structure, in bytes. Your application must fill in this member before sending any messages that use a pointer to this structure as a parameter.
- fMask — Flags that indicate which members of this
structure are valid or must be filled. This value can be a combination
of the following:
Value Meaning RBBIM_STYLE The fStylemember is valid. RBBIM_COLORS The clrFore and clrBack members are valid. RBBIM_TEXT The lpText member is valid. RBBIM_IMAGE The iImage member is valid. RBBIM_CHILD The hwndChild member is valid. RBBIM_CHILDSIZE The cxMinChild and cyMinChild members are valid. RBBIM_SIZE The cx member is valid. RBBIM_BACKGROUND The hbmBack member is valid. RBBIM_ID The wID member is valid. - fStyle — Flags that specify the band style. This value can be a combination of the following:
Value Meaning RBBS_BREAK The band will be on a new line. Use this style if you plan to have more than one line of controls in your coolbar. This style is used by Internet Explorer 3.0. RBBS_FIXEDSIZE The band can't be sized. If you use this style, the sizing grip will not be displayed on the band. RBBS_CHILDEDGE An edge will appear around the top and bottom of the child window. RBBS_HIDDEN The band will not be visible. RBBS_NOVERT The band will not be displayed when the Coolbar control is vertical. RBBS_FIXEDBMP The bitmap will not move when the band is resized. - clrFore — The band's foreground color, used to draw text.
- clrBack — The band's background color.
- lpText — Address of a buffer that contains the display text for the band. If band information is being requested from the control, this member must be initialized to the address of the buffer that will receive the text.
- cch — Size of the buffer at lpText, in bytes. If information is not being requested from the control, this member is ignored.
- iImage — Zero-based index of the image that should be displayed in the band, if any. The image list is set using the RB_SETBARINFO message.
- hwndChild — Handle of the child window contained in the band, if any.
- cxMinChild — The minimum horizontal size of the child window, in pixels. The band cannot be sized smaller than this value.
- cyMinChild — The minimum vertical size of the child window, in pixels. The band cannot be sized smaller than this value.
- cx — The horizontal size of the band, in pixels.
- hbmBack — The handle to the background bitmap.
- wID — The ID of the band.
The code below sets the information in the REBARBANDINFO structure and inserts the window into the band via the RB_INSERTBAND message. This band contains an image, idxFirstImage, specified by the iImage member.
// Initialize REBARBANDINFO. rbBand.cbSize = sizeof(REBARBANDINFO); rbBand.fMask = RBBIM_COLORS | // clrFore and clrBack are valid RBBIM_CHILD | // hwndChild is valid RBBIM_CHILDSIZE | // cxMinChild and cyMinChild are valid RBBIM_STYLE | // fStyle is valid RBBIM_ID | // wID is valid RBBIM_TEXT | // lpText is valid RBBIM_IMAGE | // iImage is valid RBBIM_BACKGROUND; // hbmBack is valid rbBand.clrFore = GetSysColor(COLOR_BTNTEXT); rbBand.clrBack = GetSysColor(COLOR_BTNFACE); rbBand.fStyle = RBBS_NOVERT | // Do not display in vertical orientation. RBBS_CHILDEDGE | RBBS_FIXEDBMP; rbBand.hbmBack = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_BACK)); rbBand.lpText = TEXT("Cool sites:"); rbBand.hwndChild = hWndCombo; rbBand.cxMinChild = MIN_COMBOCX; rbBand.cyMinChild = MIN_CY; rbBand.iImage = idxFirstImage; // Add the combo box band to the end. SendMessage(hWndRebar, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&rbBand);
HWND CreateTheToolBar (HWND hWndParent) { REBARBANDINFO rbBand; hWndToolBar = CreateToolbarEx(hWndParent, WS_CHILD | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CCS_NODIVIDER | CCS_NORESIZE | WS_VISIBLE, ID_TOOLBAR, NUM_TBBITMAPS, (HINSTANCE)hInst, IDB_TOOLBAR, (LPCTBBUTTON)&tbButtons, NUM_TBBUTTONS, BMP_CX,BMP_CY, // width & height of buttons BMP_CX,BMP_CY, // width & height of bitmaps sizeof(TBBUTTON)); if (hWndToolBar == NULL ) { MessageBox (NULL, TEXT("Toolbar not created!"), NULL, MB_OK ); return (HWND)NULL; } // Initialize REBARBANDINFO for all coolbar bands. rbBand.cbSize = sizeof(REBARBANDINFO); rbBand.fMask = RBBIM_COLORS | // clrFore and clrBack are valid RBBIM_CHILD | // hwndChild is valid RBBIM_CHILDSIZE | // cxMinChild and cyMinChild are valid RBBIM_STYLE | // fStyle is valid RBBIM_ID | // wID is valid RBBIM_BACKGROUND; // hbmBack is valid rbBand.clrFore = GetSysColor(COLOR_BTNTEXT); rbBand.clrBack = GetSysColor(COLOR_BTNFACE); rbBand.fStyle = RBBS_NOVERT | // Do not display in vertical orientation. RBBS_CHILDEDGE | RBBS_FIXEDBMP; rbBand.hbmBack = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_BACK)); rbBand.hwndChild = hWndToolBar; rbBand.wID = ID_TOOLBAR; rbBand.cxMinChild = MIN_TBCX; rbBand.cyMinChild = MIN_CY; // Insert band into coolbar. SendMessage(hWndRebar, RB_INSERTBAND, (UINT) -1, (LPARAM)(LPREBARBANDINFO)&rbBand); return (hWndToolBar); }
case WM_NOTIFY: switch (((LPNMHDR)lParam)->code) { case TTN_NEEDTEXT: { LPTOOLTIPTEXT lpToolTipText; // warning: static buffer not threadsafe static char szBuf[MAX_PATH]; // Display the tooltip text. lpToolTipText = (LPTOOLTIPTEXT)lParam; LoadString (hInst, lpToolTipText->hdr.idFrom, // string ID == cmd ID szBuf, sizeof (szBuf) / sizeof (szBuf[0])); lpToolTipText->lpszText = szBuf; break; } } break;
Getting Information About a Band
An item in the Options menu in the Rebar sample gives you the ability to get information about the first band in the coolbar. This information is retrieved via the RB_GETBANDCOUNT, RB_GETROWCOUNT, and RB_GETROWHEIGHT messages and is displayed in a dialog box.BOOL APIENTRY BarInfo( HWND hDlg, UINT message, UINT wParam, LONG lParam) { static UINT uHeight, uRowCount, uBandCount; static REBARINFO rbi; switch (message) { case WM_INITDIALOG: // Get the number of bands. uBandCount = SendMessage(hWndRebar, RB_GETBANDCOUNT, 0, 0); SetDlgItemInt(hDlg, IDC_NUMBANDS, uBandCount, FALSE); // Get the number of rows. uRowCount = SendMessage(hWndRebar, RB_GETROWCOUNT, 0, 0); SetDlgItemInt(hDlg, IDC_NUMROWS, uRowCount, FALSE); // Get the row height for the first row. uHeight = SendMessage(hWndRebar, RB_GETROWHEIGHT, 0, 0); SetDlgItemInt(hDlg, IDC_ROWHEIGHT, uHeight, FALSE); return (TRUE); case WM_COMMAND: if (LOWORD(wParam) == IDOK) { EndDialog(hDlg, TRUE); return (TRUE); } break; } return (FALSE); }
Cleaning Up
Once your application is ready to exit, you must be sure to destroy your coolbar along with any of the child windows that you may have created and inserted into the coolbar. You also must destroy any image lists that you may have created. I know that this probably sounds rudimentary to many of you, but I'm a mom, so I am accustomed to reminding others to clean up after themselves.case WM_DESTROY: if (hWndRebar) DestroyWindow(hWndRebar); if (hWndToolBar) DestroyWindow(hWndToolBar); if (hWndCombo) { ImageList_Destroy(hIml); DestroyWindow(hWndCombo); } PostQuitMessage(0); break;
Linking to the Internet
If you build and run the Rebar sample I've provided, you will notice that the items in the combo box are links to the World Wide Web. If you click one of the items in the list, your Internet browser (we hope that it will be Internet Explorer) will be invoked with the URL of the link chosen. I handle this in the window procedure for the combo box in the event of a CBN_SELCHANGE notification—it's simply a matter of calling ShellExecute. The system will look for the browser you have associated with .HTM files and run that browser.LRESULT CALLBACK ComboWndProc( HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam) { int iSelect; if ((uMessage == WM_COMMAND) && (HIWORD(wParam)==CBN_SELCHANGE)) { // Get the currently selected item. iSelect = SendMessage(hWndCombo, CB_GETCURSEL, 0, 0); ShellExecute( NULL, TEXT("open"), rgLinks[iSelect].szURL, NULL, NULL, SW_SHOWNORMAL ); } return (CallWindowProc(lpfnDefCombo, hWnd, uMessage, wParam, lParam)); }
Messages and Notifications
This section lists the messages and notifications supported by coolbar controls, based on information in the ActiveX SDK for Internet Explorer 3.x.Coolbar Control Messages
Table 3 lists the messages that can be sent to coolbar controls.Note Whenever you pass the address of a REBARINFO or REBARBANDINFO structure in one of the messages in the table above, you must first set the cbSize member of this structure using the sizeof function; otherwise, the call will fail.
Message | Description | wParam | lParam | Returns |
---|---|---|---|---|
RB_DELETEBAND | Removes a band from the coolbar. | UINT – the zero-based index of the band to delete | 0 (not used) | 0 if successful; non-zero otherwise |
RB_GETBANDCOUNT | Returns the number of bands in the coolbar. | 0 (not used) | 0 (not used) | UINT – Number of bands in the coolbar |
RB_GETBANDINFO | Retrieves information on the specified band. | UINT – the band to check | LPREBARBANDINFO – pointer to a structure containing band information | 0 if successful; non-zero otherwise |
RB_GETBARINFO | Retrieves information about the coolbar control and the image list that it may use. | 0 (not used) | LPREBARINFO – pointer to a structure containing coolbar information | 0 if successful; non-zero otherwise |
RB_GETROWCOUNT | Retrieves the number of rows in the coolbar. | 0 (not used) | 0 (not used) | UINT – the number of rows |
RB_GETROWHEIGHT | Returns the height of the specified row in the coolbar. | UINT – the zero-based row to check | 0 (not used) | UINT – the height, in pixels, of the row |
RB_INSERTBAND | Inserts a band into a coolbar. | UINT – the zero-based index of the place to insert the band; –1 signifies that the band will be added to the end | LPREBARINFO - pointer to a structure containing information about the band | 0 if successful; non-zero otherwise |
RB_SETBANDINFO | Sets the information about an existing band in the coolbar. | UINT – the zero-based index to the band | LPREBARBANDIFO – pointer to a structure containing new information about the band | 0 if successful; non-zero otherwise |
RB_SETBARINFO | Sets information about the coolbar. | 0 | LPREBARINFO – pointer to a structure containing new coolbar information | 0 if successful; non-zero otherwise |
RB_SETPARENT | Sets the window that will receive coolbar notification messages. Note that this message does not actually set the parent of the coolbar control. When you call GetParent, you will still get the handle to the original parent window that was specified when the coolbar control was created. | HWND – handle to the new parent window | 0 | HWND – handle to the previous parent window; NULL if there is no previous parent |
Coolbar Notification Messages
Coolbars have one notification message that is unique to them: RBN_HEIGHTCHANGE. This notification is sent to the coolbar when the height of the coolbar has changed (in the form of a WM_NOTIFY message). The lParam associated with this notification contains the address of an NMHDR structure.Summary
Now you, too, can have that funky-looking bar at the top of your application! Just follow my instructions and you shouldn't have any problems. Go ahead: Cut and paste the code, if you want. That's why I write this stuff.2016년 5월 27일 금요일
ini file 위치 ... XP, Vista, 7, 등등...
있었고, 거기에는
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
호출이 없는 샘플이 있었다.
이것이 분명히 어디엔가 설정을 저장할텐데, 도무지 그 ini 파일의 위치를
찾을 수 없었다.
_(구글 검색: where the ini file in Windows )_ 를 했고,
몇 줄 아래에 답을 찾을 수 있었다.
아래의 곳이 그곳인데, 원래의 내용이 없어질 것에 대비해서 복사를 해 놓았다.
내 샘플의 위치는 약간 다른데, ...
...\VirtualStore\Program Files\... 이 아니라
...\VirtualStore\Windows\... 에 있었다.
아래의 사이트를 살펴 보면, 일반적인 위치라기 보다는 그 회사의 제품인
SpringConnect 라는 제품의 ini 파일 위치를 알려 준 것이라고 생각된다.
정작 MS의 도움말에는 아무리 뒤져봐도 안나왔다. 이래서, 나는
MS에 감정이 좋지 않다. 이런 비슷한 일을 흔히 겪었다. 어쩔 수 없이 사용한다는...
벗어날 실력도 없고..
정리하면,
XP에서는.. C:\Program Files\ 에 있을 가능성이 있고,
Vista 에서와 Windows7 에서는..
C:\Users\__사용자_이름__\AppData\Local\VirtualStore
내부에서,
\Program Files\ 또는
\Program Files (x86)\ 또는
\Windows\
폴더 내부에 찾아보면 나올 가능성이 높다.
내 경우에는 \Windows\ 폴더에 들어 있었다.
ini
출처:
https://support.springahead.com/customer/portal/articles/71462-how-do-i-find-my-ini-file-
==
인용:
How do I find my .ini file?
Problem
You need to locate your .ini file (alternatively called a Configuration File) to either copy your settings or modify them.Solution
Your .ini file can commonly be found in these places:- Windows XP: C:\Program Files\SpringConnect.ini
-
Windows Vista: C:\Users\__사용자_이름__\AppData\Local\VirtualStore\Program Files\SpringConnect\SpringConnect.ini (__사용자_이름__은 Vista의 로그인 이름이다. USERNAME is your Vista login name)
(Note: Make sure that you have 'Show hidden files' enabled within your Control Panel) -
Windows 7:
C:\Users\USERNAME\AppData\Local\VirtualStore\Program
Files\SpringConnect\SpringConnect.ini (USERNAME 은 Windows7의 사용자 로그인 이름이다. USERNAME is your Windows 7 login
name)
(Note: Make sure that you have 'Show hidden files' enabled within your Control Panel)
If your .ini file is not in any of these locations, it may be located on your company’s network, most likely on the drive where your accounting software is located. Here's how to check the location:
- First, find SpringConnect's shortcut that Windows creates in the Start bar. It will either appear in your frequently used programs list, or you search for it in the Search Program Files and Folders box. Once located, Right-Click on the icon and select Properties.
- The location of your .ini file will be in the Start In box.
Now you know where your .ini file is located!
==
2016년 5월 3일 화요일
2016년 4월 4일 월요일
2016년 3월 28일 월요일
수학 소프트웨어 (mathematica, CaR 등등..)관련 오늘 아침에 헤맨 곳.
수학 소프트웨어 (mathematica, CaR 등등..)관련 오늘 아침에 헤맨 곳.
Contribute to the World of Mathematics
http://mathworld.wolfram.com/contact/contribute.html
Aleph-0 -- from Wolfram MathWorld
http://mathworld.wolfram.com/Aleph-0.html
Math Games:Vector vs. Raster
http://www.mathpuzzle.com/MAA/40-Vector%20vs%20Raster/mathgames_08_01_05.html
Page not found | Mathematical Association of America
http://www.maa.org/editorial/mathgames/mathgames_08_01_05.html
Mathworld에서는 여기를 가리켰는데, 페이지 없다고 나와서 다시 google해서 위를 찾았고, 전부터 이름을 들었던 CaR(Compass and Ruler) 이야기를 봤고, 찾아봤는데, 전부터 알던 Euler_Math_Toolbox 프로그램(기본적으로 행렬 계산을 하던 것이었고, 오랜 역사를 가진 Macsyma를 이어받은 Maxima와 결합해서 Mathematica와 비슷하게 기호연산도 수행하게 된 자유 소프트웨어)를 만들었던 같은 수학자(교수님)이 만든 것이라는 것도 알게 되었다.
Euler Math Toolbox 써 보자 멋지다.
이 수학자님의 홈페이지이다.
René GrothmannHomepage
compass and ruler - Google Search
https://www.google.co.kr/search?client=opera&q=compass+and+ruler&sourceid=opera&ie=UTF-8&oe=UTF-8
C.a.R. - Download
http://car.rene-grothmann.de/doc_en/download.html
HotEqn - Equation Viewer
http://vclab.atp.rub.de/software/HotEqn/HotEqn.html
이곳은 없어졌다. 하지만, 기록 보존의 이유로 남겨둔다. 대신, _( 구글 검색: hoteqn repository )_ 을 통해서 아래의 위치에 소스코드 패키지로 보이는 것을 찾을 수 있었다.
https://src.fedoraproject.org/repo/pkgs/HotEqn/HotEqnSrc.zip/
---
web 에서 수학식 표현하기
https://codepractice.tistory.com/126
-
MathJax
구글로 검색해 보면 이것에 대한 정보/소개가 많이 있는 편이다. 특히 github에서 수식을 표현할 수 있다는 언급이 있다.
-
KaTeX
이것도, MathJax와 거의 동일한 용도로, 많이 쓰이는 것으로 보인다. 역시 구글로 검색해 보면 정보/소개가 많이 있는 편이다.
-
---
-