自由大学のレクチャープランニング攻略法を考えてみた

世田谷にある自由大学のレクチャープランニングにお邪魔してきました。レクチャープランニングとは、自由大学の講義企画を自由に提案できるイベントです。僕は一般参加者(審査員)として参加しました。

今回は4つの企画案がプレゼンされたのですが、より多くの票を集めた企画を参考に傾向と対策を簡単に考えてみました。

企画案一覧

まず、以下の企画が提案にあがっていました。(得票順)(順位/名称については、お酒を飲んでたためあいまいな点が多々ありますw)

  1. 未来の仕事をつくる 地方編
  2. 宗教の特徴と注意点(名称かなり曖昧)
  3. 種子学
  4. おうち食堂

レクプラ傾向と対策

広く関心を集める企画は、はやり強い

ニッチなものより、多くの人が関心を持ちやすい仕事や社会現象的な要素がある講義はやはり多くの票を集めていました。
審査員は色々な人が集まっているので、ニッチなものを提案する際は一般人でもメリットを理解できるような工夫をこらすことが必要になりそうです。当たり前といえば当たり前ですね。

費用対効果が大きいものも、やはり強い

全5回の講義で28,000円という設定になっている為、費用対効果がそれなりにあるものがはやり強いです。
具体的には、自由大学でしか受講できなさそうなもの(教授が非常にレアな存在だった「宗教の特徴と注意点」)や、実際に自分の収入や生き方に繋がりそうなものが人気でした。

自由大学でやる意味をちゃんと考えているか

見事ベストプランニング賞に選ばれた「未来の仕事をつくる 地方版」は、自由大学でこの講義をやる意味がちゃんと考えられていて、それが票に結びついた結果になったのではないかと思います。
自由大学代表の黒崎さんの思想ともちゃんとマッチングさせていて、自分の思いだけではなく講義する場所のことも念頭においてプレゼンされていました。

他の企画案では自由大学で行う意味についてあまり触れられていなかった印象があり、自由大学という場所に興味があり集まってきている人たちに効果的に訴求できたという点が「未来の仕事をつくる」の勝因だったのではないかと思います。



以上、今回のプレゼンをもとに考えてみたレクプラ攻略法でした。今後プレゼン予定のある方は参考にしてみるといいかもしれません。(結果に責任はもちませんが)

Mac OSX に Scribus 1.3.5 をインストール & 日本語環境で起動しない件について

気づいたらいつのまにかに、Scirubs が 1.3.5 にバージョンアップしてた。しかも、Mac 用のインストーラがオフィシャルで提供されている!

ちなみに、Scribus とはオープンソースDTPソフトです。印刷屋さんにも入稿できるPDFファイルがつくれます。

インストール方法

さっそくダウンロードしてインストールしてみた。基本的にはディスクイメージを展開して、でてきたアプリをアプリケーションフォルダに移動するだけ。すごく簡単!

  1. http://sourceforge.net/projects/scribus/files/ から、Scribus_1.3.5.1.dmg をダウンロード
  2. ディスクイメージを展開して出てくるアプリアイコンをアプリケーションフォルダにドロップ&ドラッグで移動
  3. 以上

さっそく起動!! だが。。。

では、さっそく起動してみると、なにやらエラーがでてクラッシュしてしまいます。。。


で、色々試してみたところ、「システム環境設定」で「言語環境」を"English"優先にして一旦システムを再起動させた後*1に Scribus を起動したらちゃんと動きました。


「システム環境設定」>「言語環境」

起動した!!


起動画面


新規ファイル作成画面



編集画面


全体的にインタフェースが美しく洗練され、グラフィックソフトっぽさが増しました。

2つの対応策

言語環境を英語にすれば起動するのですが、いちいち再起動するのは面倒なので、それを回避する方法を2つほど考えた。

英語環境のユーザを別に作る方法

英語環境のユーザを別途作成して、ファストユーザスイッチで Scribus を使うときだけ英語環境ユーザに切り替えます。

Scribus 起動前後にファインダーを再起動させる方法

言語設定を英語にしたあと、ファインダーを強制終了メニューから再起動した上で Scribus を起動する方法。

  1. 「アップルメニュー」>「システム環境設定」>「言語環境」で、"English" の優先順位を1番にする
  2. 「アップルメニュー」>「強制終了...」 で、”ファインダー” を "再度開く"
  3. 英語環境に切り替わるので Scribus を起動

そうすると Scribus が起動します。
そのまま英語環境なのが嫌な場合は、言語環境を日本語に設定しなおしてファインダーを”再度開く”と Scribus 起動中でも日本語環境に戻ることができる。



どっちの方法にしろ面倒くさいので、制作者に日本語環境じゃ起動しない旨を伝えてみてみます。

ちなみに日本語環境下での起動エラーログ

*1:ファインダーの再起動だけでもOK

続きを読む

Mac の X11 で日本語入力メモ

environment.plist を作る。

mkdir -p ~/.MacOSX/
mv environment.plist ~/.MacOSX/

cp /usr/X11/lib/X11/xinit/xinitrc ~/.xinitrc
vi .xinitrc

if [ -f "/sw/bin/kinput2" ] ; then
xrdb -merge /sw/etc/app-defaults/Kinput2
/sw/bin/kinput2 -canna -xim -kinput &
fi

exec $sessionmgr

#xrdb -merge ~/.Xdefaults
xrdb -merge /sw/etc/app-defaults/Kinput2
/sw/bin/kinput2 -canna -xim -kinput &
quartz-wm

警告 に 「NO」!!

※間違ってYESにしちゃった場合

rm ~/Library/Preferences/org.x.X11.plist

X11再起動

以上。

ヱヴァ新劇場版で碇ゲンドウが微妙に人間っぽくなっている件について(ネタバレ)

ヱヴァンゲリヲン新劇場版:破』を観てきたのですが、新劇場版『序』『破』での碇ゲンドウが旧作よりも微妙に人間っぽく演出されていたのでメモ。

『序』:葛城ミサトに詰め寄られ「んっ?!」と唸ってしまう

『序』のクライマックス、実子であるシンジを作戦から降ろそうとするゲンドウ。しかし、部下である作戦責任者の葛城ミサトに異議をくらってしまう。そんなとき、いつもは冷静沈着極悪非道なゲンドウがとってしまった咄嗟のリアクションがこれ。

ゲンドウ「現時刻を以て初号機パイロットを更迭。狙撃手は零号機パイロットに担当させろ」
冬月  「 碇」
ゲンドウ「使えなければ切り捨てるしかない」
ミサト 「待ってください!! 」
ゲンドウ「んっ?!」 ←ここ
ミサト 「彼は逃げずにエヴァに乗りました。自らの意志で降りない限り、彼に託すべきです!!」

『破』:碇シンジに押されてちょっと身を引いてしまう

『破』のクライマックス近く、パイロットを辞めて一度は出て行ったはずのシンジが戻ってくるシーン。息子の意外な積極的主張を受けてたじろぐ碇ゲンドウ

シンジ 「僕を初号機に乗せてください!」
ゲンドウ「何故、お前がここにいる?」
シンジ 「父さん!」
ゲンドウ(ちょっと身を引く)←ここ
シンジ 「僕はエヴァンゲリオン初号機のパイロット、碇シンジです!!」

以上。

Jslibs を Mac OS X 10.5 にインストールする

Jslibs とは?

Jslibs is a standalone JavaScript development runtime environment for using JavaScript as a general-purpose scripting language.

http://code.google.com/p/jslibs/

まずはソースをとってくる

svn checkout http://jslibs.googlecode.com/svn/trunk/

guname と autoconf213 を ports でインストール

guname と autoconf213 が必要なので、ports経由でインストール。

sudo port install coreutils
sudo port install autoconf213
cd /opt/local/bin
ln -s guname uname
ln -s autoconf213 autoconf2.13

Jslibs を make

make all

なんかコケた

make -C src/jshost all BUILD=opt BITS=32 DEST_DIR=/Users/ynakajima/src/jslibs/trunk/Darwin_32_opt/
make -C ../host/ -f Makefile all
mkdir -p Darwin_opt_32/
gcc -c -Wall -O3 -s -funroll-loops -I../../libs/js/Darwin_opt_32/ -I../../libs/js/src -m32 -fno-exceptions -fno-rtti -felide-constructors -o Darwin_opt_32/host.o host.cpp
In file included from stdafx.h:17,
from host.cpp:15:
../common/platform.h:321:19: error: error.h: No such file or directory
host.cpp:31: warning: ‘_unsafeMode’ initialized and declared ‘extern’
host.cpp: In function ‘void stdErrRouter(JSContext*, const char*, size_t)’:
host.cpp:115: warning: label ‘bad’ defined but not used
host.cpp: In function ‘void* WatchDogThreadProc(void*)’:
host.cpp:238: warning: no return statement in function returning non-void
host.cpp: In function ‘JSBool ExecuteScriptFileName(JSContext*, const char*, bool, int, const char* const*, jsval*)’:
host.cpp:651: warning: ‘status’ may be used uninitialized in this function
../common/errors.h: At global scope:
../common/errors.h:33: warning: ‘JSBool JL_ReportError(JSContext*, J_ErrNum)’ defined but not used
../jslang/../common/jsClass.h:169: warning: ‘JSBool RemoveStatic(JSContext*)’ defined but not used
../jslang/../common/jsClass.h:228: warning: ‘JSBool RemoveClass(JSContext*, JSClass*)’ defined but not used
make[2]: *** [Darwin_opt_32/host.o] Error 1
make[1]: *** [../host/Makefile] Error 2
make: *** [src/jshost] Error 2

調査中。

concrete5 : オリジナルブロックの作り方

concrete5 という最近話題になっている PHP で動く CMS があります。

concrete5 のブロックはすごく便利

concrete5 の特徴のひとつとして「ブロック」と呼ばれるものがあります。

ブロックとはなにか?

ブロック

ブロックとは、ページ上のエリアに追加する事が出来るコンテンツや機能です。ブロックの種類により、様々な機能を搭載しています。

編集モードにすることにより、ブロックを追加、移動、編集、削除する事が出来るようになります。

ブロックタイプ

ブロックには様々な機能を持ったものがあります。

ブロックの種類には:

  • シンプルなテキストのみの記事ブロック
  • 画像ブロック
  • ページリスト
  • サイトマップ
  • アンケート

などがあり、すべてがブロックとして構成されています。例えば、一般的なサイトにある「お問い合わせ」のページを例にとると、住所や電話番号等は「記事」ブロック、サイト上からお問い合わせを受け付けるときに使用するメールフォームは「フォーム」ブロック、そして、会社の地図を表示させたいのであれば、「グーグルマップ」ブロックを追加して、それらを組み合わせて行きます。

すべてのブロックは、基本的には独立したものです。

http://concrete5-japan.org/help/basic-concepts

オリジナルブロックの作り方

ローカルホストもしくはweb上にある外部ファイルを読み込んでそのまま表示する、「include」というブロックを作ってみたのでメモ。

ブロックを構成する必須ファイルリスト
  • controller.php(必須)
    • オリジナルブロック用のクラスを宣言するファイル
    • ブロックの名前やデータベースのテーブル名などの設定を記述する
  • db.xml(必須)
    • データを保存する必要がある場合に使われるデータベースのテーブルの構造を記述するファイル
    • ADOXMLS フォーマット
  • add.php(必須)
    • CMS上からブロックを追加する時に実行されるファイル
    • 入力フォームをここで用意する
  • view.php (必須)
    • ブロックが表示される時に実行されるファイル
    • 表示したいものを記述する


Basic Block Template というテンプレート一式が下記URLよりダウンロードできます。
http://www.concrete5.org/files/14981212950798basictest.zip

まずはオリジナルブロック用のクラスファイルをつくる

まずは、オリジナルブロック用のクラスを記述するファイルである controller.php をつくる。ここでは基本設定も一緒に記述する。

<?php
	class IncludeController extends BlockController {
		
		var $pobj;
		
		protected $btDescription = "外部ファイルを読み込んで表示します";
		protected $btName = "外部ファイル表示";
		protected $btTable = 'btInclude';
		protected $btInterfaceWidth = "350";
		protected $btInterfaceHeight = "300";

	}
	
?>


BlockController というクラスを継承して独自のブロッククラスを作成。ここでつけるクラス名は他のブロックと重複してはダメ。

  • $btDescription
    • ブロックの説明
  • $btName
    • ブロック名
  • $btTable
    • ブロックで独自に扱うデータを保存するテーブル名
  • $btInterfaceWidth
    • ブロックインターフェースの横幅
  • $btInterfaceHeigh
    • ブロックインターフェースの縦幅

$pobj ってなんだ?

続いてテーブルの設定ファイルをつくる

オリジナルブロックで扱いたいデータを保存しておく為のテーブルの設定を、db.xmlファイルに記述する。

<?xml version="1.0"?>
<schema version="0.3">
	<table name="btInclude">
		<field name="bID" type="I">
			<key />
			<unsigned />
		</field>
		<field name="url" type="C">
		</field>
	</table>
</schema>

ここでは、bIDフィールド(プライマリキー)と、読み込みたいファイルのURLを保存しておくurlフィールドを定義した。

field要素のプロパティ

  • nameプロパティ
    • フィールド名
  • typeプロパティ
    • データタイプ


typeに指定できるもの一覧。

C: Varchar, capped to 255 characters.
X: Larger varchar, capped to 4000 characters (to be compatible with Oracle).
XL: For Oracle, returns CLOB, otherwise the largest varchar size.

C2: Multibyte varchar
X2: Multibyte varchar (largest size)

B: BLOB (binary large object)

D: Date (some databases do not support this, and we return a datetime type)
T: Datetime or Timestamp
L: Integer field suitable for storing booleans (0 or 1)
I: Integer (mapped to I4)
I1: 1-byte integer
I2: 2-byte integer
I4: 4-byte integer
I8: 8-byte integer
F: Floating point number
N: Numeric or decimal number

http://phplens.com/lens/adodb/docs-datadict.htm


詳しい書式は下記を参照
http://phplens.com/lens/adodb/docs-datadict.htm

CMS上でブロックを追加するときに表示される add.php をつくる

データベースの設定が終わったので、ブロックを追加するときに指定したいデータ等を入力する画面である add.php を作成する。

<p>読み込みたいファイルのURLを記入してください。</p>

<?php echo $form->label('url', 'URL');?>
<?php echo $form->text('url', array('style' => 'width: 320px'));?>
ブロックが表示されるときに実行されるファイル view.php を作成する

ブロックがユーザから閲覧されときに実行される view.php ファイルを作成。

<div class="include">
<?php @readfile($url); ?>
</div>

ここでは独自に表示したいものを記述する。concrete5 がデータベースからデータを読み込んでくれるので、db.xmlで設定したテーブル名と同じ変数名で該当のデータが取得できる。

ここではURL 情報を参照したいので、この場合は $url と書くだけでOK。


以上。