Skip to content

Instantly share code, notes, and snippets.

View jeffreytgilbert's full-sized avatar

Jeffrey Gilbert jeffreytgilbert

View GitHub Profile
@jeffreytgilbert
jeffreytgilbert / resolveApi.tsx
Created April 20, 2024 00:25
The wrong way?
import { useAuth } from "../auth/hooks/useAuth";
enum XHRFailureCodes {
AUTHENTICATION_REQUIRED = 'AUTHENTICATION_REQUIRED',
UNAUTHORIZED_ACTION = 'UNAUTHORIZED_ACTION',
FORM_VALIDATION_FAILED = 'FORM_VALIDATION_FAILED',
MISSING_REQUIRED_PARAMETERS = 'MISSING_REQUIRED_PARAMETERS',
NO_RESULTS_FOUND = 'NO_RESULTS_FOUND',
RATE_LIMIT_EXCEEDED = 'RATE_LIMIT_EXCEEDED',
UNKNOWN_ERROR = 'UNKNOWN_ERROR',
@jeffreytgilbert
jeffreytgilbert / needle-in-global-haystack.js
Created September 27, 2019 19:29
Find a needle in the global haystack of nested junk
const findNeedleInHaystack = (needle, haystack) => {
let reference = [];
let promises = [];
const finder = (obj, chain) => {
return new Promise((resolve, reject)=>{
if (reference.includes(obj)) {
return resolve(chain.join('.')); // already checked this object
}
// add object as "checked" to reference registry
reference.push(obj);
[filter "media"]
clean = git-media-clean %f
smudge = git-media-smudge %f
[user]
name = Jeffrey Gilbert
email = jegilbert@conversantmedia.com
[push]
default = simple
[core]
excludesfile = /Users/jgilbert/.gitignore_global
<!DOCTYPE html>
<html>
<head>
<style>
<!--
* {
font-family: Helvetica, Arial, sans-serif;
}
body {
font-family: Helvetica, Arial, sans-serif;
@jeffreytgilbert
jeffreytgilbert / test-styles.css
Created September 8, 2014 20:32
Simple css file for zeroing out borders, padding, and margins on iframes and soon to include css animations for other tests where detecting keyframe progression may be possible.
iframe {
margin: 0;
padding: 0;
border: 0;
overflow: hidden;
}
@jeffreytgilbert
jeffreytgilbert / index.html
Created September 8, 2014 20:30
Main document for loading throttling tests in various browsers. This document loads the other test frames in various ways where they are outside and inside the viewport, then moves them all back into the viewport once tests have completed.
<!DOCTYPE html>
<meta charset="utf-8">
<head>
<link href="test-styles.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#eeeeff" bottommargin="0" rightmargin="0" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div style="float:left;position:relative; border:10px solid royalblue; width:820px; height:1100px;">
<!-- show 1 iframe and box out the other -->
@jeffreytgilbert
jeffreytgilbert / js-test-frame.html
Created September 8, 2014 20:27
Framed documents which try and force redraws in the browser and then measure the rates at which they redraw to discover discrepancies in browser behavior.
<!DOCTYPE html>
<meta charset="utf-8">
<head>
<link href="test-styles.css" rel="stylesheet" type="text/css">
<style>
body {
margin:0;
padding:0;
background-color:#ff99ff;
}
@jeffreytgilbert
jeffreytgilbert / js-perf-struct-frame.html
Created September 8, 2014 20:22
A container to frame content so positioning it outside of the viewport is easier.
<!DOCTYPE html>
<meta charset="utf-8">
<head>
<link href="test-styles.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFF99" bottommargin="0" rightmargin="0" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div style="position:relative; border:10px solid #228b22; width:820px; height:250px;">
<!-- first frame is positioned where it will be in view by the container iframe in the parent document -->
@jeffreytgilbert
jeffreytgilbert / notes.md
Created September 8, 2014 20:17
Research notes into browser throttling behaviors

Research

Throttling and Browser Optimization

Flash Support

It is known that certain VMs can reduce the amount of FPS allowed by Flash in order to provide a more performant experience for their users. One known software is VMWare. Because we do extensive testing using SauceLabs browser grid service through selenium webdriver, we wanted to test the compatibility with real world results on specific browsers we were seeing odd results in. Below are some of the findings from this research, which resulted in our adoption of IE11 on Windows 8 and our drop of IE optimization detection on all other Windows releases.

FPS throttle detection unsupported
var open = require('open');
var url = require('url');
var http = require('http');
var twitterAPI = require('node-twitter-api');
var Q = require('q');
var authObject = (function () {
var deferred = Q.defer();
var twitter = {};
var token = {};