{"version":"1.0","provider_name":"Simple Programmer","provider_url":"https:\/\/simpleprogrammer.com","author_name":"John Sonmez","author_url":"https:\/\/simpleprogrammer.com\/author\/jsonmez\/","title":"Getting up to BAT: Building a True DSL - Simple Programmer","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"B07PjzT9Sj\"><a href=\"https:\/\/simpleprogrammer.com\/getting-up-to-bat-building-a-true-dsl\/\">Getting up to BAT: Building a True DSL<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/simpleprogrammer.com\/getting-up-to-bat-building-a-true-dsl\/embed\/#?secret=B07PjzT9Sj\" width=\"600\" height=\"338\" title=\"&#8220;Getting up to BAT: Building a True DSL&#8221; &#8212; Simple Programmer\" data-secret=\"B07PjzT9Sj\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/simpleprogrammer.com\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","description":"If you\u2019ve made it this far with your BAT implementation, you have finally arrived.nnNot to say that you\u2019ll ever be done expanding your automation framework and building and improving your BATs, but you are at the point of having a mature usable BAT framework and you can be proud of that accomplishment.nnIf you truly want...","thumbnail_url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2011\/05\/spinal_tap_but_it_goes_to_eleven_thumb.jpg"}