{"id":1747,"date":"2016-06-13T14:05:24","date_gmt":"2016-06-13T06:05:24","guid":{"rendered":"http:\/\/magicalbits.net\/?p=1747"},"modified":"2016-06-13T14:05:24","modified_gmt":"2016-06-13T06:05:24","slug":"how-to-spy-on-a-ruby-program-julia-evans","status":"publish","type":"post","link":"https:\/\/magicalbits.net\/?p=1747","title":{"rendered":"How to spy on a Ruby program &#8211; Julia Evans"},"content":{"rendered":"<blockquote><p><a href=\"http:\/\/jvns.ca\/blog\/2016\/06\/12\/a-weird-system-call-process-vm-readv\/\"><img decoding=\"async\" class=\"alignnone size-full\" src=\"http:\/\/magicalbits.net\/wp-content\/uploads\/2016\/06\/sampling.png\" alt=\"\" \/><\/a>I love debugging tools. One of the most frustrating things to me is &#8212; when I run a Ruby or Python program, I can&#8217;t find out what that program is doing RIGHT NOW.<\/p><\/blockquote>\n<p>Ruby dark magic.<\/p>\n<p>Source: <em><a href=\"http:\/\/jvns.ca\/blog\/2016\/06\/12\/a-weird-system-call-process-vm-readv\/\">How to spy on a Ruby program &#8211; Julia Evans<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I love debugging tools. One of the most frustrating things to me is &#8212; when I run a Ruby or Python program, I can&#8217;t find out what that program is doing RIGHT NOW. Ruby dark magic. Source: How to spy on a Ruby program &#8211; Julia Evans<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1747","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/1747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1747"}],"version-history":[{"count":1,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/1747\/revisions"}],"predecessor-version":[{"id":1749,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/1747\/revisions\/1749"}],"wp:attachment":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}