Skip to content

Instantly share code, notes, and snippets.


JR Oakes jroakes

View GitHub Profile
View gist:2d0224092bfbcff2e4cfe670aee4fc5a
<script type="application/ld+json">
"@context": "",
"@type": "Product",
"name": "JR Oakes Contact Information",
"image": [
"description": "JR Oakes is the Director of Technical SEO at Locomotive Agency. Their email uses the domain",
"sku": "12345678",
View nlp-lambda
mkdir -p nodejs/node_modules/
cd nodejs/ && npm install summarize cheerio natural unfluff --no-bin-links --no-optional --no-package-lock --no-save --no-shrinkwrap && cd -
mkdir -p $(dir $@)
zip -9 --filesync --move --recurse-paths $@ nodejs/
View Example Render Out
Browser Built
Navigating to:
"title": [
"LOCOMOTIVE\u00ae - Enterprise Technical SEO Agency"
"description": [
"LOCOMOTIVE\u00ae - 2019 U.S. Search Awards \"Best SEO Agency\". We are an agency team of enterprise technical, and on-page SEO specialists: Moving you forward."
View stupidJavascript.js
var items = []
console.log('\n\n Starting:')
function globalSearch(obj, value, maxrec, rec = 0 ) {
var excl = ['document','window','top']
if (rec <= maxrec ){
View instant.js
let uP,mT,lT;const pf=document.createElement('link'),isSupported=pf.relList&&pf.relList.supports&&pf.relList.supports('prefetch'),allowQueryString='instantAllowQueryString'in document.body.dataset;if(isSupported){pf.rel='prefetch',document.head.appendChild(pf);const a={capture:!0,passive:!0};document.addEventListener('touchstart',tL,a),document.addEventListener('mouseover',mouseoverListener,a)}function tL(a){;const'a');b&&iP(b)&&(b.addEventListener('touchcancel',tecL,{passive:!0}),b.addEventListener('touchend',tecL,{passive:!0}),uP=b.href,preload(b.href))}function tecL(){uP=void 0,sP()}function mouseoverListener(a){if(!(1100>{const'a');b&&iP(b)&&(b.addEventListener('mouseout',mL,{passive:!0}),uP=b.href,mT=setTimeout(()=>{preload(b.href),mT=void 0},65))}}function mL(a){a.relatedTarget&&'a')==a.relatedTarget.closest('a')||(mT?(clearTimeout(mT),mT=void 0):(uP=void 0,sP()))}function iP(a){if(uP!=a.href){const b=new
View lambda
const chromium = require('chrome-aws-lambda');
const puppeteer = require('puppeteer-core');
const extractor = require('unfluff');
const summarize = require('summarize');
exports.handler = async (event, context, callback) => {
console.log('Received event:', JSON.stringify(event, null, 2));
jroakes /
Last active Aug 31, 2020
ML Repository for SEO

Machine Learning Repository for SEO

SEO is a field that is rich with data, yet many young SEOs may not be equipped to learn tools that will prepare them for the future. We want to support our community by using our expertise to provide access to more advanced tools that will allow SEOs of all levels to play with the technologies that will shape the future of our work.


  • Provide a repositiory that makes it possible to learn about ML specifically targeted to those interested in SEO
  • Provide a repository that allows a novice user to run a simple model on something meaningful for SEO.
  • Provide a repository that allows advanced users to save time on data getting, cleaning, preprocessing, and model selection.
  • Allow users to showcase work and models developed.
  • Have users get involved with the future development of the repo.
You can’t perform that action at this time.