

{"id":30,"date":"2011-02-03T16:43:24","date_gmt":"2011-02-03T21:43:24","guid":{"rendered":"http:\/\/rud.is\/b\/?p=30"},"modified":"2017-04-02T22:51:38","modified_gmt":"2017-04-03T03:51:38","slug":"awesomechartjs-meets-microsoft-security-bulletins","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/","title":{"rendered":"AwesomeChartJS Meets Microsoft Security Bulletins"},"content":{"rendered":"<p>I wanted to play with the <a href=\"http:\/\/cyberpython.github.io\/AwesomeChartJS\/\">AwesomeChartJS<\/a> library and figured an interesting way to do that was to use it to track <a href=\"https:\/\/technet.microsoft.com\/en-us\/security\/bulletins\">Microsoft Security Bulletins<\/a> this year. While I was drawn in by just how simple it is to craft basic charts, that simplicity really only makes it useful for simple data sets. So, while I&#8217;ve produced three diferent views of Microsoft Security Bulletins for 2011 (to-date, and in advance of February&#8217;s Patch Tuesday), it would not be a good choice to do a running comparison between past years and 20111 (per-month). \u00a0The authors self-admit that there are [deliberate] limitations and point folks to the most excellent <a href=\"https:\/\/code.google.com\/archive\/p\/flot\">flot library<\/a> for more sophisticated analytics (which I may feature in March).<\/p>\n<p>The library itself only works within an HTML5 environment (one of the reasons I chose it) and uses a separate <code>&lt;canvas&gt;<\/code> element to house each chart. After loading up the library iself in a script tag:<\/p>\n<p style=\"text-align: center;\"><code>&lt;script src=\"\/b\/js\/AwesomeChartJS\/awesomechart.js\" type=\"application\/javascript\"&gt;<\/code><\/p>\n<p>(which is ~32K un-minified) you then declare a canvas element:<code><\/p>\n<p style=\"text-align: center;\">&lt;canvas id=\"canvas1\" width=\"400\" height=\"300\"&gt;&lt;\/canvas&gt;<\/p>\n<p><\/code><br \/>\nand use some pretty straighforward javascript (no dependency on jQuery or other large frameworks) to do the drawing:<\/p>\n<div style=\"padding-left: 90px;\"><code>var mychart = new AwesomeChart('canvas1');<\/code><\/div>\n<div style=\"padding-left: 90px;\"><code>mychart.title = \"Microsoft Security Bulletins Raw Count By Month - 2011\";<\/code><\/div>\n<div style=\"padding-left: 90px;\"><code>mychart.data = [2, 12];<\/code><\/div>\n<div style=\"padding-left: 90px;\"><code>mychart.colors = [\"#0000FF\",\"#0000FF\"];<\/code><\/div>\n<div style=\"padding-left: 90px;\"><code>mychart.labels = [\"January\", \"February\"];<\/code><\/div>\n<div style=\"padding-left: 90px;\"><code>mychart.draw();<\/code><\/div>\n<p>\nIt&#8217;s definitely worth a look if you have simple charting needs.<\/p>\n<p>Regrettably, it looks like February is going to be a busy month for Windows administrators.<\/p>\n<div style=\"text-align: center;\">\n<canvas id=\"canvas1\" width=\"400\" height=\"300\">Your web-browser does not support the HTML 5 canvas element.<\/canvas><\/p>\n<p><canvas id=\"canvas2\" width=\"400\" height=\"300\">Your web-browser does not support the HTML 5 canvas element.<\/canvas><\/p>\n<p><canvas id=\"canvas3\" width=\"400\" height=\"300\">Your web-browser does not support the HTML 5 canvas element.<\/canvas><\/p>\n<\/div>\n<p><script src=\"\/b\/js\/AwesomeChartJS\/awesomechart.js\" type=\"application\/javascript\"><\/script> <script type=\"application\/javascript\">\/\/ <![CDATA[\n         function drawMyChart(){         if(!!document.createElement('canvas').getContext){             var mychart = new AwesomeChart('canvas1');             mychart.title = \"Microsoft Security Bulletins Raw Count By Month - 2011\";             mychart.data = [2, 12];             mychart.colors = [\"#0000FF\",\"#0000FF\"];             mychart.labels = [\"January\", \"February\"];             mychart.draw();             var mychart2 = new AwesomeChart('canvas2');             mychart2.title = \"Microsoft Security Bulletins Count By Vulnerability Impact - 2011\";             mychart2.data = [7,1,1,5];             mychart2.colors = [\"#0000FF\",\"#0000FF\",\"#0000FF\",\"#0000FF\"];             mychart2.labels = [\"RCE\",\"DoS\",\"ID\",\"EoP\"];             mychart2.draw() ;             var mychart3 = new AwesomeChart('canvas3');             mychart3.title = \"Microsoft Security Bulletins Count By Severity - 2011\";             mychart3.data = [4, 10];             mychart3.colors = [\"#0000FF\",\"#0000FF\"];             mychart3.labels = [\"Critical\",\"Important\"];             mychart3.draw() ;        }       }       window.onload = drawMyChart;\n\/\/ ]]><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I wanted to play with the AwesomeChartJS library and figured an interesting way to do that was to use it to track Microsoft Security Bulletins this year. While I was drawn in by just how simple it is to craft basic charts, that simplicity really only makes it useful for simple data sets. So, while [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[24,15,9,7,4,25,26],"tags":[37,145,144,107,141,108,34,109,143,142,146,140],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-charts-graphs","category-javascript","category-operating-systems","category-programming","category-risk","category-threats","category-vulnerabilities","tag-canvas","tag-client-side-javascript","tag-comparison-of-layout-engines","tag-computing","tag-curly-bracket-programming-languages","tag-html","tag-javascript-2","tag-javascript-programming-language","tag-markup-languages","tag-scripting-languages","tag-software-engineering","tag-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AwesomeChartJS Meets Microsoft Security Bulletins - rud.is<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AwesomeChartJS Meets Microsoft Security Bulletins - rud.is\" \/>\n<meta property=\"og:description\" content=\"I wanted to play with the AwesomeChartJS library and figured an interesting way to do that was to use it to track Microsoft Security Bulletins this year. While I was drawn in by just how simple it is to craft basic charts, that simplicity really only makes it useful for simple data sets. So, while [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2011-02-03T21:43:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-03T03:51:38+00:00\" \/>\n<meta name=\"author\" content=\"hrbrmstr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hrbrmstr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"AwesomeChartJS Meets Microsoft Security Bulletins\",\"datePublished\":\"2011-02-03T21:43:24+00:00\",\"dateModified\":\"2017-04-03T03:51:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/\"},\"wordCount\":241,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"keywords\":[\"canvas\",\"Client-side JavaScript\",\"Comparison of layout engines\",\"Computing\",\"Curly bracket programming languages\",\"HTML\",\"javascript\",\"JavaScript programming language\",\"Markup languages\",\"Scripting languages\",\"Software engineering\",\"Web development\"],\"articleSection\":[\"Charts &amp; Graphs\",\"Javascript\",\"Operating Systems\",\"Programming\",\"Risk\",\"Threats\",\"Vulnerabilities\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/\",\"url\":\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/\",\"name\":\"AwesomeChartJS Meets Microsoft Security Bulletins - rud.is\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/#website\"},\"datePublished\":\"2011-02-03T21:43:24+00:00\",\"dateModified\":\"2017-04-03T03:51:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rud.is\/b\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AwesomeChartJS Meets Microsoft Security Bulletins\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rud.is\/b\/#website\",\"url\":\"https:\/\/rud.is\/b\/\",\"name\":\"rud.is\",\"description\":\"&quot;In God we trust. All others must bring data&quot;\",\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rud.is\/b\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\",\"name\":\"hrbrmstr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"url\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"width\":460,\"height\":460,\"caption\":\"hrbrmstr\"},\"logo\":{\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\"},\"description\":\"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7\",\"sameAs\":[\"http:\/\/rud.is\"],\"url\":\"https:\/\/rud.is\/b\/author\/hrbrmstr\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AwesomeChartJS Meets Microsoft Security Bulletins - rud.is","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/","og_locale":"en_US","og_type":"article","og_title":"AwesomeChartJS Meets Microsoft Security Bulletins - rud.is","og_description":"I wanted to play with the AwesomeChartJS library and figured an interesting way to do that was to use it to track Microsoft Security Bulletins this year. While I was drawn in by just how simple it is to craft basic charts, that simplicity really only makes it useful for simple data sets. So, while [&hellip;]","og_url":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/","og_site_name":"rud.is","article_published_time":"2011-02-03T21:43:24+00:00","article_modified_time":"2017-04-03T03:51:38+00:00","author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"AwesomeChartJS Meets Microsoft Security Bulletins","datePublished":"2011-02-03T21:43:24+00:00","dateModified":"2017-04-03T03:51:38+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/"},"wordCount":241,"commentCount":0,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"keywords":["canvas","Client-side JavaScript","Comparison of layout engines","Computing","Curly bracket programming languages","HTML","javascript","JavaScript programming language","Markup languages","Scripting languages","Software engineering","Web development"],"articleSection":["Charts &amp; Graphs","Javascript","Operating Systems","Programming","Risk","Threats","Vulnerabilities"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/","url":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/","name":"AwesomeChartJS Meets Microsoft Security Bulletins - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"datePublished":"2011-02-03T21:43:24+00:00","dateModified":"2017-04-03T03:51:38+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2011\/02\/03\/awesomechartjs-meets-microsoft-security-bulletins\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"AwesomeChartJS Meets Microsoft Security Bulletins"}]},{"@type":"WebSite","@id":"https:\/\/rud.is\/b\/#website","url":"https:\/\/rud.is\/b\/","name":"rud.is","description":"&quot;In God we trust. All others must bring data&quot;","publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rud.is\/b\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886","name":"hrbrmstr","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","width":460,"height":460,"caption":"hrbrmstr"},"logo":{"@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1"},"description":"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7","sameAs":["http:\/\/rud.is"],"url":"https:\/\/rud.is\/b\/author\/hrbrmstr\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p23idr-u","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":87,"url":"https:\/\/rud.is\/b\/2011\/02\/09\/quick-hits-2011-02-09\/","url_meta":{"origin":30,"position":0},"title":"Quick Hits :: 2011-02-09","author":"hrbrmstr","date":"2011-02-09","format":false,"excerpt":"Security VSR uses some high-ish profile attacks from 2010 to provide fodder for the VAR community :: Security Risk: Top Hacker Attacks of 2010. I include it as the examples they provide should make it easier for folks doing presentations where they need to show real-life attacks (without sifting through\u2026","rel":"","context":"In &quot;HTML5&quot;","block_context":{"text":"HTML5","link":"https:\/\/rud.is\/b\/category\/html5\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3,"url":"https:\/\/rud.is\/b\/2011\/02\/07\/quick-hits-2011-01-07\/","url_meta":{"origin":30,"position":1},"title":"Quick Hits :: 2011-01-07","author":"hrbrmstr","date":"2011-02-07","format":false,"excerpt":"Security Smart Servers spot & block botnet attacks [NewScientist] Passwords are *so* 2010 - Building the ultimate bad arse CUDA cracking server\u2026 [SecManiac] Programming Interesting points\/counterpoints on the efficacy of Node.js being tied so closely to the V8 javascript engine: NodeJS: To V8 or not to V8 [bruno fernandez-ruiz] On\u2026","rel":"","context":"In &quot;HTML5&quot;","block_context":{"text":"HTML5","link":"https:\/\/rud.is\/b\/category\/html5\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4154,"url":"https:\/\/rud.is\/b\/2016\/03\/18\/stacking-the-deck-against-treemaps\/","url_meta":{"origin":30,"position":2},"title":"Stacking the deck against treemaps","author":"hrbrmstr","date":"2016-03-18","format":false,"excerpt":"So, I (unapologetically) did this to @Highcharts last week: @hrbrmstr Your loss of words inspired this post!! https:\/\/t.co\/3KO0BP0k0u @hadleywickham @ma_salmon @tdmv @bearloga @rushworth_a @awhstin\u2014 Highcharts (@Highcharts) March 18, 2016 They did an awesome makeover (it's interactive if you follow the link): And, I'm not kidding, it's actually a really good\u2026","rel":"","context":"In &quot;Data Visualization&quot;","block_context":{"text":"Data Visualization","link":"https:\/\/rud.is\/b\/category\/data-visualization\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz021.png?fit=1200%2C695&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz021.png?fit=1200%2C695&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz021.png?fit=1200%2C695&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz021.png?fit=1200%2C695&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz021.png?fit=1200%2C695&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":362,"url":"https:\/\/rud.is\/b\/2011\/03\/12\/remote-assistanceinformation-gathering-aid-supportdetails\/","url_meta":{"origin":30,"position":3},"title":"Remote Assistance\/Information Gathering Aid &#8211; SupportDetails","author":"hrbrmstr","date":"2011-03-12","format":false,"excerpt":"I'm putting together a computer & online safety presentation for an upcoming talk at a senior center in Portsmouth (NH) and came across Support Details in my information hunting trek. This site makes it dirt simple to get basic information from whomever you are providing remote support to (a task\u2026","rel":"","context":"In &quot;Operating Systems&quot;","block_context":{"text":"Operating Systems","link":"https:\/\/rud.is\/b\/category\/operating-systems\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":633,"url":"https:\/\/rud.is\/b\/2011\/11\/14\/dnschanger-detector\/","url_meta":{"origin":30,"position":4},"title":"DNSChanger Detector","author":"hrbrmstr","date":"2011-11-14","format":false,"excerpt":"The FBI made a tool to help you determine if you were a victim of the DNSChanger malware. If you're like many casual Internet users, you have no idea how to get the information to plug into the input box. Unfortunately, the security model of most modern browsers makes it\u2026","rel":"","context":"In &quot;Browsers&quot;","block_context":{"text":"Browsers","link":"https:\/\/rud.is\/b\/category\/browsers\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2823,"url":"https:\/\/rud.is\/b\/2013\/12\/02\/slopegraph-workbenchworkshop-in-d3\/","url_meta":{"origin":30,"position":5},"title":"Slopegraph Workbench\/Workshop in D3","author":"hrbrmstr","date":"2013-12-02","format":false,"excerpt":"I've been getting a huge uptick in views of my Slopegraphs in Python post and I think it's due to @edwardtufte's recent slopegraph contest announcement. The original Python code is crufty and a mess mostly due to the intermittent attention to it, wanting to reduce dependencies and hacking vs programming.\u2026","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/comments?post=30"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/30\/revisions"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}