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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Surma
October 10, 2011
Programming
430
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
710
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
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
5.6k
源内ハンズオン概要編
hideg
0
190
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
130
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
230
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
580
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
110
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
810
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.8k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.9k
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
200
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
400
Marketing to machines
jonoalderson
1
5.7k
The Curse of the Amulet
leimatthew05
2
14k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
A designer walks into a library…
pauljervisheath
211
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
For a Future-Friendly Web
brad_frost
183
10k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Site-Speed That Sticks
csswizardry
13
1.4k
The browser strikes back
jonoalderson
0
1.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
250
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
440
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: