空飛ぶ気まぐれ雑記帳

主に趣味とかプログラミングについて扱います。

Linuxレビュー

色々忙しくしていて書きたいことも山ほど…あると思ってたけどたいしてなかったのでとりあえず、OSの入れ替えを激しく行っていたのでその時に使っていたディストロの感想

1. OpenSUSE
とにかくよくハングアップする。原因はおそらくハードとKDEの相性が悪いのであろう
それに、CUIからパッケージマネージャを使うのがすごく難しいという印象。
ただ、それ以外は結構快適で、リポジトリんパッケージも比較的新しく動作もいい感じ。
ハードとの相性が良ければ採用しても良いレベル

2.debian 7.0 stable
GNOME3版を入れてしまったというミスさえなければすごく快適だった。
リポジトリも当時は最低限ではあれど十分使える新しさで、ffmpegなど、オーディオ系のパッケージを拾ってきてもデフォルトでmp3などの他のパッケージ(liblameだっけか)に依存したものもリンクされたものが手に入ったので手間がかからずに良かった。

3.Linux mint 17.0
パッケージが新しく、デスクトップ環境も綺麗で非常に快適
ただ、debian程パッケージに安定性はない模様
現在愛用中

ざっと書いたが相変わらずディスク容量は厳し目な模様

sf3d

いそがしくて二ヶ月程、更新を休んでしまったがこおkでやめては3日坊主ならぬ3ヶ月坊主なので更新します。

sf3dとは以前紹介したSFMLに存在しない3Dレンダリングを行うことができるライブラリで、下記のURLがそのライブラリのgoogleグループのURLである。

https://code.google.com/p/sf3d/



使い方はまださして調べていないのでなんとも言いがたいが、sfmlのフォーラムに上がっていたコードを読む限りでが、主にシングルトンパターンを用いて作成されているようであった。

命名ルールはSFMLとは違いメンバ関数は全て大文字から始まっているようで、そのあたりを合わせていないのが少し残念なところである。

まだ、実際に使ってみたわけではないので、感想というものは挙げられないが、そのうち触ってみたいとは思う。



注意点としてはライブラリをビルドするためのMakefileやConfigrueスクリプトは無いので、自分で作成する必要がありそうだ。

よくわからん

Arch Linuxはよくわからん。


先日、よく説明を見ずに眠気眼でEnterキーを連打して依存関係を吹き飛ばしたraspberry piにArch Linuxを突っ込んでみた。

そう、Arch Linuxといえばなんでもかんでも最新版がバイナリでリポジトリにはいってて、「アップデートしたら動かなくなっただと。。。2,3日待って"pacman -Syu"すれば動くだろ」とか言いそうなあれである。

個人的には最新版をビルドする手間をかけずに試せるというのは好みではあるが、2,3日使えんのは致命的なのであまり使いたくないやつではあるが、raspbian上でglibcgcc、clangのビルドをしようものなら、2,3日とは言わず1週間以上掛かりそうなので、その辺りは妥協してArch Linuxを使うことにした。


実際に使ってみるとCUIでしか使わないという事もあってか特に困ること無くパッケージを追加しようと思ったのだが、早速問題が発生した。
なんとgccのバージョンが4.7.2ではないか。

自前でビルドしようかと悩みつつ他のboostやらsambaやらを追加、設定を行った。
その後なんとなく、pacman -Syuを叩いてみるとあら不思議、gcc 4.8.2がリポジトリに追加されているではないか。

これはラッキーと思いそのままアップデート。
その後とりあえず、無線LANを使えるようにしようとペチペチしていると何回試してもwpa_supplicantでエラーが出て接続できない。
何かオカシイと思ってrebootしてみると、sshガガガな状況に…
いや、sshd_configを弄ってからsshdを再起動してもrootでログインできたりと色々おかしかったから何かあるなとは思ったけども。。。

しかたなく、ディスプレイに接続して見てみると、何かよくわからないエラーをはいてbootできないようだったので諦めてもう一度フォーマットしてからOSを書き込むことに。


第2ラウンドは1回目に忘れていたパーティションの拡張を先に行う事に。
参考は
トマト農家のロボット創り Robot creation by tomato farmer: An installation Arch Linux ARM on Raspberry Pi. (archlinux-hf-2013-07-22.img)

とりあえず、パーティションを切り直したら起動させてパッケージのインストール。
今度は前回とは違って先に無線LANの設定に。


ごくごく普通にwpa_passphraseから、wpa_supplicant。
第1ラウンドの時の苦労が嘘のように1発で通ってしまった。

何がダメだったのかよくわからないのが本来なら不味いところだが、マジで良くわからんのでとりあえずOKってことにして、続行。
sambasshの設定もして、快適Raspi Lifeを過ごせる事に。


だが、ここで終わらんのがArchさんというか私。。。
なぜかmakeが通らん。
何か未知のWarningが出てて何か時間がかかりすぎているということしかわからん。
とりあえずこれが土日の成果である。。。悲しい。。

新年明けましておめでとうございます

新年あけましておめでとうございます。
今年もよろしくお願いします。


新年明けてからすでに13日も経過してからすることではない気がするが、けじめとしてして置かなければならない気がしたので書いたわけだが、新年あけてから忙しすぎて碌なことをしていない気がする。

旧年には、Ogre3Dを触るぞとかSUSE触るぞとか言ってたくせに未だに何もしていない。SUSEに至っては1度SDカードの調子が悪く、本当に読み込めないのか確認するために使用しただけである。

忙しいということはいいことなのかもしれないが、やらなければならない事が多すぎるのも考え事だ

Ogre3D

先週はFSMLというライブラリの話を書いた気がしたので今回はその続きとしてOgre3Dについて書く。


Ogre3DはDirect3DOpenGLのラッパライブラリである。

先週紹介したFSMLとの違いは主に4つ。


1つ目は、先の軽い説明にあったようにOpenGLだけでなく、Direct3Dも使える点。

2つ目は、3Dの描画にも対応している点

3つ目は、描画にのみ特化しているためサウンドやネットワーク、ファイルIOなどの機能が実装されていない点

4つ目は、動作環境がWindows、それもMinGWもしくはVisualStudio


となっているらしいが、cmakeでエラーがでているお陰で未だにコンパイルできておらず1度も使っていないので、正直感想という感想も思いつかない。

API Documentを見た限りでは、SceneNodeやEntityというクラスが見えたので、ゲーム等を作る時に重宝しそうなクラスはいくつか見受けられた。
しかし、何度もいうようであるが、まだ1度も使っていないのでなんとも言いがたい。

師走というだけあって今月は非常に多忙で、帰宅してからPCをつけて自分の趣味を楽しむ時間もろくにないので、おそらく使用体験は来月になるのであろう。とか言っても、未だにノートPCに突っ込んだSUSEのもろもろの設定すら終わっていないのに言えたものでもないのだが。。。

SFMLがいい感じ

SFMLというOpenGLのラッパライブラリがすごく使いやすくていい感じだったのでそのまとめ。

SFMLとはSimple and Fast Multimedia Libraryの略で、マルチプラットフォームで利用できるだけでなく、C++JAVAといったコンパイル言語だけでなく、RubyPythonなどのスクリプト言語でも使用することができるライブラリである。

さて、どこがいい感じかと一言でまとめると簡単という所である。

一般的にというか、DirectXOpenGLを触った経験での話だが、描画系ライブラリを扱うには莫大な量の学習コストがかかる。人によって差は大きくあるだろうが、私の場合ただ三角形を描画して、回転させるというプログラムを理解するのに2週間以上、かかった記憶がある。さらに言うなら、DirectX11を利用するには、COMコンポネートの知識は必須なので、そちらの方の勉強にも時間を割かなければならないので学習コストはさらに増加してしまう。
ここまできてやっと色々な物を描画できるぞ、と言いたいところだが、最近の描画ライブラリではパフォーマンスの関係で、固定パイプラインを利用した描画系を推奨していないため、基本的にシェーダプログラムを自分で勉強しなければならないわけで更に学習コストが増加してしまう。
これらの事を勉強している間に何かスクリプト言語を1つ覚えれそうなものだ。

それに比べて、SFMLはいい感じであった。
用意されている機能として、描画系の他にGUI系などもはいっているため、Cで書かれたGLUTを使う必要はない。
それに付け加え、たったの50行程度で、適当な画像ファイルをテクスチャにした、正方形を回転させることができた。

しかしながら、SFMLにも当然だが欠点がある。
このライブラリは3Dの描画には非対応なのである。
個人的にはわざわざ描画ライブラリを使うからには何かしらの3Dを使うことを目的としているので、非常に残念に思う。