2016年11月6日日曜日

Apple PowerMacintosh 4400 を手に入れたので分解したはなし

私は今日(正確には2016/11/06)、PowerMacintosh4400を分解した。
そして言いたいことがある。最初から結論を伝えよう。
「Appleの作るコンピューターは最悪だ」

私は最初そう感じた。
考えてほしい。やつらは後方互換製のない独自規格を平気で作るし、すぐに捨てる。ジョブス、どうしてこれを作った。ウォズ、なんで止めなかった。
分解していく中で、とてもエンジニア泣かせだと嘆いた。
私は嘆きながら作業をしていた。

そしてこんなことさえ思った。
「Appleが作ったのが"コンピューター"で良かった。もし、Appleが作ったものが"コンピューターチップ"だったならば、この世には地獄が蔓延していて、私もその地獄に落ちていたかもしれない。」
私はAppleへの酷評を胸に思い浮かべながら分解し、掃除をして、元通り組み上げた。
作業は終わりだ、私はたった今、最悪なコンピューターを分解して組み直したわけだ。

組み直してベッドの下にしまった。これでも一応は宝物なのだ。
ホコリを拭いたウエスを洗いながら、私はこう考えていた。
「Appleが作るコンピューターは最悪だ。」
ウエスをきれいに洗い、絞って水気を取っているときにはこんなことを考えていた。
「最悪だ、しかし気に入った。よくやったじゃないか。よくもまあ、あんな大したものを作ったな。かっこいいじゃないか。」と。

分解し終わってすぐ私はこの文を書いているが、なぜだか非常に心地良い気分だし、酔っ払っているような、ある意味麻薬を使ったかのような気分で、気が浮ついて地に足がつかない感じだ。
Appleが作ったコンピューターに触れて、私は非常に嬉しいのだと思う。
"ただの古いコンピューター"を分解するだけなら、こんな気分にはならないかもしれない。
Appleのコンピューターを分解したことに、今回の意味があったのかもしれない。
Appleのコンピューターは使うだけでなく、中身をいじっている人にも、奇妙な魅力を感じさせ、取り付くのかもしれない。

Appleの作るコンピューターは最高だ。とても美しいし、自分が使うにふさわしいコンピューターだと感じた。
とても、自分が生まれた時代にあんなコンピューターがあったとは思えないぐらいだ。

最終的な結論として、Appleが作るコンピューターは最高だった。



私は今回Appleのコンピューターを分解した。
レビューもろくにしてないが、最後にこう締めくくろうと思う。
「Appleが作るコンピューターは最悪だが、最高だった。」

2016年10月16日日曜日

プロコンを振り返って―マグロは泳ぎ続ける―

#プロコンお疲れ様でした
皆さんプロコン27お疲れ様でした。
プロコンに打ち込んでいる期間というものは、とても夢中になってていつの間にか激動の半年が終わっていました。
そして、嘘のように静かな平常が戻ってきました。ここで気を抜かずに今年度の残りも過ごしたいものですね。

--------------

#プロコンを振り返る(前編)
プロコン期間は大変忙しかったですね。
大雑把に分けていきながら振り返っていきます。

##夏休み前
この段階で私はカラフルに光るLEDを使ったオシャンティーなインテリアを分解していた!
六角ネジを用いたセキュアーな外装を無慈悲に六角レンチで外してゆく。
つやつやコーティングで覆われたプリント基板を僅かな反射の違いから回路を見抜いた!
そしてワイヤーをプリント基板へハンダ付け!そしてRaspberryPiへ接続して換骨奪胎のフルカラーLEDデバイスの出来上がりだ!
このリバースエンジニアリングはとても楽しかった。

##夏休み(上)
ただ、リバースエンジニアリングをしているだけでは許されなかった!
特に僕は5年生という学年もあって、夏休みはプロコンだけじゃなくて卒研も平行しており、開発の傍ら論文を一本描き上げた。
論文を書き上げる前後は友人宅に泊まっていたので、ほとんど実家には帰りませんでした。親不孝と言われても致し方なし、五年生だから親氏許して。

##夏休み(中)
親不孝には目もくれずに論文を書き、学会発表が終わった頃。イベントが一つ終わったからと言って息をつく暇などない。そのまま引き続き泊まり込み開発じゃ!
この期間の何が辛かったか。チームの中枢である四年生がインターンでいなかったことだ!
指示を出せる人がいなくなったときこそチームは真価が問われるが、我々は見事に爆散した……ナムサン!
とはいえ、合宿が始まってしまえばこっちのもの。
合宿が始まれば下級生は寮で過ごせるので、安定して開発ができるかと安堵したスキに無慈悲な台風の襲来!
寮生は緊急強制帰省で実家に帰らねばならない!不安の中、残酷にも夏休み(下)は始まるのであった!

##夏休み(下)
台風によってチームは沖縄の各地へ分散されてしまうのか!いや、アパート住まいの4年生がインターンシップから帰ってきた!これでチーム全員揃った!
4年生のアパート部屋さえあれば、チームは一箇所に集まって開発ができる!YATTA!夏休み完!
チーム全員が一箇所に固まって開発できるのは良いこと、良いことなのだが、我々のチームはできれば分断されたほうが良かったのかもしれない。
うちのチームにはテンションが常に振り切ってるメンバーが二人いる。私と、もう一人「美少女(二年生)」がいる。
それにつられて「サッカー少年(二年生)」もテンションが上り、「馬鈴薯(一年生)」も頭がおかしくなってしまった!
それに呼応するかのように四年生二人も頭が悪くなってゆく!うちのチームは輪をかけて頭が悪くなってしまった。
それでもどうにかない頭を使い無い知恵を振りしぼり、システムの中身は出来上がってゆく。
外装?UI?……みんな死んでたよ。

#プロコンを振り返る(後編)
##プロコン0日目
沖縄から名古屋空港までジェット☆で向かったが、無情にも機内整備が遅れてフライトも30分遅れてしまった!
時間マージンが切り裂かれ、飛行機到着しだい急いで電車までダッシュ!カートに荷物をくくりつける時間もなく、私が全て担いだ!自分の荷物とともに!
私の上腕二頭筋を犠牲にして、どうにか電車に乗るのであった……。(時間マージンを切り裂かれたのでお昼なし)
その日の晩はチームで宿の一室集まり、仲良く過ごした。翌朝起きたら全員床に寝ていた!ベッドなど存在しない!

##プロコン1日目
いろんなデモブースを覗いて回った。向こう隣の高専が出展していた作品がすごかった。(ジッサイ賞を取った)
体にデバイスをくくりつけBluetoothでスマホへデータを投げていた!
我々もBluetotohを用いようとしたが、サッカー少年の進捗が死ぬだけだったのでやめた!こんどこそ使いたい!
今年も久留米は参加してくれた!私は喜々として交流しに行ったが、なぜだか顔が暗い。
久留米は使うはずの水槽が配送業者のミスで割れてしまっていた!私は一時間おきにエールを送った。
久留米高専への期待を胸に帰宿した。(翌日には水槽を購入しており、ちゃんとデモを展開していた。楽しかった!久留米高専大好き!)
この日こそは布団を敷いて寝た。チームと離れて過ごすのは少々寂しかった。一ヶ月しか過ごしていないが、如何に濃厚な日々を送っていたかを感じる。

##プロコン2日目
前日はてっぺん様を迎える前に寝たからだろうか、信じられないほどの爽快感で目を覚ました!
プロコンが終わった翌日かのようにスッキリした寝覚めだった!
この爽快感を保ったままプロコン二日目が開始!この日はデモ審査が行われた。
応援メンバーである私は介入できず、ただ見守るのみだったが、後輩たちは慣れた手つき・仕草で審査をこなしてゆく!
その甲斐あってか、我がチームは自由部門特別賞をもらえた!チームで頑張って取った特別賞。嬉しくもあり、悔しくもある。
様々な思いを胸に、我々は帰宿し、またチームで一部屋を使い寝た。チームが一つになる安堵感のヤバさはヤバイ。

##プロコン2+1日目
この日はひたすら疲れた。
お昼までは予定通りだった。電車を乗り継ぎ名鉄駅周辺でご飯を食べるまでは良かった。
ご飯を食べ終え、あとは帰琉するだけだと思われたときに事件発生!
電車が動かなくなり我々は90分ほど名鉄駅に拘束されるのであった!
ようやく電車が動き出し、空港へ到着するもフライトまであと30分!
信じられない速さで荷物を預けて、保安検査場を通過した!
お土産部門も危うく敗退寸前!後輩たちの壮絶なエキシビションが繰り広げられた!
おみやげに時間を取られたところで、今度は飛行機搭乗がギリギリだったひともいた!
最初から最後までエクストリームな移動だった。来年こそはできれば、もう少し余裕のある移動がしたい……

------------------------------

#終わった感想
プロコンこそ終わったものの、チームの居心地が良すぎたので、できればこのままでいたいと願う。
チーム名は「マグロ」なので、ずっとチーム一丸となって泳ぎ続けられたらいいな、と思う。
久々に自分の得意分野で本気を出せたし、まだまだハードウェアの改良をしたいし、
何よりもチーム「マグロ」の勢いを殺さずに、そのままチームとして動いてみたい。

#今後やりたいこと
まずは何よりも、ハードウェアの拡充を行いたい。その次の目標としてVFDふぁん様から頂いたVFDを大いに使っていきたい。
そしてやっぱり、「来年もプロコンに出たい」と思った。次こそはプロコンに名を連ねて出場したいと思った。
というわけで来年もプロコンに参加しますので、皆さんprocon28でもよろしくお願いします。

2016年3月13日日曜日

LSI設計コンテストで受賞しました(大賞とは言ってない)

LSI設計コンテストに参加してきたので報告

LSIコンテスト

沖縄県で開かれ,日本の大学だけでなくアジアの大学からも参加者がいる,
CPU(など)の処理系の技術を競い合うコンテストに参加しました.
http://www.lsi-contest.com/

去年,先輩が「三角関数出力処理系」のコースで参加しました.
自分も大会に駆けつけ,先輩の活動を目にしていました.

先輩が頑張っていたように,自分も頑張ろうと,
心に誓いいざ迎えた開発期間は大変でした.
そう,地獄の(ほぼ)ワンオペが待ち構えていたのです.

今回は大変だったことを4つほど紹介します.

大変だと思ったことその1 : めっちゃソフトウェアっぽい開発

LSIコンテストは,名前から分かる通りハードウェア系のコンテストです.
歴代のタイトルを見ても分かる通り,
「三角関数出力処理系」「RSA暗号復号化」「ディジタルFM受信機」
など,いかにもハード寄りで楽しそう!
そう思っていた時期が私にもありました.

今回のタイトルは「人体検出及びテンプレートマッチング」
最初見て,むっちゃきつそうだと感じました.

307kバイトのメモリを自分で作って,
メモリアドレッシングドライバを自分で書いて……
ハードウェアだけでソフトウェアが無意識のうちにハードウェアにさせている処理と同じ事させようとしたらアカン(技術不足)
まさかソフトウェア系で来るとは思ってませんでした(慢心)

大変だったことその2 : ワンオペ開発

三人の内,二人が自練に通いました.
うち一人は宿を提供してくれ,もう一人は論文にのせる図を書いてくれました.
開発は自分一人です.論文作成と当日の発表も一人でしたツラァ

図を書いてくれた人も最初は一緒に手法を考えたりしたのですが,
途中から自練の合宿に行きました.
この人が合宿へ向かったあとから手法を思いついたので,さあ大変.
まさかのワンオペ開発始まります.

大変だったことその3 : 肌色検知

開発できる時間が3日しかなく
とりあえず,「人体検出なら肌色を検出しよう!」となりました.
さっそくRGBからHSVへ変換する式を見つけてきました.

除算器と乗算器が必須で,回路規模が大きくなり
日数が少ない開発期間ではとても厳しいことに……

仕方なくHSVへの変換を諦めて,RGBの比較だけで肌色を検出する回路を作りました.
思いついたが最後,二時間の地獄が待っていました.

肌色と認識させる範囲がとてもとてもシビアでした.
素直にHSVを使うべきだったと思いながら,二時間ずっと範囲調整を失敗しては訂正失敗しては訂正を繰り返しました.

大変だったことその4 : 孤独な戦いを強いられているんだ!

論文を書くのも発表資料を作るのも当日の発表も一人でした.
他のメンバーはふたりとも隔地にいるので,
しかたなく一人で論文を書き(先生に大いなるサポートをいただきながら)
発表資料を,コンテスト前夜に作り,ほぼ練習無しで当日発表し,
見事賞状をもらえました.

なぜ人は過ちを繰り返すのか

めっちゃ短い開発期間・スライドもほぼ前日に作った・練習を積んでいないのでとても辛い
どこかで似たような経験しましたね.そうですプロコンです.

短期間で頑張ったつもりでも,やはり他の開発チームに比べたらただの間に合わせでしかなく,
賞がもらえただけでもありがたい,といった心境です.

来年度の抱負

正直に話すと,今回の結果はダメダメだと思います.
もっと勉強してもっと力をつけて,来年も参加して上位入賞したいです.

今日からまた勉強頑張ります!