글쓴이 보관물: snowall

snowall에 대하여

onecup, research department

지하철 환풍구 발전 설비의 경제성

전통적으로 나는 짤방을 달지 않는다.

지하철 환풍구에 발전기를 달아서 전기를 생산한다고 한다.

이에 대한 물리학적인 이해는 ExtraD님이 잘 설명해 주셨으므로 그쪽을 참고하자.

http://extrad.egloos.com/1831709

그리고, 여기에 대한 대강의 이해는

http://elfhunter.egloos.com/3967156

에 달려 있는 트랙백을 참고하자.

장담컨대, 이 계획은 분명히 추진된다. 그리고 분명히 이익을 남긴다. 단, 지하철 공사는 100%의 가능성으로 손해를 본다. 왜?

가장 중요한 것은 열역학 제 1법칙이다. 다른 말로 하면 에너지 보존법칙. 분명히 전력은 생산된다. 맞는 말이다. 그 전력을 팔아서 수익도 낼 수 있다. 그런데, 그 에너지는 어디서 나왔을까? 기차가 달려가면서 만든 전력이다. 정확히는? 기차의 운동에너지를 뺏어서 만든 전력이다. 따라서, 기차의 운동 에너지를 이용해서 발전기를 돌리는 것이다.

대략, 기차 위에다가 그 터빈 발전기 붙인 거랑 똑같다.

따라서, 기차의 운동에너지를 뺏은 것보다 더 많은 전기 에너지는 절대로 나오지 않는다. 물론 열역학 제 2법칙에 의해서 기차의 운동에너지를 뺏은 것 만큼조차도 얻을 수 없다.

에너지 = 돈

이 공식은 돈의 가치가 변하면서 에너지의 가치도 변하긴 하지만, 어쨌든 진리다. 에너지를 만드는데는 돈이 들어가고, 팔때는 만드는데 들어가는 돈보다 비싸게 팔아야 한다.

기차를 100의 속력으로 달리게 하는데 100원을 썼다고 치자. 기차의 운동에너지를 10만큼 뺏어서 발전을 한다고 치면, 환풍구 발전으로 만든 에너지의 생산 비용은 10원이 된다. 열효율이 100%라 해도 10만큼의 에너지가 나오는데, 에너지 전환 효율은 기껏해야 50%나 될까? 업체에서 주장하는대로 70%라고 해도 7만큼의 에너지가 나온다. 즉, 7의 에너지를 생산하는데 10원이 들어갔다.

이제, 다시 기차를 100의 속력으로 달리게 하자. 그럼 10원이 더 들어간다. 기차의 속력은 100이므로 승객들의 불편은 없고, 여기에 들어간 전기요금은 110원이다. 그리고 7의 에너지가 남아있다. 7의 에너지를 팔아서 손해를 메꾸려면 최소한 10원보다 비싸게 팔아야 한다. 그런데, 이 비싼 전기를 누가 쓰겠나? 당연히 아무도 안쓴다. -_-;

왜냐하면, 7의 에너지를 공급받는데 7원이면 충분하다. 그런데 7의 에너지를 환풍구 발전 설비에서 공급받으려면 10원을 내야 한다. 값 자체는 대충 잡았다 하더라도 환풍구 발전 설비의 생산 비용이 더 비싸다는 것은 당연하다. 이것이 당연하지 않다고 생각하면 열역학 교과서에 있는 논리적 오류를 찾아서 노벨상 받기 바란다. 이건 세기의 발견이다.

자. 그럼, 이제 손실을 줄이기 위한다는 명목으로 7의 에너지를 7원에 팔아보자. 그럼 기차를 달리게 만드는데 들어간 비용은 110원이고, 7원을 보전했으니 기차를 달리게 만드는데 들어간 비용은 103원이 되었다. 즉, 이것을 하지 않았을 때 보다 기차를 달리게 만드는 비용이 비싸졌다.

좀 더 엽기적인 가정을 해 볼까? 열효율이 100%라고 가정한다. 즉, 기차의 운동에너지를 잃은 만큼 고스란히 풍력발전에서 에너지를 생산한다고 치자. 그래도 손해다. 왜? 비용에서는 손해볼 게 없지만, 이미 환풍기 설비를 설치하는데 돈이 들어갔기 때문이다.

따라서, 이건 300억짜리 “먹튀”다. 이거 반박하고 싶으면 열역학 제 2법칙의 오류를 이론적으로 증명하고 실험으로도 증명하기 바란다. 물론 내년 노벨상은 논문이 증명되는 그 즉시 당신꺼다.

이 사업을 추진할 협력업체인 아하에너지의 기술적인 신뢰도나 평판 같은 것 때문에 내가 뭔가를 오해하고 있다고 생각할 수 있지만, 위에 설명한 내용은 아하에너지의 기술 수준과는 아무런 관련이 없다. 전 세계의 어떤 회사가 추진해도 똑같은 논리로 반박할 수 있다.

하지만 지하철 공사에서는 이 사실을 회사가 망할때까지 눈치 채지 못할 가능성이 크다. 아마 지하철 환풍기 시설을 “그나마 적자를 보전해주는 효자 설비”라고 칭찬할 가능성이 대단히 높다.

그 이유는 다음과 같다. 환풍구 발전 시설은 분명히 전기를 “생산”하고 있으며, 그 전기를 판매하면 수익이 “발생”하기 때문이다. 그리고 이것 때문에 더 늘어난 기차의 전기요금은 전혀 다른 곳에서 정산되고 있다. 따라서, 어찌 보면 적자를 보전해주는 설비처럼 보일 것이다.

이게 왜 문제인가 하면, 지하철 공사가 만성 적자를 벗어나지 못한다고 하면서, 정작 추진하는 정책이나 기술들은 적자를 늘리는 쪽으로 가고 있기 때문이다. 이러한 경제적인 부분에 대해 지적하는 인간이 하나도 없다는 건 정말 신기하다. 지하철 공사에는 제대로 된 물리학 전공자나 공학자가 입사하지 않는가?

(생각해보니까, 지하철 공사에 들어가는 사람들의 대부분은 철도대학 출신일 것이고, 임원진 대부분은 낙하산일 것이고, 그나마도 이공계 출신은 없을 것이다.)

이건 공학 학회랑 물리학회에서 나서서 뜯어 말려야 한다.

추가

물론, 환풍구 발전 설비로 돈을 벌 수 있는 방법이 없는건 아니다. 환풍구 발전기를 환풍기 안쪽이 아니라 바깥쪽에, 그리고 수직으로 달아두면 된다. 그럼 도심에서 부는 바람에 의해 전력생산이 가능하다. 음. 근데 이건 환풍구가 아니라 건물 옥상에 설치해야 하는 것 같다.

체지방율 측정

오늘 체지방율을 측정한 결과가 나왔다.

체지방량도 적정범위보다 많고, 근육량도 적정보다 많다. 무기질도 적정보다 많고 단밸질, 체수분량 모두 적정보다 많다.

즉, 한마디로 비만이다.

어떻게 재는가 봤더니, 맨발로 측정기에 올라가서 뭔가를 양 손에 붙잡는다. 그리고 손잡이를 꾹 누른다.

흠. 양 발과 손의 4곳에서 전류를 흘려서 몸의 저항을 재고, 그 값을 통해서 계산하는 것 같다. 멋진 방식인것 같은데, 다한증 환자나 땀에 젖은 경우에는 측정이 완전히 틀려질 것 같다.

아무튼, 이걸 했더니 왼쪽과 오른쪽, 그리고 몸통, 상반신과 하반신, 이렇게 5곳의 체지방량과 근육량이 나왔다.

근데 둘 다 많다. 근육도 많고 지방도 많다.

어쩌지…-_-;

빼는 것만이 살 길인가.

점의 밀도 측정

점의 좌표를 모두 알고 있다고 하자.

그럼, 특정한 점을 찍었을 때, 그 점이 다른 점과 가지는 거리의 평균을 그 점의 포텐셜 값으로 둔다.

점이 많아지면 많아질수록 포텐셜이 낮아지고, 점이 멀어지면 멀어질수록 포텐셜이 높아진다.

이 값의 역수를 취하면 재밌겠다.

언제 한번 만들어봐야지.

우분투 8.10 Intrepid Ibex 사용기

우분투 8.04를 쓰다가 8.10이 출시되어 업데이트를 돌렸다.

재부팅했더니.

커널 패닉. -_-;

음…

이건 내가 커널 컴파일을 잘못해서 그런 거였던 것으로 밝혀졌다.

난생 최초로 커널 컴파일을 성공했다. 데비안 방식으로.

http://www.debian.org/releases/stable/arm/ch08s06.html.ko

복사해 놔야지.

중앙일보와의 인터뷰

뱀파이어와의 인터뷰가 아니다. 물론 난 흡혈귀도 아니다.

CJ나눔재단에서 연결해서, 중앙일보에서 특집으로 기획한 20대의 나눔 문화에 대한 기사의 대상 중 한명이 내가 되었다.

그래서, 가서 열기구 만들어서 보여주고 사진 찍고 인터뷰하고 말하고 왔다.

내가 무슨 얘기를 했는지는 11월 7일자 중앙일보에 나올 테니 굳이 여기서 말할 필요는 없을 것 같고..

사진 기자분께서 표정이 자연스럽다고 칭찬을 해 주었다. 기분이 좋았다. 평소에 웃는 연습을 하는 것이 도움이 된 것 같다.

그리고 담당 기자분이 내가 기획 의도에 딱 맞는 컨셉의 사람이었다고 얘기를 했다. 만약 그렇지 않았다면 기사는 대체 어떻게 나왔을 뻔 했을까…-_-;

아무튼. 재밌더라. 인터뷰라는 것도.

근데, 나는 하고 싶은 말이 많이 남았는데 기자분이 지쳤는지 중간에 끝난 느낌이다. 기사 쓸 분량으로는 충분 하겠지만.

이름으로 점수 내기

5천개쯤 되는 이름 목록이 있는데, A=1, B=2 이런 식으로 해서 점수를 준다. 그 다음에, 그걸 알파벳 순으로 정렬하여, 그 등수에 따라 가중치를 곱해준다.

그런 다음에 그걸 모두 더한다. 얼마일까?

출처 : http://projecteuler.net/index.php?section=problems&id=22

나는 엑셀 VBA로 풀었다.

Sub text()

Dim i As Integer

For i = 1 To 5200

Worksheets(“Sheet2”).Cells(i, 1) = Worksheets(“Sheet2”).Cells(1, 2 * i – 1)

Next

End Sub

Sub Macro1()



‘ Macro1 Macro



Cells.Replace What:=”A”, Replacement:=”+1″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”B”, Replacement:=”+2″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”C”, Replacement:=”+3″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”D”, Replacement:=”+4″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”E”, Replacement:=”+5″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”F”, Replacement:=”+6″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”G”, Replacement:=”+7″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”H”, Replacement:=”+8″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”I”, Replacement:=”+9″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”J”, Replacement:=”+10″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”K”, Replacement:=”+11″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”L”, Replacement:=”+12″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”M”, Replacement:=”+13″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”N”, Replacement:=”+14″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”O”, Replacement:=”+15″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”P”, Replacement:=”+16″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Q”, Replacement:=”+17″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”R”, Replacement:=”+18″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”S”, Replacement:=”+19″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”T”, Replacement:=”+20″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”U”, Replacement:=”+21″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”V”, Replacement:=”+22″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”W”, Replacement:=”+23″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”X”, Replacement:=”+24″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Y”, Replacement:=”+25″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Z”, Replacement:=”+26″, LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

End Sub

Sub addition()

Dim i As Integer

For i = 1 To 5163

Worksheets(“sheet1”).Cells(i, 2) = “=” + Worksheets(“sheet1”).Cells(i, 1).Value

Next

End Sub

이걸 다 하고 나면 각 이름들의 점수 값이 계산되어 있다.

이제 정렬시켜주고, 가중치를 곱해주고, 다 더하면 된다.

결국, 삽질. -_-;

아마 펄이나 루비로 풀면 몇줄 안될것 같다.

1일인 일요일의 수는?

오일러 프로젝트의 19번 문제는 흥미롭다.

20세기에서 1일이 일요일인 경우는 몇번인가?

이 문제를 풀기 위해서 알아야 하는 정보는 다음과 같다.

1, 3, 5, 7, 8, 10, 12월은 31일이다.

4, 6, 9, 11월은 30일이다.

2월은 보통 28일인데, 윤년은 29일이다.

윤년은 연도 숫자가 4로 나누어 떨어지면 윤년이다. 단, 100으로 나누어 떨어지면 윤년이 아니다. 그럼에도 불구하고 400으로 나누어 떨어지면 윤년이다.

20세기는 1901년 1월 1일부터 2000년 12월 31일까지다.

1901년 1월 1일은 월요일이었다.

이 문제를 풀기 위한 알고리즘은 아주 많이 있다. 그중 가장 간단한 방법과 내가 쓴 방법을 소개하려 한다.


가장 간단한 방법


내가 쓴 방법

컴파일이란…

장난감으로 사용하고 있는 리눅스 컴퓨터에는 우분투 8.10 베타버전이 설치되어 있다. 그런데, 내가 쓰는 메신저인 피진이 2.5.2가 나왔는데, 우분투에서 계속 2.5.0에서 업데이트를 안해준다. 2.5.0은 로그인할 때 MSN인 경우 “사용자를 추가할 수 없습니다”라는 오류가 발생하는데, 2.5.2는 이게 고쳐졌기 때문에 난 업데이트 될 때까지 기다리려고 했었다.

근데, 한달이 지나도록 업데이트가 안되어, 결국 직접 컴파일해서 설치했다.

1시간쯤 했던가…-_-;

(펜티엄3 800MHz 머신이라 좀 느리다)

오…

이게 바로 컴파일하는 맛이구나. 내가 직접 소스를 패치한 건 아니지만, 직접 컴파일 한 것을 설치했더니 그것도 나름의 맛이 있다.

그래서, 그참에 3번째로 커널 컴파일에 도전해 보았다.

잘 세팅해 놓고, 커널 컴파일을 돌려놓고 빛의 신비 전시회를 갔었는데…

집에 왔더니, 아버지가 컴퓨터를 꺼 두셨다.

시커먼 화면이 보이길래 그냥 끄셨다고…

…-_-;

다시 해야된다.

빛의 신비 전시회 관람기

지난번에 국립 서울 과학관에서 했던 특별 전시 “러시아 자연사 박물관 특별전”에 좋은 인상을 받고, 이번에 새로 시작한 “빛의 신비” 전시회를 갔다.

일단 총평은 미술관을 관람한 느낌이다.

전시되어 있는 많은 전시물들이 대부분 착시와 빛의 여러가지 특징을 이용한 작품들이었는데, 굉장히 아름답게 만들어진 작품들이 많았다. 하지만 빛의 신비라는 이름을 붙이기에는 빛의 성질을 너무 제한적으로 사용하였다. 대부분이 착시, 잔상, 회전, 스트로보, 홀로그래피 등을 이용한 작품이다.

좀 더 다양한 주제의 작품들을 감상할 수 있었으면 좋았을 것 같다.

중간에 과학 마술 공연을 해 주었는데, 공연 자체는 굉장히 흥미롭고 신비롭고 볼만하고 재미있었다. 다만, 빛의 신비와는 무관한 주제인 공연이어서 빛의 신비를 체험하러 간 나로서는 조금 아쉬웠을 뿐이다.

그건 그렇고, 홀로그래피는 그 원리를 다 알고 있어도 신기하더라.