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
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
420
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
590
Houdini Breakout Session
surma
4
700
Houdini – Demystifying CSS
surma
3
350
Progressive Web Apps – Mobile has natively come to the Web
surma
5
320
The Glorious Era of HTTP/2
surma
1
140
Instant Loading
surma
4
1.3k
HTTP/2 101
surma
5
540
What if there isn’t?
surma
0
110
What if there isn’t?
surma
2
220
Other Decks in Programming
See All in Programming
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
560
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
560
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
160
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
440
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
110
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
170
FDEが実現するAI駆動経営の現在地
gonta
2
240
AIが無かった頃の素敵な出会いの話
codmoninc
1
280
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
780
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
3.7k
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
140
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Why Our Code Smells
bkeepers
PRO
340
58k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
400
How to make the Groovebox
asonas
2
2.3k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
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: