Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GoBox - Berlin Hack and Tell Oct '11
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Surma
October 10, 2011
Programming
440
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GoBox - Berlin Hack and Tell Oct '11
Surma
October 10, 2011
More Decks by Surma
See All by Surma
Know thy buzzwords: HTTP/2
surma
1
600
Houdini Breakout Session
surma
4
720
Houdini – Demystifying CSS
surma
3
360
Progressive Web Apps – Mobile has natively come to the Web
surma
5
340
The Glorious Era of HTTP/2
surma
1
150
Instant Loading
surma
4
1.4k
HTTP/2 101
surma
5
550
What if there isn’t?
surma
0
120
What if there isn’t?
surma
2
220
Other Decks in Programming
See All in Programming
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
140
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
140
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
140
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
440
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
260
AIに “答え“を書かせるのを やめてみた
___akari11
0
130
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
290
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
160
Domain-Driven Transformation
hschwentner
2
2.3k
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
170
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
Raft: Consensus for Rubyists
vanstee
142
7.8k
Transcript
© GoBox – Swiss army knife for the Alexander Surma
command line
© Servers today are VMs
© Debian RAM: Disk: 60 MB 400 MB nothing inside™
© Debian RAM: Disk: 300 MB 650 MB because you
are worth it™ + FRAMPPP
© Debian RAM: Disk: 300 MB 650 MB because you
are worth it™ + FRAMPPP x5? x11? x20?
© Debian RAM: Disk: 300 MB 650 MB because you
are worth it™ + FRAMPPP x5? x11? x20?
© BusyBox Attempt Use aka. “My own distribution!!!11”
© BusyBox Attempt Use aka. “My own distribution!!!11” FAIL
© disk fgconsole fgrep find findfs flash_eraseall flash_lock flash_unloc ashcp
flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpp user getopt getty grep gunzip gzip halt hd hdparm head hexdump host stname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup in nit inotifyd insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplin proute iprule iptunnel kbd_mode kill killall killall5 klogd last length les ux32 linux64 linuxrc ln loadfont loadkmap logger login logname logre losetup lpd lpq lpr ls lsattr lsmod lspci lsusb lzcat lzma lzop lzopcat akedevs makemime man md5sum mdev mesg microcom mkdir mkdos e2fs mkfifo mkfs.ext2 mkfs.minix mkfs.reiser mkfs.vfat mknod mkpas kswap mktemp modinfo modprobe more mount mountpoint mpstat m mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter no nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 e_progress pivot_root pkill pmap popmaildir poweroff powertop print intf ps pscan pwd raidautorun rdate rdev readahead readlink readprofi ealpath reboot reformime remove-shell renice reset resize rev rfkill rm dir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsv rx script scriptreplay sed sendmail seq setarch setconsole setfont keycodes setlogcons setsid setuidgid sh sha1sum sha256sum sha512s BusyBox
© disk fgconsole fgrep find findfs flash_eraseall flash_lock flash_unloc ashcp
flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpp user getopt getty grep gunzip gzip halt hd hdparm head hexdump host stname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup in nit inotifyd insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplin proute iprule iptunnel kbd_mode kill killall killall5 klogd last length les ux32 linux64 linuxrc ln loadfont loadkmap logger login logname logre losetup lpd lpq lpr ls lsattr lsmod lspci lsusb lzcat lzma lzop lzopcat akedevs makemime man md5sum mdev mesg microcom mkdir mkdos e2fs mkfifo mkfs.ext2 mkfs.minix mkfs.reiser mkfs.vfat mknod mkpas kswap mktemp modinfo modprobe more mount mountpoint mpstat m mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter no nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 e_progress pivot_root pkill pmap popmaildir poweroff powertop print intf ps pscan pwd raidautorun rdate rdev readahead readlink readprofi ealpath reboot reformime remove-shell renice reset resize rev rfkill rm dir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsv rx script scriptreplay sed sendmail seq setarch setconsole setfont keycodes setlogcons setsid setuidgid sh sha1sum sha256sum sha512s BusyBox Written in C
© disk fgconsole fgrep find findfs flash_eraseall flash_lock flash_unloc ashcp
flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpp user getopt getty grep gunzip gzip halt hd hdparm head hexdump host stname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup in nit inotifyd insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplin proute iprule iptunnel kbd_mode kill killall killall5 klogd last length les ux32 linux64 linuxrc ln loadfont loadkmap logger login logname logre losetup lpd lpq lpr ls lsattr lsmod lspci lsusb lzcat lzma lzop lzopcat akedevs makemime man md5sum mdev mesg microcom mkdir mkdos e2fs mkfifo mkfs.ext2 mkfs.minix mkfs.reiser mkfs.vfat mknod mkpas kswap mktemp modinfo modprobe more mount mountpoint mpstat m mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter no nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 e_progress pivot_root pkill pmap popmaildir poweroff powertop print intf ps pscan pwd raidautorun rdate rdev readahead readlink readprofi ealpath reboot reformime remove-shell renice reset resize rev rfkill rm dir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsv rx script scriptreplay sed sendmail seq setarch setconsole setfont keycodes setlogcons setsid setuidgid sh sha1sum sha256sum sha512s BusyBox Written in C Security Worth a fuckall
© disk fgconsole fgrep find findfs flash_eraseall flash_lock flash_unloc ashcp
flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpp user getopt getty grep gunzip gzip halt hd hdparm head hexdump host stname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup in nit inotifyd insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplin proute iprule iptunnel kbd_mode kill killall killall5 klogd last length les ux32 linux64 linuxrc ln loadfont loadkmap logger login logname logre losetup lpd lpq lpr ls lsattr lsmod lspci lsusb lzcat lzma lzop lzopcat akedevs makemime man md5sum mdev mesg microcom mkdir mkdos e2fs mkfifo mkfs.ext2 mkfs.minix mkfs.reiser mkfs.vfat mknod mkpas kswap mktemp modinfo modprobe more mount mountpoint mpstat m mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter no nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 e_progress pivot_root pkill pmap popmaildir poweroff powertop print intf ps pscan pwd raidautorun rdate rdev readahead readlink readprofi ealpath reboot reformime remove-shell renice reset resize rev rfkill rm dir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsv rx script scriptreplay sed sendmail seq setarch setconsole setfont keycodes setlogcons setsid setuidgid sh sha1sum sha256sum sha512s BusyBox Written in C Security Worth a fuckall Extensibility Trololololo
© disk fgconsole fgrep find findfs flash_eraseall flash_lock flash_unloc ashcp
flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpp user getopt getty grep gunzip gzip halt hd hdparm head hexdump host stname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup in nit inotifyd insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplin proute iprule iptunnel kbd_mode kill killall killall5 klogd last length les ux32 linux64 linuxrc ln loadfont loadkmap logger login logname logre losetup lpd lpq lpr ls lsattr lsmod lspci lsusb lzcat lzma lzop lzopcat akedevs makemime man md5sum mdev mesg microcom mkdir mkdos e2fs mkfifo mkfs.ext2 mkfs.minix mkfs.reiser mkfs.vfat mknod mkpas kswap mktemp modinfo modprobe more mount mountpoint mpstat m mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter no nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 e_progress pivot_root pkill pmap popmaildir poweroff powertop print intf ps pscan pwd raidautorun rdate rdev readahead readlink readprofi ealpath reboot reformime remove-shell renice reset resize rev rfkill rm dir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsv rx script scriptreplay sed sendmail seq setarch setconsole setfont keycodes setlogcons setsid setuidgid sh sha1sum sha256sum sha512s BusyBox Written in C Security Worth a fuckall Extensibility Trololololo Maintainability 270k SLOCs? 700 applets? KConfig?
© disk fgconsole fgrep find findfs flash_eraseall flash_lock flash_unloc ashcp
flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpp user getopt getty grep gunzip gzip halt hd hdparm head hexdump host stname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup in nit inotifyd insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplin proute iprule iptunnel kbd_mode kill killall killall5 klogd last length les ux32 linux64 linuxrc ln loadfont loadkmap logger login logname logre losetup lpd lpq lpr ls lsattr lsmod lspci lsusb lzcat lzma lzop lzopcat akedevs makemime man md5sum mdev mesg microcom mkdir mkdos e2fs mkfifo mkfs.ext2 mkfs.minix mkfs.reiser mkfs.vfat mknod mkpas kswap mktemp modinfo modprobe more mount mountpoint mpstat m mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter no nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 e_progress pivot_root pkill pmap popmaildir poweroff powertop print intf ps pscan pwd raidautorun rdate rdev readahead readlink readprofi ealpath reboot reformime remove-shell renice reset resize rev rfkill rm dir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsv rx script scriptreplay sed sendmail seq setarch setconsole setfont keycodes setlogcons setsid setuidgid sh sha1sum sha256sum sha512s BusyBox Written in C Security Worth a fuckall Extensibility Trololololo Maintainability 270k SLOCs? 700 applets? KConfig? Don’t fucking think so.
© disk fgconsole fgrep find findfs flash_eraseall flash_lock flash_unloc ashcp
flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpp user getopt getty grep gunzip gzip halt hd hdparm head hexdump host stname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup in nit inotifyd insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplin proute iprule iptunnel kbd_mode kill killall killall5 klogd last length les ux32 linux64 linuxrc ln loadfont loadkmap logger login logname logre losetup lpd lpq lpr ls lsattr lsmod lspci lsusb lzcat lzma lzop lzopcat akedevs makemime man md5sum mdev mesg microcom mkdir mkdos e2fs mkfifo mkfs.ext2 mkfs.minix mkfs.reiser mkfs.vfat mknod mkpas kswap mktemp modinfo modprobe more mount mountpoint mpstat m mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter no nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 e_progress pivot_root pkill pmap popmaildir poweroff powertop print intf ps pscan pwd raidautorun rdate rdev readahead readlink readprofi ealpath reboot reformime remove-shell renice reset resize rev rfkill rm dir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsv rx script scriptreplay sed sendmail seq setarch setconsole setfont keycodes setlogcons setsid setuidgid sh sha1sum sha256sum sha512s BusyBox Written in C Security Worth a fuckall Extensibility Trololololo Maintainability 270k SLOCs? 700 applets? KConfig? Head Keyboard elaborate smashing Don’t fucking think so.
© Enter Go ...and forgive us our sins. (meaning C)
© Advantages of Go
© Advantages Statically linked of Go
© Advantages Statically linked Lightweight syntax of Go
© Advantages Statically linked Lightweight syntax Native concurrency of Go
© Advantages Statically linked Lightweight syntax Native concurrency Networking of
Go
© Advantages Statically linked Lightweight syntax Native concurrency Networking (Cross-platform
of Go
© GoBox
© GoBox Security Yup.
© GoBox Security Yup. Extensibility Yup.
© GoBox Security Yup. Extensibility Yup. Maintainability Yup.
© Breaking compatibility GNU’s bloated
© GoBox RAM: Disk: 6 MB 3 MB
© GoBox RAM: Disk: 6 MB 3 MB 1-2%
© Alexander Surma
[email protected]
twitter.com/surmair gplus.to/surma 78762.de gobox.asdf-systems.de github.com/surma github.com/asdf-systems/gobox
Me: GoBox: