ソフトウェア・ハッカソンよ、さようなら。ハードウェア・ハッカソンよ、永遠なれ
(blog.oscars.dev)- 48時間のハッカソンで、古いダイヤル式電話機に Raspberry Pi を接続し、双方向オーディオ、ベル、受話器スイッチをサーバーと連携させるデモを実装
- デモは AIエージェント が音楽を調べ、Spotify APIでプレイリストを作成し、ユーザーの音楽リクエストを処理する構成
- 参加者2人は週末のあいだ一度もコードを直接見ず、ハッカソンでは内部コードより 動くかどうか が重要になったと考えている
- コードを書くことより、システム全体の設計と実装の細かな調整に集中するようになり、ハードウェアと物理世界のインターフェースを扱う精神的余裕が生まれた
- Webアプリだけではハッカソンの挑戦性が弱まり、古い技術とコンシューマー電子機器を組み合わせる ハードウェア・ハッカソン がより目立つようになると見ている
ダイヤル式電話機ハッカソン・デモ
- Vilniusで開かれたハッカソンで、古い ダイヤル式電話機 を持ち込み、2人チームで48時間作業した
- 電話機には Raspberry Pi を接続し、Raspberry Pi は電話機の入出力と連携しつつ、単一の WebSocket 接続でサーバーと通信した
- WebSocket 接続は、双方向オーディオ、カスタム周波数とオーディオパターンを持つベル、受話器を置いたことを検知するスイッチを制御した
- 最終デモでは、AIエージェントが音楽を調べ、プレイリストを作成し、Spotify API を通じて特定の音楽コレクションを再生するように構成された
- リクエスト例としては、「Epstein filesに載ったとされるアーティストの曲を流して」「70年代ザンビアのサイケデリック・ロックのプレイリストを作って」などがあった
- 電話の向こう側の人格は、ElevenLabs を使って温かみのあるヨークシャー紳士のように設定された
ハッカソンの焦点の変化
- 最近のコード作成フローの変化の中で、参加者2人とも週末のあいだ コードを一行も直接見なかった
- 12か月前には想像しにくかったやり方が今や現実となり、ハッカソンでは 成果物が動くこと が核心になっている
- ハッカソンの焦点は、睡眠を削り、指が痛くなるまでコードを打つやり方から、システム全体を考える やり方へ移っている
- 実装の細部を繰り返し調整し、抜本的にリファクタリングする作業が些細なものになるにつれ、ハードウェアと物理世界の接点を扱う余地が広がっている
- 24か月前なら立派な成果だったかもしれないWebアプリも、今では平凡になっており、ハッカソンの基準をさらに押し上げる方法は ハードウェア だ
- 今後数か月で、以前より ハードウェア・ハッカソン がさらに重視されるようになると予想している
- 古い技術は、以前は非常に狭く時間のかかるドメイン知識が必要だったが、再び実験対象として復活できる
- たとえば、Apple II向けの奇妙なアプリ、ファクス機をソーシャルメディア・ネットワークに変えること、Game Boy AdvanceをBloomberg terminalに変えること、愛と苦痛を感じられるLLMベースのレジスター、AI音声起動の電子レンジなどがある
- こうしたプロジェクトにはまともなビジネスケースがないかもしれないが、ハッカソンは多少ばかげているべきだ
- VC向けピッチや解決しようとしている問題は見たくなく、配線とAPIでできた過剰設計の奇怪な構造物 を見たい
- breadboard 上に実装された hubris(傲慢)の顕現、現実を疑いたくなるようなフランケンシュタイン的家電との融合を目指す
1件のコメント
Hacker Newsの意見
いろいろな事情を考えると納得できる。ハッカソンには数回しか出たことがないが、2022年ごろのアムステルダムでの体験がいちばん良かった。チームの半分は寝に行き、私ともう1人は200人ほどいる会場に一晩中閉じ込められて、何かを作りながら最適化や裏技、ほとんど不可能な問題に対する半ば強引な解決策を探して頭を悩ませていた
ここ数年で興味を失い、もう参加することはなさそうだ。最近終わったハッカソンのメールを受け取ったが、優勝者は AIエンジニアチーム のようなものを作ったとされ、提出物は
skills.mdのようなMarkdownのたわごとファイル20個だった。文章だけもっともらしく書けば金メダルなのかと思ったし、友人の言うように「底に落ちて、いまやその底を突き破ってさらに潜っていく」感じだ。少なくともハードウェアは実際に何かを作り、頭を使わなければならないデモにはどんな形でも実装されていなかったが、私が何を話しているか分かっているかどうかを見るだけで、自信を持って話すだけで十分だった。私たちは優勝ではなく、ただ合格点をもらうつもりだっただけだ
いまは、Markdownファイル数個が、専門家たちが何百時間もかけて作った専用の解決策よりも問題をうまく解くという歴史的な時点に来ている。勝敗は投入した努力の量ではなく、結果 で決まる
ハッカソンは「かっこいいUIとモックデータ」の大会になった。チームにいちばん優秀な UI担当者 がいる側が勝ち、私も何度かその恩恵を受けた
モックデータをつなぐとかなり本物らしく見え、私たちは優勝して経営陣から祝福を受けた。その直後に「これを1週間で本番投入できるか、それとも2週間必要か」と聞かれた
優勝チームは35ドルのBootstrapテーマを買って、存在しないアプリのランディングページを作った
ハッカソンは悪くないと思う。自分が苦手なもの、つまり ピッチ、アイコンタクト、説得力のあるストーリー作り、聴衆を引き込むことを全部求められる。私はこういうのが本当に苦手だ
人に自分の痛みを感じてもらったり、素早く効果的に伝えたりするのがひどく下手だ。いまのハッカソンはほぼこれだけなので、自分の中核的な弱点をあぶり出す訓練場になっていて、キャリア25年目でもほぼ毎週末参加している。本当に伸ばすべき領域で、ついに少しずつではあるが、検証可能な形で上達してきている
私はこの問題を trailhead と呼んでいる。問題の道を深く進みすぎると、出発点からどう見えていたかを忘れてしまい、その結果、細部のレベルも観点も間違ったところに時間を使ってしまって、プロダクトを説得できない。だから自分のものより他人のもののほうがうまくピッチできる
私もときどき似たように感じるが、興味や情熱のある場所に立ち返って枠組みを作り直し、成果へのプレッシャーや不安を脇に置いて他人に共有すれば、たいてい完全にひどいものには見えない
90年代初頭にLinuxとオープンソースに入った身としては、ハッカソン が「みんなで集まって自由ソフトウェアを協力して作ろう」ではなく、競争イベントに変わってしまったのがずっと残念だ。最近では前者を「開発スプリント」と呼ぶようだが、ハッカソンという言葉を聞くといつもまずそちらを思い浮かべる
さらに最近では、すでに完成した製品を持ち込み、ハックはせずVCミーティングに参加するチームまでいる。よくできた完成品で当然のように優勝し、メディア露出をリード獲得に使う。48時間前に集まったチームとして設計して作った私のダクトテープと段ボールのハックは、見た目ではあまり良く見えない
2023年にLibreOfficeのイベントに行く機会があったが、生活上の都合が重なって残念ながら逃してしまった
筆者は、スピードが重要でバグが許容され、デモだけが評価されるハッカソンでは、バイブコーディングがコーディングを完全に置き換えたと見ており、これには同意する。
だが、だからといってソフトウェアが「解決」されていて、ハードウェアハッカソンだけに意味があるという結論になるのかは分からない。むしろソフトウェアハッカソンは、アイデアの重要性がより高まったことで、さらに有用になったと思う。アイデアのコストが下がったとはいえ、創造性を刺激する場でより良い細部を思いつき、24〜72時間をプロトタイプに費やせる人は誰でもそうというわけではない。
ソフトウェアも解決されたわけではない。特に審査員がある程度の機能性を求めるなら、アイデアによっては、依然としてプロトタイプに落とし込むために低レベルの知識と技術が必要になる。ハッカソンの目的が、後で製品として作り直すためのプロトタイプであれ、投資家向けのプロトタイプであれ、会社に関するアイデアの発掘であれ、あるいは単に楽しさと無料の食事と良い人たちを楽しむことであれ、同じことだ。
エンクロージャーのどの部分を切るべきかも見えないし、LDOの起動過渡現象も見えない。
Hack Clubではこの2年間、10代の若者が電子工学に入門し、自分でPCBを設計できるよう支援することに大きく投資してきた。
ごまかすのがはるかに難しく、特に初心者にとっては、ソフトウェアよりずっと面白いことが多い。最近のGitHub HQイベントの動画も見る価値がある: https://youtu.be/kaEFv7e49mo?si=sLer815jCJIyWR9Y
まもなくHack Club Falloutというイベントを開催する予定で、アメリカや世界各地の高校生をShenzhenに連れて行き、7日間のハッカソンを行う。その理由は、当日中にPCBを製作できる数少ない場所の1つだからだ: https://fallout.hackclub.com
大学時代、私のハッカソンプロジェクトはほとんどすべてハードウェアだった。
たとえばHackPrincetonで作ったものがそうで、ここは電気電子ラボが最高だった。https://blog.cyrusroshan.com/post/electronic-banjoは観客賞を受賞し、https://blog.cyrusroshan.com/post/spin-to-winは「ムーンショット」アイデアだった。
自分が作ったものを手に持てるというのはかなりいい。触れられる成果物は説明もしやすく、ごまかしにくい。だからハードウェアに進むのは楽しくてやりがいがあり、点数も取りやすかった。良い時代だった。
カンファレンスのほうも大してマシではない。
数か月前、しぶしぶ1つ行ったが、本当に衝撃を受けた。2日間のイベントで、プログラミング言語の名前はあえて言わない。今となってはもう大した意味もないだろうが、発表の中で純粋にプログラミングに関するものは多くても20%ほどだった。
自らを業界のチャンピオンと呼ぶ小さな集団が代わる代わる壇上に上がり、自分たちの神聖さとコミュニティのために成し遂げた素晴らしいことを説教していたが、その領域はソフトウェア工学とは、IcelandがIndian Oceanに面している程度にしか関係がなかった。
講演また講演で、ライフスタイルで、オタクアピールで、プログラミングではなかった。無理やりねじ込まれたワークショップは基礎をきちんと積む時間すらなく、個人的に英雄視していた人は、社内パッケージマネージャーのドラマを語るために出てきた。次! もう二度と行かない。根っこまで腐っている。
最近そのことを考えていた。今やソフトウェアはほとんどのアイデア提案者の手に届くところまで来たので、もっと深いレベルの手作業と実験が可能になった。
遅いとはいえ非常に安価な3Dプリンターと、豊富なハードウェアインターフェースのおかげで、週末プロジェクトから始まって「なぜ今までなかったんだ」と思うような美しいユーティリティが世の中にたくさん出てくる気がする。ソフトウェアエンジニアやチームが、次の段階のプロダクトメーカーへと変わっていく姿を見るのが楽しみだ。
この前行った最後のハッカソンでは、うちのチームはPowerPointプレゼンだけを作ったチームに負けた。もうあんなことはやりたくない。