Monday, April 22, 2013

호이가 계속되면 그게 둘리인 줄 안다

그러하다.




둘리가 30주년이라니 그게 무슨 소리요.

둘리는 율곡EE와도 묘하게 닿아있다. 둘(2)이(2)에서 나온 이름임.

본격 개뻘글

Thursday, April 18, 2013

Windows 8 시작 버튼 Windows 8.1에서 부활할지도


윈도8 시작단추 부활하나


Windows 8 후속 버전인 Window 8 Blue (8.1)에서 시작 버튼이 다시 생길 지도 모른다는 소식.

지금까지 Window 8의 새로운 UI (메트로 UI 등으로 부른다)는 기존 Windows XP/Vista/7의 인터페이스에 익숙해져 있던 사용자들에게 외면받아 왔다.(모두가 싫어한 건 아니지만)
그래서 'Classic Shell'이나 'Bypass Modern UI' 같은, 메트로 UI를 없애는 유틸리티가 등장하기까지 했다.

하지만 내가 보기에 메트로 UI의 가장 큰 문제는 익숙하지 않음이 아니라, application-oriented에서 document-oriented desktop으로의 변화를 포기하고 도로 application-oriented로 퇴보했다는 것이다.
- 예전에 MS는 document-oriented 환경을 만들기 위해서, MDI(창 속에 창이 열리는 방식: 예를 들어 프로그램 창 속에 문서 창이 열리는 식이다. 프로그램 창을 닫으면 문서 창이 모두 닫히는 식이다.) 방식의 애플리케이션 제작을 자제하고, 문서 하나 당 하나의 큰 창이 열리는 SDI 방식을 권장했다. 자사의 Office 프로그램을 비롯한 모든 프로그램의 방식을 그렇게 바꿨고, 다른 개발사에도 그 방식을 권장했다(Windows API 문서, C# 문서 등에서 MDI는 찬밥이다:)). SDI와 MDI의 차이는 엑셀과 파워포인트에서 여러 문서를 열었을 때를 비교해 보면 알 수 있다.

이런 태도는 여러 종류의, 여러 개의 문서를 동시에 열어 놓고 작업해야 하는 serious한 작업에는 맞지 않다.
Microsoft는 스마트폰 OS 시장에서의 실패 때문에 'PC도 (스마트폰 같은) 장난감으로 만들자'는 전략을 들고 나온 것인데, 결국 메트로 UI는 바쁜 사용자의 생산성을 떨어뜨리기만 하고 외면받은 것이다.

과거의 성공 사례를 보면, 실패의 원인을 알 수 있다.
Window 7은 Windows XP/Vista의 고전적인 "작업표시줄 + 빠른 실행 목록"을 작업표시줄에 하나로 통합했다. 

이것이 성공적이었던 것은 기존 Windows 인터페이스와 크게 차이가 나지 않으면서 편의성을 증대시켰기 때문이다.
사실 Windows Vista/7이 XP에 비해 비약적으로 발전한 부분은 눈에 보이는 작업표시줄이 아니라, 시작 메뉴의 구석에 있는 '프로그램 및 파일 검색'에 있다. 그러나 이것을 한쪽 구석에 적절히 배치해 둠으로써, 쓰고 싶은 사람만 쓸 수 있게 하였다. 의도한 것은 아니었겠지만.

Windows 8의 시작 화면은 시작 버튼을 누르는 수고를 덜어주겠다는 의도로 보인다. 즉 오른쪽 그림처럼 시작 버튼을 늘 열린 상태로 만들어 두겠다는 것이다. 아이디어 자체는 좋아 보인다. 클릭을 한 번이라도 줄일 수 있으니. (애초에 시작 버튼이라는 게 처음 나온 Window 95 시절부터 불필요한 클릭을 유발한다는 느낌이 있었다. Windows 95의 원본이라 할 만한 MacOS에는 그런 게 없기 때문이다. MacOS에는 '컴퓨터' 아이콘이 없다. 그냥 각종 드라이브가 바탕화면에 나오고, USB 장치를 꽂으면 바탕화면에 아이콘으로 나타난다. Windows처럼 조잡하게 트레이에 작은 아이콘으로 나타나지도 않고, 어떤 동작을 선택해달라고 귀찮게 대화상자를 띄우지도 않는다.)

하지만 그 결과물은 아래 그림과 같이 괴상한 것이었으니...




이것은 시작 메뉴의 확대라기보다는 gadget의 확대로 보인다. 그나마 gadget들이 잘 동작하게 설계되어 있지도 않다. Weather를 보라. 날씨 gadget인데 정작 날씨는 안 보여준다. 주가 정보 gadget이 정작 주가는 안 보여준다 Stocks니 Weather니 이름 보여주느라 바쁘다. Clock이라는 제목이 안 보이는 게 그나마 다행인가?
앞 그림의 Window 7 gadget이 지역 별 날씨(기온/구름)를 잘 보여주는 것에 비하면 기능면에서 퇴보했다.

Gadget은 장난감에 불과하다. 시계, 날씨나 주가 같은 간단한 프로그램은 gadget으로 어느 정도 성공하겠지만, 심각한 작업을 하려면(주가만 해도, 자세한 정보를 보려면 브라우저를 열어야 한다!)...이건 Window Vista 시절부터 그랬단 말이다.

메트로 UI는 gadget들을 시작 메뉴에 억지로 박아 놓은 것에 불과하다. 그나마 기존 gadget은 쓰지도 못하게 하면서(호환되지 않음) 말이다. 

그렇다고 이제 와서 시작 버튼을 되살린다? 이것도 웃기는 짓이다.
그러려먼 메트로 UI 상단의 Start 글자부터 지워야 할 것이다.


고쳐 쓰고 포스팅하려 했는데 귀찮아서 그냥 올림. 비문 (+flight of idea)이 많아도 이해 바람.


Tuesday, April 16, 2013

파일 복사가 갑자기 먹통일 때는 다른 프로세스를 의심해 보자

여러 개의 큰 파일을 한 폴더에서 다른 폴더로 이동하는 작업을 시켜놓고 기다리고 있었는데 갑자기 진행이 안 되는 것이었다.

그래서 웹 서핑이나 하면서 기다리려고 Chrome으로 전환했는데 탭이 변경이 안 되는 것을 발견하고, Chrome이 crash한 것이라 짐작했다.

모든 탭이 다 안 보이는 건 아니고 한 탭만 살아있었다.

과연 Chrome을 종료하자마자 파일 이동 작업이 끝났다.

Chrome을 다시 실행하니 열려 있던 탭들도 복구가 되었다.



Chrome은 점유하고 있지 않을 것 같은 하드 드라이브도 가끔 쥐고 있을 때가 있다.
(Chrome은 SSD에 설치돼 있었고, 옮기던 파일은 HDD에 있었음)

Chrome의 문제인지 Window의 문제인지는 모르겠지만.

(악명 높은 USB 메모리 제거 안 됨 -_-)

Sunday, April 14, 2013

가려주지 논란 기념 암호학 입문

오늘의 떡밥은 '가려주지'

https://www.google.com/search?hl=kr&source=hp&q=%EA%B0%80%EB%A0%A4%EC%A3%BC%EC%A7%80&btnG=Google+%EA%B2%80%EC%83%89&lr=&aq=f&oq=



  1. 스튜디오, 드레스, 메이크업을 스드메로 줄여 쓰는 것은
    일종의 치환 암호 (置換暗號, substitution cipher)라 할 수 있다.
  2. 암호화에 사용될 키가 정의되어 있지 않았기 때문에 가격을 암호화해서 전송할 수 없었다.

Tuesday, April 9, 2013

320 대란의 원인으로 XecureWeb 지목 (MBC)

http://imnews.imbc.com/replay/nwdesk/article/3263862_5780.html (MBC 뉴스 다시보기)

이것도 희생양 아닌가 하는 의심은 드는데


어쨌든

이제 ActiveX는 VMWare 가상머신에서만 돌려야겠다.


Sunday, April 7, 2013

201304080001.ppt

http://radiographics.rsna.org/content/28/6/1555.full
Local: 201304080001.ppt

Multidetector CT of Blunt Thoracic Trauma

attenuation, hemothroax, Hounsfield unit, multidetector CT, pneumothorax, pulmonary contusion, tension pneumothorax, thoracic injury, trauma, pleural fluid, pulmonary laceration, lung herniation

Friday, April 5, 2013

iTunes 스토어 아직도 음악 안 되는 거였어?


안 되는 건 가려야 제대로 된 localization 아닌가? 번역할 시간에 가리지.

iTunes 본연의 병맛에 애플코리아의 병맛을 조합한 맛이랄까...


아이튠즈를 원래 안 써서 2013년에도 안 될 줄은 몰랐네. 계정 국가 변경 해야 하나?


창 핸들을 만드는 동안 오류가 발생했습니다

System.ComponentModel.Win32Exception was unhandled   MyForm w = new MyForm IntPtr handle = wnd.Handle;   // Exception occurs here class MyFo...