"Blog"에 해당하는 글들
페이지:«1234567...42»

[長崎 여행] – 1. 일본속 네덜란드

2013-10-22   //   alexken작성   //   인생  //  2 Comments

[長崎 여행] – 1. 일본속 네덜란드
[長崎 여행] – 2. 일본속 일본???
[長崎 여행] – 3. 나가사키

4박5일간(10월2일~10월6일) 長崎 가족여행을 정리함
원래 facebook에 올렸던 것을 3덩어리로 묶어 정리하기로함(유럽, 일본, 나가사키)
가족여행을 長崎로 정한 이유는 짧은 시간에 하우스텐보스에서 유럽의 분위기와 제대로 된 전통 료칸에서 일본 분위기를 동시에 느끼고, 맛집 돌아댕기며 맛있는 음식을 먹을 수 있었기 때문

맛집 정보는 tabelog를 기준으로 하였으며, 현재 순위는 계속 바뀌므로 “몇등이다”는 의미 없고, 나가사키 현내에서 대략 20위권 이내의 순위권 집만 대상으로 했음.(지금은 순위를 보려면 유료회원이어야 하지만, 지난 순위는 조회가능함)

출발

오늘부터 5일간 나가사키의 유구한 역사와 찬란한 문화는 개뿔 그냥 먹방 여행

원조 타이틀 집, 나가사키현내 tabelog 순위 20위 이내의 맛집이 주 정복 대상

1. 나가사키 짬뽕
2. 카스테라
3. 사세보 버거
4. 싯뽀쿠 요리
5. 토루코 라이스
6. 라멘
7. 스시

햄버거 기행

8시 출발해서 10시 도착하는 직항편으로 나가사키 공항에 도착하자마자 리무진 버스로 향한 곳은 다름아닌 일본 햄버거의 고장 사세보.

1953년 개업해서 아직까지 안망하고 있는 일본 최초의 햄버거집 타이틀을 가지고 있는 “블루 스카이“.

깨끗한 마을 속에 쓰러져가는 건물 한채 그냥지날칠 뻔 했음

그런데 영업을 안한다.

옆집에 물어보니 저녁 8시에 문을 연단다.
햄버거 집이 낮에 영업을 안할꺼라고는 상상도 못했네.
비행기로 1시간 20분 + 버스로 2시간이나 왔는데.

다시 걸어서 20분
미사롯소에 왔음

타베로그 나가사키현 버거부분 서열 1위집
역근처에도 크고 번듯한 버거 집들이 많이 있는데 여기는 작고 접근성도 나쁘지만 역시 맛있음.

원래 계획은 블루스카이에서 테이크아웃해서 여기서 두개를 비교하며 한꺼번에 먹는건데
최초버거 공략실패!
최고 맛집버거만 성공!

일본속 네덜란드 – 포레스트 빌라

기차타고 네덜란드로 순간이동

오늘 숙소는 하우스텐보스포레스트 빌라

오늘은 관광이고 먹방이고 호수 딸린 빌라에서 백조 먹이나 주며 유유자적
백조는 오리만할줄 알았는데 하늘이보다 더 크네.


네덜란드식 독채 빌라 건물에 발코니앞이 바로 호수임.
1층은 거실
2층에 싱글 2개씩인 침실만 2개인데
내가 독방써야할 처지



데 아도미라루(The Admiral)

일본서 서양요리는 피할려고 했는데
하우스텐보스 내에 있기도하고
tabelog 현내 종합 순위 2위(글쓰는 지금은 1위)라 그 맛이 궁금해서 왔음.
1등 집은 규슈섬에 없고 대마도와 규슈 중간에 있는 이키섬 바닷가 횟집이라 애시당초 포기.
매번 요리가 서빙될 때마다 재료며 가공방법, 먹는방법(요거는 요기에 찍어 먹고…) 등등을 상세하게 알려 줌.


가족을 위해 고급 레스토랑을 통으로 빌렸음(사실은 메뉴판 열면서 떨었음.)

구글지도에서 위치가 잘못되어 있음. 하우스텐보스 입구쪽에 있는 것 처럼 되어 있지만, 실제로는 ‘호텔 유럽’의 1층에 있음

하우스텐보스

중앙 돔 토른 전망대에서


마지막 사진에서 앞에 건물이 데 아도미라루가 있는 ‘호텔 유럽’, 뒤에 호수가 있는 빌라가 ‘포레스트 빌라’

기타도 타고

배도 타고

하늘도 날았음.
단 35kg 안되는 하늘이는 하늘을 날진 못했다.

하우스텐보스내 일반인에게 분양되는 별장촌
최근 매물하나가 나왔고 18억 한다고함
선착순 1명(*보트는 별매)

마루타츠 라멘

2째날 하루종일 하우스텐보스에서 놀고 저녁을 먹기위해 택시를 콜해서 마루타츠 라멘으로 출발

이번 먹방 여행중 가장 기대하고 온 곳(○龍ラーメン)


라멘집 순위 1위
전체 순위에도 수위에 랭크 된 집.

문제는 애매한 주택가 가운데라 접근성이 나쁨.
600엔짜리 라멘에 택시비 2600엔 들었지만 전혀 아깝지 않음.

이번 여행에서 들른 가게 중 유일하게 구글맵에서 상호로 검색안되고 그냥 아파트로 나옴.
택시기사한테 대충 주소 갈쳐주고 라멘집이라고 하면 다 암.

들어오자 마자 한국인이냐고 물어보시고 한국어 공부 시작했다면서 한국어 교제 꺼내 보이심.

나가사키 시 야경

저녁으로 라면먹고 부랴부랴 기차타고 나가시키역에 내림
무료 셔틀은 끊겼고, 버스로 나가사키로 로프웨이 타는 곳으로 향함.

홍콩, 모나코와 더불어 세계 신 3대 야경이라고 홍보하는 나가사키 야경


도시 + 항구 + 페리 + 다리가 조합된 멋진 야경이긴 하나,
세계 최고의 야경을 위해서는 야근을 좀더 해야 쓰것네.

나가사키역 관광안내소에서 로프웨이 티켓을 20%할인해서 팔고 있으며, 나가사키 역에서 후치 진사로 가는 무료 셔틀도 있지만, 너무 늦게 도착해서 이용하지 못함. 로프웨이 내려오는 마지막 시간인 10시 로프웨이를 간싵히 타고 내려왔고, 나가사키역+주요 호텔을 도는 셔틀 버스가 기다리고 있지만, 예약없이는 못탐. 셔틀 앞에 장부를 들고 있는 할아버지한테 부탁하면, 셔틀에 여유가 있는 경우에 한해 즉석으로 셔틀 티켓을 발급해주고, 이를 셔틀 기사님께 주고 나가사키 역까지 올 수 있었음

QHY9 gain & offset 값 설정

2013-10-15   //   alexken작성   //   천문  //  1 Comment

이제 슬슬 다연장 로켓포를 설치, 가동하려고 한다.(작년 1차 발사는 실패, 올해 2차 발사 – 왠지 나로호랑 비슷한 느낌)
오랫동안 사진을 안찍으니, 다까먹고, CCD, Maxim 사용법도 가물가물 해져서, 나를 위한 매뉴얼을 하나 둘 씩 정리해 나갈 생각이다.
머리속에 지우개가 있는 건지…

Dr.QiuHY 에 의하면

Gain=0 and initial offset =125. And after you get images. you can adjust the offset to let the bias image background average value is apporx 1000. This is good for CCD’s dynamic range.

그러므로, 귀찮으면 gain=0, offset =125으로 사용하면 됨.
ASCOM 드라어버 설정을 하나도 건드리지 않으면, 기본

나와 비슷한 고민을 한 일본인의 글이 있다.

본문은 별 영양가 없고, 댓글에 좋은 글이 달려있다.

  • gain은 일반 디지털카메라의 ISO와 같은 개념이고, 과노출 시켜서 65535에서 포화되는 이미지를 얻으면, gain값은 손댈 필요가 없다.
  • offset은 bais 레벨로 SBIG은 100으로 고정되어 있다. bias를 찍어서 새까만 영상을 얻으면, 왠지 사진도 노이즈 없는 깨끗한 이미지를 얻을 것 같지만, 반대로, 어두운 대상의 영역이 0이하로 잘라먹은 경우가 된다. 기껏 어두운 곳까지 멀리가서, 비싼 냉각CCD를 이용하여, 장시간 노출을 한 노력/비용을 다 날려먹은 거다.

위의 Dr.QiuHY의 말대로, bias 배경이 1000 정도가 되게끔 offset을 설정하자.

이취임식

2013-09-13   //   alexken작성   //   기술, 인생  //  1 Comment

그동안 사용하던
메인 : iPhone 4S, 서브 : Blackberry 9900 조합에서
메인 : XPeria Z Ultra, 서브 : iPhone 4S 로 변경하게 되었다.

XPeria Z Ultra는 바다건너 홍콩에서 수요일날 도착했고, 하필 그날은 온통 iPhone 5S/5C 얘기만 하던날.
혼자서 “크고 아름다운” Z Ultra 에 하악하악.

외도는 이번 한번만.

Sony Bravia TV의 웹 EPG 만들기 (두번째)
XMLHttpRequest로 SOAP 메시지 보내기

2013-04-28   //   alexken작성   //   기술  //  No Comments

이전글에 이어서,

이전 방식(Ruby + Server)의 단점은 집에 웹서버를 운영해야 한다는 점이다.
NAS도 어엿한 웹서버이므로 크게 문제될 것은 없지만, 그냥 단말기에서 동작하도록, 즉 HTML측에서 동작하도록 javascript를 이용해 XMLHttpRequest로 soap메시지를 전달하도록 전부 재 작성하였다.

단순 웹페이지라, 브라우저만 있는 기기라면, 스마트폰/태블릿/PC 어디서나, iOS/Android/WP7.5/Windows/MacOSX 무관하게 동작할 것이나, 현재 하늘이 핸드폰인 Lumia 710(WP7.5)의 IE에서만 동작하지 않았고, 나머지 기기에서는 완벽 동작한다.
사용하기 정말 편하며, 만들어 놓고 아주 뿌듯해 하고 있다.

그럼 본문

ircc Command 목록을 조회하는 코드는 다음과 같다.
중요한 점은 “X-CERS-DEVICE-ID”라는 헤더에 TV에 페어링을 통해 등록된 Mac주소를 함께 전송해야 한다. 없으면 403을 반환한다.

var tv_ip = 'XXX.XXX.XXX.XXX';
var client_mac_addr = 'XX-XX-XX-XX-XX-XX';

function getRemoteCommandList(){
  var xhr = new XMLHttpRequest();
  xhr.open('GET', 'http://' + tv_ip + '/cers/api/getRemoteCommandList',true);
  xhr.setRequestHeader("X-CERS-DEVICE-ID", 'MediaRemote:' + client_mac_addr);
  xhr.onreadystatechange=function() {
    if(xhr.status == 200){
      if (xhr.readyState==4) {
        alert(xhr.responseText);
      }
    }else{
      alert(xhr.status);
    }
  }
  xhr.send(null);
}

getRemoteCommandList를 호출하면 TV는 아래와 같은 xml 형태로 리모콘 값에 해당하는 값의 Base64로 인코딩된 값을 반환한다.
전체 커맨드 목록은 이 글 맨 아래에 정리하였다.

< ?xml version="1.0"?>
<remotecommandlist>
 <command name="Confirm" type="ircc" value="AAAAAQAAAAEAAABlAw==" />
 <command name="Up" type="ircc" value="AAAAAQAAAAEAAAB0Aw==" />
 <command name="Down" type="ircc" value="AAAAAQAAAAEAAAB1Aw==" />
  ...
 <command name="OneTouchRecStop" type="ircc" value="AAAAAgAAABoAAABjAw==" />
 <command name="MuteOn" type="url" value="http://_:80/cers/command/MuteOn"/>
 <command name="MuteOff" type="url" value="http://_:80/cers/command/MuteOff"/>    
</remotecommandlist>

마지막 줄에 type이 “ircc”가 아닌 “url”인 MuteOn과 MuteOff가 있는데, 이 url 유형의 command는 soap으로 보내지 않고, 해당 url에 GET만 수행해도 동작하며, 요청 기기의 MAC주소도 확인하지 않는다.
즉 코딩할 필요 없이 웹브라우저에서 해당주소를 입력하고 Enter만 쳐도 동작한다는 얘기다.
특이점은 command는 MuteOn과 MuteOff가 있지만 MuteOff는 동작하지 않고, MuteOn만 토글 형태로 동작한다.
물리적인 리모콘 버튼에서도 [조용히] 하나만 있기 때문에 일맥상통한다.

[조용히]/[조용히 해제]에 해당하는 코드는 아래와 같다.
getRemoteCommandList함수와의 차이점은 커스텀 헤더인 “X-CERS-DEVICE-ID”는 필요치 않다.

function muteOnOff(){          
  var xhr = new XMLHttpRequest();
  xhr.open('GET', 'http://' + tv_ip + '/cers/command/MuteOn',false);
  xhr.send(null);
}

위에서 작성한 getRemoteCommandList()를 통해서 얻은 ircc code를 가지고 직접 리모콘 키를 누르는 것과 동일한 효과를 내는 함수는 다음과 같다. sendIrccCommand에 ircc 코드를 보낼때 마다 리모콘 키 하나를 누르는 행위와 일치한다.

function sendIrccCommand(ircc){
  var body =
    '< ?xml version="1.0"?>'+
    '<s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" '+
    ' s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'+
    '  <s:body>'+
    '    <u:x_sendircc xmlns:u="urn:schemas-sony-com:service:IRCC:1">'+
    '      <ircccode>' + ircc + '</ircccode>'+
    '    </u:x_sendircc>'+
    '  </s:body>'+
    '</s:envelope>';
  var xhr = new XMLHttpRequest();
  xhr.open('POST', 'http://' + tv_ip + '/IRCC',false);
  xhr.setRequestHeader('X-CERS-DEVICE-ID', 'MediaRemote:' + client_mac_addr);
  xhr.setRequestHeader('SOAPAction',     
                        '"urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"');
  xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
  xhr.send(body);
}

하지만 SBS를 튜닝하기 위해서는 디지털인 경우에 ‘6’, ‘.’, ‘1’과 같이 연속으로 3개의 키를 입력해야 한다.
sendIrccCommand를 좀더 추상화한 setChannel은 아래와 같고, 입력은 ‘6.1’, ‘10.1’ 과 같은 키 시퀀스에 해당하는 문자열을 입력으로 받는다.

function setChannel(ch){

  var num = [
            "AAAAAQAAAAEAAAAJAw==", //0
            "AAAAAQAAAAEAAAAAAw==", //1
            "AAAAAQAAAAEAAAABAw==", //2
            "AAAAAQAAAAEAAAACAw==", //3
            "AAAAAQAAAAEAAAADAw==", //4
            "AAAAAQAAAAEAAAAEAw==", //5
            "AAAAAQAAAAEAAAAFAw==", //6
            "AAAAAQAAAAEAAAAGAw==", //7
            "AAAAAQAAAAEAAAAHAw==", //8
            "AAAAAQAAAAEAAAAIAw=="  //9
  ];
  var dot = "AAAAAgAAAJcAAAAdAw=="  //.

  var c = ch.split("");
  for( var i in c ){
    switch(c[i]){
      case '.' :
        sendIrccCommand( dot );
        break;
      default:
        sendIrccCommand( num[ch[i]] );
        break;
    }
  }
}

더 보기 >>

Sony Bravia TV의 웹 EPG 만들기 (첫번째)
Ruby+Server 버전

2013-04-27   //   alexken작성   //   기술  //  3 Comments

집에 TV는 2년전 구입한 nx720이라는 Sony사 제품이다.
스마트폰에서 제어할 수 있도록 Media Remote라는 앱을 iOS용과 Android용으로 제공하고 있다.

그런데 Android용으로 TV SideView라는 새로운 앱을 제공하기 시작했다.
Media Remote가 리모콘의 단순 대체라면, TV SideView는 음성 컨트롤, EPG를 통한 채널 선택, 저장된 미디어 재생(PVR 모델의 경우)와 같은 새로운 UX를 제공하고, 이중에서 EPG를 통한 채널선택은 TV 사용에 있어 가장 자연스런 UX인거 같다.

그런데, 국가가 [일본/미국]인 경우에는 EPG를 보여주고 해당 채널을 선택할 수 있는 반면, 국가를 [한국]으로 설정해면 EPG 기능이 비활성화 되는 것에 광분하여 자체적으로 만들게 되었다.

조사해본 결과

Sony TV의 경우 IRCC라는 웹서비스를 제공한다.
리모콘 키의 IR 신호에 해당하는 ircc 코드를 HTTP 프로토콜로 SOAP 메시지로 전달하면 리모콘 키를 누른 것과 동일하게 동작한다.
IRCC의 경우에 범용적으로 표준화된 것은 아니고, Sony가 개발한 Sony의 Bravia 브랜드를 사용하는 TV, Blue-lay, PVR 기기에서만 활용되는, 그다지 범용적인 기술 표준은 아니었다.

적당히 EPG 정보를 대충 가져와 그냥 html로 알아서 아래와 같이 변환 후 화면을 터치하면, 해당 프로그램의 채널로 TV가 튜닝하도록 하였다.

ircc command를 soap으로 전송하는 가장 손쉬운 방법은 ruby cers_remote 라이브러리를 이용하면 되고, 웹 서버측 php에서 ruby를 통해 TV로 soap 메시지를 보내게 된다.

ircc가 동작 제한 조건으로

  • ircc의 soap 메시지 header에 TV에 기 등록된 기기의 MAC주소를 보낼 것
  • ircc 전송측과 TV가 동일 네트워크에 있을 것

이 중 MAC 주소는 기존에 Media Remote를 설치해서 TV와 패어링된 스마트폰/태블릿의 MAC 주소여야 하고,송신측이 TV와 동일 네트워크에 있어야 하려면, 웹버서를 집내에서 운영해야 한다.

#!/usr/bin/env ruby

require "cers_device"
tv_ip = "XXX.XXX.XXX.XXX"
paired_device_mac = "XX-XX-XX-XX-XX-XX"

command =
"1"=>"AAAAAQAAAAEAAAAAAw==",
"2"=>"AAAAAQAAAAEAAAABAw==",
"3"=>"AAAAAQAAAAEAAAACAw==",
"4"=>"AAAAAQAAAAEAAAADAw==",
"5"=>"AAAAAQAAAAEAAAAEAw==",
"6"=>"AAAAAQAAAAEAAAAFAw==",
"7"=>"AAAAAQAAAAEAAAAGAw==",
"8"=>"AAAAAQAAAAEAAAAHAw==",
"9"=>"AAAAAQAAAAEAAAAIAw==",
"0"=>"AAAAAQAAAAEAAAAJAw==",
"."=>"AAAAAgAAAJcAAAAdAw=="
}

device = CersDevice.new(tv_ip,paired_device_mac)

if __FILE__ == $0
  ARGV[0].split(//).each{|x|
    device.send_ircc(command[x])
    sleep 1
  }
end

위 파일을 setch 라고 저장하였다면 터미널에서

$setch 11.1

로 채널전환 가능하며, 이를 서버측에서 불러주면됨

HTML5:getUserMedia를 이용한 초간단 웹캠 뷰어를 Nexus7에서

2013-03-12   //   alexken작성   //   기술  //  3 Comments

1년전에 HTML5:getUserMedia를 이용한 초간단 웹캠 뷰어란 글을 쓴적이 있다.
그런데 모처럼 들어가 보니 동작을 하지 않는다.
이유는

  navigator.webkitGetUserMedia("video", success);
  ==>   navigator.webkitGetUserMedia({video:true}, success);

webkitGetUserMedia 첫번째 인자가, 문자열 “video” 가 아니라, JSON 객체 {video:ture}로 넘기도록 좀더 표준에 가까워 졌다.
하지만, webkitGetUserMedia와 webkitURL처럼 webkit prefix는 여전히 붙여줘야 함.

아래와 같이 코드를 수정해서 다시 동작하도록 해놓음.

< !DOCTYPE html>
<html>
  <body>
    <video id="myvideo"  autoplay></video>
    <script type="text/javascript">
      var video = document.getElementById('myvideo');
     
      if(navigator.webkitGetUserMedia){
        navigator.webkitGetUserMedia({video:true}, success, fail);
      }else{ 
        navigator.getUserMedia({video:true}, success, fail);
      }
   
      function success(stream){
        if(window.webkitURL){
          video.src = window.webkitURL.createObjectURL(stream);
        }else{
          video.src = window.URL.createObjectURL(stream);
        }
      }

      function fail(err){
        console.log("The following error occured: " + err);
      }
    </script>
  </body>
</html>

더 보기 >>

블랙베리에서 올리는 포스트

2013-01-04   //   alexken작성   //   기술  //  No Comments

어제부터 가지고 놀기 시작한 다소 철지난 블랙베리 9900에서 올리는 포스팅이다.

목표는 사진 올리고 글작성 모두를 다른 기기 도움없이 여기서 끝내는 것 임.

다행히 WordPress 전용앱이 있었고, 스크린 캡쳐는 CaptureIt에서 할 수 있었다.

뽐뿌의 계기는 블랙베리를 블루투스 키보드로 활용할 수 있어서이고, 안드로이드 기기는 잘 붙고, iOS기기에는 현재까지 안붙음.

9900에서는 이게 좀 짱인게,
한번 붙으면
터치스크린은 멀티터치 지원되는 트랙패드처럼 동작하고, 바로 아래 빨콩으로 마우스처럼 동작하고, 오른쪽 볼륨 버튼은 원격 기기의 물리 버튼 처럼 동작하고, 마지막으로 말이 필요없는 블랙베리 키보드를 블투 키보드로 활용할 수 있다.
농담 아니라 RIM에서 블투 키보드 하나 출시해 주면 좋겠다.

키보드 최고이고,전체적으로 간결하고 깔끔해서 좋긴한데 오래 쓸거 같지는 않음.
필요한 앱도 앱월드에선 찾아지지 않고, 오래된 버전의 OTA를 찾아서 설치해야하고, 지원은 끊긴지 오래고, 시들어 가는 생태계에서 굳이 불편함을 감래하고 싶지는 않다.
블랙베리

블랙베리

하계휴가 – 경주 여행

2012-08-17   //   alexken작성   //   인생  //  No Comments

경주는 90년 고1때 수학여행이후 처음.
카메라 둘의 배터리가 앵꼬가 나서(아니, 충전을 하지 않아서가 정확한 표현), 어쩔 수 없이 아이폰으로 3D PVR 놀이만 했음.

7월31일 작성해 놓은거 이제서야 공개
佛國寺-四天王像

길어서 가림
더 보기 >>

오늘의 라이딩 후 사진

2012-07-25   //   alexken작성   //   인생  //  2 Comments

오랜만에 남기는 오늘의 라이딩후 사진.

요즘도 퇴근후 라이딩은 계속하고 있다.
어제 라이딩할때, 날씨가 상당히 청명하여 시계(視界)가 좋아 카메라를 안들고 온걸 후회했었다.
하지만 오늘은 달무리도 있고, 어제와는 다른 날씨였지만, 그냥 찍어옴.

페이지:«1234567...42»