um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter:...
Transcript of um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter:...
![Page 1: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/1.jpg)
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
A história do htopum ”making of”
Hisham Muhammad@hisham_hm http://hisham.hm
![Page 2: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/2.jpg)
Date: 28/03/20172
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Sobre mim
autor original do htop, um projeto iniciado em 2004
http://hisham.hm/htop/
desenvolvedor principal do LuaRocks, o gerenciador de pacotes da linguagem Lua
http://luarocks.org/
co-fundador da distribuição GoboLinux
http://gobolinux.org/
![Page 3: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/3.jpg)
Date: 28/03/20173
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
O que é o htop
um gerenciador de tarefas interativo
o objetivo era ser um “top melhorado”
o que eu queria dizer com isso: scrolling!
(as versões do top melhoraram muito de lá pra cá!)
![Page 4: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/4.jpg)
Date: 28/03/20174
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
O top
![Page 5: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/5.jpg)
Date: 28/03/20175
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Hello, htop!
![Page 6: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/6.jpg)
Date: 28/03/20176
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Motivações iniciais
Resolver um problema próprio
(“scratch your itch”)
Aprender!
![Page 7: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/7.jpg)
Date: 28/03/20177
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
“Refazer” um programa clássico
!?
![Page 8: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/8.jpg)
Date: 28/03/20178
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
“Refazer” um programa clássico
![Page 9: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/9.jpg)
Date: 28/03/20179
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
“Refazer” um programa clássico
...não é um bicho de sete cabeças
Os programas que você usa todo dia não são mágicos
![Page 10: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/10.jpg)
Date: 28/03/201710
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Como obter os dados dos processos?
O kernel os apresenta em /proc
Um sistema de arquivos virtual
/proc/12345/mem
/proc/12345/stat
/proc/cpuinfo...
![Page 11: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/11.jpg)
Date: 28/03/201711
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Como ler esses dados?
Ora, da maneira mais óbvia e simples possível
open()
read()
close()
![Page 12: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/12.jpg)
Date: 28/03/201712
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Mas como o top faz?
strace top 2> top.log
![Page 13: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/13.jpg)
Date: 28/03/201713
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
![Page 14: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/14.jpg)
Date: 28/03/201714
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
![Page 15: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/15.jpg)
Date: 28/03/201715
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Aí “só era questão de programar”
Ler os dados do /proc
“Desenhar” a interface
![Page 16: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/16.jpg)
Date: 28/03/201716
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Um detalhe sobre a interface
A arte imita a vida
A vida imita a arte
![Page 17: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/17.jpg)
Date: 28/03/201717
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
![Page 18: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/18.jpg)
Date: 28/03/201718
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
![Page 19: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/19.jpg)
Date: 28/03/201719
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
![Page 20: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/20.jpg)
Date: 28/03/201720
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
![Page 21: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/21.jpg)
Date: 28/03/201721
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Um programa que “deu certo”
Sempre é difícil descobrir o porquê
Alguns palpites sobre fatores que influenciaram
![Page 22: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/22.jpg)
Date: 28/03/201722
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Ubiquidade da plataforma
o terminal!
talvez a única plataforma hoje tão presente(para desenvolvedores)
quanto a web
![Page 23: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/23.jpg)
Date: 28/03/201723
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
A linguagem
fazer em C
...mas não pelos motivos “óbvios”
![Page 24: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/24.jpg)
Date: 28/03/201724
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Facilidade de compilar em qualquer lugar
Poucas dependências:
ncurses
cores e coordenadas no terminal
todo Linux tem (dependência do Bash)
![Page 25: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/25.jpg)
Date: 28/03/201725
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Facilidade de compilar em qualquer lugar
Poucas dependências:
ncurses
cores e coordenadas no terminal
todo Linux tem (dependência do Bash)
e só
![Page 26: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/26.jpg)
Date: 28/03/201726
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Facilidade de compilar em qualquer lugar
Build com AutoTools:
./configure
make
sudo make install
![Page 27: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/27.jpg)
Date: 28/03/201727
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Facilidade de empacotar
Fácil de compilar
=
Fácil de empacotar em uma distro
![Page 28: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/28.jpg)
Date: 28/03/201728
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
E assim começou o htop
htop-0.13.tar.gz
22kB
wc -l *.c
1684
![Page 29: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/29.jpg)
Date: 28/03/201729
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Para comparação
htop-2.0.2.tar.gz
476kB
wc -l *.c */*.c
13811
![Page 30: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/30.jpg)
Date:
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
A grande mudança
Tornar o htop portável
![Page 31: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/31.jpg)
Date: 28/03/201731
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
htop off-Linux
alguns usuários já rodavam no FreeBSD usando linprocfs (uma camada de emulação)
![Page 32: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/32.jpg)
Date: 28/03/201732
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Backstory
« A wild Mac OS X fork appears! »
um port ad-hoc do htop 0.8.2
![Page 33: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/33.jpg)
Date: 28/03/201733
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Passa o tempo
bug reports começam a aparecer
bugs antigos resolvidos há anos!
começa a ficar chato
![Page 34: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/34.jpg)
Date: 28/03/201734
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Crowdfunding
Portar o htop para Mac
1/3 da meta atingida
![Page 35: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/35.jpg)
Date: 28/03/201735
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Tornar o htop portável
Torná-lo mais fácil de ser portado
Abrir o caminho para novos ports
![Page 36: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/36.jpg)
Date: 28/03/201736
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Como quebrar a dependência de SO da maneira fácil
tente compilar em outro SO!
montar uma VM
primeira tentativa: FreeBSD
desisti rápido
segunda tentativa: PC-BSD
mais fácil para um usuário Linux!
![Page 37: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/37.jpg)
Date: 28/03/201737
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Abordagens para aplicações multi-plataforma
bases de código separadas
iOS vs. Android
um spaghetti de #ifdefs
às vezes é o jeito
APIs bem definidas entre a parte portável e não-portável
![Page 38: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/38.jpg)
Date: 28/03/201738
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Isolar a parte Linux
linux/
unsupported/
![Page 39: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/39.jpg)
Date: 28/03/201739
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Isolar a parte Linux
linux/
unsupported/
freebsd/
![Page 40: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/40.jpg)
Date: 28/03/201740
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Uma abordagem “OO”
Process.c
Process.h
ProcessList.c
ProcessList.h
...
linux/
LinuxProcess.c
LinuxProcessList.c
...
![Page 41: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/41.jpg)
Date: 28/03/201741
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Subi para o GitHub e...
unsupported/
linux/
freebsd/
![Page 42: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/42.jpg)
Date: 28/03/201742
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Subi para o Github e...
unsupported/
linux/
freebsd/ - merged PRs!
![Page 43: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/43.jpg)
Date: 28/03/201743
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Subi para o Github e...
unsupported/
linux/
freebsd/
openbsd/
![Page 44: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/44.jpg)
Date: 28/03/201744
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Subi para o Github e...
unsupported/
linux/
freebsd/
openbsd/
darwin/
![Page 45: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/45.jpg)
Date: 28/03/201745
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Impacto positivo
novas pessoas contribuindo
sempre algo bom!
maior diversidade de contribuições
Galera do OpenBSD e a preocupação com segurança!
alguém quer portar para o NetBSD?
...Cygwin!?
![Page 46: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/46.jpg)
Date: 28/03/201746
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Conclusões
Siga os padrões da sua comunidade
(código, empacotamento)
Portabilidade vale a pena mesmo
“Stratch your itch!”
![Page 47: um ”making of”hisham.hm/papers/talks/htop-phpexperience2017.pdf · Slide: [ ] Presenter: @hisham_hm ... o objetivo era ser um “top melhorado” o que eu queria dizer com isso:](https://reader031.fdocuments.net/reader031/viewer/2022020415/5be66bbc09d3f2c44d8db174/html5/thumbnails/47.jpg)
Date: 28/03/201747
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
Slide: [ ]
Presenter: @hisham_hmTalk: A história do htop
Obrigado!
http://hisham.hm/htop
http://github.com/hishamhm/htop
@hisham_hm