Presenter: Jay Phelps (@_jayphelps)
- Jay Phelps
- Senior Software Engineer
- InfoSec
- Preventing unauthorized access
- Stopping hackers
- Can block exploits using their gateway proxy
- They need to know if it's working
// Variables used by Scriptable. | |
// These must be at the very top of the file. Do not edit. | |
// icon-color: light-gray; icon-glyph: link; | |
// share-sheet-inputs: url; | |
// Set up constants, pull link from Widget parameter | |
const link = args.widgetParameter | |
const title = "Copied!" | |
const widgetText = "Copy Link" |
var createFocusTrap = require('../../'); | |
var containerOne = document.getElementById('demo-one'); | |
var focusTrapOne = createFocusTrap('#demo-one', { | |
onDeactivate: function () { | |
containerOne.className = 'trap'; | |
}, | |
}); | |
document.getElementById('activate-one').addEventListener('click', function () { |
// Name of layer to copy | |
var sourceLayerName = "Card", | |
url = NSURL.URLWithString("file:///Users/ryan/Downloads/Test.sketch") | |
if( true ) { | |
var sourceDoc = MSDocument.new() | |
if(sourceDoc.readFromURL_ofType_error(url, "com.bohemiancoding.sketch.drawing", nil)) { | |
var allChildren = sourceDoc.pages().valueForKeyPath("@distinctUnionOfArrays.children") | |
// ######################################### | |
// protocols/listlike.jsx | |
// ######################################### | |
import { Root, Children, conforms, ProtocolStyle } from 'style-protocol' | |
import Listable from 'protocols/listable' | |
export default class Listlike extends HierarchyProtocol { | |
hierarchy() { | |
return ( | |
<Root> |
/* | |
(TEXT) PARAMS | |
================= | |
1. Namespace | |
2. Intensity | |
3. Text color | |
4. Background color (flat) | |
5. Highlight #1 color | |
6. Highlight #2 color | |
7. Width (px) |
@mixin spring($selector, $name, $duration, $delay, $location, $spring) { | |
// Set Defaults | |
$selector: ".spring" !default; | |
$location: 0,0,0 !default; | |
$name: "spring" !default; | |
$duration: 1s !default; | |
$delay: 0s !default; | |
$spring: 0.1 !default; | |
// Set selector to use animation |
%divider { | |
&:after, &:before { | |
display: block; | |
position: absolute; | |
} | |
&:after { | |
text-transform: none; | |
text-shadow: none; | |
@include rem(font-size, 12px); | |
text-align: center; |
angular.module('$app.directives') | |
.directive 'showAfterEvent', ['$timeout', ($timeout)-> | |
return { | |
link: (scope, element, attrs) -> | |
eventName = attrs.showAfterEvent | |
element.css 'opacity', 0 | |
element.bind eventName, (e) -> |
// Ryan Gonzalez 7/2013 | |
// Adapted from the blog post | |
// http://phaistonian.pblogs.gr/expanding-textareas-the-easy-and-clean-way.html | |
angular.module('autoresize', []); | |
angular.module('autoresize') | |
.directive('autoresize', function($window){ | |
'use strict'; | |
return { |