2016년 9월 7일 수요일

Windows7 AesService.aye 메모리 점유 문제

CPU는 놀고 있는데 이상하게 메모리를 100%에 가깝게 점유해서 성능을 떨어뜨린다면? 특히 토렌트 사용 중에 그런 현상이 나타나면?

Windows 작업 관리자 ▶ 리소스 모니터 ▶ CPU/메모리 점유 프로세스 찾기
알약 → PC 관리 → 프로세스 관리/서비스 관리

메모리 점유 순서대로 정렬을 해서 보니

AesService.aye

이 놈이 메모리를 엄청 잡아 먹고 있다. 이건 알약 익스플로잇 쉴드이다. 뭘 하는지 잘 모르겠으니 그냥 죽인다. 그럼 바로 메모리를 토해 놓는다.



인터넷 댓글에 논리도 없이 다짜고짜 욕이 나오면? 국세충 알바이다.
띄어쓰기 문단 구분 없이 읽기 힘든 장문의 글을 올리면? 국세충 알바 멘붕 상태다.
방뀐애 정부가 물러나지 않고 자리 굳히기 하겠다면? 무기를 준비하자. 거리에 나갈 때이다.
비싼 월급 받고 도대체 5년 동안 한 것이 뭐냐? 어떻게 이런 것들에 투표를 했지? 지랄 언론 선동!
조지고 보지고 다 까버리겠어!

2016년 8월 29일 월요일

Windows 7 svchost.exe(secsvcs), WinDefend CPU 점유 문제

아무 하는 일이 없는데 CPU가 돌고 있다? 이건 CPU가 삽질하고 있는 것이다. 어떤 놈들이 삽질하는지 확인하려면 아래를 본다.

Windows 작업 관리자 ▶ 리소스 모니터 ▶ CPU 점유 프로세스 찾기
알약 → PC 관리 → 프로세스 관리/서비스 관리

프로세스와 서비스는 둘이 엮여서 동작한다. 고로 두 놈이 CPU를 잡아 먹고 있을 것이다.

WinDefend.exe는 svchost.exe(secsvcs)와 엮어 돌고 있다.

이걸 온라인 검색을 해 보면?

정보를 빼 가는 스파이웨어인 C:\WINDOWS\system32\WinDefend.exe

간단하게 서비스나 프로세스를 정지시킨 후에 다음 3가지 방법으로 제거한다.


  1. DOS 창에서 msconfig.exe를 실행해서 시작 프로그램과 서비스를 제거
  2. DOS 창에서 regedit.exe를 실행해서 레지스트리 편집기에서 제거(어렵다)
  3. 제어판 → 시스템 및 보안 → 예약 작업 → 작업 스케줄러에서 제거


레지스트리 검색에서 “키, 값, 데이터” 중 데이터로 검색하여 삭제한다. 모두 귀찮은 방법이라 직접 WinDefend.exe 파일 찾아서 삭제하는 방법도 있다. 여하튼 실행만 막으면 된다.




큰 배는 침몰하기 어렵다.
큰 차는 충돌해도 안전하다.
큰 비행기는 추락하기 어렵다.

국가는 망하기 어렵다.
대기업은 망하기 어렵다.
언론은 거짓말 하지 않는다.

대형이면 안전하다?
그건 운전수 마음이다.
정신상태가 온전한지 확인하여 잘 뽑아야 한다.

2016년 7월 3일 일요일

2의 존재 이유 : 컴퓨터에서 2진법을 쓰는 이유

우린 왜 10진법을 쓸까? 손가락이 10개라서.
우린 왜 12진법도 쓸까? 1년이 12달이라서.
우린 왜 360도를 쓸까? 1년이 365일이라서.


2진법은 언제부터 나왔을까?


  • 기하학에선 작도만으로 선과 각을 정확히 1/2할 수 있다. 1/3, 1/5 등은 불가.
  • 컴퓨터에선 0(없다/짧다)과 1(있다/길다)로 모든 수를 표현한다.
  • 수학에선 각도를 2π 라디안으로 π의 2배, 1/2배로 표현한다.
  • 동양 주역의 음양 8괘에선 2진수를 사용한다.



2가 좋은 점은?


  • 짝수와 홀수를 구분해 준다. 소수(프라임넘버)는 홀수 중에만 있다.
  • 뭐든지 반을 접어 정확히 1/2로 나누기 좋다. 자와 각도기 만들기에 좋음.
  • 어떤 수든 1/2눈금씩 접근하면 근사시키기 편하다. 측정에 편리함.
  • 10진수 대신 2, 4, 8진수를 사용했더라면 더 계산이 편했을 것이다.
  • 24비트 = 3비트(8진수) × 8자리, 16비트 = 4비트(16진수) × 4자리


2가 가장 기본적인 수이다. 석기 시대엔 수가 간단했다. 0(없다), 1(뭔가 있다), 2(수가 있다), 3(너무 많다). 3이란 수는 그냥 많다는 의미다. 동양에서 1만을 그냥 많다는 의미로 사용하는 것과 같다. (옛날엔 1만이 모인 것을 보기 힘들었으니까.) 석기 시대엔 3 이상 알 필요가 없었다. 3은 그냥 과한 수였다. 여하튼 여러 분야에서 2는 가장 과학적이고 편한 숫자이다. 


왜 5와 2는 10진법과 친할까? 


  • 10 = 2×5, 2로 나누기가 쉽다. 5는 이를 위한 보조 숫자에 불과.
  • 주판(돈)에선 5점(원) 1개와 1점(원) 4개로 0~9를 표현한다.




수의 종류는?

  1. 자연수 : 0, 1, 2, 3...
  2. 소수(素數:흰.수) : 2, 3, 5, 7, 11, 13...
  3. 정수(整數:가지런한.수) : 0, ±1, ±2, ±3...
  4. 소수(小數:작은.수) : ±0.123...
  5. 유리수(有理數:이치.있는.수)=분수 : 정수/정수
  6. 무리수(無理數:무리한.수) : 순환없는무한소수
  7. 실수 : 정수.소수
  8. 복소수 : 실수+허수





중고딩을 위한 수학 문제




위와 같은 소득 곡선을 보이는 섬나라 후진국이 있다. 이 섬나라에서 인당 교육비는 월평균20만원, 인당 생활비는 월평균 20만원이라고 하자. (꼴찌는 생활비와 교육비로 수입을 모두 지출한다.) 이 나라가 노인 복지와 교육 복지를 위해 세금을 걷으려 하는데 노인연금과 교육세의 세율은 얼마로 하면 되겠는가? 정률세이다.

정답 : 겨우 6.666~%

풀이 : 
총 교육비 + 노인연금 = 20만원 x 4인 = 월80만원
80만원/1200만원 = 0.0666~
월1200만원 버는 평균 월급쟁이는 약80만원만 내면 된다.

복지가 안 되는 이유는 오직 부자들이 세금 내기 싫어서다. 다른 이유는 전혀 없다.

야경 국가(방어적 평화 국가)란 것은 정부를 축소(최소한의 공무원, 경찰, 군인, 소방관을 유지)해서 부자가 세금을 가장 적게 내는 망하기 직전의 허약한 나라를 말한다. 아담 스미스는 산업혁명으로 부강해지는 영국을 보고 국부론(부자나라 만들기)을 썼는데 거기서 야경국가를 주장하니 참으로 이상하다. 영국이 야경국가였다면 영국은 세계에 식민지를 건설하지도 못 했을 것이다. 그 유명한 영국 함대는 서민들 세금으로 만들었냐?

2016년 6월 11일 토요일

컴퓨터로 시험 문제 자동으로 만들기

컴퓨터로 시험 문제를 자동으로 만드는 문제이다. 당연히 채점(採點:캐다/점)을 컴퓨터가 하니 문제는 모두 객관(客觀:손님/관점)식이어야 하며 형식은 다음과 같다. 

  1. 선다형 : 문제 1 x 답 10 선택
  2. 연결형 : 문제 10 x 답 10 연결
  3. 단답형 : 글자 수 힌트 + 글자 힌트(어두/어미/초성/중성/종성 등)


선다형


답을 모를 때 적중할 확률은 10%이다. 
또한 가짜 답 9개를 나열하는 지면이 아깝다.
컴퓨터가 정답 외의 9개 가짜 답을 골라야 해서 골치 아프다. 
가짜 답 9개 중에 수험생이 아는 것이 많으면 적중할 확률은 높아진다. 
가짜 답 9개가 모두 가짜라는 것을 알면 공짜로 점수를 얻는다.



연결형


답을 모를 때 적중할 확률은 1%이다.
문제 하나에 답 하나를 나열해서 지면을 아낄 수 있다.
컴퓨터는 문제와 답의 순서만 섞으면 되니 편하다.
수험생이 아는 정답이 많을수록 나머지도 적중할 확률이 높아진다.
마지막 두 문제 중에 하나만 알아도 100점이라는 약점이 있다.
연결형 1개가 10지 선다형 10개와 맞먹는다.
앞의 선다형보다는 여러 면에서 좋은 방식이다.



단답형


답을 모를 때 적중할 확률은 거의 0%이다.
문제 하나에 답 하나 나열이라 역시 지면을 아낄 수 있다.
컴퓨터는 문제만 선택하면 되니 구현하기 가장 쉽다.
글자 수를 알려 주면 정답 외의 동의어를 고를 확률이 줄어든다.
한국어는 주로 어미가 변하니 마지막 글자만 힌트를 줘도 무방하다.
※ ~다, ~의/적, ~한/된/인, ~은/운/는/른, ~이/히/리/게 등 주로 형용사/동사/부사인 경우
3글자 이상인 경우는 첫 글자만 알려 줘도 무방하다.
설사 정답이 여러 단어라 하더라도 채점에 전혀 문제가 없다.
※ 여기선 종이 답안지가 아닌 키보드 입력이다.



종이 답안지에 한글 직접적 입력 방법


한글 자모 모두 5x5 격자 안에 점을 찍어 (사실 그리기로) 표시할 수 있다.
한자처럼 모아쓰기 대신 알파벳처럼 풀어쓰기를 한다. (약간 번거롭다)
옆으로 풀어쓰기가 뭐하면 받침만 모음 아래 행에 적어도 된다. (공간 낭비다)
그냥 묶어서 가장 복잡한 음절을 모두 표시하려면 9x13 격자가 필요하다. (공간 낭비)
컴퓨터 보고 읽으라고 인간이 친절하게 격자에 획을 정확하게 그어주기도 힘들다.





종이 답안지에 한글 간접적 입력 방법


삼성 휴대폰 방식으로 획과 음소를 숫자로 입력하는 방법도 있다.
0. 점/획 추가
1. 이/어/어/여/야
2. 으/오/우/요/유
3. 그/끄/크
4. 느/르/므
5. 드/뜨/트
6. 브/쁘/프
7. 스/쓰
8. 으/흐
9. 즈/쯔/츠
숫자를 중국 주판처럼 5점 1개와 1점 4개로 표시하면 5칸만 필요하다. (공간 절약)
그래도 “그/끄/크”, “이/아/야”처럼 방향과 획을 추가하기 위한 추가 숫자가 필요하다.
이건 자동 채점하기 위해서 사람이 개고생하는 거다.


주관(主觀:주인/관점)식은 채점자 마음대로라 지식을 검사하기에 부적합하다. 그래서 예술 계통이 문제다. 돈(뇌물)이 많아야 한다. 그래서 부잣집 자식만 예체능을 한다.

참가자가 정해졌을 때 가로 세로 좌석 계산

가끔 프로그램을 하다 보면 (또는 다른 이유로 비슷한 계산을 할 때) 가로, 세로를 정해 놓고 거기에 맞게 좌석을 배치해야 하는 경우가 있다. 예를 들어 병력을 사각형 모양으로 배치할 때 종횡비를 구하는 것이다. 이 때 참가자 N과 X가 결정되면 Y는 어떻게 계산해야 할까? 아래는 Excel서 할 수 있는 계산의 종류다.




나눗셈 = n/x
버림 = int(n/x)
반올림 = round(n/x, 0)
나머지 = mod(n, x)

간단하다. 나머지가 생기면 무조건 버림을 한 값에 1을 더하면 된다. 그럼 가로 세로를 같게 만들려면 어떻게? 제곱근을 구하면 되겠지만 간단하지 않다. 사람을 반으로 가를 수는 없으니까.




제곱근 = sqrt(n)

의외로 간단하다. 역시 제곱근을 구한 후에 나머지가 생기면 버림을 한 값에 1을 더하면 해결 된다. 숫자보단 이렇게 그림으로 생각하는 것이 결론에 더 빨리 도달한다.




생각 → 말 → 행동

자유롭게 생각하자. 생각은 자유다. 
주변에 말해서 알려야 한다. 독재자들이 가장 싫어해서 잡혀갈 수도 있다.
그리고 투표하고, (평화적) 시위하자. 그럼 세상이 바뀐다.
그래도 안 바뀌면 자연스럽게 신이 알아서 전쟁을 일으키실 것이다.

인샬라(뜻대로 하소서 = 될 대로 되라)

2016년 5월 13일 금요일

Windows7 svchost.exe(netsvcs) CPU, 메모리 점유 문제

이건 각종 자동 업그레이드 프로그램 때문에 생긴다. 간단하게 윈도우즈 업데이트 확인을 해 보면 당장 CPU, 메모리를 점유하는 것을 알 수 있다. 인터넷 사용이 없는 걸 보면 다운로드 되는 것은 없음을 알 수 있다. 그냥 CPU와 메모리를 뺏고 있는 것이다. (충돌 현상이다. 누군 요청하고 누군 방해하는 싸움이다.)

Windows 작업 관리자 ▶ 리소스 모니터 ▶ CPU 점유 프로세스 찾기
알약 → PC 관리 → 프로세스 관리/서비스 관리

일단 이게 동작하면 멈출 수 있는 방법이 없으니 다시 부팅하여 조용하게 만든 후에 설정을 모두 바꾸어 준다. 각종 자동 업그레이드를 수동 업그레이드로 고친다. 그리고 정기적으로 수동 업그레이드를 해 준다. 윈도우즈 업데이트는 잠자기 전에 시켜 놓고 아침에 확인하면 된다.

아무리 해도 답이 없다면, MS사나 국정원 욕해라.



세상엔 금수저, 은수저, 흙수저가 있다고 한다.
세상엔 금잠지, 은잠지, 똥잠지도 있단다.

  • 금잠지 : 숫처녀 킬러
  • 은잠지 : 보통 남자
  • 똥잠지 : 숫총각

어릴 적엔 그 친구가 누군지 궁금했다. 바로 엄마 친구 아들(엄친아)
초등학생의 인생(놀기)을 포기하고 공부만 하는 잔인한 놈
커서는 그 친구가 누군지 궁금했다. 바로 여자 친구 첫남자(여첫남!?)
항상 우리들보다 빨랐던 그 친구는 금잠지라 불린다.
이런 금잠지 중의 금잠지를 황금잠지라 부른다.
모든 숫처녀를 멸종시킨 무자비한 괴물 황금잠지는 잡히면 죽는다.
조선일보 전 사장 방일영이 황금잠지였다는 소문이 있다.
짐승 세계에서도 1%~10%만 잠지를 꼽을 수 있다고 한다.

2016년 5월 10일 화요일

기하학 + 대수학 = 좌표계, 물질 성분 비율 ~ 패턴 비교 유사성

2개의 성분, 물질이 섞인 경우 2개의 축(X, Y)의 좌표로 쉽게 비율을 계산할 수 있다. 2차원 면에선 직선 위의 좌표가 성분비를 나타낸다. 화학에서 섞은 물질 비율 계산할 때 써먹으면 편하다.

s = x+y ≠ 0, a = x/s, b = y/s, a+b=1





3개의 성분, 물질이 섞인 경우는 3개의 축(X, Y, Z)의 좌표로 비율을 계산할 수 있다. 3차원 공간에선 정삼각형 면 위의 좌표가 성분비를 나타낸다. 색상을 나타내는 색 좌표를 계산할 때 사용하기도 한다.

s = x+y+z ≠ 0, a=x/s, b=y/s, c=z/s, a+b+c=1


4개의 성분이 섞인 경우는 4개의 축(W, X, Y, Z)의 좌표로 계산한다. 4차원 공간에선 3차원 정4면체 속의 좌표가 성분비를 나타낸다. 상상하긴 불가능하다.

s = w+x+y+z ≠ 0, a=w/s, b=x/s, c=y/s, d=z/s, a+b+c+d=1


이런 공간적 상상이 가능하려면 축 사이에 각도가 모두 같고 직교해야 한다는 조건이 있다. 축 사이의 각도가 모두 같은 것에는 정4면체가 있으나 직교하지 않는다. 직교하진 않더라도 축 사이의 각도가 같으면 억지로 좌표로 표현할 수는 있다. 3차원 이상을 상상하는 것은 인간 머리로 어렵고 수학적으로만 계산할 수 있다.

4차원 이상이 될 경우는 그냥 방사형으로 거미줄처럼 축을 그리고 각 좌표를 연결하는 방사형 그래프를 그리면 된다. 그 패턴이 하나의 좌표를 나타내는 것인데 4차원 이상이기 때문에 상상은 불가능하다. 그러나 두 위치 사이의 거리 계산은 가능하고, 그 거리로 성분이 비슷한지 여부를 계산할 수 있다.

이것과 상당히 비슷한 개념과 계산법이 다음과 같은 경우에도 관찰 된다. 여기서 비슷한 것들은 비슷한 패턴을 보인다. 비슷한 패턴? 비슷한 좌표? 이건 축이 4개 이상일 때 사용한다.


이것과 비슷한 개념으로 프로파일, 스펙트럼 등이 있다. 여기서 비슷한 것들은 비슷한 실루엣이 된다. 이건 비슷한 패턴과 같은 말이다. 같은 것을 계속 재탕하며 반복하는 사기 같지 않나? 이것들 겉모습만 약간 다른데?




수학 공식은 ±1, 0, ∞만 대입한 경우만 알면 쉽게 외울 수 있다.

쓸데없는 짓 하지 말자. 그냥 수학책을 공부하는 것이 더 빠르다. 우리가 1시간만 읽으면 되는 내용은 과거 천재들이 평생 연구한 결과다. 자지(스스로 연구하는 것)는 만지(늦다)고 보지(물어 아는 것)는 조지(빠르다)라더니 혼자 궁리하는 것은 시간 낭비다. 책을 읽자!

미래 출판업에 대한 상상

영국에서 시작된 기계혁명(엔진) 때문에 인간의 육체노동이 똥값이 되었는데, 미국에서 시작된 정보혁명(컴퓨터) 때문에 인간의 두뇌노동도 똥값이 되어간다. 이제 로봇들이 일을 하니 인간은 놀아도 되겠지? 기계에 의한 복지 국가의 출현인가?




출판업에선 이미 답이 나온 얘기일 것이다. 문제는 이 시스템을 구축하는 비용과 시간이다. 비용과 시간이 너무 크다면 이런 시스템은 아직 나타나지 않을 것이고, 작다면 이런 시스템의 출현과 함께 출판업에선 대지진, 대멸종이 벌어진다. 거기서 생존하고자 하는 욕망이 대재앙을 앞당긴다. 먼저 하는 놈이 다 먹기 때문에 구현을 앞당긴다.

이미 시작된 비슷한 경우가 인터넷 쇼핑몰이나 인터넷 서점이다. 동일한 상품의 피 터지는 가격 경쟁과 박리다매. 그렇다고 해서 시장, 상점, 서점이 완전히 사라진 것은 아니지만 역시 타격은 있다. 젊은이들은 인터넷이 더 싸기 때문에 인터넷으로 구입한다. 물품도 더 다양하며 검색도 쉽다. 노인들만 시장과 상점을 찾는다. 

※ 경매는 경매에 시간을 투자할 만한 가치가 있는 소량 고가 상품에 대해서만 의미가 있다. 흔한 물건은 지들끼리 가격경쟁이 붙기 때문에 경매할 필요성이 전혀 없다. 경매의 모순은 사는 사람은 더 싸게 산다는 환상으로, 파는 사람은 더 비싸게 팔려고 모였다는 것이다. 원래 경매는 사는 사람보다는 파는 사람에게 더 이득이어야 말이 된다. 반대의 경우는 손님 하나 모셔 놓고, 판매자 여럿이 가격 깎기 경쟁을 하는 꼴인데 판매자 입장에서 그럴 시간이 아깝다.

국내의 정치 세력이나 종교 세력이 아무리 방해를 해도 외국의 금서와 야동을 택배로 받아 볼 수 있는 세상이다. 권력과 종교가 사람들 속여먹기가 점점 쉽지 않아진다. TV, 영화, 신문의 영향력이 점점 약해진다. 이제 사람들은 일방적으로 주는 것만 받아먹지 않고 스스로 찾고, 만들고, 공유한다. 이젠 소수가 다수를 지배하기 어렵다.

기업가들의 탐욕의 결과물(기술혁신)이 자기들 목을 치게 될 줄을 누가 알았겠는가? 발명가의 발명품이 어떤 결과를 가져올지는 발명가 자신도 모른다. 그래서 진화론이 참으로 수승한 가르침이란 것이다. 신이 숨어서 일을 한다면 진화론의 방법으로 일을 할 것이다. 의도 파악이 어렵게 말이다.



고수는 하수를 알아보지만, 하수는 고수를 알아보지 못 한다.
그래서 항상 덤비다 깨지는 것은 하수의 몫이다.
이를 유식한 말로 지피지기면 백전백승, 너 자신을 알라라고 한다.

마찬가지로 무식해서 사악한 것이지, 알면 그런 짓을 하겠는가? 사형보다는 감방에 가두고 그들이 그렇게 듣기 싫어하던 진실과 진리를 반복 세뇌시켜 후회의 눈물을 흘리며 자살하게 하는 것이 진정한 복수다.

2016년 3월 17일 목요일

Windows7 svchost.exe(NetworkService) CPU 점유 문제

갑자기 CPU 팬 소리가 심해졌다. CPU가 또 뻘짓을 하고 있는 것이다. 

Windows 작업 관리자 ▶ 리소스 모니터 ▶ CPU 점유 프로세스 찾기
알약 → PC 관리 → 프로세스 관리/서비스 관리

svchost.exe(NetworkService)가 CPU 시간을 잡아먹는다면? 이 svchost.exe(NetworkService)를 동작 중지 하면 인터넷이 안 된다. 뭔가 죽어라 인터넷 서비스를 요청하고 있단 얘기다. 그런데 네트워크는 조용하다. 인터넷 통신은 없단 얘기다.

이것과 함께 돌고 있던 것이 다음과 같은 것들이다.
  • DaumStation.exe
  • DaumCleaner.exe
  • GomAntiPhishing.exe

이 세 놈이 동시 작업 요청을 해서 svchost.exe(NetworkService)도 덩달아 움직이는 것이다. 
할 수 없이 이 셋의 동작을 일시 멈추었다. 그러자 CPU가 정상으로 돌아왔다. 이 셋은 꼭 설치할 필요가 없는 것들이라서 실행 중지시켜도 되고 아주 삭제해도 된다. 비슷한 기능을 하는 것들이 많고 어느 새 설치되어 있어 지들끼리 충돌할 수도 있다. A가 B를 바이러스로 보고, B도 A를 바이러스로 보고 서로 방해하는 것이다.

아무리 해도 답이 없다면, MS사나 국정원 욕해라.





사람들은 정말 이상하다. 국회가 문제라면서 야당이나 소수당을 욕한다. 국회가 문제라면 국회의 다수를 차지하는 정당이 문제고, 야당보다는 권력을 쥔 여당이 문제다. 항상 그런 것은 아니다. 독재 잔당이 야당이 될 경우는 다수인 여당이 욕을 먹는다. 독재 잔당의 반대편에 서 있는 당이 무조건 욕을 먹는다는 것이다. 우리에게 불리한 법은 독재 잔당이 만들고 있음에도 법의 내용을 언론이 제대로 전달하지 않고 선동을 해서 국민 스스로 불리한 법에 찬성하도록 만든다. 독재 잔당은 지금까지 국민을 위해 일했던 적이 없다.

또한 국회가 문제라면서 국회의원 수를 줄이자고 한다. 그건 독재로 가잔 얘기 아닌가? 생각을 해 보란 말이지. 국회의원 밥 줄 자르겠단 것인데 그걸 국회의원이 스스로 찬성을 하겠나? 또한 국회의원 수가 줄면 국회의원 껍질을 뒤집어 쓰고 독재 정부에 부역을 하게 되고 그게 바로 현재의 독재 잔당의 모체이다. 재벌 입장에서도 뇌물 주기 좋고, 국정원 입장에서도 감시하기 좋고, 독재 정부 입장에서도 협박하기 좋다. 누구 좋으라고 국회의원 수를 줄이냐? 그리고 힘없는 정당은 비례대표제(정당명부제)를 요구해야지 국회의원 수를 줄이자고 주장하면 이건 도대체 뭐냐? 무식한 것인지 독재 잔당의 간첩인지...

내가 볼 때는 독재 잔당이 한국의 바이러스이다.




2016년 2월 1일 월요일

Windows7 svchost.exe(DcomLaunch), svchost.exe(LocalSystemNetworkRestricted) CPU 점유 문제

딱히 하는 일도 없는데 CPU 점유가 높다? 그럼 CPU가 뭔가 뻘짓하는 것이다.

Windows 작업 관리자 ▶ 리소스 모니터 ▶ CPU 점유 프로세스 찾기
알약 → PC 관리 → 프로세스 관리/서비스 관리


그래서 CPU를 사용하는 프로세스를 찾아 보면?

  • svchost.exe(DcomLaunch)
  • svchost.exe(LocalSystemNetworkRestricted)


이것들이 CPU를 점유하고 있을 때는? 이건 Plug & Play 기능에 문제가 있는 것이다. 이어폰, 헤드폰, 앰프, 마이크 등을 연결하거나 분리했을 때 이런 현상이 발생한다. 이 말은 이 장치들이 컴퓨터와 통신을 한다는 의미다. 서비스에선 아래 2개가 관련 되어 있다.

  • PlugPlay
  • AudioEndpointBuilder

도대체 왜 이런 쓸 데 없는 기능을 넣은 것이냐? 오디오 장치에서 오는 잡음이 혼란을 주고 있단 얘기다. 사용하지 않을 때는 뽑아 두면 조용하다. 아니면 참고 기다리거나 일단 다시 부팅해 보라. 그럼 조용해진다.


나의 경우 아래와 같은 문제가 있었다.



제어판 ▶ 하드웨어 및 소리  소리  오디오 장치 관리 ▶녹음

  • 오디오 장치가 설정되어 있지 않습니다.
  • 마이크, 외부 입력 현재 사용할 수 없음.

이 두 상태 표시를 계속 반복하고 있다. 그렇다면 우측 마우스 클릭

  • 사용할 수 없는 장치 표시 On/Off
  • 연결이 끊긴 장치 표시 On/Off

인터넷 검색해 보면 기타 다른 속성들에서도 이런 현상이 있다는 것을 알 수 있다.

제어판 ▶ 하드웨어 및 소리  소리  오디오 장치 관리 ▶재생 ▶스피커 속성

  • Enhancements를 디폴트로 설정해 보거나
  • Enhancements를 On/Off 해 본다.

이 문제의 원인을 알았다. 어떤 원하지 않은 프로그램 설치 때문에 그렇다. 어떤 프로그램인지는 모르겠으나 그 프로그램을 지우면 이런 오동작이 발생하지 않는다. 예를 들어 아날로그 장치만 사용하는데 디지털 장치에 대응하는 프로그램이 동작한다면 잡음을 통신 신호로 오인하고 오동작을 일으킬 수 있다. 불필요해 보이는 프로그램의 정체를 인터넷으로 검색한 후에 지우면 문제 해결이 된다.

  • 마이크 입력 신호 : 이어폰으로 들을 수 없는 전압, uV ~ mV 수준
  • 스피커 출력 신호 : 스피커를 울릴 정도의 출력 전압, 약 수십V 수준
  • 오디오 입력 신호 : 이어폰으로 들을 수 있는 전압, 약 1V 수준
  • 오디오 출력 신호 : 이어폰으로 들을 수 있는 전압, 약 1V 수준

아무리 해도 답이 없다면, MS사나 국정원 욕해라.





차를 타고 가는데 라디오가 나온다. 노동법 개혁안이 통과 됐단다. 내용을 들어보니 구조조정, 연봉제란 단어가 나온다.

  • 구조조정이 뭔가 봤더니 사람 쉽게 자를 수 있는 것
  • 연봉제가 뭔가 봤더니 월급을 쉽게 깎을 수 있는 것

자세한 적용 조건과 기준은 모르겠다. 또한 여기에 따르는 실업자 보호 방안은 어떠한지도 모르겠다. 그런 내용은 방송 하지 않는다. 이건 기업 입장에서 개혁이고 월급쟁이 입장에선 개악 아닌가? 더 기가 막힌 것은 더 이상 일도 하지 않고 연금 받는 노인들이 지가 기업 사장도 아니면서 여기에 찬성한다는 것이다. 지 아들 밥줄을 자르고 월급을 깎는 법에 말이다. 지들이 받는 연금은 젊은이들 월급에서 나오는 것이니 결국 지 밥줄 자르는 것 아닌가?

이게 민생법안이냐? 민살법안이지!

이건 언론 탓이고, 언론이 국민 편이 아니라 기업 편임을 알 수 있고, 그 법은 다수당인 독재잔당이 주도했다. 법이 이상하면 그 법을 만든 국회 책임이고, 그 국회의 다수당의 책임이다. 그렇다면 독재잔당-조중동-재벌(삼식충)이 한 통속이란 말이다. 독재잔당은 보수우익을 참칭하고 외국 보수우익들도 이런 방향으로 간다. 이걸 우경화라 한다. 우경화란?

  • 사회보험/복지/안전 제도 축소=생존경쟁=아비규환 : 왜? 세금 많이 내야 하니까.
  • 국유(공유)사업→사유화/기업화→국가기능축소=기업권력확대=재벌독재
  • 민족주의→국수주의→군국주의→전쟁=패망 : 독재 명분으로 전쟁만한 것이 없다.
  • 애국심/충성심→특정정당숭배→독재=국가사유화=왕정=신분제

이렇게 왜곡시킨다. 정상적 보수우익 야당도 여기에 동의했다? 그렇다면 보수우익은 우리 모두의 적인가? 그래서 난 보수우익이 싫어졌다. 표는 우리에게서 받고, 법은 기업을 위해 만드니까. 역사를 보면 나라를 망친 것은 보수(우익)이고 새로운 나라를 건국한 것은 진보(좌익)이다.

2016년 1월 30일 토요일

SMI, SRT 자막 파일 시간 조정 방법 (Excel 이용)

한국에선 SMI를 많이 쓰는데 어쩔 수 없이 SMI 자막 싱크가 맞지 않을 때는?

  1. 보통 곰 플레이어의 싱크 조정 기능 사용한다. 전체적으로 밀고 당기기.
  2. 이게 안 되면 인터넷에서 자막만 따로 검색하는 것이 빠르다. 그래도 없다면?
  3. 동영상을 다시 인코딩할 때 시간 간격을 약간 늘리거나 줄이면 자막을 전체적으로 밀고 당기는 것으론 해결 안 된다. 일정한 비율을 곱해서 늘리고 줄여야 한다. 
  4. 앞부분은 싱크가 맞다가 뒷부분은 일정 간격 밀리는 경우도 있다. 이건 원래 2개의 다른 자막을 하나로 조립한 경우이다.

3과 4번 문제를 Excel로 간단하게 해결하기 위해 시간과 자막을 뽑는 프로그램이다.

  1. Sheet 이름 하나를 “자막”이라고 바꾼다.
  2. 개발 도구 창에서 간단한 폼(버튼 1개, 텍스트상자 1개)을 하나 만든다.
  3. 개발 도구 창에서 모듈을 하나 만들어 코드를 복사해 넣는다.


아래는 "자막 추출 버튼"에 넣는 이벤트 처리 루틴이다.


Private Sub CommandButton1_Click()
    subtitles
    UserForm1.Hide
End Sub


아래는 모듈 창의 서브루틴, 함수이다. "자막 뽑기 실행 버튼"에는 아래 run() 루틴이 연결 되어 있다.


'자막 뽑기 매크로 실행
Public Sub run()
    UserForm1.Show
End Sub

'시분초 문자열을 msec로 바꾸는 함수
Public Function time2msec(a)
    h = Left(a, 2)
    m = Mid(a, 4, 2)
    s = Mid(a, 7, 6) / 1000
    time2msec = 1000 * s + 60000 * m + 3600000 * h
End Function

'msec를 시분초 문자열로 바꾸는 함수
Public Function msec2time(msec)
    msec2time = Int(msec / 3600000) & ":" & Int((msec Mod 3600000) / 60000) & ":" & Int((msec Mod 60000) / 1000) & "," & (msec Mod 1000)
End Function

'자막 처리 서브루틴
Public Sub subtitles()
    '-------------------자막정리=불필요 공백/개행문자 제거 + 소문자화
    buff1 = UserForm1.TextBox1.Text
    buff2 = ""
    Length = Len(buff1)
    For i = 1 To Length
        c = Mid(buff1, i, 1)
        Select Case c
        Case Chr(10), Chr(13) 'FF, CR 문자면 무시하라
        Case " " '공백이라면
            Select Case Right(buff2, 1)
            Case " ", "<", "=" '그 이전 문자가 공백, <, = 라면 무시
            Case Else
                If i < Length Then
                    Select Case Mid(buff1, i + 1, 1)
                    Case ">", "=", " "  '그 다음 문자가 공백, >, = 라면 무시
                    Case Else
                        buff2 = buff2 + c
                    End Select
                End If
            End Select
        Case Else
            buff2 = buff2 + c
        End Select
    Next i
    buff1 = LCase(buff2)  '소문자화
    UserForm1.TextBox1.Text = buff1
    '-------------------시간 자막 분리 추출
    r = 1
    counter = 0
    finish = False
    X = 1
    Do
        counter = counter + 1
        X = InStr(X, buff1, "<sync start=", vbTextCompare)
        If X = 0 Then
            finish = True
        Else
            X = X + Len("<sync start=")
            Y = InStr(X, buff1, ">", vbTextCompare)
            If Y > X Then
                msec_buff = Mid(buff1, X, Y - X)
                Worksheets("자막").Cells(r, 2).Value = "<sync start="
                Worksheets("자막").Cells(r, 3).Value = msec_buff
                msec = Val(msec_buff)
                Worksheets("자막").Cells(r, 1).Value = msec2time(msec)
                X = Y + 1
                Y = InStr(X, buff1, "<sync start=", vbTextCompare)
                If Y > X Then
                    Worksheets("자막").Cells(r, 4).Value = ">" & Mid(buff2, X, Y - X)
                    r = r + 1
                    X = Y
                Else
                    Y = InStr(X, buff1, "</body", vbTextCompare)
                    If Y > X Then
                        Worksheets("자막").Cells(r, 4).Value = ">" & Mid(buff2, X, Y - X)
                    Else
                        Y = InStr(X, buff1, "</sami", vbTextCompare)
                        If Y > X Then
                            Worksheets("자막").Cells(r, 4).Value = ">" & Mid(buff2, X, Y - X)
                        Else
                            Worksheets("자막").Cells(r, 4).Value = ">" & Mid(buff2, X, Len(buff2))
                        End If
                    End If
                    finish = True
                End If
            Else
                finish = True
            End If
        End If
    Loop Until counter1 > 10000 Or finish
End Sub



SMI 자막 파일 구조 이해


간단하다. 이 프로그램에선 <~> 괄호를 인식하기 때문에 이런 것들 중에 중요한 것만 본다.

<SAMI>
<HEAD>
<Title>영화 제목</Title>
<Style TYPE="text/css">스타일 정의</Style>
<!-- 주석 처리 -->
</HEAD>
<BODY>
<SYNC Start=밀리초><P Class=KRCC> 자막 출현
<SYNC Start=밀리초><P Class=KRCC>&nbsp;
<!-- 위의 내용 반복 -->
</BODY>
</SAMI>

전체는 이 괄호로 둘러싼다.
<SAMI>~</SAMI>

대가리 부분이다.
<HEAD><Title></Title><Style TYPE="text/css"></Style><!-- --></HEAD>

몸통 부분이다.
<BODY><SYNC Start=밀리초><P Class=KRCC>내용</BODY>

이건 HTML, XML 문법과 비슷하지만 정확하게 같지 않다. 이상하게 <SYNC>와 <P>는 열기만 하고 닫지 않는다. </SYNC>나 </P>가 없다. 자막 속에 포함된 Tag는 HTML과 같은 동작을 한다. 고로 자막을 꾸미고 싶다면 HTML과 CSS를 참고하라. 자막을 없앨 때는 공백 문자(&nbsp;)를 출력한다. 이거 없으면 다음 자막이 나타날 때까지 이전 자막이 계속 보인다.

OK! 이제 자막 파일에서 <Body> ~ </Body> 안의 시간과 자막 쌍만 뽑는 것이 필요하다. <SYNC>는 싱크(타이밍)를 맞추는 것이다. <P>는 문단이란 의미인데 자막을 언어별로 구분한다. Class=KRCC는 한국어 자막이란 얘기다. 고로 이 <SYNC> Tag만 인식하면 된다.

실행 결과는 아래와 같이 나와야 한다.



여기서 C 열의 시간만 조절해 준 후에 B + C + D의 내용을 조립 복사하여 자막 파일 <body> Tag 사이에 다시 삽입해 넣으면 된다.


참고 : SRT 자막 파일 구조 이해


개인적으로는 SMI 파일보다는 SRT 파일이 더 깔끔해서 좋다. SMI 파일은 기계 친화적이라면 SRT는 인간 친화적이다. 시간 표현이 시분초 형식이고, SMI처럼 예쁘게 치장도 할 수 있다. SMI에 비해서 가독성도 좋고, 오류 파악도 쉽고, 컴퓨터로 처리하기도 좋다. 자막 확장자는 *.srt이고 자막 언어는 파일 이름에 *.eng.srt *.kor.srt 형태로 붙인다.

  1. 순서 번호 (가독성에 도움)
  2. 출력시작시간 --> 출력종료시간 (시분초 형식, 오류 파악이 쉽다)
  3. 표시할 자막, HTML Tag도 통하고 보이는 그대로 출력 (편집이 편하다)
  4. 빈 줄로 마무리 (아주 중요하다)

이 형태의 반복인데 순서 번호, 표시 시간, 마지막 빈 줄이 중요한 형식이다. SRT는 진짜 자막 순서와 표시 시간 순서가 맞지 않으면 오류가 있는 것임을 쉽게 찾을 수 있다. SMI는 진짜 자막 순서가 나오지 않아서 오직 시간 순서에 의지해서 순서를 정해야 해서 뒤죽박죽이 될 수 있다.


1
00:00:35,468 --> 00:00:39,802
<font color=red>Presented by iPICTURES</font>

2
00:00:51,684 --> 00:00:56,986
<i>A Chungeorahm Film production</i>

3
00:00:58,391 --> 00:01:01,417
The characters & events featured
in this story are fictitious


순서 1에선 HTML Tag로 색을 넣은 것이고, 순서 2에선 HTML Tag로 글꼴을 이탤릭으로 변형한 것이고, 순서 3에선 쉽게 엔터만 치면 다음 줄로 넘어가는 걸 보인 것이다. 귀찮게 <BR>을 넣을 필요가 없다.



SMI 파일 시간 계산 & 조정


이제 남은 것은 시간 조정이다. 자막이 너무 짧게 나오는 경우가 있다. 상당히 긴 문장이 잠깐 보이다가 사라지는 경우이다. 이 경우 다음 방법으로 처리한다.


  1. 시간 순서로 정렬한다. 자막 파일의 순서가 뒤죽박죽일 수도 있다.
  2. 공백 문자의 시간을 늘린다. 공백 문자의 출력을 늦춘다는 말이다.
  3. 공백 자막 없으면 다음 자막이 나오면서 덮어 버린다.
  4. 표시 시간이 짧은 2개 자막을 1개로 합친다.


이런 시간 조정은 VB Macro 말고 Excel 계산 기능으로 쉽게 해결 가능하다. 주의할 점은 시간 순서로 정렬을 먼저 해야 한다. 시간 순서로 자막이 나열되어 있지 않을 수도 있다. 특정 부분만 시간 조정을 해야 할 경우는 동영상 재생 시간을 보고 계산해야 한다. 동영상 재생기의 시간은 “시:분:초”로 표시된다. 이걸 msec로 바꾸는 작업이 필요하다. 시분초를 msec로 바꾸는 공식은 다음과 같다. 매크로 함수에 이미 넣어 놓았다.

※ 문자열 형식 : 시:분:초,밀리초 = 00:00:00,000

  • msec = 1000 * (초 + 60*(분 + 60*시)) 
  • msec = 1000*초 + 60000*분 + 3600000*시

반대 공식은 다음과 같다. 역시 매크로 함수에 이미 넣어 놓았다. 그냥 사용하면 된다.

  • 시 = int(msec / 3600000)
  • 분 = int(mod(msec, 3600000)/60000)
  • 초 = int(mod(msec, 60000)/1000)
  • 밀리초 = mod(msec, 1000)

※ int(~)는 소수점 아래를 버려 정수 부분만 취하는 함수다. 예) 123.456 → 123
※ mod(~)는 나누기에서 나머지를 구하는 함수다. 예) mod(5,2) → 2*2+1 → 1


아래는 대화 길이에 따라 시간 간격을 정하는 기준이다. 대사를 읽는 시간은 대사를 말하는 시간보다 10배나 빠를 수 있으나 동영상을 감상하면서 대사를 읽는 2중 작업 때문에 시간 여유를 많이 주어야 한다. 거의 대사가 시작하기 바로 전에 표시되어 대사가 끝난 후에도 잠시 남아 있어야 한다.

  • 1초 : Yes, No, 예, 아니요 등 한 단어
  • 3초 : 1줄 정도 내용, 6초 : 2줄 정도 내용, 9초 : 3줄 정도 내용
  • 대화가 아닌 설명인 경우는 공간 절약을 위해 한 줄에 이어 붙인다.


아래는 실제 동영상과 자막의 시작과 끝을 맞추는 공식이다. 단순히 시간이 빠르거나 느리면 문제는 간단한데 점점 느려지거나 빨라지는 경우는 비율을 조절해야 한다.

  • 원본 자막 시간 A = As ~ Ae, s = 시작, e = 끝
  • 목표 자막 시간 B = Bs ~ Be, s = 시작, e = 끝
  • 보정 비율 R = (Be - Bs)/(Ae - As)
  • A to B 변환 공식 B = (A - As)*R + Bs

추출한 자막에서 조절할 영역의 시작과 끝 부분을 표시하고 그 구간의 보정 비율을 계산한 후에 Excel Sheet에 간단한 수식을 입력하여 계산하면 된다.




언론과 교육이 여러분들 눈과 귀를 속이니 정치, 경제, 역사, 종교에 관한 얘기는 그대로 믿지 말고 스스로 공부하고 찾아보라. 그리고 잠지 조심하라. 국세충 걱정원이 감시한다. 나중에 그대 좃에 좃쇄 찰 수도 있다. 그들은 우릴 보지만, 우린 그들을 볼 수 없다. 복수 하고 싶다면 반대편에 투표해라. 후보자 중에 1명만 뽑아야 하는 경우 1등 먹을 가능성 없는 3등 이하 말고 2등에게 말이다. 3등 이하에 투표하는 것은 표를 쓰레기통에 버리는 짓이다. 단, 정당 투표는 마음대로 해도 된다. 비례대표제/정당명부제일 경우이다. 3, 4등도 살려 두면 나중에 2등 잡을 때 쓸 수 있다.