A personal diary of DataFrame munging over the years.
Convert Series datatype to numeric (will error if column has non-numeric values)
(h/t @makmanalp)
| What exactly is "iowait"? | |
| To summarize it in one sentence, 'iowait' is the percentage | |
| of time the CPU is idle AND there is at least one I/O | |
| in progress. | |
| Each CPU can be in one of four states: user, sys, idle, iowait. | |
| Performance tools such as vmstat, iostat, sar, etc. print | |
| out these four states as a percentage. The sar tool can | |
| print out the states on a per CPU basis (-P flag) but most |
| nginx/ | |
| !nginx/.gitkeep | |
| !nginx/logs/.gitkeep | |
| src/ | |
| tmp/ |
| from tornado.web import RequestHandler | |
| class HelloHandler(RequestHandler): | |
| def get(self): | |
| self.write('Hello world!') |
| http { | |
| log_format bodylog '$remote_addr - $remote_user [$time_local] ' | |
| '"$request" $status $body_bytes_sent ' | |
| '"$http_referer" "$http_user_agent" $request_time ' | |
| '<"$request_body" >"$resp_body"'; | |
| lua_need_request_body on; | |
| set $resp_body ""; | |
| body_filter_by_lua ' |
A personal diary of DataFrame munging over the years.
Convert Series datatype to numeric (will error if column has non-numeric values)
(h/t @makmanalp)
| import ( | |
| "crypto/md5" | |
| "encoding/hex" | |
| ) | |
| func GetMD5Hash(text string) string { | |
| hasher := md5.New() | |
| hasher.Write([]byte(text)) | |
| return hex.EncodeToString(hasher.Sum(nil)) | |
| } |
| # Sane settings for Gnome | |
| gsettings set org.gnome.desktop.background show-desktop-icons true | |
| gsettings set org.gnome.desktop.interface clock-show-date true | |
| gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing 'grayscale' | |
| gsettings set org.gnome.settings-daemon.plugins.xsettings hinting 'slight' | |
| gsettings set org.gnome.desktop.interface text-scaling-factor '1.0' | |
| gsettings set org.gnome.desktop.interface monospace-font-name "Monospace 10" | |
| gsettings set org.gnome.desktop.interface document-font-name 'Sans 10' | |
| gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' | |
| gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita' |
| FILE SPACING: | |
| # double space a file | |
| sed G | |
| # double space a file which already has blank lines in it. Output file | |
| # should contain no more than one blank line between lines of text. | |
| sed '/^$/d;G' |
| TL;DR - jump to the challenge at the end | |
| ====ON BLOCKING EVIL BOTS===== | |
| On a resent job interview I had for "Incapsula" a few days ago I was put to the challenge to break | |
| their bot protection mechanism. Apparently node.js is not that common among bot writes and most bots | |
| are not able to run javascript. | |
| The challenge had two parts - | |
| 1. find what the code does. | |
| 2. implement a bot that will break the code without using js. | |
| 3. think how to make this code unbreakable |
| // phantomjs --web-security=no most_used_css_property_names.js | |
| var urls = [ | |
| 'http://google.com', | |
| 'http://facebook.com', | |
| 'http://youtube.com', | |
| 'http://yahoo.com', | |
| 'https://github.com/', | |
| 'http://twitter.com/', | |
| 'http://en.wikipedia.org/wiki/Main_Page', |