Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Twitter専用のPCを作る / create a dedicated Twitter PC
Search
Arata
February 07, 2023
0
69
Twitter専用のPCを作る / create a dedicated Twitter PC
Arata
February 07, 2023
Tweet
Share
More Decks by Arata
See All by Arata
eBPFを用いたAndroid向けデバッガ「eDBG」のx86_64 Linuxへの移植
arata_nvm
0
4
Pythonのcopy-and-patch JITの実装を読む
arata_nvm
0
86
eBPFを使った動的解析手法
arata_nvm
1
660
カーネルハック実験の振り返り
arata_nvm
1
39
Improving LLVM Backend Development with a New TableGen Language Server
arata_nvm
0
31
コードエディターのシンタックスハイライトの話
arata_nvm
0
180
LLVMのコード自動生成機構におけるコード記述を支援するツールの作成
arata_nvm
0
82
TableGenの言語サーバーをつくる
arata_nvm
0
590
pwn入門 / introduction to pwn
arata_nvm
1
2.6k
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
72
The Language of Interfaces
destraynor
162
26k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Ruling the World: When Life Gets Gamed
codingconduct
0
140
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Chasing Engaging Ingredients in Design
codingconduct
0
110
What's in a price? How to price your products and services
michaelherold
247
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
770
Transcript
Twitter専用のPCを作る @Arata
Q. 新しいPCを買って何をする?
Q. 新しいPCを買って何をする? A. Twitter
Q. 新しいスマホを買って何をする?
Q. 新しいスマホを買って何をする? A. Twitter
Twitterができれば {Windows, macOS} いらなくね?
Twitter専用のPCを作る @Arata 再掲
どうやって作るのか UEFIを使う
どうやって作るのか UEFIを使う
UEFI is 何 PCの電源を入れると、最初に起動するもの https://ja.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
UEFIの機能 • コンピューターの初期化 ◦ どんなハードウェアが接続されているか • メモリの管理 • ファイルシステム •
ネットワーク
UEFIの機能 • コンピューターの初期化 ◦ どんなハードウェアが接続されているか • メモリの管理 • ファイルシステム •
ネットワーク
OSがなくてもインターネットが使える → Twitterができる
まずはTwitter APIの申請から
まずはTwitter APIの申請から
まずはTwitter APIの申請から
UEFIからTwitter APIを叩く やるだけ
UEFIからTwitter APIを叩く 1. UEFIの仕様書を読む 2. 仕様に従ってコードを書く 3. ビルドする 4. PCで動かす
HTTPでリクエストを飛ばす手順 1. gBS->LocateHandle() でハンドラを取得する 2. gBS->HandleProtocol() でハンドラからプロトコルを取 得する 3. プロトコルのもつインターフェースを呼び出す
HTTPでリクエストを飛ばす手順 1. gBS->LocateHandle() でハンドラを取得する 2. gBS->HandleProtocol() でハンドラからプロトコルを取 得する 3. プロトコルのもつインターフェースを呼び出す
大変なところ • 登場する仕様が多い ◦ UEFI ◦ Twitter API ◦ OAuth
1.0 ◦ JSON • UEFIが標準で日本語に対応していない ◦ 💪力💪でなんとかする
完成したもの
その後 • Twitterで反応をもらえた
その後 • Twitterで反応をもらえた
その後 • Twitterで反応をもらえた
その後 • Twitterで反応をもらえた
その後 • Twitterで反応をもらえた • 海外のニュースサイトに記事ができた
その後 • Twitterで反応をもらえた • 海外のニュースサイトに記事ができた
その後 • Twitterで反応をもらえた • 海外のニュースサイトに記事ができた • GitHubでスターをたくさんもらえた
その後 • Twitterで反応をもらえた • 海外のニュースサイトに記事ができた • GitHubでスターをたくさんもらえた
まとめ • OSが必要ないTwitterクライアントを作った • 世界中のオタクたちに補足された