CTFMON 문제

왜그런지는 모르겠지만, 왠지 7월 29일날 패치를 하고 난 다음인지 그렇게 하기 직전인지 모르겠지만 (아마 그 직전일 것 같다.)

처음에 부팅할 때 이런 메시지 창이 뜬다.

나보고 어쩌라고 -_-;

격자 덮기 문제

이런 문제가 수학에서 다뤄진적이 있는지는 모르겠다.

(근데 아마 가우스가 다뤄봤을 것 같은 문제다 -_-;)

나중에 수학과 친구에게 물어봐야겠다.

특수한 경우 (가장 처음에 떠오른 문제)

가로가 a, 세로가 b인 사각형 모양의 평평한 판이 있다. 이 판으로 2차원 격자를 덮으려고 한다.

격자의 간격은 가로와 세로가 각 n, m이라고 한다. 격자점의 크기는 0이라고 하자.

a, b, n, m이 정해져 있다면, 덮을 수 있는 최대한의 격자점의 수는 몇개일까? 그리고 최소한의 수는 몇개일까?

(판을 놓는 방향은 아무렇게나 놓을 수 있다. 격자점과 변이 평행하게 놓을 필요가 없다는 뜻이다.)

일반화된 경우

단일 폐곡선으로 이루어진 어떤 평면 도형이 있다. 이 도형으로 2차원 격자를 덮으려고 한다.

격자의 간격은 가로와 세로가 각 n, m이라고 한다. 격자점의 크기는 0이라고 하자.

그 평면 도형의 모양과 넓이가 정해져 있고, n과 m이 정해져 있다면, 덮을 수 있는 최대한의 격자점의 수는? 그리고 최소한의 수는 몇개일까?

다차원으로 일반화된 경우

k차원에 닫힌 도형이 있다. 이 도형으로 k차원의 격자점을 덮으려고 한다. 격자의 간격은 k_1, k_2, …, k_k라고 하자. 격자점의 크기는 0이라고 하자.

그 도형의 모양과 크기가 정해져 있고, 격자의 간격이 정해져 있다면, 이 도형이 포함할 수 있는 최대한의 격자점의 수는? 그리고 최소한의 수는?

1차원인 경우는 쉬워보인다.

2차원인 경우는… 나는 상상도 안된다. 아직은.

이 문제는, 내가 지금 일하고 있는 실험실에서 내가 맡아서 하는 일과 관련되어 떠오른 수학문제이다.

뭐…이걸 풀든 말든 내가 하는 실험의 성공 여부와는 관련이 없긴 하지만.

Visual Basic에서 파일 읽고 쓰기 삽질

삽질 기록.

내가 갖고 있는 것

labels() : 몇가지 이름이 들어있는 배열

config.txt : labels()가 저장되는 파일

원하는 것

config.txt에 labels()의 내용을 쓰고 싶은데, 이미 있는 내용이라면 그냥 놔두고 없으면 끝에다 추가한다

현재 구현된 상태

readline(config.txt)으로 불러오고

적당한 비교 구문으로 찾아본 후

없는 애들만 골라서

writeline(config.txt)으로 저장

그런데 오류 발생. IOexception 에러. 분명히 readline 후에 dispose하고 close했는데도 다른 프로세스가 그 파일을 붙들고 있다면서…

소스 코드

‘이 코드는 snowall이 직접 작성한 코드이다.

‘이 코드는 Public Domain License를 적용받는다.

Private Sub saveConfig()

Dim j As Integer

Dim i As Integer

Dim tmp As System.IO.FileStream

If Not (System.IO.File.Exists(“C:\TOFconfig.txt”)) Then

tmp = System.IO.File.Create(“C:\TOFconfig.txt”)

tmp.Close()

tmp.Dispose()

End If

MsgBox(System.IO.File.ReadAllLines(“C:\TOFconfig.txt”).Length)

Dim labels(0) As String

If System.IO.File.ReadAllLines(“C:\TOFconfig.txt”).Length Then

ReDim Preserve labels(System.IO.File.ReadAllLines(“C:\TOFconfig.txt”).Length)

For i = 0 To labels.Length – 1

labels(i) = System.IO.File.ReadAllLines(“C:\TOFconfig.txt”)(i)

Next

End If

Dim flag As Boolean = False

MsgBox(labels(labels.Length – 1))

For j = 0 To frmMainWindow.numberOfData – 1

For i = 0 To labels.Length – 1

If Not (labels(i) Is Nothing) Then

If labels(i).StartsWith(frmMainWindow.clsSignalData(j).label) Then

labels(i) = frmMainWindow.clsSignalData(j).label & frmMainWindow.clsSignalData(j).intChannel

flag = True

End If

End If

Next

If Not (flag) Then

ReDim Preserve labels(labels.Length)

labels(labels.Length – 1) = frmMainWindow.clsSignalData(j).label & frmMainWindow.clsSignalData(j).intChannel

End If

flag = False

Next


Dim objfilew As New System.IO.StreamWriter(“C:\TOFconfig.txt”)


For i = 0 To labels.Length – 1

objfilew.WriteLine(labels(i))

Next

objfilew.Close()

objfilew.Dispose()

End Sub

위에서 파랗게 칠해둔 부분이 오류임.


해결된줄 알았는데 아직 해결이 안됐다. 어디의 무엇이 문제일까. -_-;

해결 방법


C:\를 E:\로 바꾸었음


Writeline을 WriteAllLine 으로 바꾸었음

원인


윈도 Vista에서 C:\는 보안상 접근을 허락하지 않는고로, 이래저래 괴로운 일이 발생함.


모름. 도대체…

결론


윈도 Vista가 쓰레기.


어쨌든 윈도 Vista는 쓰레기.

잠재적 문제점


E:\가 없는 컴퓨터에서 작동시킬 때 100% 확률로 오류 발생.




이 프로그램을 작동시킬 컴퓨터는 윈도 XP가 설치되어 있으므로 C:\로 하더라도 문제가 없을 것임.




개발은 E:\로 해놓고 배포는 C:\로 해야 하는 딜레마 상황.



잠재적이라서 모름.

디버깅하는데 걸린 시간

2 업무일 + 야근 8시간

잠재적 결론

빌어먹을.






본격 지옥 3년차

올해 MB정권 2년차인데, 내년부터는 더더욱 지옥이 시작된다.


http://www.pressian.com/article/article.asp?article_num=20090728164048&section=01

써머타임 제도가 시작된다고 한다.

정부는 “정시 퇴근 지키기 운동” 같은걸 한다고 하지만…

난 그 정시퇴근 지키기 운동의 사각지대에 있는 사람이라서 말이지.

여론이 써머타임을 지지한다면, 난 그중에 지지 하지 않는 1인이다.

지금 9시에 출근하는걸 내년부터 8시에 출근하라는 소리잖아. 그것도 시계는 그냥 9시로 맞춰놓은 상태에서.

이건 그냥 눈속임에 불과하다. 국민에게 한시간을 되돌려 주고 싶으면 근로기준법을 고쳐서 하루 최대 노동시간을 7시간으로 고쳐야지.

설마 써머타임인데 1년 내내 시행하지는 않겠지. MB정권이 영어를 모르는 사람들로 구성되어 있어서 심히 걱정된다.

근데, 전국적으로 출근시간을 1시간 앞당기는데 대체 왜 출/퇴근 시간의 교통량 분산이 일어나는거지? 연구용역 결과 보고서를 좀 보고 싶다…

추가 : 생각해보니까, 1년에 두번이나 시계를 다시 맞춰야 한다. -_-; 뭔 뻘짓이여…

꾸준히 살 빼는 중

지금 65.0kg까지 줄어들었다. 시작할 때는 67.0kg이었다.

선식/미숫가루/깨죽 등을 묽게 타서 아침과 저녁으로 먹는다. 이건 거의 물로 배를 채우는 수준이다. 다만 그냥 물보다는 끈적이기 때문에 배가 차 있는 느낌이 좀 더 오래가는 것 같다. 점심은 학생식당에서 적당히 먹는데, 밥을 조금 먹고 대신에 반찬을 남기지 않고 다 먹는다. 점심을 혼자 먹어도 괜찮은 날은 그냥 빵 하나에 녹차 한잔으로 끝낸다. 저녁도 연구실에서 먹어야 하는 경우는 빵 하나만 먹고 끝낸다. 물론 커피와 간식은 없다. 이것으로 하루에 먹게 되는 열량이 1000kcal 정도로 줄어들었다. 넉넉하게 추정하더라도 1500kcal은 넘지 않을 것 같다.

하루에 1시간 이상 빠르게 걷거나 천천히 뛴다. 중간에 적당한 근육 운동을 끼워넣는다. 이것을 일주일에 5일 이상 한다.

근데 왜 뱃살은 그대로인것 같아 보이지.

목표는 표준체중인 60.0kg

A, AA, AAA

A

곡목이 “A”다. 만든 사람은 DJ. Amuro.

아래는 A와 같은 컨셉이지만 업그레이드 된

AA



A랑 AA를 한번에 들을 수 있는 AAA

아래는 A를 소년라디오라는 사람이 리믹스한 소년A라는 곡

AA를 자동 피아노로 친 것

생존일기

1.

2개월만에 쓰레기를 내다 버렸다. 그동안 “너무” 바빴기 때문에 쓰레기를 버리러 갈 시간도 생각도 마음도 의지도 체력도 없었다. 집이 두배쯤 넓어진 느낌.

2.

3주만에 설겆이를 했다. 그동안은 밥 챙겨먹는데 필요한 1개의 숟가락과 1개의 그릇만을 씻어서 계속 사용했기 때문에 개수대에는 내가 가진 모든 그릇과 컵이 쌓여 있었다.

3.

초파리의 자연발생설을 지지하는 것 같아 보이는 관찰 결과가 나타나고 있다. 도대체 어디서 어떻게 식량을 얻는 것일까. 내 눈에는 그들이 에너지 보존법칙이나 열역학 제 2법칙을 위배하는 것 같아 보인다.

4.

몸무게가 최저 65.4kg에서 66.5kg까지 내려왔다. 이제 65kg영역에서 굳히기작업을 하고, 다시 63kg에 도전해야 한다. 나의 최종 목표는 61kg에서 위/아래로 1kg정도 변동하는 것이다.

5.

체중은 줄어들고 있는데 뱃살은 그대로다.

이건 마치 이명박 정부의 감세정책과 같다.

6.

광주로 이사와서 처음으로 자취방의 커텐을 열고 창문을 열어서 환기를 시켰다.

광주가 이렇게 밝은 동네였다니. 역시 빛의 도시인가.

7.

얼마전 창원으로 친구 만나러 가는데, 기름을 안 넣고 갔더니 순천 휴게소에서 기름이 다 떨어져 버렸다. 보험사의 SOS서비스를 불러서 기름을 소량 채워 넣고 주유소로 갈 수 있었다. 슈팅게임에서 폭탄을 사용한 느낌이다.

8.

요즘들어 주말이 되면 오히려 일찍 일어나는 주말 불면증이 생긴 것 같다. 분명히 어제 밤에 새벽 2시에 잠들었는데, 깨보니까 아침 6시다. 다시 자려고 눈을 감았지만 30분동안 눈만 감고 있다가 그냥 일어났다.

개발자로서 한마디

나는 나름 VB 개발자다. 왜냐하면 VB로 프로그램을 만들고 있기 때문이다.

개발자로서 가장 힘든 점이 몇가지 있다.

1.개발하는 중간에 계속해서 추가되는 기능들

원래 처음에 설명을 들을 때는 파일을 처리하면 된다고 했다. 그래서 파일을 처리하는 것만 생각하고 프로그램을 만들었는데, 중간에 오실로스코프랑 직접 연결되어서 처리해야 한다는 기능이 추가되었다.

2.필드/베타 테스트 없이 바로 실전투입

레이저 실험이랑 연계되어서 사용하는 프로그램이라 이 프로그램이 실제로 작동하기 위해서는 진짜로 레이저를 쏴서 진짜로 실험을 해야 이 프로그램이 작동한다. 하지만 레이저 쏘는게 쉬운일이 아니라 나 빼고 10명에서 20명의 박사 및 엔지니어들이 삽질을 해야 하기 때문에 테스트는 꿈도 못꾼다. 첫 실험에서 오작동하면 정말 난감한데, 난 테스트해볼 자원이 거의 없다. 그저께 얻어온 좀 작은 오실로스코프(얘도 500만원인가 천만원인가 한댄다. 실제 실험에 쓰는 놈은 4배정도 비싸다.)하고 파형 발생기를 이용해서 뭔가 해야만 한다.

이 프로그램은 작동해야만 하고, 작동해야만 할 것이다.

3.촉박한 시간

난 프로그램 개발만 하는게 아니라 실험실 세팅과 실험용 샘플 제작까지 같이 했다. 그것도 시간이 모자라서 하루에 5시간정도 야근을 해서 어제 완료했다. 근데 실험 시작은 바로 다음주 월요일이다. 나에게 주어진 남은 시간은 약 40시간…

예전에 만들어둔 코드가 있으니까 완전히 밑바닥에서 시작하는건 아니지만, 이미 두번 밑바닥에서 시작했다. 정말 골치아픈 노릇이다.

원래 전산은 그냥 취미였는데, 어쩌다보니 업무로 하게 되었다. 언젠가 미래에 Visual Basic에서 손을 뗄 수 있기를 바랄 뿐이다.

추가

4.데모의 법칙

데모를 하면 안보이던 오류가 드러난다. -_-;

그리고 필요한 기능이 추가되고 몇몇 기능이 변경되었다. 아…아아.

또 추가.

5.멀티 포지션

생각해보니까 난 이 프로그램을 기획도 하고 설계도 하고 개발도 하고 테스트도 하고 디버그도 하고 사용도 한다.

혼자서 다해먹네…

소설 아이디어

1.

음…감옥. 감옥에 갇혀 있다가, 때되면 저절로 풀려난다. 자동 감옥. 사형은 없다.

풀려난 놈이 아주 나쁜 놈이더라도 형기 연장 없이 일단 풀려난다.

저지른 죄에 죄값은 치뤘고, 아직 저지르지 않은 죄에 대해 벌을 줄 수 없으므로.

2.

마법이 필요하다. 나는 판타지를 써야 한다.

3.

경제학적, 그리고 그 외의 각종 딜레마를 넣고 싶다. 사소한 개인의 딜레마가 국가적 상황에 미치는 영향을 쓰고 싶다.

4.

돈이 없는 세계에서 저절로 화폐가 발생하는 과정을 쓰고 싶다.

5.

인간들만 나오는가.

6.

괴물들은 왜 인간이나 동물의 모양에서 조금 변형된 모습일까. 좀 더 그로테스크한 무엇을 표현해야 할 것이다.

7.

악마나 신같은 애들이 좀 나와줘야 한다.