[작성자:] snowall

  • 최저임금


    http://news.kbs.co.kr/society/2011/07/13/2323289.html

    최저임금이 4580원으로 결정되었다고 한다.

    근로자측은 5410원을 요구했고, 사용자측은 4320원을 요구하였다.

    정확히 말해, 근로자측의 요구는 5410원 이상의 임금이고 사용자측의 요구는 4320원 이하의 임금이다.

    적절한 이해를 위해 숫자를 바꿔보자. 근로자측이 4320원 이상의 임금을 요구했고, 사용자측이 5410원 이하의 임금을 요구했다고 하자. 물론 근로자는 많이 받을수록 좋고 사용자는 적게 줄수록 좋다. 따라서, 최적의 임금은 그 사이에 있는 4860원정도가 될 것이다. 즉, 예를 들자면, 4860원은 둘 다 받아들일 수 있는 임금이 된다.

    원래의 상황으로 돌아와서, 5410원 이상의 임금이면서 4320원 이하의 임금이 되는 경우가 존재할 수 있을까? 우리나라에서 정상적인 교육을 받은 사람이라면 그런 경우는 존재할 수 없다는 것을 알 수 있다. 결국은 타협을 해야 하는데, 5410원 이상인 지점이나 4320원 이하인 지점은 어느 한 편이 받아들일 수 없으므로 자연스럽게 5410원 이하인 지점과 4320원 이상인 지점에서 양쪽 모두 받아들일 수 없는 적절한 지점에서 최저임금을 결정하는 것이 공평하다.



    [각주:

    1

    ]


    그러고보면 결국 그 중간점인 4860원 정도에서 결정된다는 결론이 나온다. 이제 결정된 최저임금이 4580원이므로, 대략 사용자로부터 근로자측의 의견이 3:1 정도로 반영되었다. (사용자의 의견보다 260원 비싸고, 근로자의 의견보다 830원 싸므로 대략 1:3의 비율)



    [각주:

    2

    ]



    아무래도 사용자의 입김이 더 많이 반영된 결과라고 보인다.

    사용자측의 요구보다 비싸기 때문에 사용자의 비용이 늘어나고 이익이 줄어들 것이라는 의견이 많다. 경제에 악영향을 줄 것이라는 의견도 있다. 영세사업자들은 경영에 어려움을 겪을 것이라는 의견도 많다. 그러나 최저임금조차 주지 못하는 사업이 과연 해야 하는 가치가 있는 사업일까? 만약, 그런 사업이 지속되어야 하는 충분한 가치가 있는 사업이라면 최저임금을 보장하지 못해도 문제가 없을까?

    근로자측이 입장에서는, 필요하다고 주장한 돈보다 적은 임금이기 때문에 먹고살기 힘들 것이다. 이에 대한 이론적인 해법은 최저임금이 보장되지 않는 직장에는 취직하지 않으면 된다는 것이다. 물론 그건 말뿐인 해법이고 전혀 도움이 되지 않는다. 경력을 쌓기 위해서든지, 적은 돈이라도 벌어야 먹고살 수 있기 때문에 최저임금이 보장되지 않아도 일을 해야 한다. 그리고 그걸 잘 알고 있기 때문에 사용자들은 최저임금 이하의 임금으로도 사람을 고용할 수 있다.

    그러나 둘 다 불만족스러운 최저임금이기 때문에 4580원의 최저임금은 공평할 수 있다.



    [각주:

    3

    ]


    전태일 열사가 세상에 남긴 말은 딱 하나다. 근로기준법 지키라고.

    있는 법은 지켜야 하지 않겠나.

    대한민국이 자유주의 경제체제를 채택하여 무한경쟁 속에서 뒤떨어지면 도태되는게 당연한 나라인건 알겠는데, 법은 지키라고…

    추가 –

    생각해봤는데, 최저임금이 올라서 돈이 부족해지고 그 결과 사람을 덜 뽑게 되어 취업난이 심화된다는 논리는 틀렸다고 생각한다. 최저임금이 그대로이거나 내려가서 남는 경우에는 사람은 그냥 그대로 쓰고 남는 비용은 사업주의 이익으로 들어간다. 그렇다면 최저임금이 올라가서 손해를 보는 것도 사업주가 감수해야 하는 것이 타당하다. 어차피 경영 환경은 항상 변하게 마련이고 그때그때 상황에 맞는 적절한 대처를 하는 것이 바로 경영자의 일이니까. 못하겠으면 사업을 접는게 당연한 것이고. (영세 사업자의 업주의 가족들은? 어딘가에서 마찬가지 이유로 최저임금도 못 받고 일을 하게 되겠지만, 그럼 이제 본인의 상황이 변했다는 이유로 최저임금을 올리자는 전직 사장님의 주장이 설득력이 있어질 것인가…)

    1. 공정한가?는 잘 모르겠지만.

      [본문으로]
    2. 이렇게 따지는 것이 합리적이거나 적절한지 잘 모르기 때문에 이렇게 따져보았다.

      [본문으로]
    3. 다시한번 말하지만, 이게 공정하다는 뜻은 아니다.

      [본문으로]

  • 계란후라이

    계란후라이의 크기는 후라이팬의 크기와 계란의 양이 문제다.

  • Cartoon heroes

    We are what we’re supposed to be

    Illusions of your fantasy

    All dots and lines that speak and say

    What we do is what you wish to do

    We are the color symphony

    We do the things you wanna see

    Frame by frame, to the extreme

    Our friends are so unreasonable

    They do the unpredictable

    All dots lines that speak and say

    What we do is what you wish to do

    It’s all an orchestra of strings

    Doin’ unbelievable things

    Frame by frame, to the extreme

    One by one, we’re makin’ it fun

    We are the Cartoon Heroes – oh-oh-oh

    We are the ones who’re gonna last forever

    We came out of a crazy mind – oh-oh-oh

    And walked out on a piece of paper

    Here comes Spiderman, arachnophobian

    Welcome to the toon town party

    Here comes Superman, from never-neverland

    Welcome to the toon town party

    We learned to run at speed of light

    And to fall down from any height

    It’s true, but just remember that

    What we do is what you just can’t do

    And all the worlds of craziness

    A bunch of stars that’s chasing us

    Frame by frame, to the extreme

    One by one, we’re makin’ it fun

    We are the Cartoon Heroes – oh-oh-oh

    We are the ones who’re gonna last forever

    We came out of a crazy mind – oh-oh-oh

    And walked out on a piece of paper

    Here comes Spiderman, arachnophobian

    Welcome to the toon town party

    Here comes Superman, from never-neverland

    Welcome to the toon town party

    You think we’re so mysterious

    Don’t take us all too serious

    Be original, and remember that

    What we do is what you just can’t do

    What we do is what you just can’t do

    What we do is what you just can’t do

    What we do is what you just can’t do

    What we do is what you just can’t do

    We are the Cartoon Heroes – oh-oh-oh

    We are the ones who’re gonna last forever

    We came out of a crazy mind – oh-oh-oh

    And walked out on a piece of paper

    There’s still more to come

    And everyone will be

    Welcomed at the

    Toon – Toon

    Town – Town

    Party

    —–

    Aqua의 Cartoon heroes이다. Aqua는 우리나라의 “거북이”와 뭔가 비슷한 느낌의 그룹이다.

    아무튼, 이 곡은 맘에 드는 곡인데, 특히 가사중에 “Be original”이 맘에 든다. 독창적인, 유일한, 고유한 존재가 되라는 뜻인데, 여러모로 의미를 둘 수 있는 부분이다.

  • 어떤 f(x)는 a-y나 y를 출력한다

    f(x)가 있는데, 이 함수는 y또는 a-y중의 하나만을 출력한다. a와 y값은 정해진 값이다.

    이걸 if구문 없이 만들 수 있을까?

    f(x) = (1-x)y+x(a-y)

    f(0)=y

    f(1)=a-y

  • 16비트 TIFF

    16비트 TIFF를 처리하기 위해 삽질을 하고 있다. 일단 파이썬에서 기본적으로 못 불러온다.

    PIL을 써 보니 파일 형식을 이해 못하겠다고 작업 중단.

    http://code.google.com/p/pylibtiff/

    Pylibtiff라는 프로젝트가 있어서 설치해보려고 했더니 파이썬 2.6 전용. 설치조차 못한다.

    난 지금 2.7에서 작업중이다.

    검색해보니 tiffimageplugin.py라는 모듈을 쓰면 된다는데 그 모듈은 PIL 1.1.7에서 도입되었다고 한다.

    PIL 1.1.7은 알파버전 상태인데, 어쨌든 갖다 설치하고 싶었는데

    2.7 버전용 PIL 1.1.7a2 패키지를 설치했는데 안된다.

    구글 검색해보면 해결했다는 사람은 몇몇 있는데 왜 난 안되지…-_-

    —-

    해결했다.


    http://www.lfd.uci.edu/~gohlke/code/tifffile.py.html


    일단 위의 프로그램을 import하고

    import tifffile

    def fileloader(filename):

    tif = tifffile.TIFFfile(filename)

    images = tif.asarray()

    return images

    이렇게 하면 16비트 TIFF파일을 numpy배열로 불러올 수 있다.

    나날이 삽질만 느는구나…

  • 나를 당황케 하다니

    이건 파이썬이라서 발생한 문제는 아니겠지만 어쨌든 코드를 파이썬으로 하다가 만난 문제다.

    지금 만든 프로그램은 f(x)의 평균값을 구해야 한다. 간단하게 x*f(x)를 x에 대해 다 더하고, f(x)를 x에 대해 다 더한 후 둘을 나눠주면 된다.

    for m in range(wbegin,wend):

    for n in range(hbegin, hend):

    x=x+m*array[n][m]

    y=y+n*array[n][m]

    total=total+array[n][m]

    x = x/total

    y = y/total

    return x, y

    문제는 x*f(x)를 다 더했더니 overflow가 나 버린다는 것. f(x)중에 음수가 하나도 없고 x도 음수가 하나도
    없는데 음수가 나오길래 왜그런가 했더니 x*f(x)를 다 더하다 보니 정수의 한계를 넘어가서 음수부터 다시 시작한 것 같다.
    (양수를 계속 더했는데 음수가 나오는 경우는 수학적으로는 불가능하니까.)

    그래서 이 문제를 해결하기 위해 f(0)부터 시작해서 재귀적으로 계산하여 f(x)까지의 평균을 알 때 f(x+1)까지의 평균을 계산하는 방법으로, 점화식으로 문제를 해결하려고 했다. 이러면 계속해서 나눠주기 때문에 int의 최대값을 넘어가지는 않을 거라고 생각했다. 그러나… 그것은 순진한 생각이었다.

    이번엔 f(0)=0에서 시작하는 경우가 문제가 된다. 초항이 0이라 0으로 나누는 오류 발생.

    for m in range(wbegin,wend):

    for n in range(hbegin, hend):

    x=(x*total+m*array[n][m])/(total+array[n][m])

    y=(y*total+n*array[n][m])/(total+array[n][m])

    total=total+array[n][m]

    return x, y

    아… 뭐 이래 -_-;

    아무튼, 그래서 total = 1로 줬더니 계산은 되는데 오차가 커진다. total = 0.000000000000000001로 주는 무리수를 둬야 하나…

  • 다시 타블로 의혹?


    http://segama.tistory.com/509


    위 글을 읽고 보니 타블로가 스탠포드를 졸업했는가에 대해 다시 의혹을 제기하고 있다.

    성적표에 기계과 수업이 하나 있는걸 걸고 넘어지길래 인터넷에서 성적표를 찾아보았다.


    http://web.humoruniv.com/board/humor/read.html?table=pds&pg=0&number=313311

    기계과 수업인듯 보이는게 하나 있는데 ENGR 297B다. 검색해 봤더니 공대 수업인건 맞다. 근데 제목이 “국제 환경에서의 개발 윤리”이다. 대단히 문과스럽다.

    한명 더 있다는 Daniel Lee는 “뭔 개소리냐”는 반응이라고.


    http://www.stanfordalumni.org/news/magazine/2011/julaug/features/tablo.html


    스탠포드 동문회에서 발행한 소식지에도 보도되었다.

    의혹을 제기하는 위의 블로거는 “기계과에 D. Lee가 있는데, 타블로 성적표에 기계과 수업을 들은 적이 있다면 그 수업에 대해 해명해야 한다”고 주장하고 있다. 기계과를 졸업한 D. Lee의 성적표도 공개하라고 할 기세인듯. 영문과 수업만 듣다보면 지겨우니 다른 학과 과목도 쉬워보이는 것 중에 한두개 정도는 다들 듣지 않나?

    MBC의 그 방송을 안봐서 잘 모르겠지만, [토마스 블랙 사무처장이 “다니엘 선웅 리”는 한명뿐이라고 했는데 “다니엘 리”가 위스콘신에 일하고 있다면 타블로는 “다니엘 리”일 수 없다]고 주장하고 있다. 그런데 “다니엘 리”와 “다니엘 선웅 리”는 다른 사람이다. 자막이 제대로 되어 있다면 위의 블로거의 주장은 억지이다.

    “타블로가 스탠포드를 졸업하지 않았다”고 주장하는 사람들은 그렇게 주장하는 사람들이 그 사실을 증명할 책임이 있다. 타블로는 “타블로가 스탠포드를 졸업했다”는 사실을 증명했기 때문이다. 즉, 타블로의 증거가 사실이 아님을 증명하거나 타블로의 증거가 사실이지만 타블로가 스탠포드를 졸업했다는 사실을 적극적으로 또는 타당하게 지지하지 않음을 논리적으로 증명해야 한다.

    타블로가 스탠포드를 졸업하지 않았음을 적극적으로 지지하는 증거가 발견된다면 그 즉시 타블로가 스탠포드를 졸업하지 않았다는 주장을 사실로 믿을 생각이지만, 그렇지 않는 한 나는 타블로가 스탠포드를 졸업하였다는 주장이 사실이라고 생각한다.

  • 나머지 하나

    0, 1, 2의 인덱스를 가지는 어떤 놈이 있다. 즉, a[0], a[1], a[2]가 있다. 이 셋의 인덱스를 순서대로 재 배열해야 하는데, a[0]은 셋중 가장 작은 것, a[2]는 셋중 가장 큰 것, a[1]는 나머지 하나. 가장 큰 것과 가장 작은 것은 알아낼 수 있는데 나머지 하나가 어떤 것인지 알아내야 한다. 그냥 정렬하면 되지 않나 싶은데, 원래 어떤 인덱스를 갖고 있었는지 보존시켜야 하는 상황이다.

    인덱스 중 가장 작은 것이 갖고 있던 걸 m, 가장 큰 것이 갖고 있는 것을 M이라고 하자. 그럼 나머지 하나의 인덱스 x는

    x = (m + M) * 2 % 3

    으로 표현된다.

    (0,1)인 경우 2, (0,2)인 경우 1, (1,2)인 경우 0이 나온다.

    아무튼 이런 함수가 필요한 상황이어서 만들었다.

  • Beam pointing stability checker

    실험을 하다보면 레이저 빔이 오락가락 한다. 얘들을 찍어다가 모아보면 대략 다음과 같은 자료가 된다.

    물론 이건 실제 데이터는 아니고 GIMP로 만든 가짜 데이터다. 진짜 데이터는 실험실에 놓고 왔기 때문에 테스트 해볼 수 없었다. 내일 해봐야지.

    1. 가장 밝은 위치를 찾아서

    2. 그 점의 적당한 주변에서 밝기에 대한 위치의 가중평균값을 빔의 위치로 정하고

    3. 각 자료가 갖는 빔의 위치에 대한 평균과

    4. 표준편차를 이용하여

    5. 각 자료의 위치와, 표준편차에 대해 1sigma, 2sigma, 3sigma에 대해 얼마나 떨어져 있는지 표시하는 프로그램

    알려진 버그

    1. 정수와 실수 사이의 캐스팅 문제로 1000픽셀 규모의 데이터에 대해 1%정도의 오차가 발생한다.

    (무시하기로 했음.)

    2. 원본 자료에 핫픽셀이 있을 때 핫픽셀 주변으로 데이터가 쏠려버린다.

    (이건 그냥 사람이 눈으로 보고 맞춰줘야 할 듯.)

    추가할 기능

    1. 그림 자체에 평균, 표준편차 정보를 직접 그리는 기능

    2. 1sigma, 2sigma, 3sigma를 표시한 타원에 라벨 붙여주기

    내가 만들었지만 (복잡하거나 어려운 소스도 아니지만) 소스코드는 왠지 공개하면 연구소에서 싫어할 것 같고, 바이너리로 공개하고 싶은데 python 2.7.1용 py2exe는 VS2008의 DLL을 필요로 한다. (내게는 VS2005가 있다.)

    소스 공개해도 된다고 하면 GPL로 공개해야겠다.

  • 파이썬에서 range 함수

    어떤 언어든지간에 어떤 변수를 정해진 범위 내에서 한번씩 적용시켜가면서 반복 실행하는 구문은 필요하다. 파이썬에서는 for 구문으로 구현하고 정해진 범위를 리스트로 주도록 되어 있다.

    예를 들어, C언어에서 for(i=0;i<10;i++)으로 주어진 반복문이라면 파이썬에서는 for i in range(0, 10) 으로 쓸 수 있다. 이때 주의해야 할 점은 range가 함수라는 부분이다. range(a, b, c)는 a부터 b까지 c칸씩 달리는 리스트를 되돌려 준다. c=1은 기본 사항이다.


    [각주:

    1

    ]





    http://docs.python.org/release/1.5.1p1/tut/range.html

    그러나, 나에게 필요한 것은 for(i=0.0;i<1.0;i+=0.1)과 같은 구문이었고 파이썬에서 for i in range(0.0, 1.0, 0.1)은 나에게 좌절을 안겨주었다. range는 int에서만 잘 작동하는 함수였기 때문이다. 그래서 일단은 다음과 같은 코드를 작성해서 썼다.

    x = 0.0

    for i in range(0, 10):

    x=x+0.1

    function(x)

    급한대로 이렇게 쓰긴 했는데, 이건 for구문이지만 while같다. 이럴거면 그냥 while을 쓰는게 낫지 싶은 느낌? 그래서 다른 방법들을 찾아보았다. 기본적으로는, 파이썬의 for문은 주어진 리스트 안의 변수들을 하나씩 순서대로 적용한다. 그럼 내가 원하는 대로 0.1씩 증가하는 리스트를 만들어서 주면 된다. 예를 들어

    for i in [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]:

    function(x)

    이렇게 쓰는 것은 의도한 대로 작동하는 구문이다. 물론 이건 10개니까 손으로 썼지만 100만개쯤 되면 손으로 쓰는건 컴퓨터 편하자고 사람이 고생하는 비극을 초래하므로 좀 더 멋진 방법을 찾아야 한다.


    http://stackoverflow.com/questions/477486/python-decimal-range-step-value



    http://code.activestate.com/recipes/66472/


    몇가지 방법을 찾았는데, numpy에서 제공하는 arange 함수를 쓰는 방법이 있고, frange함수를 새로 정의하는 방법이 있다. 어떻든, 위에 쓴 0.0부터 1.0까지의 리스트를 제공하기만 하면 되고, 여러 사람들이 이 문제를 해결하고 있다.

    그러다 보니, 문득 range함수를 오버로딩하면 안되는건가? 하는 생각이 들어서 검색해 보았다. 물론 이런 생각을 나만 하는건 아니었다.


    http://ironboundsoftware.com/blog/2007/05/29/a-shortfall-of-python-no-function-overloading/



    http://www.artima.com/weblogs/viewpost.jsp?thread=155514


    귀도 반 로썸도 그런 생각을 했고, 2006년에 대충 구현을 해봤다고 하니 파이썬3에서는 잘 되지 않을까 싶었다. 그러나 그렇게 되지 않은 것 같다.





    http://openlook.org:625/blog/2008/12/04/python3/



    http://kldp.org/node/123275#comment-555572






    아무튼, 일단 range 대신에 새로운 다른 함수로 정의해서 사용해야 한다는 점을 알게 되었다.


    1. 좀 더 정확히 쓰자면, for i in range(0, 10)이랑 같은 C언어 구문은 for(i=0;i<=10;i++)이다.
      [본문으로]