news/606released – Ubuntu Linux

Ubuntu, which has become one of the world’s most popular Linux distributions in recent years, launched its latest version on June 1 following months of intense testing. The new release is titled Ubuntu 6.06 LTS (Long Term Support), and has a specific emphasis on the needs of large organisations with both desktop and server versions.

Ubuntu 6.06 LTS ””Dapper Drake”“リリースきたぁあああ。

Open Tech Press | さよならコピーレフト

コピーレフトが実質的に機能しなくなると、どういうことになるだろうか。おそらく、ソフトウェアのブラックボックス化が、今までとはやや違った形でゆっくりと進んでいくだろう。手元に実行形式があるのに、プロプライエタリだからソースが見られない、のではない。そもそも何も頒布しないからソースが見られないのだ。しかしソフトウェアを実行した結果はユーザに手に入る。そんな世界である。これはコピーレフトが実質的に無化された世界と言っても良い。

これは困るなあ。自分が作るWebサービスのソースは公開したいし、それを改変して作ったWebサービスのソースは見たい。それに自分が使うWebサービスのソースも見たいし、ソースが見られるWebサービスが溢れている状態になって欲しい。

GPLv3もその問題にはあんまかかわらない様子ってことは黙って待ってても状況は改善しないってことか。だからといってGPLv2なソフトを使わないWebサービスを目指していろんなソフトを置き換えるのは無理だし。困ったなー。何かできることはないかな。

SaikyoLine.jp: 使ってないライブラリを調べる。

不要なものを調べて指摘してくれる。いわばシステム公認。スッキリ。

スッキリツールのGTKフロントエンド発見。

Screenshot-GtkOrphan.png

あーきもち。

Linuxもついに「見た目で勝負」—ノベル、新ソフト「Xgl」を公開 – CNET Japan

WindowsやMacのルック&フィールが話題となることが多い中、Novellがこのほどリリースした新しいソフトウェアが、Linuxのインターフェースを派手でゴージャスなものに変える可能性がある。

LinuxでもMac OS XやWindows Vistaみたいにウィンドウが透過したりびょーんてなったり仮想デスクトップがキーノートみたいに回転したり。

でも「Xglってようするに何」なのか分からなかったので調べてみた。(ついでにXについても理解してないので調べた)X Window System

入力を受け取って画面にウィンドウを出すための仕様。(XというWindow System) 入力デバイスからイベントを受け取ったり直接画面に描画するXサーバと、そいつに描画をお願いするXクライアント(GUIアプリ)がXプロトコルとかいうプロトコルで通信する。実装がX.org。

ウィンドウマネージャ

ウィンドウの枠とかツールバーとか見た目の部分をXから切り離した仕様。

OpenGL

ベクトル描画のための低レベルライブラリ。 (類似の技術はWindowsのDirectX。)

Xgl

OpenGLを使ってウィンドウをベクトルで描画するXサーバの仕様。現在の実装がXglx。 (類似の技術はMac OS XのOpenGLベースのQuartz、Windows VistaのDirectXベースのAero。)

Compiz

Xglで動くウィンドウマネージャ。

Xglx自体はX.orgの実装を置き換えるものだが、Novellがコードを提供してX.orgのCVS HEADに統合された。

強引にまとめてみた。この理解であってるのかな?

MicrosoftがiPodのパッケージを作ったとしたら。 スペック表ががうける。

windows_rg.png

Windows RG(Really Good Edition) 2004年頃のもの。今だったらYoutubeにあるようなもんで、動きを伴ったネタを公開するのに敷居が下がってるのは楽しい。

Software Design 2006/6 に乗ってたヤツ。書籍にURLあっても面倒でなかなか見ないのでここに置いておきます。

ABARA 上 (1)
  • ABARA 上 (1)
  • 集英社(2006-05-19)
  • 集英社
  • (著)弐瓶 勉
  • 定価:¥ 620
  • 新品価格:¥ 620
  • 中古価格:¥ 506
  • ASIN:4088770889
ABARA 下 (3)
  • ABARA 下 (3)
  • 集英社(2006-05-19)
  • 集英社
  • (著)弐瓶 勉
  • 定価:¥ 620
  • 新品価格:¥ 620
  • ASIN:4088770897

相変わらず絵がすごい。腐ったパイプや外壁階段マニアにはたまりません。

弐瓶 勉の絵でワンダと巨象があったら超やりたいのにな。巨象とか全然いなくて、プレイ時間の99%は階段とか壁を登る。

showstopper.gif
showstopper.gif

ずっと気になってた闘うプログラマーを図書館で借りてきました。(図書館と無職の相性の良さ)

Mac開発話に比べるとソフトウェア開発における泥臭さが感じられてリアルで楽しい。後方互換に苦労したり、バグを一週間かけて調べたらハードの欠陥だったり、特定のソフト向けにフラグを用意して誤魔化したり、印刷が少しずれるのが気になったり。読むと無性にコードが書きたくなります。

Screenshot-komagata@sc8-pr-shell1.sourceforge.net: -deeppocket-htdocs.png

sourceforge.netの罠。 apacheからは/tmp/persistent以下以外書き込めないっ! wikiとか動かす時は/tmp/persistent以下に適当なシンボリックリンク張っとくこと。

そろそろ、「何このUbuntuに夢中な無職」と思われそうなのでたまにはPHPのコードを書いてみました。(無職はスルー)

Webアプリで、思い付いた何かを作るのに何がだるいかというと、DB。オブジェクトを次使うときまでとっておきたい(永続化)だけなのに何故こんな面倒臭いか。

設定が要らなくて、ファイルとか吐かないO/Rマッパーはできないものかと思って試しに書いてみた。

<?php
require_once 'DB.php';

class DB_Object_Abstruct
{
    var $_con = null;
    var $_name = "";

    function get($column, $value)
    {
        $row = $this->_con->getRow(
            "SELECT * FROM {$this->_name} WHERE $column = ?" ,
            array($value),
            DB_FETCHMODE_ASSOC
        );
        foreach ($row as $name => $val) {
            $this->$name = $val;
        }
    }
}

class DB_Object
{
    var $dsn = "";

    function DB_Object($dsn = "")
    {
        $this->dsn = $dsn;
    }

    function factory($name)
    {
        eval("class {$name} extends DB_Object_Abstruct { var \$_name = '{$name}'; }");
        $obj =  new $name;
        $con = DB::connect($this->dsn);
        $obj->_con = $con;
        return $obj;
    }
}
?>

まだgetメソッドだけ。 これを、

<?php
require_once 'DB/Object.php';

$dbo = new DB_Object($dsn);
$user = $dbo->factory('user');
$user->get('id', 1);
print_r($user);
?>

こうやって使う。

DapperでDVD再生。

souses.listに下記を追加。

deb ftp://cipherfunk.org/pub/packages/ubuntu/ dapper main

w32codecs libdvdcss2 totem-xine xine-uiを入れる。

% sudo apt-get update
% sudo apt-get install w32codecs libdvdcss2 totem-xine xine-ui

dapper-totem-dvd.png

見れた。

totemにはtotem-gstreamerとtotem-xineの2種類があってどっちか入れると片方が削除される。なんでだろう。

これはtotemのバックエンドの違いっぽい。gstreamerはGNOMEのマルチメディア系全部引き受けるライブラリというかフレームワークらしい。dapperではまだバージョン0.10ということで今回はxineベースのtotem-xine入れたけどこれが成熟してくれば他のマルチメディア系GNOMEアプリの完成度がグッと上がりそう。