zshを試す
Macでは標準でzshが入っているので、ターミナルで$ zsh
とすれば試せます。
飽きたら、$ exit
で終了です。
Macでは標準でzshが入っているので、ターミナルで$ zsh
とすれば試せます。
飽きたら、$ exit
で終了です。
最近、BetterTouchToolというソフトを入れたのですが、便利でした。
Macだとウィンドウをスナップする機能がないので困っていたのですが、これで解決しました。
有料版のBTT Remoteでは、iPadやiPhoneを、Macのキーボード・トラックパッドにできるようです。
Eclipseのコード補完のショートカットはC-space
なのですが、
Macで使うとSpotlightと干渉して使えません。
だったら、ショートカットのキーバインドを変更しましょう!
設定方法はメニューバーからEclipse/環境設定/General/Keys
です。
ほとんどのキーバインドをここから設定できるので、
content assist
の項目を見つけて設定します。
私の場合はコード補完をC-space
ではなくTab
に割り当てることにしました。
理由は、Visual Studioと同じショートカットの方が捗りそうだからです。
近状報告です。
早いもので大学生活も3年目に突入してしまいました。とりあえず最近についてダラダラ書きます。
TwinCalを2学期制に対応しました。
新Twinsにも履修情報をCSV出力する機能があるのですが、いざCSV出力してみると、 科目番号しか出力されない仕様だったので、対応を諦めていました。
しかし、kDBの履修データをを使うことで新Twinsへの対応することができました。
まず、kDBの2013年度の履修データをCSV出力して、SQlite3のデーブル化しました。
全ての履修データをCSV出力したところ、5.3MBくらいある巨大なファイルが吐き出されました。
しかも、変なCSVだったのでRuby標準ライブラリのCSVではパースできませんでした。
最終的には、ダウンロードしたCSVをOpenOfficeで開いて保存することで、なんとかなりました。
また、「実施学期」と「曜時限」のフォーマットがフリーダムなので、これをパースするのに苦労しました。
情報科学類では主専攻実験の替わりにCOJTという授業をとれるのですが、 COJTのソフトウェアコースを受講することになりました。
COJTをとった理由は以下のようなものです。
成果発表もあったりと普通の主専攻実験よりハードな気もしますが、やるからには頑張りたいと思います。
情報科学類では、以下の条件を満たすと早期卒業できる可能性があるそうなのですが、 その条件を満たしていたようです。
しかし、卒業研究とCOJTを並行して行いながら単位をとるのは難しそうだったので、早期卒業は諦めました。完。
実におもしろい。
Twinsなど学内向けのサイトにアクセスするためにLocalForwardを使っている人が多いようですが、 DynamicForwardの方が汎用性が高くて便利なのに、使っている人が少ないような印象を受けるので紹介します。
この記事の説明はあまり分かりやすくないので、単純に学外からTwinsを使いたいだけであれば、 次の記事を参考にすれば良いと思います。
まず、~/.ssh/config
を次のようにします。
# .ssh/config
Host coins coins-p
HostName www.coins.tsukuba.ac.jp
User sxxxxxxx
Host *-p
DynamicForward 1080
上のように設定すると、
ssh coins
ssh coins-p
となって捗ります。
このように、*(アスタリスク)を使って設定を書くと、 重複してサーバ名などの設定を書かないで済むというちょっとしたテクニックを使っています。
この設定だと、ssh coins-p
をしたときに、ローカルホストの1080番ポートにSOKCSプロキシサーバを割り当てると、
学内向けのサイトも普通に見れるようになります。
SOKCSプロキシの設定は Mac OS X (山ライオン)ならば、ネットワーク環境設定
から下のスクリーンショットを参考にして行なってください。
他の環境の人はググって調べてください。
切断するときは、次の2つの両方の作業をしてください。
久々の更新です。
早いもので大学2年の授業が終わって春休みになってしまいました。
3学期には、コンピュータグラフィックス基礎という授業を履修したのですが、 今学期で一番楽しい授業だったなーと思うので振り返ってみます。
基本的にはOpenGLを使って色々しました。
特に力を入れた課題などを紹介します。
ソースコードなどはすべてgithubにあるので、 気になる人はぜひ見てね!
OpenGLを使ってアニメーションを作るという課題があったので、 全方位シューティングゲームを作ってみました。
技術的な点だと、自機、隕石、弾の3つは、慣性移動、衝突判定、描画などは共通の処理でできるので、
この3つをobject
という構造体1つで管理して、同じような処理を何度も書かないようにしました。
OpenGLの回転と平行移動を駆使して、立体の展開図のアニメーションを作りました。
まずは立方体の展開図。
正12面体となると、座標の計算が大変でしたが、気合で実装しました。
マウスで制御点を入力してベジエ曲線を描く課題です。
定義式をプログラムにするだけの簡単なお仕事でした。
オプションとして3次元バージョンにも挑戦しました。
OBJファイルという、頂点と面の2つの情報で立体を表す立体図形のフォーマットがあるのですが、 このOBJファイルを出力するプログラムを作りました。
ちなみに、OBJファイルを描画するプログラムは先生の方で用意してくれました。
球体は普通にやると頂点部分で例外処理があって面倒ですが、頂点部分に複数の頂点がくるようにして楽しました。
Wikipediaにトーラスの式があるので、それを参考にして作りました。
球の課題の式の定義部分を変更するだけで、できたので楽でした。
3角関数で半径を変化させて、適当な回転体を作りました。
また、マウスで入力した線から任意の回転体を作ったりしました。
また、マウスで線を描くときに下から上に線を引くと、面が裏返るので、それを利用してプリンみたいなのも作りました。
レイトレーシングをやりました。
普通にやるとつまらないので、いろいろ工夫しました。
Mass-Spring モデルによる簡易的な布の物理シミュレーションをしました。
球体との衝突判定を追加してみたのが次です。
こうして振り返ると、かなり色々な課題に挑戦しましたが、どれも楽しかったです。
CGを自分の研究としてもいいなーとか思ってしまいました。
a = a.reverseとすれば、インスタンス"cba"が作られ、aにそのラベルが入る。
タイトルの通りなのですが、h1レベルの見出しにアンカーリンクをつけるようにOctopressを改造しました。
``の19行目を次のように修正して、 h1レベルの見出しに正規表現でアンカーリンクをつけるようにしました。
# plugins/octopress_filters.rb
@@ -16,7 +16,7 @@ module OctopressFilters
end
def post_filter(input)
input = unwrap(input)
- RubyPants.new(input).to_html
+ RubyPants.new(input).to_html.gsub(/<h1>([^<].*[^>])<\/h1>/, '<h1><a name="\1" href="#\1">\1</a></h1>')
end
end
修正するべき場所がここで本当に良いのか微妙ですが、とりあえず思った通りに動いているので良しとします。
以下、見出しのテスト
Eclipseのformatterの設定は、Java > Code Style > Formatter
から。