Λ Takuya71 の日記 Λ

ここに記載の内容は個人的な見解で 勤務先、所属先には関連はございません。最近は scala に はまってます。認定スクラムマスター

malloc で異常を検知した際に abortさせる

malloc で メモリの異常を検知した際にabort させることができるようである。

宇宙の晴れ上がり: mallocやfreeでGLIBCが異常を検出した際、abortさせる

MALLOC_CHECK の環境変数の値で動作を制御できる。

動作
0 何も起こさない
1 メッセージを表示
2 abort
3 1と2の両方

2016年 抱負

2016年の抱負

毎年 沢山あげて出来ていないので、今年は 4点。

プログラム言語

ことしは 普通のJava と Ruby を強化しようかな

テクニカル分野

色々 機会があり せっかくなので 今年はAWSについて拡張したい。

Agile

こちらも せっかくの機会なので Agile 関連の知識を身に付けたい。

英語

これは ここ数年毎年上げているのですが 今年は優先順位低い

raspberry pi にしばらくすると SSHで接続できない

現象

先日買った raspberry pi に USBの WiFi ドングルをつけて運用していますが しばらくするとリモートから WiFi のIPアドレスにssh で接続できなくなる現象になります。

  ~  ssh takuya@19.pi
ssh: connect to host 192.168.11.19 port 22: Host is down

使っている USBのWiFiドングルは Planex の GW-USNANO2 というものです。

昔 windows ノート用に買った 多分安いものです。

raspberry pi に接続したら特になにもしないで認識してくれました。

[400737.666908] usb 1-1.4: Product: GW-USNANO2
[400737.666925] usb 1-1.4: Manufacturer: Planex Communications Inc.
[400737.666941] usb 1-1.4: SerialNumber: 00e04c000001

一旦 WiFiのドングルを本体から外して、再度接続すると 接続できるようになるので どうやら WiFi USBドングルが Sleep しているように思われます。

対処

しらべてみると同様の事象がありました。

Raspbian で Wi-Fi がスリープするのを防ぐ - CO's Home 〜 Boiling Water River & Morning Forever

GW-USNANO2 も RealtekのRTL8192CU を使っているはずなのでこれと同じ方法が使えるはず。

同じように /etc/modprobe.d8192cu.conf を作成し、中身は以下のように記述。

options 8192cu rtw_power_mgnt=0

その後 reboot

設定後 接続できない状態にはならないので うまくいっているようです。

追記

接続できない状態はなくなったのですが、samba, netatalk をインストールしてファイルサーバとして使おうとすると wifi 経由では非常にスピードが遅いです。300KiB/s ぐらいしか出ないので 4GBぐらいのファイルをコピーしようとすると 4時間ぐらいかかるって表示になっています。 有線LAN だと 6分ぐらいでコピーできるので raspberry pi 自体の性能ではなく wifi 経由だと非常に遅くなっているように見える。ファイルサーバとして使うなら 有線LANが無難かな。

PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP)

PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP)

PLANEX 無線LAN USBアダプタ 150Mbps GW-USNano2

PLANEX 無線LAN USBアダプタ 150Mbps GW-USNano2

Monster Energy の配布に出会う

今日秋葉原行った時に Monster Energy の車にあって 一本もらいました。

なんか Red○ULLと 同じようなことやっている気がしますが もらってうれしかったです。 味もよかったです。

raspberry pi 2 購入

Raspberry pi 2 を買いました。

今日 秋葉原へ行く機会があり、半年ぐらい前から買おう買おうと思っていた raspberry pi 2 を marutsu にて raspberry pi 2 が限定30個で 4280円(税別)で売っていたので買ってしまいました。

ついでにケースとmicroSDカードも買いました。

microSD は class 10 の 16GBを買ってみました。

 

まずは 普通に raspbian を入れてみようと思います。
Raspbian

www.raspberrypi.org

Lチカもやってみたいな。
JVM言語ようにJavaもインストールしたいし。
GPIO で センサーつけてみたいし。
やりたいこと沢山。
 
 
 
 

Cabocha を CentOS7にインストール

ソースからインストールしたので 他のディストリビューションでも同じはず。

Cabochaのサイト CaoboCha: Yet Another Japanese Dependency Structure Analyzer

ソースをダウンロードします。

tar jxvf cabocha-0.69.tar.bz2
cd cabocha-0.69
./configure --with-charset=utf8
make
make check
sudo make install

10進数から 2進数、8進数、16進数に変換する。 とその逆

Ruby

2進数 8進数 16進数
to_s(2) to_s(8) to_s(16)
11.to_s(2)
=> "1011"

11.to_s(8)
=> "13"

11.to_s(16)
=> "b"

逆に n進数から 10進数の数字に変換するには to_i(n) を使う

'1011'.to_i(2)
 => 11

'13'.to_i(8)
 => 11

'b'.to_i(16)
 => 11

Scala

Scala の場合 Javaのものを使う。

2進数 8進数 16進数
toBinaryString toOctalString toHexString
scala> 11.toBinaryString
res0: String = 1011

scala> 11.toOctalString
res1: String = 13

scala> 11.toHexString
res2: String = b

逆に2進数の文字列から 10進数に変換

java のparseInt を使う。 Long の場合は java.lang.Long.parseLong

scala> java.lang.Integer.parseInt("1011",2)
res11: Int = 11

cala> java.lang.Integer.parseInt("13",8)
res12: Int = 11

scala> java.lang.Integer.parseInt("b",16)
res14: Int = 11

JavaScript

2進数 8進数 16進数
toString(2) toString(8) toString(16)