We're looking at CPU bandwidth control via CFS:
Program does number of iterations, in each iteration we burn CPU in small chunks until we get 5ms of real time spent. On each iteration we also print how much
| # Based on gist https://gist.github.com/staaldraad/4c4c80800ce15b6bef1c1186eaa8da9f | |
| # - added TCP states | |
| awk 'BEGIN{states["01"]="TCP_ESTABLISHED" | |
| states["02"]="TCP_SYN_SENT" | |
| states["03"]="TCP_SYN_RECV" | |
| states["04"]="TCP_FIN_WAIT1" | |
| states["05"]="TCP_FIN_WAIT2" | |
| states["06"]="TCP_TIME_WAIT" | |
| states["07"]="TCP_CLOSE" |
We're looking at CPU bandwidth control via CFS:
Program does number of iterations, in each iteration we burn CPU in small chunks until we get 5ms of real time spent. On each iteration we also print how much
I wrote this gist to record the steps I followed to get docker running in my Raspberry Pi 3. The ARM ported debian version (Jessie) comes with an old version of docker. It is so old that the docker hub it tries to interact with doesn't work anymore :)
Hopefully this gist will help someone else to get docker running in their Raspberry Pi 3.
From original instructions at http://blog.hypriot.com/post/run-docker-rpi3-with-wifi/
| # Understanding JSON Web Tokens (JWT) | |
| ## Decoding a JWT | |
| A JWT is formed of three parts separated by a dot: header, payload and signature. | |
| let's explore a real one from a curl request: | |
| >curl -H"authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc3NWMyYzkwY2JhNzQxMTg3YjhkOTdkY2NiYmIwNGU3MGNlZmVjYzQifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwic3ViIjoiMTA0MzE5Mzg0OTgxOTM0ODUzODA5IiwiYXpwIjoiNTYyMjgyODc2NjIyLWFqOGdpbWc1M3JmNWcydXYxMzliZG80dmUwdHFudDRnLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiZW1haWwiOiJyZXN0ZWJhbmV6QG1kc29sLmNvbSIsImF0X2hhc2giOiJlb3R1R0hvZTloYTZjbHAtZFowMEp3IiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImF1ZCI6IjU2MjI4Mjg3NjYyMi1hajhnaW1nNTNyZjVnMnV2MTM5YmRvNHZlMHRxbnQ0Zy5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsImhkIjoibWRzb2wuY29tIiwiY19oYXNoIjoiVnRpdUFrbUZBT0JsMXlrT3VyZmltZyIsImlhdCI6MTQyOTc5MTAyMSwiZXhwIjoxNDI5Nzk0NjIxfQ.ivITFQ0BAmWUviY4f_MH2srMFrH1xZM6qFqcN5XZrC9WiidGhpjLMBYIBFH0eBuyRRt_U1GxR4Ko33ivF4jlqDQegcBNWQvbI5uStMk60Nu8w0_YbSr25b_7_pgt0kFrnSKEA_wTlTHhZK2oYJVbvCFAed_qETS-i74-ftXyZ3k" http://localhost: |
| /* Primitive types: | |
| Boolean true or false | |
| Number Any integeror floating-point numeric value | |
| String A character or sequence of characters delimited by either single or double quotes | |
| Null A primitive type that has only one value, null | |
| Undefined A primitive type that has only one value, undefined (undefined is the value assigned to a variable that is not initialize) | |
| */ | |
| /* Primitive Wrapper Types |
The purpose of design is to allow you to do design later, and it's primary goal is to reduce the cost of change.