Fedora19でgeditが落ちる問題

シンタックスハイライトの色つきの場所で, ibus使った補完とかするとgtkがSegmentation Faultで落ちる問題が発生してた.

日本語使う時だけkateにしたりして回避してたけど, パッチ が公開されてたのでこれ使うとうまくいく. まだrpmに反映されてないっぽいので我慢ならない人どうぞ.

1. ビルドするディレクトリを確保

mkdir -p ~/rpm
cd ~/rpm
mkdir BUILD RPMS SOURCES SPECS SRPMS

2. SRPM を落としてインストール

cd SRPMS
yumdownloader --source gtk3
rpm -ivh gtk3-3.8.4-1.fc19.src.rpm

3. パッチを保存

cd ../SOURCE
nano gtk+-3.8.4-gettextlayout.patch
# Attachment 248359 のパッチをコピペ

4. spec を編集

cd ..
nano SPECS/gtk3.spec

24行目

Patch0: gtk+-3.8.4-gettextlayout.patch

125行目

%patch0 -p1

5. ビルド&インストール

rpmbuild -ba SPECS/gtk3.spec
rpm -ivh --force RPMS/x86_64/gtk3-3.8.4-1.fc19.x86_64.rpm

プロコン合宿

2週間近く経ってしまいましたが. 3/11〜13 の 3 日間の合宿を開催しました. 北は北海道から南は沖縄まで各地から足を運んでいただき本当にありがとうございました.

Day1

会津大の 3 時間セット. @cos65535 さんと @lyoz さんと組ませていただきました.

A 問題で時間どころか cos さんのリソースまで使ってしまいかなり足を引っ張りました. 申し訳なかったです….

Day2

@WinField95 さんと @denkounezumi さんで阪大の 5 時間セット.

B, D を担当しました. D の goto busters は最初,強連結成分を見つけてどうにかするのかとか考えててハマってしまってひどかった. 結局最後は何度も更新してベルマンフォードみたいな感じになった. 後でよく考えると類題が結構あったのでもうちょっとうまくできればよかったなぁと.

Day3

そして立命の 3 時間セット. C, D を作成して Clar が飛んでこないかビクビクしながら見てました.

C 問題で想定解法の 1 / 3 ぐらいの長さのコードが速攻 AC されて「あっ…」と思わず声を上げてしまった. そりゃぁそうだよなぁ…と.たぶん B より簡単では.

D は立命セットおなじみのアレです. 出,出〜,解法導出容易然実装面倒奴〜 ただこれまでの立命セットの中ではひどくないはず.

終了 3 分前の全完はかなり熱かったです.

問題作成の話

12 月ぐらいに開始して 2 月の時点で 1 問ぐらいしか完成してなくていろいろとやばかった.

前回までは Subversion + pukiwiki + rime で作業していたのですが, 卒業してしまう先輩のサーバに頼るのを止められないかなと思い Dropbox + Sphinx + rime 環境を提案. 結果的に Dropbox が衝突しまくったり生成物まで共有したりでひどかったです.

Sphinx も数式が書けたりHTMLが簡単に吐けたりできるのは良かったけど, 箇条書きの細かいルールやインライン要素がネストできない [1] あたりがちょっと不評でした. AOJ 用テーマがあったらプレビューできて楽かもしれない. wikify の代替で rstfy も作ったけど crontab とかで自動化しないと誰も叩きませんよね. うーん,次問題作成の機会があったらどうしようかな…….

1: 後から思えば raw html を差しこめばできるじゃん.

GTKでつながってるボタン

Gnome shell のアカウントの追加とかでよく見るつながってるボタンってどうやって作るんだろうと思って調べた.

ButtonBox の style class として linked を設定するとできるらしい.

通常

つながってる

glade だと,共通タブに Style Classes という項目がある.

あと,Gnome Shell が Alt + PrintScreen できなかったの少しショックだった. Shift で範囲選択した.

パーフェクトPythonを読んだ

な… 何を言ってるのか わからねーと思うが(ry

基本的な文法紹介するだけとかWebアプリに偏ってたりしてなくておもしろそうと思ったので買ってしまった.

1章の概要で特徴とか思想とかが解説されててすごく良い. そういうのって開発言語を選ぶときにとても重要だし.

あと言語仕様も意外と知らなかったところがいろいろ. 特にイミュータブルの intern とか,空のコレクションや len で 0 を返すと偽になるあたりとか. あと関数アノテーションも初めて見た.

メタクラスはまだ必要に迫られたことないよなー. 必要なときって?と思って探すとあるんだけど,そんな状況滅多に無いし.

それに distribute のあたりが解説されてるのはとてもありがたい. もうすぐ置き換わっちゃいそうだけど.

Linuxはデスクトップ環境の2.x依存が解消されたあたりで移行が進むのではと見ているんですが, その頃には packaging とかの少し残念だったあたりも解消されて良い感じになってくれるといいなー.

新デスクトップとディストリと最適化

大学の研究室でデスクトップPC割り当ててもらったので早速Linuxをインストールすることに.

要望としては:

  1. gnome3系(gnome-shell, Unity, Cinnamon)が簡単に入る
  2. 長く使いたい(半年とかですぐインストールするの面倒)
  3. python2.7がメイン
  4. python3.3がパッケージにある

Gentooを試してみる

2の観点から TLでよく見る某OS を試してみた.

昔ちょっと遊びで入れてみたこともあるし大丈夫だろうと思ってインストール開始. しかしNVIDIAとかRealtekのドライバで苦戦.

そして python3 を入れたら 3.2 が….

Fedora

デフォルトでGalliumが動くのですごく楽

一通り必要なものを整えて一応最後に yum -y update っと…

そしてドライバが動かなくなる

なぜかカーネルアップデートからのGallium死亡. NVIDIAから公式ドライバをインストールすることに.

カーネルが新しすぎてチェック時に引っかかるのでコメントアウトして解決.

PyCUDAも入って一安心.

そうだ,最適化しよう

Gentooでコンパイルオプションつけてマシンに最適化できるのいいなーと思ったのでfedoraでもやってみた.

:::sh
$ yumdownloader --source zsh
$ rpmdev-extract zsh-5.0.2-1.fc18.src.rpm
$ cd zsh-5.0.2-1.fc18.src
$ tar xvf zsh-5.0.2/
$ cd zsh-5.0.2/
$ patch -p1 < ../いろいろ.patch
$ ./configure --prefix=/usr/ --libdir=/usr/lib64 CFLAGS="-march=native -O3 -pipe"
$ make -j4
$ sudo make install

たぶんrpmbuildとか使ったらパッチ当てるあたりをもっと簡単にできるのかな.

さらにbash, nautilus, gedit等も-march=native -O3で…

体感速度的にはzshの補完が速くなったような気がする.

そして調子に乗ってpython2.7をビルドしてインストール.

はい死んだー

LiveCDからpython持ってきてなんとか回復.

Fedora 18 を入れてみた

Python3 が 2.7 を超えてきたらしい ので移行したいなと思い,どうせならディストリごと変更してみました.

Ubuntu12.10 は Unity の依存関係だろうと思うけど python3 は 3.2 で python3.3 が別に用意されています. 他にもハードの相性とかが悪くていろいろと使い勝手が悪かった.

Arch は python が既に 3 系に置き換わってるけど,そこまではちょっと行き過ぎかなと思ったので保留 (デスクトップ環境まで整えるの面倒だし). というわけで Fedora

Alan Cox 氏 がインストーラが不安定と言っていたのでちょっとビビってましたが結構大丈夫な気がします.日本語表記ちょっとおかしかったけど. それよりも mozc の導入が少し難しかった.インプットメソッドの切り替えが,iBusの設定からGnomeの設定に移動して統一感あるかなと思ったけど,全角・半角キーが何故か効かないので mozc のショートカットキーに On/Off を割り当ててどうにかしました.

あと,今まで Ubuntu が適当に面倒を見てくれていた MP3 とかのコーデック関係とか, シェルに認識されるキーコードが違って(?)今までの zshrc がうまく動かなかったり.

去年あたり Mint を使っていた時は gnome shell が落ちまくって散々な目にあったけど, 今のところそのようなことは無いです.