우분투 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번째로 커널 컴파일에 도전해 보았다.

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

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

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

…-_-;

다시 해야된다.

빛의 신비 전시회 관람기

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

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

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

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

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

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

아내가 결혼했다

회사에서 단체로 아내가 결혼했다를 보여줬다.

남자가 핏줄에 집착하는 경향이 있다는 사실을 보여주는 영화다.

그리고, 인생은 걍 사는 것이라는 사실도 보여주는 영화다.

이 사실을 한나라당에게 알리지 마라

아침은 항상 뜬금없는 아이디어가 떠오르는 시간이다.

최근, 정치인들이 “불법 집회”라고 부르는 사람들의 모임에 관한 제한을 걸고자 집회 참가시 복면 착용 금지법을 만들고 있는 것 같은데, 이건 새로운 법을 만들 필요도 없이 해결할 수 있다.

이 법의 최대 문제점은 감기에 걸린 사람 등 치료 목적으로 복면을 한 사람들까지 제한해 버릴 수 있다는 뜻이다.

따라서, 모든 종류의 복면을 “의료 기기”로 형식 승인하고, 약국에서만 판매하도록 하며, 의사의 처방전 없이는 구입 및 사용이 불가능하도록 법을 고치면 된다.

물론 복면의 정의는 “얼굴을 가리는데 사용될 수 있는 모든 도구”가 될 것이므로, 붕대, 삼각건, 손수건, 마스크, 방독면 등등이 모두 포함된다.

부작용1. 갑자기 내과가 호황이 될 수 있다.

부작용2. 처방전 없이 복면을 쓰고 집회에 나간 사람들은 [집시법] 위반이 아니라 [의료법] 위반이 될 것이다.

부작용3. 군대에서 사용하는 방독면은 그럼…

부작용4. 지하철에 제공된 국민 방독면은 모두 수거를 해야 한다.

이 제안을 절대 한나라당에게 알리지 않기를 바란다.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑