2012年11月12日月曜日

ブログへのプログラムコード表示

ブログの作成ページでも基本的なページは作れるけれど、プログラムコードの表示エリアを罫線で囲みたいとか、ここの文章の文字の色は変えたいとかは「作成」タグではできないみたい。他の人のページを見ると罫線で囲ったり、色変えたり、画像を並べたり綺麗に配置されてる。blog を書く人にとっては、HTML や CSS はごく当たり前に使うものなのですね。ここは私も「HTML」編集画面デビューしよう。まずは、プログラムコードの囲み枠から!



  1. プログラムコード用の罫線囲み 一番に使いたいのがプログラムコード表示エリアを罫線で囲むこと。pre タグの CSS 定義が Blogger で有効かたしかめてみる。
    こんなコードを書いてみると。。。
    <style type="text/css">
    pre  {
     border: solid 0.1px white;
     padding: 5px 0 5px 10px;
    }
    </style>
    <pre>
    $ ls -l
    </pre>
    
    こんな結果なりました。
    $ ls -l
    
    常に失敗はつきもので、html タグを pre の中に記述する時に"<",">" は "&lt","&gt" に置き換えないとうまく表示されないのですね。というわけで本当はこのように記載しています。
    &ltstyle type="text/css"&gt
    pre  {
     border: solid 0.1px white;
     padding: 5px 0 5px 10px;
    }
    &ltstyle&gt
    &ltpre&gt
    $ ls -l
    &ltpre&gt
    
  2.  
  3. Open Source Java script(SyntaxHighlighter)
    プログラムコードの囲み表示について検索していたら、便利そうな javascript に出会った。これを導入しておけば、先ほどコードも以下のように綺麗に整形されてラクラクです。
    <style type="text/css">
    pre  {
     border: solid 0.1px white;
     padding: 5px 0 5px 10px;
    }
    </style>
    <pre>
    $ ls -l
    </pre>
    

    導入方法は沢山の人が紹介しているけれど一応記載しておこう(ここ)
    •  テンプレートの「HTMLの編集」を選択

    •  テンプレート編集>HTMLの編集を続行

    •  </header> 前にコードペーストし保存

    • 実際に貼り付けるのは必要なコードのモジュールだけ
      <link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
      <link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeMidnight.css' rel='stylesheet' type='text/css'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
      
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'/>
      
      
      <!-- 
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
      <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'/>
      -->
      
      <script language='javascript'>
      SyntaxHighlighter.config.bloggerMode = true;
      SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
      SyntaxHighlighter.all();
      </script>
      
      

2012年11月11日日曜日

リモートデスクトップ

家のテレビ録画機はWindows7! 自動録画予約で網にかかった番組をTMGEncで圧縮して暇な時に ubuntu上で見るわけですが、テレビの前に正座して操作すると目も足もつかれます。そんな訳で「これはリモートデスクトップの出番だよな」と思いながら設定してみました。

ubuntu12.10 でリモートデスクトップと検索すると remmina というプログラムが出てきます。windows7 のリモート操作を許可にして(もともと許可状態でしたが。。)、プロトコルにRDPを選んで試してみましたが繋がりません。

いろいろ調べてみると、Windows7 のHomeエディションは、リモートデスクトップ機能が搭載されていないらしい。(それなら、リモート操作許可のパネルは無効にしておいてほしいですね)

仕方がないので、VNC を Windows7 にインストールして再度トライすると繋がりました。少しガクガクした感じですが、番組予約や圧縮作業などには問題なく使えそうです。おまけに、スリープ状態のWindows7に remmina から接続しに行くと、自動的に目覚めてくれるのでわざわざ歩いて起こしにいく必要もなくなりました。



※後日、こちらの解決策にいたりました。


2012年10月3日水曜日

今更HTML

世の中には、SGML、HTML、XML、XHTML、DHTML などというものがあって、何となくボンヤリと聞き流していたけれど、少し自分なりに整理してみた。

1.SGML
マークアップ言語の総称で、HTML、XML,XHTMLもマークアップ言語。文章のセンテンスやタイトルなどに印をつけて記述し、表示するツールがそれらの目印を処理してワードプロセッサのように見やすく表示する。この方式のための印を体系だてて整理したもの。

2.HTML
SGMLの一種だが、ホームページ作成のために定義されたもの。これらの解釈する表示ツールは、IE、FireFox、Chrom、Opera などよく知られたツール達である。但し、HTMLは言語定義が曖昧なため、各表示ツールの出力結果が同じになるとは限らないという欠点がある。

3.XML
これもSGMLの一種だが、マーク自体の定義に始まり、曖昧な定義を排除した言語体系を持つ。表現の柔軟性と正確性から、文章の保存レイアウトとして用いられたり、プログラムから文書にアクセスする際の解析モデルとして用いられたりする。

4.XHTML
HTMLにXMLの厳格な長所を取り入れたもの。HTMLの曖昧性が廃されるため、XHTMLに対応した表示ツールであれば、どれも同じレイアウトで再現が可能。ある意味でHTMLの後継的な位置づけである。

5.DHTML
ややこしいが言語仕様ではなく、HTMLに埋め込まれたJavaScript からHTML内の属性をボタン押下などのイベントタイミングで動的に書き換える技術のこと。

6.HTML5(追記)
XHTMLの機能拡張要素とDHTMLの機能拡張要素などが、全般的にみなおされたものである。HTML5は言語というよりは、技術体系として語られている場合も多い。

2012年9月11日火曜日

samba の立ち上げ

ぉ妻様の内職の下請けを請け負うために、今まで dropbox を使ってやり取りしていたが、重いのと、近いのにわざわざ遠まりするのがバカバカしくて samba を自分のマシンに導入してみることにした。まず、samba と叩くと以下のようにせいというのでやってみる。
sudo apt-get install samba4
すると以下のように叱られてしまった。
/var/lib/dpkg/info/samba4.postinst: 14: 
/var/lib/dpkg/info/samba4.postinst: /usr/share/samba/setoption.pl: not found
dpkg: samba4 の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト 
はエラー終了ステータス 127 を返しました
以下のパッケージの処理中にエラーが発生しました:
なんか、hostname とか hosts とかいじるとうまく行きますよというページもあったが私の場合ダメでした。試しに、上記の hostname とhosts をいじったあとに、
sudo apt-get install samba
とやるとうまくインストールできた感じ。smb.conf の[homes]あたりで、ユーザとサーバーのディレクトリと結びつけるのかとおもって勘違いしてはまり(ローカルマシンのディレクトリを共有する機能み たいですね)、やっとそれにきずいても、自分のマシンからは samba 参照できても、妻のマシンからは参照できない。暫く、悩んだ後、ファイアーウォールかと思いあたり、port = 139 を開放するとあっさりとつながってしまった。
結局、半日をこれについやしてしまった。役立つ時がくるといいけど。

2012年9月9日日曜日

iphone 画像の圧縮シェル

wordpress に iphone で撮った写真をアップしようとすると写真がでかすぎると怒られる。
アップロードするファイルのサイズ上限は1MBです。
ubuntu の shotwell ツールで写真を取り込むと以下のような階層構造で写真が取り込まれる。
2012
├── 01
│   ├── 01
│   │   ├── IMG_0805.JPG
│   │   ├── IMG_0806.JPG
│   │   ├── IMG_0807.JPG
│   │   └── IMG_0808.JPG
この階層を別のところにコピーしながら、圧縮するシェルを作成してみた。それなりに便利。
#! /bin/bash
SRCDIR="$HOME/ピクチャ";export SRCDIR
if [ ! -f cp.complete ]
then
 echo "touch cp.complete"
 touch cp.complete
fi
(cd $SRCDIR;find . -name '*.JPG' -print) | sort -u > cp.target
for file in `diff cp.target cp.complete | grep '<' | sed 's/^< //g'`
do
 echo "== $file =="
 mkdir -p `dirname $file`
 convert -resize 1024x768 $SRCDIR/$file $file
done
mv cp.target cp.complete
exit 0

はじめてのPHP&MySQL

O’Reilly の「はじめてのPHP&MySQL」で Unix 上の pear の導入方法の記載が以下のようになっているが、うまく動作しない。
lynx -source http://go-pear.org/ | php
そもそもlynx は「テキストベースのブラウザ」らしいが、これが標準実装されていることが前提で、なにも説明のないあたりは不親切かな。実際にlynx をインストールしてももはやうまく動作しない。
ubuntu では、通常のパッケージ導入と同じく以下のようにするらしい。
sudo apt-get install php-pear
たまたま、pear と打ち込んだから上記メッセージにたどり着くが、なかなか難しいもんです。しかし、これで以下の通り使えるようになった。
naoki@naoki-iMac:~/work/picture$ pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.7 stable
Console_Getopt 1.3.0 stable
DB 1.7.14 stable
PEAR 1.9.4 stable
Structures_Graph 1.0.4 stable
XML_Util 1.2.1 stable

2012年9月3日月曜日

mp3 と aac(m4a) の管理

音楽ファイルの形式は一般的どのように管理しているのだろうか?
  1. カーオディオはMP3
  2. パソコンはどっちでもOKだけMP3がベター
  3. 基本的CD買う
だったので、CDを取り込む時にMP3を作成すればそれで良かったのだが、懐かしのアルバム見つけて思わずプチっと amazon でダウンロードしてしまった。これ MP3 です。何も考えずに、すぐ聞けてとっても便利だし、CD保存場所ももうないし、もうよっぽどの名盤以外はダウンロードでもいいかなとおもっていた。
ふと、また懐かしの曲を聞きたくなり amazon で探してみると、CD販売のみ。うーん。itunes にいってみると、あるある。そしてなにも考えずにプチっとダンロード。これAACです。
こんなことを続けていると、iphone で聴いて、カーオーディオにも iphone つないでる分には、とくに問題ないのだけれど、iphone は基本的にいつも持ち歩くものです。車の乗り降りの度につけたり、はずしたり面倒くさいです。
で、カーオディオはやっぱりUSBメモリで使おうと考えると、どの曲がAACでどの曲がMP3しかないのか解からなくてなって、itunes で一括MP3変換をして ubuntu に find . -name ‘*.mp3′ -exec cp {} dir \; なんてやってたら、MP3の曲が全部何倍にも増えててうんざり。
みんなどうしてるんだろう。iphone 使う人は、itunes しか使わないし、カーオディオもAAC使える機種しか買わないし、もちろん、mp3のダウンロードなんてしないのかな。
おじさんは、sh で音楽リストをつくって、MP3 しか無い曲、AACしか無い曲を判別しながら、全曲MP3に変換してUSBメモリに書くプログラムを作成することにしました。ばかだなぁ。