rootでmozcが動かない事が判明したので、常時rootの情弱である筆者は無理やり動かすpatchを書いた。
https://github.com/otakuto/mozc-1.13.1651.102-asroot.patch
と言ってもgeteuid()とgetuid()を削除しただけの簡単なお仕事でした。
一応Gentoo用である。
そういえばvlcもrootでは動かなかったがバイナリエディタでなんとかなった記憶がある。
Usage:
mkdir -p /etc/portage/patches/app-i18n
cd /etc/portage/patches/app-i18n
git clone https://github.com/otakuto/mozc-1.13.1651.102-asroot.patch
mv mozc-1.13.1651.102-asroot.patch mozc-1.13.1651.102
emerge -av mozc
mozc-1.13.1651.102しか対応してないので~amd64しよう。
2014年11月24日月曜日
2014年9月3日水曜日
GentooでArduinoを使う
GentooでArduino IDEを落としてきて使おうと思ったら
avrdude:error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory
とか出てきてArduinoに書き込めなかったので
emerge avrdude
してやって
ln -s /usr/bin/avrdude arduino-1.0.5/hardware/tools/avrdude
ln -s /usr/bin/avrdude arduino-1.0.5/hardware/tools/avrdude64
でシンボリックリンク貼ってやったら動いた
avrdude:error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory
とか出てきてArduinoに書き込めなかったので
emerge avrdude
してやって
ln -s /usr/bin/avrdude arduino-1.0.5/hardware/tools/avrdude
ln -s /usr/bin/avrdude arduino-1.0.5/hardware/tools/avrdude64
でシンボリックリンク貼ってやったら動いた
2014年5月20日火曜日
C++14のconstexprとsproutでBrainfuck
書いた
https://github.com/otakuto/constexpr_brainfuck
こんなに複雑だったのにC++14は偉大やな
constexpr で Brainfuck - C++でゲームプログラミング
http://d.hatena.ne.jp/osyo-manga/20120424/1335193680
https://github.com/otakuto/constexpr_brainfuck
こんなに複雑だったのにC++14は偉大やな
constexpr で Brainfuck - C++でゲームプログラミング
http://d.hatena.ne.jp/osyo-manga/20120424/1335193680
2014年3月8日土曜日
C#でのreadonlyの罠
C#での定数はconst定数とreadonly定数の2種類がある。
const定数では参照型を代入することができないがreadonly定数ではできる。
またconst定数はリテラルとして扱われるが、readonly定数は普通の変数として扱われる。
readonly定数は完全にconstantな訳でなく、フィールドやプロパティの
書き換えは行えてしまう。
class A
{
public int a;
public int b
{
get;
set;
}
}
class B
{
public static readonly A a = new A();
public void test()
{
//コンパイルエラーにならない
a.a = 3;
a.b = 4;
}
}
C++は比較的まともなconstオブジェクトを作れるので、その点ではC#より優れていると言える。
またreadonly定数は普通の変数として扱われる。そのためランタイムに初期化を行うので、readonly定数の初期化に初期化されていないreadonly定数を使うとバグが発生する。
class A
{
//Cが初期化される前にBが初期化されてしまうためにBが3になる
public static readonly int B = C + 3;
public static readonly int C = 4;
}
C#erには常識かもしれないがC#初心者の私は引っかかってしまった。
const定数では参照型を代入することができないがreadonly定数ではできる。
またconst定数はリテラルとして扱われるが、readonly定数は普通の変数として扱われる。
readonly定数は完全にconstantな訳でなく、フィールドやプロパティの
書き換えは行えてしまう。
class A
{
public int a;
public int b
{
get;
set;
}
}
class B
{
public static readonly A a = new A();
public void test()
{
//コンパイルエラーにならない
a.a = 3;
a.b = 4;
}
}
C++は比較的まともなconstオブジェクトを作れるので、その点ではC#より優れていると言える。
またreadonly定数は普通の変数として扱われる。そのためランタイムに初期化を行うので、readonly定数の初期化に初期化されていないreadonly定数を使うとバグが発生する。
class A
{
//Cが初期化される前にBが初期化されてしまうためにBが3になる
public static readonly int B = C + 3;
public static readonly int C = 4;
}
C#erには常識かもしれないがC#初心者の私は引っかかってしまった。
登録:
投稿 (Atom)