| @映画/ドラマ/テレビ

This is England

評価 : ★★★★☆


"This Is England" (Original Soundtrack)

ブリットポップ前夜、フォークランド紛争後の1983年のイングランドが舞台。スキンヘッドの若者たちがクソなサッチャー政権とクソな社会に反発する映画。とても面白かった。

主人公ショーンは12歳の少年。父親をフォークランド紛争で亡くし、母親と低所得者向けの住宅で過ごす。父が買ってくれたフレアのパンツを学校に穿いて行って「ウッドストックに帰れよ」とからかわれ、しょぼくれてとぼとぼ家に帰っているところをガード下にたむろするスキンヘッド集団に声をかけられる。グループのリーダー、ウディに励まされたことでスキンヘッド集団と関わるようになる。

当初はウディらと健全(?)なスキンヘッドライフを送るショーンだが、ウディの旧友、コンボが刑務所から出てきてグループの調和を乱しまくる。彼は刑務所での経験がもとで人種差別主義者と化していたのだ。グループにはミルキーというジャマイカ系の男がいるのに、コンボは彼の前でも構わず人種差別的な言動を繰り広げる。これにウディは気分を悪くし、コンボを避けるようになる。結果的にグループは二分するのだが、ショーンは愛国主義的で排外的なコンボの思想に惹かれるようになる。コンボのグループは政治集会に参加したり、パキスタン系の移民を迫害したり、どんどん政治色を強めていく。そして悲しい結末がショーンとコンボを待ち受けているのだった。

冒頭のフォークランド紛争の報道映像を引用してるシーンがショッキングだった。地雷で片足を吹き飛ばされた英兵が担架で運ばれる映像が挿入される(補給艦に搭乗していてミサイル攻撃を受けて負傷した兵士らしい : フォークランド戦争 - MEDIAGUN DATABASE)。イギリスは結果的にフォークランド紛争に勝利したけど、多くの艦船を失い、少なからぬ死傷者を出したみたいだ。加えて社会に蔓延する英国病。なぜ移民には住宅が優遇されるのに、元々の住民であるイングランド人が貧しい暮らしを送らなければならないのか。コンボは極端な人種差別的国粋主義者だが、言っていることは一理ある。排外的なスキンヘッド集団が生まれたのには様々な時代背景があったことが分かる。

ストーリー以外の部分では、ウディ(風貌がルパン三世っぽい)のファッションがとても格好良かった。Ben Shermanのシャツの下にサスペンダーでぴちぴちのジーパンを吊し、ロールアップした足下にはDr. Martensのブーツ。さらに上からピンバッジ付きのMA-1などのフライジャケットを着る。フライトジャケットとかすごくダサく見えてたけど、ジャストサイズをこういう風に着こなすととても格好良く見える。イギリスでは2007年公開の映画だけど、この格好はこれから流行るんじゃないだろうかと思った。

英語も特徴的で面白い。どの英語がどこ訛りだとか詳しいことは分からないけど、comeは「カム」より「コォム」と聞こえるし、canは「キャン」より「カァン」と聞こえ、アメリカ映画の英語とは全然別物だ。「ああー、イギリスいいわぁー」っていうイギリスかぶれには辛抱たまらんはず。

加えて音楽。ブリットポップ前夜のイギリスはパンクロックばかりなのかと思っていたけど、そうじゃなくて、スキンヘッズはスカやレゲエ、ソウルも聴いてたみたいだ。1980年代に入ってからスキンヘッズは白人優位の人種差別的集団と化したようだが、そもそものルーツはジャマイカ系移民のスタイルに強く影響を受けていたらしい。だから人種差別主義者のコンボが、マリファナをくゆらせながらブルースを聞くシーンもある。僕はパンクはあまり好きじゃないのだが、作中で使われてた音楽はどれも格好良く、サントラを買おうとしたらAmazonでは何と在庫切れ中。そのくらいかっちょいい。

ショーンが年上の女の子スメルに恋をするんだけど、このスメルって子がまるでX Japanのメンバーみたいなメイクをしてて不思議な色気があった。

| @技術/プログラミング

デフォルトの管理ファイルは画像のサムネイル表示しないし、一ページに全部のファイルを表示して見にくかったので見やすいように改良してみました。これで画像ファイルの管理のためにFTPクライアントを起動する必要がなくなると思います。一ページに100ファイルずつサムネイル付きで表示します。詳しくはダウンロードページを見てください。

DOWNLOAD : P_BLOGの resources フォルダ管理ファイル改善版

配列の操作とPOSTメソッドでのPaginationの勉強になったなー。あとはファイルの作成日時ごとにソートできるようにとかしたいですね。

ところでWordPressは画像をアップロードした場合もいちいちデータベースに情報を保存してるっぽいですよね。画像のためにそこまでやるのは無駄なような気もするけど、どの画像がどの記事で使われているのかといった情報が参照できるのは確かに便利かなーと思った。DBにこういう情報が保存してあるなら日付ごとのソートとかファイル管理も劇的にやりやすくなりそう。

PHP 5でしか使えない関数を使っていたので公開停止します。ダウンロードした方すみません。

差し替えました

PHP 4でも動くものに差し替えました。ご迷惑おかけしました。

| @散財

久々にiPhoneの話です。

tumbladdict — 超絶カイテキなTumblrクライアント

まずはtumbladdict。TumblrをiPhoneからカイテキに使うためのアプリです。これ、リリース前にDashboardで情報が流れてるの見たときからずーっと使いたいって思ってたんですけど、昨日リリースされたようで早速購入しました。230円。これいいっすわー。前に「Tumblrは雑誌だ」って書いたけど、朝起きてすぐとか夜寝る前とか、寝床の中でもぞもぞするときに眺めるのが気持ちよいんですよね。それこそ雑誌を眺める感覚で。でもiPhoneのSafariやTumblr公式アプリとかだとReblogがひたすらめんどうで、途中で飽きちゃうんですよね。しかしこのtumbladdictは設定によってはワンタップでどんどんReblog/Likeが出来てしまって、Firefox + Greasemonkeyで閲覧してるのと同じくらいカイテキに、いや場合によってはそれ以上カイテキにDashboardをDigることができます。昨日からDashboardには喜びの声があふれており、なんとiTunes Storeの有料アプリランキングで6位に入ったらしい。iPhoneユーザーでTumblrやってる人にはオススメなアプリケーションですね。中毒必至です。

tumbladdict 1
ハートのアイコンでLike、リロードマークみたいなアイコンでReblogです。
tumbladdict 2
コメント付けてReblogすることも可能。


iTunes Continue reading...

| @技術/プログラミング

最近のコメントのページ(Recent Comments)で、各コメントのタイトルにマウスオーバーするとコメントの本文を取ってきてぬるっと表示するようにした。Tumblrの notes を読み込むときみたいなアクション。結構かっこいい。

コードはこんな感じ。相変わらず無駄な変数が多い気がする。もうちょっと行数減らせそうなんだけど書き方が分からん。

// load entire comment
$(document).ready(function() {
	$("#recent-comments a.taggedlink").mouseover(function() {
		var loadUrl = $(this).attr("href");
		var id = loadUrl.match(/#.*/);
		var cid = 'div' + id;
		var cip = 'div' + id + ' + p.auth' ;
		var loadPath = loadUrl + ' ' + id + ' div[class=comment-content]';
		$(cid).load(loadPath, function() {
			$(cip).css("clear", "both");
			$(this).slideDown("slow");
		});
	});
});

今回はonclickとか使わずに極限までJavaScriptだけでアクションを実現しようとしたけどやっぱ無理だった。諦めて途中でHTMLの構造をいじってしまった(idを指定した)。もっと勉強しないといけないなー。

| @技術/プログラミング

自己紹介のページに最近deliciousにブックマークしたものを表示しようと調べてたんですけど、こういうの発見しました。知ってました?

HTML Feeds

HTML feeds are available for users. This is an easy way to add your Delicious links to your blog, and can be used as a simple view of your bookmarks on a mobile device.

delicious/help/html

スゲー。たとえば僕のブックマークだったら http://feeds.delicious.com/html/morygonzalez/ で一覧を取ってこられます。 ? のあとにいろいろパラメーターを指定すると細かく出力内容を調整できるし、タグごとのフィードも吐き出してくれる。しかもHTMLなのがいい。プログラミングはあんまりわからんちんなので、RSSを解析してHTMLとして出力とかできないし。HTMLで提供してもらえるならそれをちょいちょいと読み込んでしまえばいい。HTMLでiframeのなかにぶっ込むのもあり。

僕はPHPに以下のように記述して読み込んでます。ちと時間かかるけど。

// Get delicious Bookmark
ob_start();
readfile('http://feeds.delicious.com/html/morygonzalez/?count=10&tags=no&rssbutton=no');
$delicious  = ob_get_contents();
ob_end_clean();

| @ブログ

Tribe Called Questの人のことじゃないよ(古)

ToolTip系のPlug-inはブログを作ったばかりの結構最初の頃から長いことArekorePopupを使ってました。透過やtext-shadowが美しいのでいまでも好きなんですけど、SafariがVersion 3.xになってからポップアップの位置がずれるようになった。誰か解決方法をブログに書いてないかなーってずーっと探してたんだけど、なかなか見つからない。

さらに先日、Googleの(Googleとは直接関係ないらしい)Chromiumを試してみたところこちらでもArekorePopupの表示位置がずれる。どうやらこれはSafariに固有の問題じゃなくてWebKit系全般の問題のようだ。

ArekorePopupは長らくバージョンアップとかされてないし、jQueryのプラグインに似たようなやつがあったので思い切って外してみることにした。それがこのqTipってやつです。

qTip jQuery plug-in qTip - The jQuery tooltip plugin - Home -

qTipの特徴はと言いますと、

  • スタイルを簡単にカスタマイズできる
  • 透過pngとか画像を使ってなくて完全にCSSとHTMLだけでスタイリングされてる
  • クロスブラウザなのでIEのこととかなんも考えずに使える
  • ファイルサイズが小さい
  • APIとかが充実しててカスタマイズ魂を刺激する
  • 画像とかHTMLもポップアップで表示できるらしい

text-shadowとか背景の透過表示はできないところがArekorePopupに負けてますが、ToolTip自体の表示位置だとか矢印の表示位置を激しくカスタマイズできるのが結構良い感じです。

ちなみにこのブログでは以下のように記述して使ってます。

$("a[title], img[alt]").qtip( {
	style: {
		padding: 5,
		background: '#191919',
		color: '#FFFFFF',
		title: {
			'font-size': 10
		},
		border: {
			width: 7,
			radius: 5,
			color: '#191919'
		},
		tip: 'topLeft',
		name: 'dark' // Inherit the rest of the attributes from the preset dark style
	},
	position: {
		target: 'mouse'
	}
});

| @技術/プログラミング

クリックした後にしばらく経ってから続きの部分が表示されるだけだとつまらないから、クリックしてから続きが読み込まれるまでの間にローディングgifが表示されるようにしてみた。参考にさせてもらったのはhysyskさんのブログ。

ローディングgifはこちらで作った。

コードはこんな感じ。よかったらどなたか添削してください。

function readMore(x) {  
  
	// format vars
	var id = x.replace("#", "");
	var loadPath = '/article.php?id=' + id + ' div#wrapper div[class=comment entry-content]';
	var rm = x + ' p.read-more a';  
  
	// hide read-more  
	$(rm).hide();  
  
	// write ajax-loader.gif
	$(x).append('<div id="loading" style="text-align: right; position: relative; top: -28px;"><img src="./images/ajax-loader.gif" width="28" height="28" /></div>');  
  
	// show and hide ajax-loader.gif
	$("#loading").bind("ajaxSend", function() {
		$(this).show();
	}).bind("ajaxComplete", function() {
		$(this).fadeOut("slow");
	});  
  
	// load rest of content
	$(x).load(loadPath);  
  
}