クフでダローバルな日記

タフでもグローバルもない

東京大学eeic3年後期実験「大規模ソフトウェアを手探る」2015年度まとめ

この記事はeeicアドベントカレンダーの2日目の記事です。
と言っても、eeicアドベントカレンダーは12/2に突発的に始めたので、これが最初の記事になります。

目次

「大規模ソフトウェアを手探る」とは

私達の所属する東京大学電子情報/電気電子工学科(通称eeic)では、3年後期に実験をいくつか選んで受講します。

その実験の中の一つがこの「大規模ソフトウェアを手探る」です。
主に並列処理やプログラミング言語について研究なさっている田浦健次朗先生がご担当くださっている実験で、今年から始まった実験だそうです。(ちなみに昨年度まではコンパイラを作る実験でした。)

この実験のホームページは大規模ソフトウェアを手探るです。

実験の目的としては、大規模なチームで開発されているようなOSS(オープンソース・ソフトウェア)に対し、デバッガやその他のツールを駆使して変更を加えるというものだそうです。
私達生徒としても、授業でプログラミングを学ぶことはあってもそれは自分でぱぱっと組むか先生が与えてくださった小規模なプログラムを弄るか程度のものであったので、このような実践的な実験が開口されたことにはとても感謝しています。

さらに、この実験の面白いところは、 レポートとしてブログ記事が認められる というところです。
その結果、各チームが様々なサイトにOSSを弄った結果を記録したのですが、せっかく一般に公開したのだからより多くの人の目に触れやすいようになっていたほうが良いだろうと思い、まとめさせていただくことにしました。

この記事がOSSへの貢献をしようとしている方や、学科選びに悩んでいる後輩たちへの一助となれば幸いです。


以下まとめ(順不同)です。
なお、記事が連載形式になっている場合は、最初の記事のリンクを貼っています。
複数人の記事がある場合は全て載せています。

GUIアプリ

VLC Player

VLC弄ってみた#1 - VLCの仕組み - /dev/null/onishy

変更内容
  1. 時間をミリ秒単位で表示する
  2. フィルタを追加する
  3. 動画の拡大をする(未達成)
使用言語 C

mikutter

mikutterをいじりたおす 第1回 | 愛のらくがき帳
Dive to mikutter その1 -ID検索機能- - Qiita

変更内容
  1. パクツイ
  2. ワードミュート
  3. 画像投稿
  4. 動画投稿
  5. 動画再生
  6. ID検索
  7. タイムミュート
使用言語 Ruby

Gpaint

Gpaintを拡張してみた!〜大規模ソフトウェアをて探る〜|Kazukiのブログ

変更内容
  1. カラーパレットの追加
  2. 三角形描画機能
使用言語 C

Ink Scape

Inkscape にナイフ機能を付けてみた 1/4 - UI をいじる編 - esudo’s diary

変更内容 ナイフ機能の追加
使用言語 C++

Libre Office 1

LibreOfficeCalcに関数候補表示機能を付けるまで 第1回 目的の設定と準備 - Qiita

変更内容 関数候補表示機能
使用言語 C

Libre Office 2

LibreOfficeのCSVコピペに挑戦した - 押すかたたくか
Libre Office Calcに変更を加えようと格闘した話 - toyosee’s diary

変更内容 コピーするだけでCSVを生成する(未達成)
使用言語 C++

firefox

Firefoxのタブ切り替えをいじる - Qiita

変更内容 タブ切り替えの改善
使用言語 javascript

CUIアプリ/プログラミング言語

git

Gitを手探ってみた その1 - Qiita
gitに新機能を追加してgit masterを目指す(初級編) - クフでダローバルな日記

変更内容
  1. `git add`で`git add .`となるようにする
  2. push済みのcommitに対しては`git commit --amend`が出来ないようにする
使用言語 C

ruby

Rubyに新しい予約語を追加してみた その1 - suzuhokaの日記

変更内容
  1. if文のthen~endの代わりに{}を使えるように(未達成)
  2. elsifの代わりにelseifも使えるように
  3. 他のファイルから呼ばれた時にfalse、それ以外のときにtrueになる予約語を追加
使用言語 C

python

python3 - CPythonに後置インクリメントを加えてみた 概要とまとめ - Qiita

変更内容
  1. インクリメント(i++等)を追加
  2. リスト内包表記をhaskell風に
使用言語 C

以上が公開されているレポートの一覧となります。

他にもzshMeCab,gcc等に変更を加えたチームもありましたが、彼らは記事を公開していないのでここにまとめることは出来ませんでした。

来年以降のeeicの後輩たちがまたまとめてくれるのを楽しみにしています。