러브 데스 + 로봇

팀 밀러 감독의 러브 데스 + 로봇 트레일러. 팀 밀러 감독은 데드풀의 감독으로도 잘 알려져 있다.

하나의 독창적인 아이디어로 풀어내는 짧은 이야기, 단편소설은 가볍게 읽을 수 있지만, 짧고도 깊은 이야기를 가지고 있다는 점에서 팬층이 두껍다. 그 중에서도 인기 있는 단편소설은 SF, 판타지, 호러의 장르를 가지고 있다.

Black Mirror의 영국 드라마가 큰 인기를 끄는 이유도 이와 동일하다. SF라는 장르 속에서 매 에피소드 마다 새로운 이야기를 하는 단편소설의 형태를 띄고 있기 때문이다. 하나의 기승전결의 이야기를 보는데 몇 시즌, 몇 십 시간의 시간을 투자할 필요가 없어 부담이 적고, 만약 이야기가 마음에 안들어도 겨우 한시간 정도의 시간을 투자 했기 때문에 부담없이 다른 애피소드를 볼 수 있다.

팀 밀러 감독이 제작을 맡은 러브 데스 + 로봇도 이런 형태를 가지고 있지만, 길이를 극단적으로 줄여 각 에피소드마다 5~20분의 러닝 타임을 가지고 있다. 각 에피소드는 서로 전혀 관련없는 독립적인 이야기를 가지고 있으며, 각 에피소드는 다른 감독이 제작을 맡는다. 팀 밀러 감독이 애니메이터로 시작을 해서 그런지 18 에피소드 중 하나를 제외하고는 전부 3D/2D 애니매이션으로 제작이 되었다.

각 이야기는 대부분 SF를 다루고 있는 데 5~20분이라는 한계 떄문에 배경에 대한 설명은 극단적으로 줄고 스토리에서 모든 것을 유추할 수 있게 만들어 졌다. 따라 보는 사람에 따라 기승전결에서 승전만 남았다고 느낄 수 있는 데, 이는 가볍게 볼 수 있는 러브 데스 + 로봇의 장점으로도 볼 수 있다.

5분에서 20분은 다르게 보면 넷플릭스의 새로운 전략이다. 구독모델을 가지고 있다고 해도 넷플릭스는 결국 소비자의 시간을 뺏어 오는 것에 초점을 맡아야 하는데, 기존부터 이 분야의 강자는 유튜브였으며, 유튜브의 최대 장점은 5~10분의 부담 없는 길이의 영상들로 시청자가 쉽게 접근할 수 있다는 것이다. 이는 몇십 에피소드에 달하는 드라마 시리즈나 2시간의 영화에 비해 가볍다는 차이가 있다. 결국 러브 데스 + 로봇은 이런 단편 영화가 넷플릭스에게 도움이 될 수 있을 지 확인해보는 실험적인 시리즈라고도 볼 수 있다.

Fixing RB67 revolving back

RB67을 새로 샀는 데, 필름백의 revolving adapter가 되게 뻑뻑하게 돌아갔다. 유튜브 동영상들과 비교했을 때 확실히 뻑뻑하게 돌아가는 걸 보고 내부를 열어서 고치기로 마음을 먹었다.

구글에 검색 했을 때, 고치는 방법에 대해서 전혀 찾지를 못 하고, 다만 이 글을 발견 했다. [1][2]

이 글을 참고로 해서, RB67 stiff back을 수리 하는 법을 올리려고 한다.

1. RB67 rotating back을 분리해주자
이건 쉬우니까 넘아가자.

2. rotating back을 절반만 돌리면 내부에 2×3, 총 6개의 나사가 보인다. 이를 분리시켜 주자

참고로 저 화살표 부품은 adapter가 90도 이상 돌아가는 걸 막아주는 역할을 하고, 그 아래 구부러진 금속 판은 90도를 돌렸을 때, ‘딸깍’ 하는 느낌을 나게 해준다. 아래 구부러진 금속판을 나두고 나사를 돌리면 화살표 부품과 얇은 판이 하나 나온다. 잘 모아두자.

3. 분리시키면 양쪽에 원형의 레일이 보인다.

adapter가 뻑뻑하다면 이 레일의 윤활제가 오래 되고 먼지랑 섞여서 뻑뻑해 진것이 주 원인일 것이다. 양쪽 레일을 면봉/물/알코올/스티커제거제. 뭐든 지 써서 최대한 다 닦아 주자.

이렇게 열심히 닦고 다시 조립해도 되지만, 조금 더 부드럽게 하기 위해서 다시 윤활유를 발라주자. 다이소에서 2000원짜리 멀티구리수를 구입했다. 참고로, 이 구리수를 써도 되는지는 잘 몰라서, 최대한 얇게 발랐다.

4. 조립

조립은 간단하다. 일단 레일을 다시 겹치는데, 바로 나사를 분리했을 때 처럼 45도 돌린 상태로 겹치자. 겹치고 난 뒤 얇은 판을 나사 위치 사이로 껴주고, 화살표 부품을 그 사이로 다시 넣어주자.

참고로 화살표 부품은 방향성이 있는데, 나사 모양과 부품 모양이 비슷하다.

이와 같이 나사가 오른쪽에 쏠려있으면 화살표가 오른쪽에 있는 부품을 껴주자.

이제 이 사이로 부품을 끼고

나사를 맞추면 된다.

처음 할 떄는 오래 걸렸는데, 한번 더 해보니까 10분이면 분리, 재조립이 끝난다.

다음에는 light seal을 교체해야할 것 같은데, 아직까지 결과물에는 빛샘현상이 없어서 미뤄도 될 것 같다.

Jetpack Carousel 수정

ImageMagick 설치

제일 먼저 imagemagick을 설치해주자. WP는 기본적으로 GD library를 사용하는데, 이 경우 thumbnail에서 metadata가 사라진다. 우리는 모든 이미지에 대해서 metadata가 필요하다. 워드프레스는 metadata를 가져올 때, 원본 이미지에서 가져오는데, 모든 metadata를 가져오지 않는다. XMP의 경우 사진 파일이 클 수 록 가져오는 속도가 느리기 때문에, thumbnail에 XMP를 유지 시킨 뒤, thumbnail에서 XMP를 가져올 것이다.

sudo apt-get install php-imagick
sudo apt install imagemagick
sudo service apache2 restart

이후 ImageMagick을 활성화 시키는 플러그인을 설치해 주자. 이 플러그인은 activate만 하면 자동으로 활성화 된다. 다만 이 플러그인은 새로 업로드 한 사진에만 적용된다.

Photon 해제

Photon은 XMP metadata를 지워버리므로 해제 시켜주자.

플러그인 파일 수정

환경설정 -> edit plugin으로 들어가서
jetpack/modules/carousel/jetpack-carousel.php을 선택하자

그 다음 링크를 참조해서,

function getXmpData($filename, $chunkSize)
{
    if (!is_int($chunkSize)) {
        throw new RuntimeException('Expected integer value for argument #2 (chunkSize)');
    }

    if ($chunkSize < 12) {
        throw new RuntimeException('Chunk size cannot be less than 12 argument #2 (chunkSize)');
    }

    if (($file_pointer = fopen($filename, 'r')) === FALSE) {
        throw new RuntimeException('Could not open file for reading');
    }

    $startTag = '<x:xmpmeta';
    $endTag = '</x:xmpmeta>';
    $buffer = NULL;
    $hasXmp = FALSE;

    while (($chunk = fread($file_pointer, $chunkSize)) !== FALSE) {

        if ($chunk === "") {
            break;
        }

        $buffer .= $chunk;
        $startPosition = strpos($buffer, $startTag);
        $endPosition = strpos($buffer, $endTag);

        if ($startPosition !== FALSE && $endPosition !== FALSE) {
            $buffer = substr($buffer, $startPosition, $endPosition - $startPosition + 12);
            $hasXmp = TRUE;
            break;
        } elseif ($startPosition !== FALSE) {
            $buffer = substr($buffer, $startPosition);
            $hasXmp = TRUE;
        } elseif (strlen($buffer) > (strlen($startTag) * 2)) {
            $buffer = substr($buffer, strlen($startTag));
        }
    }

    fclose($file_pointer);
    return ($hasXmp) ? $buffer : NULL;
}

jetpack/modules/carousel/jetpack-carousel.php <?php 바로 아래에 추가해 주자.

그 다음 대에충 318번 째 줄쯤에

'FocalLengthIn35mmFilm'     => __( 'Focal Length In 35mm', 'jetpack'),
'auxLens'                   => __( 'Lens Model', 'jetpack' ),
'AnalogExifFilm'            => __( 'Film Type', 'jetpack' ),

위 줄을 넣어주고 대에충 아래쯤에 줄을 아래로 수정해 주자.

'meta_data'      => array( 'camera', 'aperture', 'shutter_speed', 'focal_length', 'copyright', 'iso', 'FocalLengthIn35mmFilm', 'auxLens', 'AnalogExifFilm'),

그리고 512번째 줄쯤에 아래 줄을 넣어주자.

        $thumb_file       = wp_get_attachment_image_src( $attachment_id );
        $thumb_file       = isset( $thumb_file[0] ) ? $thumb_file[0] : wp_get_attachment_url( $attachment_id );
        $xmlstring = getXmpData($thumb_file);
        
        // echo $xmlstring;
        if ($xmlstring){
            $xmlstring = str_replace(":","",$xmlstring);
            $xml = simplexml_load_string($xmlstring, "SimpleXMLElement", LIBXML_NOCDATA);
            $json = json_encode($xml);
            $xmpdata = json_decode($json,TRUE);
            foreach ($xmpdata['rdfRDF']['rdfDescription']['@attributes'] as $key=>$item){
                $img_meta[$key] = $item;
            }

        }

마지막으로 대충 576 쯤에,

$attr['data-image-title']       = esc_attr( htmlspecialchars( $attachment_desc ) );

결과 =

php 7.2로 업그레이드

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mysql php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-gd php7.2-xml php7.2-cli php7.2-zip

sudo cp /etc/php/7.0/apache2/php.ini /etc/php/7.2/apache2/php.ini
sudo systemctl restart apache2.service
sudo a2enmod php7.2
sudo a2dismod php7.1
sudo systemctl restart apache2.service

Linode IP 변경

Linode의 경우 각각의 Linode에 대해서 IP를 바로 변경할 수 는 없게 되어 있지만, 가지고 있는 Linode와 IP를 Swap할 수는 있게 되어 있다.

  1. 바꾸고 싶은 Linode와 같은 서버에 새로운 Linode 생성
  2. 설정 -> networking -> ip transfer을 통해서 ip 변경
  3. 새로 만든 linode 삭제
  4. Reboot
  5. (선택) domain A/AAAA record 변경
  6. 하루만 기다리기

Linode에 VPN 서버 설치하기

여태까지 OpenVPN을 사용했으나, OpenVPN은 사실 그리 안전하지는 않은게, 각 end에서 내가 VPN을 사용하는지 않하는지를 알기가 쉽다고 들었다. 다만 주 사용 용도 (학교에서 토렌트 돌리기)에는 크게 문제가 없었으나, 중국여행중 VPN을 사용하다가 결국에는, 중국에서 이 블로그 ip가 막혔다. 따라서 새로운 VPN 서버가 필요해졌는데, 이번에는 OpenVPN이 아닌. 구글 모기업 alphabet에서 개발하는 Outline을 사용해보기로 했다.

Outline의 가장 큰 특징은 쉽게 설치할 수 있다는 점 인데, 따라서, 개발자는 쉽게 삭제하고 다시 설치 할 수 있기 때문에, 중국에서 IP가 막혀도 그냥 바로 다른 VPS를 만들어서 쓰라고 추천하고 있다.

일단 Outline에 들어가서 manager을 다운받자. 이건 서버에다가 다운 받는게 아니라, 지금 이 블로그 포스트를 보고있는 노트북/컴퓨터에 다운받으면 된다. 설치하고 나면 첫 화면이 아래와 같은데, 내 경우 Linode이기 때문에 오른쪽 아래 ‘SET UP’을 클릭하면 된다.

SET UP을 클릭하면 다음과 같은 화면이 뜬다

하란대로 첫 박스의 커맨드를 복사한 뒤 서버에서 실행시켜 주면, 얼마 뒤 결과가 뜬다. 다만 이 경우, 랜덤 port를 사용하는데, 만약 특정 port로 VPN을 쓰고 싶다면 이 글을 참고하자 ( https://github.com/Jigsaw-Code/outline-server/pull/415 ). 이는 중국이나 이란 같은 경우 SSL 암호화는 443포트만 허용하고, 다른 포트에서 SSL 암호화가 된 패킷이 전송되는 걸 확인하면 VPN으로 간주하고 IP밴을 사용한다고 추정되어 필요하다.

아무튼 커맨드를 실행시키면 결과가 뜨는데, 그 결과를 아래 박스에 붙혀넣고, DONE을 클릭해주자. 좀 기다려 보면 안된다고 에러가 뜬다. 이는 포트가 열려있지 않아서 그렇다. 서버에서 나온 결과를 보면 어떤 포트를 열어야 되는지 알려준다.

sudo ufw allow XXXXX
sudo ufw allow XXXXX

XXXXX를 포트 번호로 바꾸고, 위 커맨드를 입력하면, 포트가 열린다. 이건 Ubuntu의 경우고, 다른 os의 경우는 다르기 때문에 알아서 찾아보자.

잘 된다. 다만 해보니까 중국에서 또 안된다. 이유는 모르겠다. 내 블로그는 HTTPS 암호화가 되어있어도 잘 되는데, 다른 서버에서 안되는걸 보면 도메인이 없어서 그럴 수도 있다고 추정된다. 도메인 없이 IP주소를 직접 입력하고 암호화 통신을 해서? 더 많은 시행착오를 해야 할 것 같은데, 당장은 시간이 없어서 못하겠다. 그냥 해외 심카드를 사서 돌리면 돈 조금만 더 내고 편하게 쓸 수 있을 것 같은데.. Google Fi를 쓰고 싶다.

워드프레스 get_the_post_thumbnail 문제

이 블로그는 사진도 겸해서 올리고 있다. WordPress의 Blask 를 사용하고 있는데, 그 이유는 portfolio라는 방법으로 사진을 올리면 자동으로 여기에 띄워주기 때문이다. 다만 많은 사진 블로그/갤러리들은 nested를 통해서 올리는데, 이게 편하기 때문이다. 예를 들면

./여행
./여행/프랑스
./여행/독일
./여행/포르투갈/리스본
./여행/포르투갈/포르투

이런식으로 블로그를 정리한다면 더 편할 테니까. Blask는 이를 지원하지는 않지만 대신 portfolio의 type/tag를 각 게시글 마다 설정한 뒤, 워드프레스 메뉴 설정에서 각각의 type/tag를 추가해주면 된다.

Continue reading “워드프레스 get_the_post_thumbnail 문제”

홍콩에서 중국 비자 받기 (2019년 9월 12일)

블로그를 참조해서 갔다 왔다. 중국 비자 신청 공식 사이트는 여기니까 여기서 제대로 확인해보자. 나는 유학생이여서 홍콩 id카드가 있는데, 듣기로는 없는 외국인도 신청이 가능하다고 들었으나, 어떻게 해야되는줄 모름.

준비물:

  1. 신청서 : 가서 작성해도 되는데 그냥 하고 가는게 빠르고 편함
  2. 여권 사진: 없으면 가서 50홍콩달러 (7,500원)에 찍을 수 있음. 자동 포토부스고, 50달러를 현금으로 넣어야됨.
  3. 항공권과 호텔: 가면 컴터랑 프린터기가 있는데 얼마인지는 모름. 만약 없으면 trip.com에서 선전시 호텔 예약하고 가자. 선전시는 기차타고 갈 수 있어서 항공권을 안보여줘도 되고, trip.com에는 돈 안내고 바로 환불 가능한 호텔이 많음.
  4. HKID: 난 필요했는데 없는사람은 잘 모르겟으
  5. 복사본: 여권 정보페이지, 여권 홍콩입국 비자페이지, hkid, 학교 학생증, 마지막 중국 비자를 복사해갔다. 복사기도 위치하며, 장 당 2달러에 복사 할 수 있다. 복사기 옥토퍼스 카드가 필요하며, 주입식이기 때문에 카드만 가능하다.

신청서 작성 방법:

위치:

Chinese Visa Application Center
151 Gloucester Road (20th Floor)
Capital Centre
Wanchai, Hong Kong Island

도착:
도착하자마자 엘레베이터에서 나오면 줄을 서야 된다. 줄을 서면 안내원이 왜 온 건지 묻는다. 신청서를 미리 작성했으면 바로 번호표를 뽑아준다. 때가 되면 번호표의 번호가 티비 화면에 뜨고 몇번 카운터로 가야되는지 알려준다. 듣기로는 월요일, 화요일이 사람이 많다고 들었으나, 화요일 12시 반쯤에 도착했는데 내 앞으로 4명 밖에 없어서 20분만에 비자 접수가 끝났다. 내부 직원이 많아 회전율이 빠르기 때문에 대부분 30분 내로 끝나는 편이다.

가격 및 접수:
가격은 다 다른데, 나는 2번 입국 가능한 비자로 신청해서 710달러를 지불했고, 오늘 포함 4일 후에 받을 수 있다고 했다. (화요일 접수, 금요일 발급). 당연히 조금 더 늦게 가도 되고, 접수센터는 월~금 10시부터 17시까지 받으러 갈수 있다고 한다. 참고로 1년 복수 입국 비자는 홍콩 영주권이 있을 경우에만 신청이 가능하다고 한다

당연히 해당 기간 동안은 여권을 가져가니까 잘 시간 맞춰서 가보도록 하자.