Home away from home

先日の大阪でのLET全国大会の後、せっかく近くまで来たのと、高速道路のインターチェンジができて行きやすくなったということもあって、昔住んでいた街に少しだけ寄ってみた。高槻市というところで、小5の春までをここで過ごした。社会科での地域学習の授業も受けているので、高槻市の小学生程度にはこのあたりのことも知っている(逆に和歌山は地域学習がひと通り終わってしまった後の小5の夏から転校したので、地域のことを知るのに大変苦労した)。

高速道路を下りると、よく使ったバス停の周辺に出た。昔は山しかなかったのに、インターチェンジができて、今は大きな交差点になっていた。実は数年前に和歌山から名古屋に戻る道中にバスに乗って立ち寄ったことがあったのだが、そのときにはまだ工事中だったはずだ。自分の住んでいたときの記憶、数年前の記憶、今回の風景の3つにかなりギャップがあったので、戸惑った。

昔住んでいた宿舎(団地)はもう潰されてしまって、今は完全に住宅地になっていた。そびえ立っていた給水塔も、ボール遊びや鬼ごっこをした(あと骨折もした)公園も、同級生と野球をした広っぱも、全部なくなってしまった。数年前にはそのときにはまだ建物が取り壊されただけで、多少の雰囲気は残っていたように思うが、今回はもうその面影もなくなってしまっていた。

宿舎の並びから道を挟んで向かいの通りには、お店や住宅が並んでいたのに、それもかなりなくなってしまっていた。よくおつかいに行ったスーパーも、道路拡張で跡形もなくなっていた。小学校までの通学路だった商店街も、かなりのお店が閉まっていた。

とはいえ、昔と同様に残っているものもあった。

よくコロッケを買いに来た商店街のお肉屋さんは今も営業中だった。このお店は店頭でコロッケやミンチカツを揚げていて、前を通るととてもいい匂いがしたのだ。今まで食べたコロッケの中でここのが一番美味しいと思っていたけど、この日もやっぱり美味しかったので、思い出補正ではなかったようだ。また買いに来ますね。

父親に連れられて鉄棒の練習に来た、宿舎の敷地外の公園も健在だった。逆上がりができず、悔しいのと悲しいので、泣きながら練習したのだった。泣いているところを同級生に見られて、恥ずかしかった記憶もある。今は涙を流すことはほとんどなくなった。ましてや悔し涙など長い間流していない。あの頃のひたむきな気持ちは失われてしまったようだ。

遠足のおやつを買いに来た駄菓子屋もまだあった。当時は遠足のおやつは150円までと決まっていて、その制限の中で好きな駄菓子の組み合わせを考えるのがとても楽しかった記憶がある。数年前に来たときは、昔店にいたおばちゃんではなくおっちゃんが店番をしていたけど、今はどうされているのだろうか。

小学校までの通学路も、昔と変わらないままだった。当時はすごく長い通学路だと思っていたが、今見るとそんなこともなかった。通学路上にあった公園も、小学校の校舎も、昔は大きく見えたのに、今見るとそれほど大きくは見えなかった。僕の身体が昔より大人になったからなのか。

通った幼稚園や小学校も、そのままだった。当時の同級生とはまったく連絡をとっていない。小学校の5年、幼稚園からなら7年を一緒に過ごしたとはいえ、それももう18年前のことなので、さすがにみんな自分のことなど覚えていないと思う。当時携帯電話があったなら…と思ったりすることもあるが、自分が連絡不精なので、あってもなくても結局今と変わらないような気もする。みんな元気にしているのかな。

1時間弱の滞在だったが、これ以外にも色々と見て回れた。また帰ってきます。

(続)Rで学生・生徒を指定した人数のグループに分ける関数

先日のNagoya.R #18で、以下の記事のグループ分け関数についてお話させてもらった。

Rで学生・生徒を指定した人数のグループに分ける関数

この関数について吉野睦さんから、もっと簡単に同じことができることを教えていただきました。この場をお借りして感謝申し上げます。ありがとうございました。ご提供いただいたコードを許可をいただいた上で以下に転載させていただきます。

rm(list=ls())
 
# エクセル名簿から貼り付けるとこんな感じ(改行だけ)
 
x <- c("
川口勇作
川口勇作
川口勇作
川口勇作
川口勇作
川口勇作
")
# こんな感じに縦に並んでいるものを貼り付ける

# 改行コードで分割する
x <- strsplit(x,"\n")[[1]]           # なぜかリスト形式になってしまうので[[1]]
x <- x[!nchar(x)==0]                 # 空文字列を取り除く
 
# ここからがメインルーチン
class <- 10
index <- rep(1:class,len=length(x))  # クラス番号生成
index <- sample(index)               # クラス番号をシャッフルする
x <- split(x,index)                  # クラス分けする
print(x,quote=FALSE)                 # 名前のダブルコーテーションを取って表示

流れとしては以下のとおり。

エクセルから、ダブルコーテーションなし、カンマなし、改行のみで貼り付けたことを想定し、

strsplit()関数で名前データ生成

あとはメインルーチンで、

クラス数を指定
rep()関数でクラス番号を生成
sample()関数でシャッフル
split()関数でクラス分け
print()関数で、ダブルコーテーションなし表示

自分はfor文の中でfor文を回すという効率の悪いやり方をしていた。以前Python Bootcampに参加したときにも感じたことだが、今の自分にはこういう効率の良いコードを書く能力が欠けているようだ。フィードバックをいただける環境に感謝。

【追記 2018/9/2】
吉野さんから以下のような追加情報をいただきました。ありがとうございました。

最後の、

print(x,quote=FALSE)

を、次のように変更して頂くと、リスト形式がデータフレームに変更できます。

y <- lapply(x,function(z){c(z,rep("",max(sapply(x,length))-length(z)))})
xx <- do.call(cbind,y)
print(xx,quote=FALSE)

 

Rで学生・生徒を指定した人数のグループに分ける関数

【追記 2018/5/13】コードをWordpressに貼り付けたときに一部の文字(””)が違う文字として貼り付けられてしまっていることに気づきました。現状では、そのまま貼り付けただけではエラーになりますので、ご注意ください。 -> 解決しました。

【追記 2018/5/29】特定の人数でエラーを吐くバグを修正しました。バグをご指摘くださった田村さんありがとうございました。

【追記 2018/5/31】出力の”member”が”menber”になってました。どれだけ麺好きなんだ。ということで修正しました。

【追記 2018/8/24】この関数について、Nagoya.Rでもっと簡単に同じことができるというコメントをいただきました。詳しくはこちら


表題の件について。前々から作ろうと思っていたけど、近いうちにNagoya.Rをやることになりそうなので、話の種に作ってみた。

以下をRのコンソールに貼り付ける。

Windowsの方はこちら

groupfunc <- function(p){
	d <- as.vector(read.table("clipboard", header = F, sep = ",")[,1])
 
	#学生数
	n <- length(d)
 
	#余りの人数
	r <- n%%p
 
	#空の行列を作成
	if(1 <= r){
		tb <- matrix(, nrow = trunc(n/p), ncol = (p+1)) #余りが1以上であれば、余分に1列を追加
	}else{
		tb <- matrix(, nrow = trunc(n/p), ncol = p)
	}
 
	#余った学生がいなくなるまで1人多くサンプリング
	for(i in 1:trunc(n/p)){
		if(i <= r){
			for(j in 1:(p+1)){
				tb[i,j] <- sample(d, 1)
				d <- d[-which(d %in% tb[i,j])]
			}
		}else{
			for(j in 1:p){
				tb[i,j] <- sample(d, 1)
				d <- d[-which(d %in% tb[i,j])]
			}
		}
	}
	result <- as.data.frame(tb) 
 
	#空行の削除(参考:http://id.fnshr.info/2017/08/14/r-blank-row-col/)
	#	is_blank の定義
	is_blank <- function(x) {is.na(x) | x == ""}
 
	# すべてが空欄である行を探す
	unnecessary_row <- apply(result, 1,
													 function(x){
														 all(is_blank(x))
													 })
 
	# 「すべてが空欄である行」以外を残す(=空行の除去)
	result <- result[!unnecessary_row,]
 
	#見出し行に名前を付与
	namae <- "member.1"
	for(k in 2:ncol(result)){
		namae <- append(namae, paste("member.", k))
	}
	colnames(result) <- namae
	result
}

【追記 2018/5/13】Macの方はこちらを。Macでは動かないことをご指摘くださった田村さんありがとうございました!

groupfunc <- function(p){
	d <- as.vector(read.table(pipe("pbpaste"), header = F, sep = ",")[,1])
 
	#学生数
	n <- length(d)
 
	#余りの人数
	r <- n%%p
 
	#空の行列を作成
	if(1 <= r){
		tb <- matrix(, nrow = trunc(n/p), ncol = (p+1)) #余りが1以上であれば、余分に1列を追加
	}else{
		tb <- matrix(, nrow = trunc(n/p), ncol = p)
	}
 
	#余った学生がいなくなるまで1人多くサンプリング
	for(i in 1:trunc(n/p)){
		if(i <= r){
			for(j in 1:(p+1)){
				tb[i,j] <- sample(d, 1)
				d <- d[-which(d %in% tb[i,j])]
			}
		}else{
			for(j in 1:p){
				tb[i,j] <- sample(d, 1)
				d <- d[-which(d %in% tb[i,j])]
			}
		}
	}
	result <- as.data.frame(tb) 
 
	#空行の削除(参考:http://id.fnshr.info/2017/08/14/r-blank-row-col/)
	#	is_blank の定義
	is_blank <- function(x) {is.na(x) | x == ""}
 
	# すべてが空欄である行を探す
	unnecessary_row <- apply(result, 1,
													 function(x){
														 all(is_blank(x))
													 })
 
	# 「すべてが空欄である行」以外を残す(=空行の除去)
	result <- result[!unnecessary_row,]
 
	#見出し行に名前を付与
	namae <- "member.1"
	for(k in 2:ncol(result)){
		namae <- append(namae, paste("member.", k))
	}
	colnames(result) <- namae
	result
}

( )の中の引数でグループ毎の人数を指定する。2人グループ(要するにペア)なら2を、3人グループなら3を入れる、といった感じで。

空行の削除は、以下の記事を参考とさせていただきました。

Rで空行・空列を除去する方法

人数がグループ数で割り切れない場合、余った人を各グループに1人ずつ割り当てるような仕様となっている。例えば30人で4人グループを作る場合、4人グループが5組と、5人グループが2組できる。これは自分が授業内で即興でグループを作るときのアルゴリズムに則っている。「いや自分なら4人グループ7組と2人ペア1組にする」という先生がいましたら、この関数はそういうのには対応していませんごめんなさい。

この仕様のせいで、思ったようなグループの人数にならないときがある。例えば40人で7人グループを作るとき、余った5人をできたグループに割り当てていくと、すべてのグループが8人になってしまう。これは余りの人数などで例外処理をしていけばいいのだろうけど、しんどいので今回は割愛。そもそも7人グループとか作ることなんて滅多にないと思う。

これをShinyアプリにするのが本当のねらいなのだけど、それはまた時間のあるときに。

2017年振り返り

2017年は人生のターニングポイントともいえる1年だった。慣れないことわからないことに奮闘し続けた年だった。

3月に博士後期課程を満期退学して、4月から現任校で働き始めた。学部から数えて9年を大学という場を過ごして、ようやくお金を納める側からもらう側に回ることになった。修士から博士まで足かけ5年在籍した名古屋大学を離れて(といっても近い場所ではあるのだが)、マンネリ打開のいいきっかけになる…はずだったのに、結局1年目の忙しさ、不慣れさにかまけて、研究活動らしい活動まではほとんど手が回らなかった。授業のことや事務のことなど、慣れるだけで精一杯だった。来年度は仕事にも慣れるだろうし(また量は増えるだろうけど)、コマ数も減ることになっているので、もっと効率的に仕事をしたいと思う。

研究面で個人的に一番大きかったのは、大修館書店の『英語教育』に寄稿させていただいたことだった(しかも2回も)。大学時代にこの雑誌を読んだことが大学教員を志すきっかけのひとつだったということもあり、この雑誌の記事を書かせてもらえたというのは、自分の中では特別なイベントであった。お声がけくださった皆様に感謝申し上げたい。自分がこの『英語教育』に寄稿するに値する研究者なのかどうかは甚だ自信がないが、自信を持てるようにこれからも精進していきたい。

仕事以外の面だと(というか仕事を含めても)、子どもが生まれたというのが今年の一番大きいイベントだったと思う。子どもはかわいい。けど赤ん坊の世話は経験したことがなかったので、慣れるまでしんどい思いをした。子どもの存在が仕事の励みになる一方で、家では仕事にならないので、仕事の仕方を変えようと試行錯誤した年だった。今でもなかなかうまくいかないが、個人的な信条として、仕事と家庭のどっちか一方だけというのはやりたくないので、頑張っていきたいと思う。とにかく子どもはかわいい。大事なことなので二回言いました。

あと春先に初めて車を買った。安い中古車だけど(しかも早速バンパー擦ってしまったけど)最初の車ということで愛情もひとしおである。小さい車なのでいつまで乗れるかわからないが、これからも大事に乗りたい。

来年もよろしくお願いいたします。

 

ThinkPad X1 Carbon(第3世代)のゴム足交換

先日、ThinkPad X1 Carbon(3rd Gen.)のゴム足が取れた(参考: ThinkPad X1 Carbon(第5世代)の感想)。そこでレノボのカスタマーサービスに連絡して、ゴム足を送ってほしいとお願いしたところ、保証内の範囲で対応してくれることになった。ただし、ゴム足だけ送るということはできず、ベースカバー(裏蓋)ごと交換になるという。PC本体を送りつけて先方で交換してもらうか、ベースカバーだけ送ってもらってこちらで交換するか、という選択肢を提示され、自分で交換を選んだというのが今週頭の話。

その後、いろいろと確認事項が書かれたメールが届いた。内容は、交換済みの部品を返送すること、その際梱包資材は送られてきたものをそのまま使うことなど、手続き上の注意点に加えて、シリアルナンバーの書かれたラベルを新しいベースカバーに貼り替えてください、とあった。

一昨日(連絡してから2日後)、ベースカバーが届いた。当たり前だが2年弱使ったものよりきれいである。早速取替作業を行う。ネジ穴が持っているドライバーと微妙にマッチしなかったが、なんとか締め上げ作業終了。あとはラベルを貼り替えるだけ…となったとき、ベースカバーと一緒にラベルがたくさん入った袋が同封されていることに気がついた。よくよく見てみると、製造地や基準適合マークが書いてあるラベルがいっぱい詰められていた。元々のラベルを移植すればいいやと思っていたので、横に放っておいて作業開始。

自分のものは日本の米沢工場で製造された、所謂米沢生産モデルというやつで、ラベルにもAssembled in Japanの表記とともに、Factory IDがYZ(米沢)と記されている。米沢モデルにこだわって購入した自分としてはこのラベルに思い入れがあるのだ。

そう思いながら作業を開始したのだが、なんとラベルを剥がすのに失敗してしまった。こだわりのラベルが見るも無残な姿に。つらい。こんなことなら剥がす前に写真をとっておくのだった。

それではせっかくなので新品ラベルを使わせてもらおうか・・・と思ったら、なんと自分のPCの製造地が表記されたラベルが入っていないではないか。添付されていたラベルは、Made in China表記の、Factory IDがKSのものばかりで、米沢ラベルは1枚も入っていなかった。

(ちなみに「KSってどこやねんks」と思いながら調べてみたが、この工場についての情報は見つからなかった。一体どこなんだろうか)

ということで、しかたなく応急処置として、日本語が書かれたKSラベルを貼っておいた。けどやっぱり悔しいので、レノボに米沢ラベルを送ってもらえないか交渉してみる予定。うーん。

そうそう肝心のゴム足は、今のところしっかりとくっついている模様。もう少し活躍してもらおう。


【追記】

サポセンに問い合わせてみたところ、米沢生産ラベルは保守部品として用意がなく、手配できないそう。とっても残念。米沢ラベルを貼り替えされる方は、破損しないようにご注意ください。

てかこんなガチガチにひっついたラベルを貼り替えるってのがそもそも無理ゲーだったよな…。

 

ThinkPad X1 Carbon(第5世代)の感想

そこかしこにいっぱいレビューが出ているので今更感はあるが、先日届いた第5世代のThinkPad X1 Carbonの感想を、感動が薄れないうちにまとめておきたい。

まず何よりサイズが小さくなったのが素晴らしい。今まで使っていた第3世代と比べて、14インチという画面サイズそのままで、額縁が狭くなったことで、ひと回り小さい13インチPCレベルの大きさになった。この微妙なダウンサイジングが意外と馬鹿にできなくて、膝上や、喫茶店のテーブル上で画面を開いたときの圧迫感がかなり軽減された。

そして軽くなった。第3世代は1.3kgほどだったのに対し、第5世代は1.1kgほど。たった0.2kgの違いだが、量りにかけるまでもなく、手に持って比べてみると軽くなったことがよく分かる。

個人的に一番楽しみにしていたのがWWANで、本体が届く前からSIMカードを入手して待っていたほど。使ってみると、やはり便利だった。出先でいちいち携帯のテザリングやらモバイルルーターやらをオンにする手間が省けただけで、すごく得した気分になる。スリープから復帰して再度電波を拾う際にもたつくのが気になるが、これからドライバがアップデートされればなんとかなると思っている。

割と重要視しているキータッチも、第3世代と比較して改善されたように思う。フニャフニャせず、しっかりしているし、かといって硬すぎるわけでもない。程よい感じ。

見た目の話をすると、天板が金属っぽい加工だった第3世代に対して、第5世代では伝統のピーチスキン加工が復活していた。これもThinkPadらしくて非常に良い。

あと、第5世代のトラックパッドは非常に良くなっていた。第3世代では、2本指で画面スクロールをしてもなんとなくカクついた動きだったのに対して、第5世代ではMacと遜色ない操作感。ポインタ操作は基本的にトラックポイント(所謂赤ポチ)派で、トラックパッドはそれほど使わないのだけど、これなら使ってもいいと思える出来だった。一方トラックポイントは、もう少しポインタ速度を上げられるとよいのだけど、これもドライバが更新されればなんとかなると思っている。

ということで全体的にはかなり満足度高め。Thunderbolt3で接続するドックも注文中なので、それと併せて使うのが楽しみだ。


【追記】

ゴム足の仕様も第3世代から変わっていた。第3世代は、円形のゴム足が強力な両面テープでくっついているだけだった。この第3世代のゴム足が、一旦何かのきっかけで取れてしまい、そこから頻繁に行方不明になって困っていたのだが、今回のモデルは本体と固定されている(らしい)ので、そういうことはなさそうだ。

ちなみに先日、第3世代のゴム足がまた行方不明になって見つからなくなり、レノボのカスタマーサービスに問い合わせたら、保証の範囲内で新しいものを送ってくれることになった。といっても、ゴム足だけの送付はできないらしく、ゴム足のついた新品のベースカバー(裏蓋)が送られてくることに相成った。本体預かりで交換か、自分で交換して古いパーツを送り返すか、どっちがいいかと聞かれたので、裏蓋くらいなら自分で交換しますと返事した。今は裏蓋を待っているところである。

スマホ(Arrows M03)の内部ストレージにしたSDカードが死んだ話

スマホ(という呼び方が実は好きではなくて普段は携帯と呼んでいるのだけど、伝わりにくいのでここではこう呼ぶ)で使っていたSDカードが死ぬという嫌な出来事が起きたので、久しぶりにブログに書く。

まず、自分が使っているスマホは富士通のArrows M03という、一般的にミドルスペックとされている機種(もちろんOSはAndroid)。OSがAndroidで、SIMフリー対応で、かつおサイフケータイ対応の、数少ない機種の一つである。ちなみに防水・防塵・耐衝撃という、自分好みの特徴も持っている(同じ理由で、時計はG-SHOCKが好きだし、PCもタフなThinkPadやLet’s noteが好き)。

ただ残念なのはマシンスペックで、CPUは前世代の感があるSnapdragon 410で、RAM容量は控えめな2GB。購入時にもいささか心もとないと思ってはいたものの、目をつぶって購入したら、やはり普段使いですらもたつくことが多く、使っていてストレスを感じる機会が多かった。
http://www.fmworld.net/product/phone/m03/spec.html

そして内蔵ストレージは16GBなのだが、これが思っていた以上に問題で、普段使いのアプリをインストールしただけですぐに容量がいっぱいになり、新しいアプリをインストールすることができなくなってしまった。またストレージ容量がギリギリいっぱいだと動作が不安定になり、これが前述のスペックの問題と相まって非常にストレスフルで、一時は、買って半年も経たないのに買い替えを検討するレベルだった。

そんな中で、M03にmicro SDカード(SD)を入れて、それを内部ストレージとして使う、という記事をいくつか見つけた。

  • http://qiita.com/komi5320/items/94ec16f1c1748698a7d4
  • http://zmzlz.blogspot.jp/2016/10/android-60-arrows-m03-microsd.html
  • https://ameblo.jp/suxen/entry-12231230442.html
  • http://myset.hatenablog.com/entry/2016/12/12/000000

これらの情報は、買い替えたくても先立つものがなくて我慢するしかなかった自分にとってはまさに渡りに船だった。そこで早速、AmazonでこのMicro SDカードを注文したのだった。当時は☆4つほどの評価だったと思う。高評価なのに安価だったことが決め手だった。

ただ、全体的な高評価の反面、☆1評価が割合多かったのが気になった。一応確認すると、買って数日~数ヶ月で、壊れるというレビューが目立った。しかし、それまで自分がSDカードやUSBメモリを購入した際にハズレを引いたことがなかった当時の自分は、「どんなSDでも、ある程度初期不良があるだろうから」と、深くは考えていなかった。

届いたSDを早速内部ストレージ化し、可能な限りのアプリを(表示の上では内部ストレージになっている)SDに移動させると、保存容量に余裕ができた。そのおかげで、しばしの間自分は快適なスマホ生活を送ることができていた。とはいえ、全てのアプリがSDに移動できるわけではないため、多少容量が空くといったくらいのことだったのだが、それでも容量不足で新たなアプリがインストールできないといった事態は解消され、それだけでも満足していた。

少し雲行きが怪しくなってきたのは、新年度に入ってすぐのこと。挙動がすごく不安定になったり、動作のもたつきがひどくなった時期があったのだが、その際にキャッシュを削除すると、その状態が解消されることに気がついた。それでいい気になった自分は、自動でキャッシュをクリアするアプリを入れて、1日1回自動でキャッシュクリアするようスケジュールしたのだった。

それが良くなかったのか、その少し後から、SDに移動していたFacebookアプリなど一部のアプリが起動できない(のみならず、他のアプリを使用している際に、「動作を停止しました」というダイアログが何度も表示される)という事態が頻発した。結局この状態の原因は今でもよくわからないのだが、アプリを本来の内蔵ストレージに戻してあげるだけで解決したので、そのときはさして気にしていなかった(ちなみにTwitter アプリも、アイコンや画像が表示されないという事態が起こったのだが、これは気づかないうちに解消されていた。これもよくわからない)。

その後しばらく経った今月8月、なんとなくストレージ容量を確認していて、また内蔵ストレージに余裕がなくなってきたことに気づいた自分は、Facebookなどのいくつかのアプリを再びSDに移動させた。今思えばこれがトドメになったような気もする。

そして今日、学会を終えた自分は観光を楽しんでいた。その最中、いつの間にかスマホの電源が落ちていることに気がついた。「バッテリーには余裕があるはずなのに…」と思いつつ、再度電源を入れてみると、普段以上に起動に時間がかかる。嫌な予感は的中し、SDが正しく認識できないという通知が出た。単なる接触不良では、と疑って数度にわたって挿し直しや再起動を試してみたが、やはり改善しない。スマホの方も、本来あるはずのSDが検出されないからか挙動がおかしくなってしまい、せっかくの観光なのにカメラが使えないという事態に陥った。カメラを起動すると「ストレージ不足で使えない」旨のダイアログが出る。SDを抜いても直らない。

おそらくSDに入っていたであろうFacebookをはじめとしたアプリも起動できなくなった。それどころか、もともとの内蔵ストレージに入っているそれ以外のアプリも、なぜか挙動が不安定になった。

スマホのストレージ設定を開くと、やはりSD自体は認識されているものの、異常があるのでフォーマットの必要があるというような表示が出た。それじゃあとりあえずフォーマットしてみましょうかと試みると、エラーでフォーマットが完了できないと出てくる始末。内部ストレージとして認識されていたSDを削除し、その後再度フォーマットを試してみたものの、やはりうまくいかない。

そこでホテルに到着してすぐ、Windows機にSDを挿して、diskpartを起動し、cleanでパーティションごと削除しようとした。が、ただそれだけの処理にしては、えらく時間がかかる。「買ってすぐに/しばらくして壊れた」というAmazonでの低評価レビューを思い出し、一抹の不安がよぎった次の瞬間、

キャプチャ

で、でたーI/O デバイスエラー。万事休す。おそらくSDは死んだのであろう。

まさか自分にこんなことが起こるとは思ってもみなかったので、この事態に対しては完全に為す術がなかった。SDに移動させていたアプリやデータは根こそぎ消え、今となってはどのようなアプリがSDに入っていたのかすらわからない。これから、「さあこのアプリを使おう」と思ったタイミングで、そのアプリが消えていたことに気づき、そして再度インストールする、という営みを、消えたアプリの数だけ繰り返すという日々が待っているのだろう。

唯一の救いは、カメラで撮った写真が即時的にGoogleフォトにアップロードされる設定にしていたおかげで、写真はすべて残っていたということだ。通信量節約のためにモバイルデータ通信でのバックアップをオフにしていたら、今回の学会期間中に撮った写真は根こそぎ消えていたはずだ。

SDを抜いたら、スマホの挙動は安定し、カメラも起動するようになり、とりあえず一件落着なのだけど、また容量不足で悩まなければならないのかと思うと、ちょっと気が重くなる。とはいえSDを内部ストレージ化してトラブったときのややこしさ・面倒臭さも今回学習したので、しばらくはSDなしでやってみようと思う。

てかSIMフリー・Android・防水・防塵・耐衝撃・おサイフケータイ対応のハイスペック機種はよ。

2016年振り返り(後半)

前半はこちら

後半は自分の研究史上最悪のグダグダっぷりで、特に振り返るべき事項もない1年だった。

論文も書かず、勉強もせず、かと言って何があるわけでもなく、ただただ慌ただしい雰囲気の中、時間のみが過ぎ去っていく、もどかしい1年だった。

来年のことを考えると不安しかないが、とにかくやれることからコツコツやっていきたい。

来年もよろしくお願いします。

LET2016の公募シンポジウム

LET全国大会の公募シンポジウムで登壇した際のスライドを諸事情で公開していなかったのですが、今になって公開しました。


私は二番手で登壇して、外国語教育研究において、質問紙や尺度を、作成・翻訳・使用する際の注意点のようなものについてお話させていただきました。基本的には、以下の参考文献など、いろんなところで示されているいろんなお作法についてまとめさせていただき、それらに触れた上でちょこちょこと自分の考えを散りばめたものです。

稲田尚子 (2015).「尺度翻訳に関する基本指針」 『行動療法研究』41, 117–125.

前田啓朗 (2000).「構成概念の妥当性の検証―日本の英語教育学研究における傾向と展望」『外国語教育評価学会研究紀要』3, 119–126.

前田啓朗・大和知史 (2000). 「構造方程式モデリングによる高校生の言語学習方略使用と言語学習達成の分析:SILL で得られたデータのより適切な分析と結果の提示方法の提案」Language Laboratory, 37, 143–162.

Mokkink, L. B., Terwee, C. B., Patrick, D. L., Alonso, J., Stratford, P. W., Knol, D. L., Bouter, L. M., & de Vet, H. CW. (2012). COSMIN checklist manual.

土屋政雄 (2015).「尺度研究の必須事項」『行動療法研究』41, 107–116.

ただ尺度の作成方法についても、流派というかいろんな考え方があると思いますし、このスライドで紹介したCOSMINチェックリストにしても、そもそも他分野を対象としているチェックリストなので、これに基づいてさえいれば何でもよいということでもないと思います。あと妥当性についても、Borsboomのような過激な主張の人もいたりして、人生いろいろ、妥当性観もいろいろということで、とにかくいろいろあります。それこそ確定基準(gold standard)なんてものはないので、あとは目的に応じて取捨選択してくださいということです。まあそれをいい塩梅にやるのがとっても難しいわけですが、知っているのと知っていないのでは、後者のほうがよいだろうということで。

勉強すれば色々出てくるもので、自分も昔作った尺度を今からもう一度作り直したくて仕方ないくらいですが、少しでも良い物差しが作れるよう研鑽を積んでいきたいと思いました。