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

2014/05/30

FreeRXduino で GR-SAKURA のローカルビルド環境を整えてみた

最近、GR-SAKURA の Web コンパイラのバックエンドライブラリとして使われていた、RXduino が自由にダウンロードできるようになり、FreeRXduino として公開されたようです。
http://rx.tokudenkairo.co.jp/freesoft.html

今まで、GR-SAKURA の開発環境は、Web コンパイラがあったわけですが、そのプロジェクトをローカルにダウンロードして、手元でビルドすることはライセンス的に不可能でした。
(詳細: http://rx.tokudenkairo.co.jp/license_gr.html)

しかし、FreeRXduino が公開されたことで、手元のローカルマシンでビルドすることが、ライセンス違反なく、自由にできるようになります。
ただし、オープンソースではないので、ビルド環境ごと再配布したり、RXduino を改変した物を公開したり、 GPL のソースコードとともにコンパイルしたバイナリを再配布したりすることも不可能です (LGPL なら問題ないはずです)。

# ちなみに、最近 Web コンパイラに、GR-SAKURA ライブラリ v2.00 が追加されました。こちらはオープンソースとなるようですが。つまり、RXduino は終焉の方向?

そこで、久しぶりに GR-SAKURA を持ちだして、少しいじってみました。
(とはいえ、実は目的があってのことなのですが、それは後日)

2013/07/27

Debian の Apache では Javascript の gzip 圧縮は有効になってない?

Google の PageSpeed Insights って知ってますか?
  • https://developers.google.com/speed/pagespeed/insights
Web ページの表示速度を最適化させるために、あらゆるやるべきことを教えてくれます。簡単にでることもあれば、こんなの無理だろという指摘まで...

最近は、このあたりを最適化してるかしてないかで Google の表示順位も変わってくるらしいので、暇なときに簡単にできそうな問題は修正しておくと良いです。

ところで、僕のある Dokuwiki のサイトを PageSpeed Insights にかけてみたらこんな結果が出てきました。
以下のリソースを gzip で圧縮すると転送サイズを 294.4 KB(71%)削減できます。
    http://example.com/lib/exe/js.php?tseed=1373562644 を圧縮すると 294.4 KB(71%)削減できます。
ん?という感じです。Apache の gzip 圧縮は mod_deflate で有効になっているはずなのですが、確かに HTTP ヘッダを観測してみると、gzip でも deflate でも圧縮されてません。

2013/05/14

自炊 PDF を Kobo Touch 向けに ImageMagick で変換してみる

最近このおもちゃを手に入れました。Kobo Touch です。
http://kobo.rakuten.co.jp/

当たり前のように、買ったのではなく、キャンペーンでもらいました。貰わなくても、そこら中で投げ売りされてるわけですが、タダより安いものはないです。もちろん、もらうには理由があって、最近研究室関連で本を読んだり論文を読んだりすることが多いので、活用してます。

そんなわけで、まずはあんなことやこんなことをしないで、正常に使ってみます。しかしながら、少し使ってみた感じとしては、(定価では)同じような値段で売っている Kindle Paperwhite に勝るところはたぶん無いと思います。バックライトついてないと、暗いところだと辛いですね。

 さて、早速 ScanSnap で自炊されている本を入れてみたのですが、縦横比の問題とか余白が大きすぎて、そのままでは綺麗に見るのは難しそうです。世の中には、Windows 向けに自炊したものを変換してくれるものもあるみたいですが (ChainLP など)、手元に Windows もないので ImageMagick とかを使ってうまく行かないか試してみます。

2013/02/04

Linux から L2TP/IPsec で VPN

最近、Softether が開発している PacketixVPN 4.0 に、L2TP, OpenVPN, MS-SSTP が対応して、その界隈ではとても熱い感じです。
おかげで、様々なクライアントから特別なソフトウェアの導入なしにつなげるようになったことで、夢が広がります。
まだ、ベータ版というか、RC1 の状態ですが、ダウンロードして試すことができます。

クライアントから、手軽に L2TP/IPsec したいよね?

そんなわけで、Linux からも L2TP/IPsec で VPN したいわけです、しかも手軽に。
クライアントからつなぐ際、PPTP とか OpenVPN であれば、NetworkManager が対応しているわけなんですけど、L2TP/IPsec は StrongSwan が対応しているようで、なんかうまくいきません。
(少なくとも PSK, 事前共有鍵 を使った接続はできなさそうだった)

設定ファイルをぽちぽちいじるのも、なんか前世代的で面倒です。
それに、結構色々設定しなきゃいけません。

l2tp-ipsec-vpn を使ってみる


色々探してみたのですが、OpenSwan をバックエンドとして使う l2tp-ipsec-vpn を使うのが良さそうです。
これなら、GUI からぽちぽち設定してつなぐことができます。PSK にも対応してます。

Debian (wheezy 以降) や Ubuntu であれば、以下のようにしてインストールするだけです。
sudo apt-get install l2tp-ipsec-vpn
メニューから GUI のプログラムをたちあげると、上記のような設定画面が出てくると思います。

設定とか

接続の設定画面はこんな感じですね。
"Use pre-shared key for authentication" の部分に PSK (事前共有鍵) を入力します。

今回の接続先の、Packetix VPN の L2TP/IPsec は PAP にしか対応していませんので、PPP タブに移って、"Allow these protocols" を選択して PAP にチェック入れた後、"User name" と "Password" を入力します。

それと、"IP Settings" の中の "Obtain DNS server addresses automatically" にチェックを入れておきましょう。
これにチェックを入れないと繋がらないかもしれません。
または、DNS サーバーのアドレスを手動入力しましょう。

設定が終わったら、GNOME3 であれば、右下のタスクバーみたいなところに l2tp-ipsec-vpn が常駐しているはずなので、設定名をクリックするとつながります。

初期設定は、VPN を貼ったネットワークがデフォルトゲートウェイになるので、設定を変更したい場合は "IP Settings" -> "Routes..." で設定しましょう。

Linux でも割と手軽に、L2TP/IPsec で VPN を張ることができました。
接続先も Packetix VPN を使えば、とても簡単に設置することができるので、良い時代になりましたね...

2013/01/05

Raspberry Pi のセットアップから日本語化まで

先月辺り、僕のところにもやっと Raspberry Pi が届きました。

"ラズベリーパイ"というこのボード、$35 で買える ARM の SoC が乗った名刺サイズコンピューターというやつです。
Linux が動いて HDMI, LAN, USB がついていて、SD カードがストレージになります。
RAM は 512MB も積んでいます。(僕に届いた新しいモデルの場合)

詳しい仕様は、以下のサイトを見てみてください。
とにかく、ガジェットオタクとしては格好のおもちゃなわけです。
しかし、乗り遅れたこともあって、7月初めに注文して、届いたのが12月初旬という...

とりあえず動かしてみる

とりあえず Raspberry Pi を動かしてみたいと思います。

まあ、Raspbian という Raspberry Pi 向けの Debian が用意されていて、これを書き込むだけなんですけど。
必要なものはこんな感じです。
  • MicroUSB ケーブルか、MicroUSB ACアダプタ
  • 4GB 以上ぐらいの SD カード
  • USB キーボード・マウス
  • HDMI ケーブルと対応したディスプレイ
  • 有線 LAN (ソフトウェアのインストールに必要)

2012/12/26

gitolite で誤った公開鍵を設定して gitolite-admin を push してしまった時の対処

gitolite を、某所で導入しているのですが、先日やらかしてしまったことを...

gitolite といえば、git リポジトリをたくさん作って管理するのにとても最適なソリューションなわけですが、公開鍵の設定とかも gitolite-admin というリポジトリを使って設定するようになってるんですよね。

この前、公開鍵の設定をするときに少しミスってしまいました。
keydir/user_name.pub に公開鍵を設定するのですが、複数の鍵をこのファイルに入れられると思っていたのですよね。

しかし、そううまくはいきませんでした。
$ git push
Counting objects: 9, done.
Delta compression using up to 3 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.56 KiB, done.
Total 5 (delta 0), reused 0 (delta 0)
remote: Already on 'master'
remote: WARNING: a pubkey file can only have one line (key); ignoring foo.pub
remote: WARNING: a pubkey file can only have one line (key); ignoring bar.pub
というわけでダメみたいです。
gitolite は、authorized_keys と違って、ひとつのファイルにひとつの鍵しか入れられないみたいです。
WARNING を出してきたくせに、reject されませんでしたが、もう一度修正して push してみると...
$ git push
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
(ノ∀`)アチャー

試しに root でログインして、/var/lib/gitolite/repositories/gitolite-admin.git を直接 clone して見ましたが、push しようとすると...
# git push -f

Counting objects: 10, done.
Delta compression using up to 3 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.75 KiB, done.
Total 6 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (6/6), done.
remote: Use of uninitialized value in do "file" at hooks/update line 36.
remote: Null filename used at hooks/update line 36.
remote: error: hook declined to update refs/heads/master
To /var/lib/gitolite/repositories/gitolite-admin.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to '/var/lib/gitolite/repositories/gitolite-admin.git'
(ノ∀`)アチャー

と思っていたのですが、救いの手がちゃんと用意されていました。
# su - gitolite
$ cd .ssh
$ ls
authorized_keys  known_hosts  old_authkeys
ちゃんと一つ前の公開鍵がここに設定されているんですよね。
これを書き戻すだけでどうにかアクセスできるようになりました。
$ cp old_authkeys authorized_keys
めでたしめでたし。

2012/10/07

Debian wheezy で Skype を使う (Multiarch)

最近、amd64 な Debian sid (wheezy/testing) で Skype が使えなくなったー。
と思っていたのですが、どうも Debian が Multiarch に対応したようですね。
ARM 周りのサポートおかげでしょうか?
そのおかげで、ia32-libs などがなくなって、Skype の 64bit 版が使えなくなりました。
しかしながら、Multiarch を使えば、引き続き使えるようなのでそれをご紹介。

Multiarch とは、例えば i386 のバイナリを amd64 な kernel, マシンの上で動かせるようになるものです。
メインターゲットは x86 ではなく、ARM も複数の arch が最近出てきて (armel, armhf) その周りの対応のおかげのような気がしないでもありません。
このあたりに詳しいことが書いて有ります。

とりあえず、Multiarch で x86-64 なマシンの上で、i386 バイナリが動くように設定してみましょう。
やりかたは、Debian Wiki を参考にしました。

Architecture の追加

まずは dpkg に、multiarch で使う新しい architecture を追加します。
$ sudo dpkg --add-architecture i386
以下のように、foreign-architecture が追加できたことが確認できます。
$ sudo dpkg --print-architecture   
amd64
$ sudo dpkg --print-foreign-architectures
i386

apt の設定

/etc/apt/sources.list を以下のように編集します。
deb 行の [arch=amd64,i386] の部分を追加してください。
deb [arch=amd64,i386] http://ftp.jp.debian.org/debian/ wheezy main non-free contrib
deb [arch=amd64,i386] http://security.debian.org/ wheezy/updates main contrib non-free
それができたら、apt-get update します。

やらなくて良いみたいです。、

Skype のインストール

まずは、依存関係からチェック。
Multiarch で他の arch のバイナリをインストールする場合、パッケージ名に :i386 のような postfix をつけます。
$ sudo dpkg -I skype-debian_4.0.0.8-1_i386.deb
 Depends: libasound2 (>> 1.0.18), libc6 (>= 2.3.6-6~), libc6 (>= 2.7), libgcc1 (>= 1:4.1.1), 
libqt4-dbus (>= 4:4.5.3), libqt4-network (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.6.1), 
libqtgui4 (>= 4:4.6.1), libstdc++6 (>= 4.4.0), libx11-6, libxext6, libxss1, libxv1

$ sudo aptitude install libasound2:i386 libc6:i386 libc6:i386 libgcc1:i386 libqt4-dbus:i386 
libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtgui4:i386 libstdc++6:i386 libx11-6:i386 
libxext6:i386 libxss1:i386 libxv1:i386
Skype のサイトから 32bit (i386) 版をダウンロードしてインストールします。
$ sudo dpkg -i skype-debian_4.0.0.8-1_i386.deb
これでおわり。
他にも Multiarch が使えるようになると、色々できるようになるので、使ってみてください。

追記:
Debian Wiki にもやり方が掲載されてました。こちらもご覧ください。
http://wiki.debian.org/skype

2012/07/04

Hotmail のアクセスログを開示してもらう方法


先日、といってもしばらく前ですが、僕の Hotmail のアカウントに不正アクセスされました。
アドレス帳に入ってたアドレス全部に対して、よくわからない URL の入ったメールを送信されたようです。
ただ、ウイルスが感染するとか、なにかインストールされるとか、そういう類では無さそうです。

送られてしまった人はごめんなさい。

やられただけでは惜しいので、アクセスログの開示とかも試みてちょっと頑張って見ましたが、まあ原因を究明するのは無理でした。
なにか踏んだわけでもないので、パスワードがどこかから漏れたのだと思います。

Hotmail は、普通にアクセスログが見れるわけではないのですよね。
Gmail みたいに、ログイン時にいろんなトラップ、じゃなくて認証をかけることができたり、アクセスログが簡単に見れたり、そんな機能はついてないです。
どこかに問い合わせて、開示してもらわないといけない。

ただ、開示方法がダイナミックで、お問い合わせからカスタマーサポートに開示してください!って申請したら、Microsoft Answers でその旨を投稿してくださいって誘導されました。
Microsoft 版知恵袋みたいなサイトです。
そこで、不正アクセスされたので、アクセスログ開示してください!!って言ったら、本当に開示してくれました。おどろき。
やり取りはこんな感じ。
結果的に、Telekomunikacja Polska S.A. というポーランドの ISP から送信されてることがわかりました。
まあ、地域的には大体予想通りですね。

ちなみに、Hotmail は送信元 IP をメールのヘッダーに X-Originating-IP としてくっつけてくれてるので、これも見て見ましたけど同じでした。
すぐにパスワード変更したのもあって、ログイン履歴に残ってたのは1回のみですが、アドレス帳も抜かれてるわけですし、きっと Web からログインされたのでしょう。

非常に残念です。
Hotmail は捨てアドなのでまともに使ってませんでしたが、Windows Mobile 使ってたこともあって、古いアドレス帳が全部入ってたのですよね...

パスワードは、今以上に色々使い分けるべきなのかな、とか思ってしまいました。
本当に、どこから漏れたのだろう。