読者です 読者をやめる 読者になる 読者になる

ふせんの日記帳

日々の適当なあれをあれするブログ。ニッチな話題が多い。たまに絵をうpする可能性もある。取り上げている話題について一定程度の知識を有していないと理解できないことがあるので注意。

開発進捗 02

正直に白状しようと思う。
私は友人にプログラムを教え、共に開発するのを諦めたい。
これは極めて合理的な思考による結論なのだが、私一人で開発したほうが圧倒的に効率がいい。
その理由を書いていこう。読む人によってはどうでもいい内容だが、そもそも開発の進捗なんて人類の99.999999%くらいにとってはどうでもいい内容だ。

1. 友人は素人である。

いや、かく言う俺も素人には違いない。実際に開発をしたことはないのだから。
しかしプログラミングの勉強はある程度ならした。その他諸々の知識も有している。
それに対して友人はパソコンの設定を弄るのにコントロールパネルを使うことさえ知らなかったような人間である。
別に貶しているわけではないのだ。ただそこに事実として転がっている以上、無視することは出来ない。

2. 友人のパソコンはWindowsである。

iOS開発において一番の障害がこれだ。iOSの開発には基本的にMacが、MacXcodeが必須である。
もちろんXcodeは俺が持っているし、どうやら最近のVisual StudioではiOS開発も対応しているらしいことは知っている。
しかし圧倒的に足りないのはリファレンスである。つまりは参考資料だ。C#を使ってiOSを開発する方法なんて情報がそう簡単に手に入るはずがないのだ。
いや、あるにはある。しかし俺は素人。開発経験など一切ない。友人に教えながらやるには少々、いや大いに無理がある。
そう考えると、やはりSwiftなどで開発したほうが件名という結論を出さざるを得ないのだ。
C#ではちょっと難しいが、Swiftでならその日のうちに画面を表示できる自信がある。まあ逆に言うとそれ以上出来るかどうかは分からない。

3. 協力者が現れる予兆がある

そしてその協力者になり得る人物にはMacを買うように勧めてある。絵を描きたいと言ったのでそれならMacだと勧めたのだ。
もし違うことがしたいと言っていたのならMacを勧めただろう。つまりMacである。とにかくMac。これが答えだ。Macだ。林檎様万歳。林檎様万歳。
なのでそう考えるとSwiftにしておいたほうが圧倒的にメリットが多い。

では友人はどう関らせれば良いのだろうか。それは俺も思った。最初は友人が良い出したのに、友人が一番楽をする展開は俺としても非常に望ましくない。
しかし俺が損するか得するかで言えば、俺一人で開発したほうが確実に損が少ない。どちらも得するわけではないが一人のほうがまだマシと言えるのだ。

emacsのメモも置いておく

例によってそのままメモを投げる。ちなみに自分がその都度調べてその都度メモっているので割りと雑です。
重要なものをまとめたというわけでもないのですが、自分が調べなくてはいけなかったものが書いてあるので他の人が調べたがっているものもあるかもしれません。適当に目次から飛んでね。

GUI版のEmacsにのみ適用する設定を記述する

(if window-system (
;; ここに書く
}

フォントの変更

(set-face-attribute 'default nil :family "Hoge" :height 140)

hogeにはフォントの種類,9の部分にはサイズを入力
例えば,Rictyの12pxが使いたいときは,

(set-face-attribute 'default nil :family "ricty" :height 120)

とすればいい.

init.elの再読込

init.elを表示した状態で

M-x eval-buffer

redoのやり方

undoはC-x uで出来るが、redoはC-g C-x uで出来る。
さっきのundoを一旦区切って一つの処理ってことにして、undoしたことをundoすることでredoにする……という感じ。
ちなみにundoはC-_でも、C-/でも出来る。C-/が2つのキー同時押しで出来るからいいかも。
その場合redoはC-g C-/である。

ウィンドウ

GUIウィンドウの操作

C-x 5 2 新しいGUIウィンドウ
C-x 5 0 今のGUIウィンドウを閉じる
C-x 5 1 他のGUIウィンドウを閉じる
C-x 5 o 他のGUIウィンドウに移動

CUIウィンドウの操作

C-x 2 縦分割
C-x 3 横分割
C-x 0 今のウィンドウを閉じる
C-x 1 他のウィンドウを閉じる
C-x o ウィンドウ間を移動

独自キーバインド

;; C-c ←↓↑→で上下左右移動
(global-set-key (kbd “C-c ”) ‘windmove-left)
(global-set-key (kbd “C-c ”) 'windmove-down)
(global-set-key (kbd “C-c ”) 'windmove-up)
(global-set-key (kbd “C-c ”) 'windmove-right)
(global-set-key (kbd “C-M-o”) 'other-frame)
;; 右端で→に移動したりすると左端に行く
(setq windmove-wrap-around t)

ウィンドウ状態保存

最新の保存状態をロードする
M-x desktop-revert
ウィンドウ状態を保存する
M-x desktop-save

キーバインド一覧を表示

キーバインド一覧を表示するには、

M-x describe-bindings

と打つ。また、特定のキーのバインドを知りたいときは、

M-x describe-key

と打った後に、知りたいキーをタイプ

指定行に移動

M-g g <指定行> M-g gした後行番号を入力する。

evilについて

C-zでEmacsキーバインドが使えるようになる

youtubew3mで再生

brew install youtube-dl

こんな感じのやつを作る(名前とかは適当で良い)
\#!/bin/bash
mplayer -fs $(youtube-dl -g $1)

こんな感じでyoutubeの動画がmplayerで再生出来る

$ play-youtube http://www.youtube.com/embed/6vHlmdrvrYo

以下を.emacs.d/init.elに追加
(defun w3m-play-movie ()
(interactive)
(let *1
(call-process “play-youtubenil nil nil url))
*2 “$”) url)
(call-process “mplayernil nil nil “-fs” url))
(t
(message “not movie.”)))))

バッファ

C-x ←→で次のバッファ、手前のバッファに移動出来る

skkについて

設定項目

(setq skk-sticky-key “;”)
必須設定。これで;キーを押すだけで変換モードを始められる。
(require ‘skk)
(global-set-key “\C-x\C-j” 'skk-mode)
skkを入れたらこれを書く。

操作

基本的な操作はM-x skk-tutorialとかをやれば分かるが、細かいやつを。
確定はEnterではないので、改行せずに確定したいときは、C-jと入力すればいい。
変換せずにひらがなで入力してしまった場合は、変換したい文字列の手前にカーソルを移動して、S-Q。
その後変換したい文字列の最後にカーソルを移動してスペースを押せばいい。
ただしstickyを設定している場合は設定したキーを押下すればいい。
変換候補はスペースで選択していけるが、C-n、C-pでも選択出来る。

誤登録を削除する方法

変換したあと確定する段階でXを打鍵すると消しますか?的なことを英語で聞かれるので、yを押せば消える。

C-jが使われてしまうのを回避する

(setq skk-kakutei-key “\C-o”)
これでC-oで確定出来る。

*1:url (w3m-anchor)))
(cond ((string-match “http:\\/\\/www\\.youtube\\.com” url)
(message (concat “loading from youtube… ” url

*2:string-match (concat “http.*” (regexp-opt ‘(“.mpg” “.wmv” “.avi” “.flv”

org-modeを使い始めたのでメモを投げる

TODO機能やアウトラインプロセッサとしての用途に魅力を感じてorg-modeを使い初めました。
一体どういったものなのかという説明は他のサイトに任せるとして、僕がメモったorg-modeの使いかたメモをそのまま放り投げてみようかと思います。
自分用のメモなので極めて不親切です。ご了承ください。

リンクの貼り方

  1. [[URL_or_ファイルパス][表示される文字列]]
  2. +LINK: hoge URL_or_ファイルパス

    [[hoge][表示される文字列]]
    

リンクへ飛ぶ

C-c C-o

TODO機能

優先順位

S-Up,S-Downで[#A]~[#C]までの優先順位をつけられる

時刻とか

C-c . 日付入力
C-u C-c . 日時入力
C-c C-d デッドライン
C-c C-s 実行予定日

TODO, DONE以外の状態の追加

#+TODO: hoge と書くと追加できる
#+TODO: TODO FEEDBACK VERIFY| DONE CANSELED など

……はずなのだが、どうにも出来ないので.emacsもしくは.emacs.d/init.elに
(setq org-todo-keywords
‘((sequence “TODO(t)” “WAIT(w)” “NOTE(n)” “|” “DONE(d)” “SOMEDAY(s)” “CANCEL©”)))
のように記述した。
が、動かないので諦めた。
追記:C-x C-cしたら適用された。eval-bufferではだめらしい

サブタスク

TODO [/]とすると、その下のサブタスクの進捗管理ができる [%]とした場合はパーセント表示になる

タグを付ける

TODO上でC-c C-cするとつけられる

agenda

起動

C-c a (global-set-key (kbd “C-c a”) ‘org-agenda)で設定してある

Todoファイル指定

(setq org-agenda-files ‘(“~/Workbench/Text/Todo.org”))

一覧表示

  1. todoと予定

    n (C-c a n)

  2. todo

    t

  3. 予定

    a

TODO/DONE切り替え

C-c C-t

TODOをDONEにしたときに日付をつける

;; DONEの時刻を記録 (setq org-log-done ‘time)

C-c -で横線

チェックボックスの追加

[/]と入力

チェックボックス上でC-cをするとチェックする

開発進捗

Visual Studioが導入できそうです。 いいかげん導入できててもいい頃なんですが相手方が全然動かないので(責めているわけではありません)、進まないままでした。
しかし今日入った情報によると、Communityが2017になっているそうです。2015のインストーラは説明するのも億劫でしたが2017になって説明しやすいグラフィカルなインストーラになったので説明も楽になることでしょう。
結局パソコンもクリーンインストールさせましたので、諸々のゴミファイルによる邪魔なども入らないでしょうし、大丈夫だと思います。
このまま無事導入できればいいのですが……。
なんでこんな序盤の序盤で立ち往生気味なんでしょうかね。

追記:Visual Studioのインストールに成功しました。 なのでどうやら開発をスタートできそうなのですが、その前に簡単な勉強から始めなくてはいけません。
友人はまだ何も知らない状態なので。しかしVisual Studio上で練習しようとすると妙なエラーが出たり出力されたコンソールがすぐに消えてしまったり、面倒くさいことが多そうだったので、Paizaラーニングを使いながら勉強してもらうことにしました。
僕もそこまでわかっているわけではないので、僕が教えるのには限界があるんですよね。

受験を目前にして現実逃避ばかりしている

長い間更新をしていなかったことでこのブログの存在自体を忘れている人も多いと思いますが、ここで久々の更新をします。
最近四畳半神話大系を読み終えました。実を言うと受験を目前に控えており人生の瀬戸際に立っているのですが、自分の脳は現実逃避を優先させるのを唯一の特技としているのでそんな時でも呑気に小説を読んでおりました。
私は前に書いたかどうかはわかりませんが美大志望の学生ですので、目前に控えているという受験は25日にある東京芸大です。

卒業式を行うにあたって頭髪検査が事前に行われるとのことだったので僕は数日前散髪に向かいました。そこでいつも髪を切ってもらっているお兄さんと話しているうちに受験の話題になり、その中で私は「まあ1次がそもそも受かるかどうか……」と発言したのですがお兄さんは少々食い気味に「いやそれは受かるでしょwwwwww」と言ってきたので少々私は狼狽しつつも「そうですよね〜wwww」と返事しておきました。この瞬間私は1次に受からなかった場合しばらくここに髪を切りに来ないことを決めました。

さて、このままでは私が受験に自信がないよ、その上現実逃避まで始めたよ、というだけで話題が終わってしまいます。受験落ちというのは決まってからが面白いのであって落ちるのを危惧している間の文章なんて毛ほどの価値もありません。
ここは話題を変えて最近私が取り組んでいるとある事柄について話すとしましょう。
私は近頃とある友人に声をかけられ、囲碁のオンライン対戦アプリを開発することに協力し始めました。どうやら最終的には会社を立てて運営して行くつもりのようです。私も特に面接や試験などもなく入れてもらえるそうなので、泥舟でなさそうだと判断したら最後の生命線として有効活用させてもらおうと思っています。まああの友人のことだから何かしら問題を起こしてネットで炎上、その結果我々下々にも飛び火するだろうと予想されるので縁の切りどきが肝心です。

この囲碁アプリ、なかなか大きなものを想定しており、ただ囲碁の対戦ができるだけという代物ではありません。なんとチャット機能も搭載したり対戦をキャスのように配信しそこに暇な視聴者が自分勝手なコメントを投げるということができるようになっていたりします。する予定です。おそらく。
しかし我々のなかでまともに開発などができる人員はさっぱりいないので、初めに我々の考えた方法は誰かに依頼することでした。そこでパソコンのことならば俺に任せてくれと意気込んで私はGoogleで「iPhone アプリ開発 依頼」と検索し1つめか2つめかに出てきたものを得意満面に彼とのSkypeのチャットに貼り付けました。

パソコンに疎い彼が「さすがだな」と言うのを確かめ、最小の努力で最大の評価を得る自分の有能さとそんな僕の類いまれなるパソコン駆使能力を見抜いた彼の慧眼を心のうちで賞賛しながら、そのサイトで依頼をしてみたはいいものの、これが一向に引っかからない。やはりどんな魚でも針先にちょこんと刺さった小さな餌(しかもすぐに溶けてしまう)では食いつかないかと思い直し、報酬1万円というなんともやる気のない値段掲示をやめてすぐさま要相談という一見ちゃんと話せばある程度お金を払ってくれるかもしれない案件に見せかけ、連絡が来るのを待ちました。
するとすぐに連絡が来ましたが如何せん我々には予算がない。どのくらい予算がないかと言うと開発を諦めてニンテンドースイッチを買う予算さえない。こうなればクラウドファンディングで金を集めようじゃないかと思ったものの、我々は根拠のない自信できっと金が集まると信じていたとしても先方に同じ確信を抱いてもらえるはずもなく、結局交渉には有効でないと判断。というかクラウドファンディングでお金を集めますと言った途端にどこからも返事がこなくなりました。

ではもう自分たちで開発するかという結論に至った我々は自分たちで開発するために開発環境を整えようということになり、私はMacの中にVisual Studio for Macを突っ込んでC#を用いiOSアプリの開発が一応理論上は可能な状態に持っていきました。ちなみに素直にObjective-Cを使ってXcodeで開発しようとしなかったのはその友人がWindowsしか持っていなかったためです。彼にも当然開発は手伝ってもらうため、同じフォーマットを使うしかない。よってC#で開発できるVisual Studioを持って来たのです。さあ、これで開発が始められる。おそらくそう思う方が大半でありましょう。

実際はそうではありませんでした。そう、彼とSkypeをしている時に私は既に気づいていたのですが、彼のネット環境は回線が非常に細い。どのくらい細いかと言うと、彼の回線を鍋につなげてパスタを茹でようとしたら10本目を入れる頃には1本目はアルデンテ、20本目を入れる頃には1本目は溶けて無くなっているであろうという具合。当然IDEのインストールも牛歩の歩みで全く進む気配を見せない。では明日にしましょうかと明日になってみれば、なぜだか途中で失敗している。色々調べてみると彼のパソコンはセキュリティにも問題があるらしいではないですか。インストールする際というのはセキュリティを緩めるべきなのですが(何か引っかかって実行できないことがある)、彼のパソコンのセキュリティはもうこれ以上緩めるところがないほどに緩まっている。起動するたびにマカフィーが「もう僕期限切れだよ!」と言ってくるパソコンなのですが、そんなメッセージを見ても全く恐怖を感じないのだからパソコン初心者は怖いです。まあ実のところ私はマカーなので自分自身ウィルスの心配などほとんどしたことがないのですが。

そして現在期限の切れたマカフィーを消したり、マカフィーを消したら途端に物陰から姿を現したいつかに入れたのであろう無料の謎セキュリティソフト(こんなものを適当に入れてそれこそ怖くないのか)を削除したりしながら問題の解決を試みているところです。もはや自分もこの人のセキュリティをなんとかしたいのか開発環境を整えたいのかわからなくなってくるほど問題が多い。というかいちばんの問題は彼にパソコン用語が一切通じず彼がWindowsのいろいろな機能を全くと言っていいほど把握していないことなのではないでしょうか。
僕の言うことが次第に理解できてきた彼は「やっぱお前と話しているとリテラシーが上がる」などとのたまっていますがリテラシーという単語を知っていてなぜUI(ユーザーインターフェース)と言っても通じないどころか専門用語を使うなと怒ってくるのでしょうか。

そんなこんなで開発しているわけです。え、受験はって? 浪人……、かな。

Undertaleをプレイしました

ゲーム

受験前だってのに友人におすすめされて、友人監視下で強制労働(Skype画面共有しながら楽しくプレイ)しました。

これにドンはまりしたことは僕のtwitterを見ていればうっすらとわかるかもしれませんが、はい、まあドンはまりしました。Charaが特にかわいい。なんだろう。Charaはすでに処女膜破れてそう。いや……、破れててほしい。幼少期に叔父さんとかに破られててほしい。もし保存されているなら私が破壊する所存。
世界一エロ画像が多い骨もとてもいいキャラしてますね。闇が深くてやる気のないチート能力持ちキャラとかなんともはや、厨二心をくすぐられるじゃありませんか。抱いて。

というわけで最近もっぱらこればっかり描いてます。しかしパソコンで描くのが最近めんどくさくなってしまって、アナログでしか描いてませんが。あとマズルがあるキャラはまだ描いてません。どうも苦手なんですよ、ここの立体感が。アズくんはマズルなくても良さげだから描きやすいんですけどね。
あの夫婦だけ衣装がちょっと凝ってるというのもある。他のキャラクターは基本的にシンプルな服着てますからね。

内容については特に触れません。そういうのは他がやってるでしょう。

ニコニコのHTML5試してみました

僕はパソコンがMacなので、基本的にFlashが苦手です。ニコニコ動画をただ見ているだけで、僕のMac book proは本体でジンギスカンが焼けるんじゃないかというくらい熱くなります。というのは誇張ですが、そういう事情で最近はニコニコ動画だけChromeで開いてZenzaWatchを使って見ていました。

しかし先日、いつものように何気なくZenzaWatchで見ようとした時、うっかりZenボタンを押さずに普通に動画ページを開いてしまったんですね。すると画面上部にHTML5プレーヤーのベータ版試用を勧めるメッセージが。僕はずっと試したくてうずうずしていたので速攻でクリックしました。その速度はなんと1万ペッソリーヌ。

ベータ版に画面が切り替わると、そこには純白の世界が。ああ、今年もついに雪が降ったか、と思うほどの白。そうそう、これでいいんだよ。謎の壁紙機能なんか誰も望んでないんだよ。
そしてその動画の読み込みの速さ。確かにyoutubeと比べたらコンコルドとスッパマンくらいの差ですが、今までの牛車よりはよほどマシでした。というかやっと動画プレーヤーになったね、大きくなったな坊主。そんな感じ。何を偉そうなことを言ってるんだろう僕は。

全体的に調子こいて今時オシャレシンプル系UIにしやがりましたね。いいと思うよ。でもプレーヤーの上部のニュース欄はやっぱりいらないと思う。流れるニュース大抵しょうもないし。
でも一番嬉しかったのは各種メニューが最初から表に出てることです。すぐにマイリストにも入れられるし、ツイートもできる。あと動作がクッソ緩慢だった下の再生リスト(マイリストではない)も使いやすくなったかも? それ以外でも全体的に動作が軽めになってるのでいいですね。それと、これは別にいいのですが、できれば動画の画面をクリックしたら再生/一時停止を切り替えてくれるとありがたいかも。いちいち左下のちっちゃい再生ボタンを押すとなるとフォーカスしないといけないので面倒ですね。いえ、今のままでも十分だしスペースキーで操作すりゃいいんですが。

しかしstylishニコニコ動画プレーヤー改善チーム(今勝手にそう呼んだ)は対応が早いですね。もうHTML5バージョンのものを配信していました。でもまだ表示がちょっと崩れていますね。少しの間待つことにします。ニュース欄さえ消してくれれば文句はない。