SyntaxHighlighter

ラベル computers の投稿を表示しています。 すべての投稿を表示
ラベル computers の投稿を表示しています。 すべての投稿を表示

2015/05/08

GPS データのマッピング

しばらくGarminのBaseCampアプリを使ってGarmin eTrexからのGPSデータの吸い出しとマッピングをUIで行っていましたが、Version 4.4.7になってから写真のあるフォルダを指定して一括でマッピングすることができなくなってしまいました。
しかたがないので、以前の記事を参考(1,2)にもう一度手順を整理してみたのでメモします。

使用するツールは、gpsPhoto.plとPerlのImage::ExiftoolモジュールおよびXML::parserモジュールです。え?今どきPerl?Pythonでいいやり方があれば教えて下さい。

まずはgpsPhoto.plのセットアップから。


次に端末から抜き出したGPXファイル<GPX_FILE>と写真のあるフォルダ<PHOTO_DIR>に対して、下記のコマンドを実行する。


結局コマンドラインが一番正確で早い気が…

2015/01/04

Blogger モバイルページにSyntax Highlighterを適用する


最近携帯端末(Android/iOS(iPhone/iPad))でBloggerにアクセスしている方が多いことがログからわかってきたのですが、自分もいざアクセスしてみるとSyntax Highlighterを使っているページでコード表示したものが全く表示できていませんでした。携帯用モバイルページとして表示されるからです。これではまずいと思ったので、改善したメモを記載します。

まず前提となりますが、以前の記事のようにBlogger HTML/JavascriptガジェットとしてSyntax Highlighterを埋め込んでいることとします。テンプレートにSyntax Highlighterの埋め込みコードを記述するのは簡単ですし、モバイル用テンプレートにも生に書けば動くと思います。しかしテンプレート変更した際に、それらの修正が失われることが多くやり直しが多かったです。BloggerのHTML/JavascriptガジェットとしてSyntax Highlighterを埋め込んでおけば、お好みのテンプレートに変更してもGadgetが維持され、Syntax Highlighterも有効なままというのが大きなメリットとなります。この前提で、モバイルページにも対応していきます。

  1. まず以前の記事と同じ条件になっていることを確認。つまり、HTML/JavascriptガジェットとしてSyntaxHighlitherが埋め込まれていることです。ここでは、ガジェット名を"SyntaxHighlighter"とします。
  2. 次にBlogger Dashboardからテンプレートの設定を選択します。
  3. モバイル用テンプレートの歯車アイコンをクリックし、
  4. カスタムテンプレートを選択して保存します。
  5. 次にブログテンプレートの編集を選択し、
  6. "ウィジェットへ移動"を選択します。するとプルダウンメニューとして幾つかWidgetが出てきます。ここでHTML#(#は番号)と表示されているものを選択します。
    選択すると編集エディタの行がジャンプし、下記のような表示になるでしょう。
    ここで注目するのはtitle属性です。前提として作成してあるHTML/Javascriptガジェットの名前は'SyntaxHighlighter'とすると書きましたが、お使いのガジェット名になるようにHTML#(#は番号)をプルダウンメニューから選択し直してください。ターゲット(Syntax Highlighter埋め込み)ガジェットが見つかったら、mobile属性を'yes'として追記します。
  7. そして最後にテンプレートを保存して完了となります。
  8. 確認として、Syntax Highlighterを埋め込んだページをモバイル端末で表示させてうまくコード表示できていれば成功です。PCで確認する場合には、URL Query Stringとして"?m=1"をつけるとモバイルページ表示になります。

【ご参考】

2014/12/30

プログラミング本ほかの売却メモ


専門書を高値で買取してくれるVALUE BOOKSのチラシを見て、ジョブチェンジで不要となったプログラミング本を売却してみることにしました。

"他店のように一律の買取り額ではなく、本の価値に見合った買取り価格を専門のスタッフが丁寧に査定後、提示させていただきます。買取り・見積もりの際の引き取りは宅配業者と提携により簡単スムーズです。お気軽にお問い合わせ下さい。"
今回、新しいものから古いものまでを売却してみたので、そのメモをします。

まずステップとしては、
  1. 電話する
  2. 身分証明書コピーと銀行振り込み先などの記載用紙をダンボールに入れる
  3. 集配に来たクロネコヤマト配送員に手渡し
  4. 査定金額がメールで来る
  5. OKして振込を待つ
くらいでした。電話する際にダンボールの個数をいう必要があるので、詰めてから電話するのがよいでしょう。査定結果の通知はスキップすることができますが、最初は信頼していませんので念の為に通知をお願いしました。もともと捨てるつもりの本だったのでOK前提ですが、お断りした場合の返送は"すべて一括の返送は無料"とのこと。一冊一冊個別の返送は費用がかかるようなので、査定金額を気にする場合は小さいダンボールで複数便に分けて査定をお願いするのがよいでしょう。

次に、下記が今回出した本になります。


  • 入門Google Android プログラミング
  • 初版2009年


  • ANDROID HACKS
  • 初版2010年


  • Android SDK 開発のレシピ
  • 初版2010年


  • Android 2.1 プログラミングバイブル
  • 初版2010年


  • Android ゲームプログラミング A to Z
  • 初版2011年


  • Android プログラミング入門改訂2版
  • 初版2012年


  • Professional Tizen Application Development
  • 初版2014年


  • HTML5 & API入門
  • 初版2010年


  • 新Perlの国へようこそ
  • 初版1996年


  • サービスデザインパターン
  • 初版2012年


  • Amazon Web Services クラウドデザインパターン設計ガイド
  • 初版2012年


  • Eclipse 3.2対応 Eclipseプラグイン開発 徹底攻略
  • 初版2007年


  • 現実的なC++プログラミング
  • 初版1994年


  • UNIXプログラミングの道具箱
  • 初版2004年


  • 上司は思いつきでものを言う
  • 初版2004年


  • TOEIC TESTリスニング 出るとこだけ!
  • 初版2005年

日曜日に出して火曜日に査定の連絡がメールで来ました。15冊で3,600円。古い本も入っていたので、意外と高値で引き取ってもらえたように思います。ただ最新本は高値査定ということだったので、できれば一冊ごとの金額を提示していただけるとより納得感があったかなと思いました。

2014/12/26

encfs on MacOSX


これまで自宅サーバ上に重要なファイルをencfsで包んで置いていましたが、サーバなのに常時電源OFFという扱いなので、どうしても使い勝手が悪かったです。そこでMacOSXやWindowsでencfsを使える環境を作り、encfsのデータを何らかの形で共有できるようにしておけばサーバに頼る必要がなくなります。

Windowsはencfs4winを使えば、とりあえず無難そうです。

MacOSXはSnow Leopard時代に調べた記憶だとFuseが素直に対応していなかったのでencfsというレベルでもなかったのですが、いま調べて見るとHomebrewを使って素直に行けそう!ということで、試してみました。

osxfusejollyjinx/encfs.macosxのページにはいろいろインストラクションが書いてありましたが、基本Homebrewだけで行けます。

【前提】
  1. Homebrewのインストールが完了していること
  2. Home brew以外のosxfuseをインストールしていないこと(/Library/Filesystems/osxfusefs.fs/Support/uninstall-osxfuse-core.shを実行してアンインストール)

【手順】

そして

として完了です。なお2つ目の手順(最後のコマンド2セット)はHomebrewでインストールしたosxfuseをコピーしているので、Homebrew osxfuseのアップデートがあった場合には、実施しなおさなければならないかもしれません。これをしておかないと下記のようなエラーが出ているかもしれません。


Encfs自体も更新されているので、encfsctrlを使って使用している暗号等を確認してもいいかもしれません。(下記は以前サーバで作ったデフォルト設定)


あとはUSBメモリやポータブルHDD、クラウドストレージにEncfsで暗号化したデータフォルダを置いておけば、いつでもどのクライアントマシンからも秘密のデータにアクセスできます。ムフフ。

2014/12/13

Intel Edison Breakoutボードことはじめ (MacOSX使用)


何に使うかは決まっていませんが、Intel Edison Breakout Boardを買ったので、Mac OS X(Mavericks)でのセットアップをメモします。

まず、BreakoutボードにはUSBが二個口あります。差口の形状が微妙に違う(USB micro-AB?)のですが、両方とも、USB micro-Bで接続可能です。Breakout Boardの上側のUSBがシリアル、下側が電源共有およびUSBマスストレージになっています。下側はUSBチャージャーでも大丈夫ですが、ファームアップデートの際に使用するので、当初はPC接続が良いです。Macbook AirでUSB両挿しで接続していますが、電力が足りないということはなさそうです。

さて、USBを2つつなぐと、EdisonのYocto Linuxが勝手に起動します。Breakout Board上側につながったシリアルに対して通信をするために、
と打ちます。AJ035JT8の部分は環境により異なるかもしれまませんので、都度、ご確認を。ちなみにcuコマンドの終了方法は、'~.'を入力することです。

Yocto Linuxが立ち上がったらログインプロンプトが表示されていると思うので、そうしたらユーザ名=root、パスワード=空でログインします。

初回起動時はファームアップデートにより、最新の環境にします。まず、Breakout Board下側のUSBをMacにつないでいると、FATボリュームがマウントされていることがわかります。
マウントボリュームをFAT32にて再フォーマットをかけます。次に、下記より最新ファームウェア"Edison Yocto complete image"をダウンロードし、unzip後のファイル一式をマウントボリュームにコピーします。
https://communities.intel.com/docs/DOC-23242

シリアル通信でログインしたプロンプトにて、
と打つとリブートして、ファームウェアをアップデート後に、再びログイン可能になります。

ファームアップをしたら、Edisonの設定を始めていきます。設定をするとWi-Fi経由でSSHなどでアクセスできるようになります。
Edisonの設定はセットアップコマンドを利用し、はじめはホスト名を決めます。


次に、rootのパスワードを設定します。8文字以上63文字が必要です。空文字列は認められないので、これは必ずメモっておきましょう。


次に、Wi-Fiのアクセスポイントの設定になります。SSIDをブロードキャストしていれば、そのアクセスポイントに簡単につなげられます。


最後に出力されたアドレスにブラウザでアクセスすると、Edisionの画面を開くことができます。sshdも立ち上がっており、

というようにシェルが使えるようになります。レスポンスもそんなに悪くないので、使い慣れたsshが使えるのは助かります。

さて、Wi-Fiの接続設定が終わったら、次はライブラリのアップデートをしておきます。opkgを使っているようで、下記のようにしてオンラインで更新をかけます。


とりあえずサンプルアプリを眺めようと、Intel XDK for IoTをインストールします。パッケージをダウンロードしてインストールし、アプリを立ち上げてアプリ上でサインアップします。そうするとサンプルアプリを眺められますし、またXDKの使い方についてもアプリ内でナビゲートしてくれたりもします。なお、ウェブサイト上でのサインアップとは異なるようで、アプリ内で実施することがポイントです。

サンプルコードを見ていたらMRAAについては上記以外にも別途アップデートがあるようで、それについては下記のようにして対応してみました。(上記もMRAAのアップデートなのではありますが、、、)
(よくみたら同じリポジトリを指定していますね。なぜアップデートされたのかわかりませんが、たぶんこのステップは不要でした。)

サンプルアプリをXDK経由でインストールする場合には、コンピュータのIPアドレスを予めホワイトリストに登録しておく必要があるようです。


ところで新しいファームウェアではXDKとのセキュア接続になるようだけれども、現在のところはunsecureなコネクションでつながるようです。このままでも良いと思うのですがXDKがすでに対応していてエラーを吐くので、手順に従ってXDK daemonをアップデートしてみます

XDKから接続する場合には、"[+] Add Manual Connection"を選択して、下記のような設定で接続可能です。

試しにサンプルを実施([Upload]→[Build/Install]→[Run]とボタンを押していく。必要なモジュールはXDK経由でインストールしてくれる)しようとしたのですが、、、どうもBreakout Boardだけでは動かないようで…とほほ。


というわけで、このページはこれまで!

【ご参考】

【疑問点】
  1. ファームアップは、①マスストレージ経由でファイルを置いて②ターミナルからreboot otaなのですが、もし起動しないカスタムファームを焼いてしまってターミナルが使えなかったら(つまりreboot otaできない)…リカバリのための他の手順はあるのだろうか