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 : 孤独な戦いを強いられているんだ!

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

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

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

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

来年度の抱負

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

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

2015年12月20日日曜日

電子工作をするときに使ってきたソフトたち

この記事はICT Advent Calendar 2015の20日目の記事として書きました。

今年はプロコンに出場しました。それの反省点や、できるようになったこととかを書きます。
その後は後輩にハードウェア開発の知識を継承するためのいろいろを書きます。

プロコン、皆さんへの圧倒的謝謝

何回か前の記事にプロコンのことを書きました。
もう一度、自分が何をし、何ができるようになったのかまとめてみたいと思います。

自分はアプリのメイン処理に携われるほど開発力がついていなかったので、実験を一年生の可愛い可愛い後輩と一緒にやりました。ひたすら、一分半の「少し操作して放置」の実験を何十回と繰り返しました。自分の実験が終わるのを待ってくれた先輩と駐日ユーゴスラビア臨時政府大使館さん(以下、ユーゴに略す)と、一緒に実験してくれた一年生に圧倒的感謝です。やはりアプリを実際に動かそうにも、そのデータを作らねばなりませんので、実験が長引いて待たせてしまったのは反省です。
実験の後半の後半で、先輩が測定アプリを改良して爆速で測定できるようにしてくれました。今までの待機時間がウソのように、みるみるうちにデータが取れていきました。ソフトウェアってすげーってなりました。
実験お疲れ様でした!

アプリが「位置測定をしてスワイプ下方向にデータを送る」という仕様なので、その基盤を使ったゲームを作れと言われ、「スワイプした方向に爆弾を押し付けあう」ゲームを作りました。
このアプリは決して一人で作ることはできず、ユーゴ宅に泊まりこみAndroidアプリのなんたるかを教わりながら、M教授と先輩にプレビューをしてもらい、一年生の後輩には「背景にカメラからの映像を映すアプリモジュール」を作ってもらったりアプリに使う画像や音源などの素材を集めてもらったり、みなさんの協力を得て自分の初めてのAndroidは(メインアプリと統合すればきっと)どうにか遊べるレベルまで作ることができました。
アプリを作成するのに協力してくれた皆さん本当に圧倒的謝々です!

昨今の沖縄高専ICT委員会におけるハードウェア開発事情

沖縄高専ICT委員会は主にソフトウェア開発が基本です。しかし、ハード開発を一切やらないというわけではありません。
ホワイトハッカーズがエンベッドでアプリを作っていたり、一年生の一部がラズベリーパイを触っていたり、実は各学年に一名以上は情報性がいたり……
実はハードウェアの開発をする人がいます。
某先輩がいればハードウェアの開発も少しはできたでしょうけど、もう卒業しまいました。
残されたハードウェア要員である情報性の一人である僕は、ICT委員会がこれからハードウェア方面にも進出した時のことを考えて、自分がハードウェア開発の際に使ってきたソフトたちを紹介しようと思いました。

使ってきたソフトたちの名前の紹介


僕がハードウェア開発をするときに使ってきた道具の名前と、それらのダウンロードリンク、そして僕が学習したサイトを紹介していきます。

  • BSch3V:回路図を書くときに使う
  • PasS:実体配線図を書くときに使う
  • Eagle:大規模プリント基板を作るときに使う
  • PCBE:小規模プリント基板を作るときに使う

BSch3V

僕が回路図を書くときに使っているソフトウェアです。回路図はあくまで概要なので、全体をシステムとして見渡すときに使います。
例として、3年次のコンピューターアーキテクチャの課題でCPUを作成するときに使いました。
BSch3Vは水魚堂さんが作っているソフトで、そこのホームページで公開されています。
ダウンロードできるサイトのリンク、便利なライブラリが乗っているサイトのリンク、僕がソフトの使い方を学んだサイトのリンク、僕が作った作品のリンクを貼っておきます。
便利ライブラリリンク:http://www.eleclabo.com/denshi/doc/bschlib.html
学習したサイトリンク:http://www.picfun.com/BSchframe.html

PasS

回路の実体配線図を書くときに使っているソフトウェアです。実体配線図というのは、基盤にパーツを実際に載せた時の図です。回路図だけではわからない部品の大きさや、相対的な位置とか実際の接続関係を知るときにに必要なものです。
僕がユニバーサル基板上にパーツを置くときに必ず使っているものです。
このソフトはショートカットキーがなくて、マウス必須で使い心地は正直あまり良くないのですが、実体配線図を作れるとても良いソフトなのでおすすめです。
ダウンロードできるサイトのリンク、便利なライブラリが乗っているサイトのリンク、僕がソフトの使い方を学んだサイトのリンク、僕が作った作品のリンクを貼っておきます。
便利ライブラリリンク:ないです
学習したサイトリンク:ホームページに取扱説明書がありますのでそれを読みましょう

Eagle

僕がプリント基板を作っている時に使っているソフトです。
このソフトの便利なところは、回路図を書いてその後基盤作成画面で、すでに配置したパーツが(てきとうに)並んでいるところです。わざわざ同じパーツを持ってくる手間省けます。
さらにこのソフトは自動配線をしてくれます。本来ならば自分で導線パターンを配置しないといけないのですが、そこを自動でちゃちゃっと配線してくれます。とても嬉しいです。
嬉しい機能はいっぱいあるのですが、無償版では制限があり、1層両面基板までした対応していない、その基盤の大きさ制限がある、といったものがあるのでガチな複雑なものはできないので注意しましょう。

ダウンロードできるサイトのリンク、便利なライブラリが乗っているサイトのリンク、僕がソフトの使い方を学んだサイトのリンク、僕が作った作品のリンクを貼っておきます。

PCBE

ダウンロードはVectorからできます。
このソフトもプリント基板を作るものなんですが、Eagleとは少し違います。
Eagleが初心者向けだとすれば、PCBEはちょっとだけ上級者向けです。
Eagleと違って、

  • 回路図エディタがない、開いてすぐパターン配置画面
  • ショートカットキーが見つけにくい
  • クセが強くてなれるまでに時間が掛かる
  • 自動配線ツールがない

といろいろ差異はあるのですが、自動配線じゃなくて自分で配線しないといけないところはそこまで悪くないかな、と思います。
自分で配線しているときは楽しい気分で、自分でこだわって配線するところが楽しいです。
ダウンロードできるサイトのリンク、便利なライブラリが乗っているサイトのリンク、僕がソフトの使い方を学んだサイトのリンク、僕が作った作品のリンクを貼っておきます。
学習したサイトリンク:http://www.picfun.com/pcbeframe.html
作った作品のリンク:https://drive.google.com/file/d/0B4oTrEM9rLwfcGJJTjZIYnVwNFU/view?usp=sharing



今のところICT委員会は各学年に一人は情報生がいるので、自分が学んできたハードウェアよりの技術を後輩にもICTにもちゃんと継承できるようにこれから過ごしたいと思います。

ICT委員会のさらなる(ハード方面も)発展を祈りながら今回の記事を終わります。

2015年12月16日水曜日

アドベントカレンダーなるものを知った

最近みんなが口々に「アドベントカレンダー」という単語を発するようになった
クリスマスに向けてみんなで一日づつ記事を書くらしい

自分もやってみたいと思い、ブログに書くようなことがあるかどうか悩んだ。特に何か毎日新しいことをやっていないことに気づいた。
小学校の頃は毎日でも日記に書くことがあった(義務だった)が、最近は特にない。毎日刺激に目を向けていない証拠だと感じた。

きっと自分にもなにか書くものがあるはずと考えた結果、自分の持ち物について語ろうと思いついた。
いろいろ道具を集めては悦に浸るので、自分に向いた記事ではないかと思う。

というわけでアドベントカレンダーの記事書きます。
タイトルは「僕の道具たち」です。よろしくお願い致します。

2015年11月10日火曜日

自分の中で高専祭を終わらすために筆を走らせる

今回の高専祭は反省することがとても多かった
中でも一番反省しているのは、電子工作での計算である

この期間内に2度もミスをした
抵抗の許容電力量と、AC/DCの出力電力容量だ

まず焼いたのは抵抗器だ。
ある抵抗の先には赤外線LEDを取り付けていて、明るく光らせるために比較的大きい電流を流そうとした。しかもこの抵抗の先には三つもつながっており、抵抗には300mAが流れる計算だった。
計算をしてみると、この抵抗は1/4w級なのに対して、かかっていた電力は2.5wで、最大規格の10倍もの電力をかけていた。
回路の電源を付けて数秒でものすごく熱くなり、指を少しだけ火傷した。計算の大切さと電気の恐ろしさを身をもって体感した。

次に焼いたのはAC/DCだ。
電飾のためテープLEDを購入し電子工作用のAC/DCで12Vかけて光らせていたが、AC/DCが熱くなってLEDも消えてしまった。
それもそのはず、一つのAC/DCで二つもテープLEDを光らせれば負担はとても大きくなるだろう。熱くなったAC/DCを休ませるため、新たに二つ追加して一つずつ光らせることにした。しかし、気づけば二つとも消え、AC/DCはまたもや熱を持っていた。
恐る恐る三つのAC/DCをコンセントにつなぎテスターにつなぐと、針はピクリとも動かなかった。そう、中の回路が焼け死んでいたのだ。
それもそのはず光らせていたのは車載用12V駆動で、しかも3mも連なって光らせていた。電流は2Aほど要したところに、400mAが限界のAC/DCを使っていたのだ。ソース電流が足りずに回路は焼けてしまった。
この事教員に伝えると、実験室からとても大きく抱えるようなAC/DCを持ってきてくれた。午前は3つもAC/DCを焼いたところを、午後は教員のおかげで事なきを得た。

電気の計算は少し間違うだけで素子は熱を持ち、時には回路や素子を焼き、またある時には人間に被害を及ぼす。
今回の火傷を持って、これからの回路設計は素子や供給気に無理な負荷をかけないよう、しっかりと計算していきたい。