Skip to content

Instantly share code, notes, and snippets.

@kyeotic
kyeotic / marshalling.ts
Last active February 12, 2021 18:15
DyanmoDB native types
import { marshall } from '@aws-sdk/util-dynamodb'
export { unmarshall } from '@aws-sdk/util-dynamodb'
import type {
NativeAttributeValue,
marshallOptions,
} from '@aws-sdk/util-dynamodb'
import type { AttributeValue } from '@aws-sdk/client-dynamodb'
import type {
QueryInput,
@kyeotic
kyeotic / renamer.js
Created May 9, 2014 04:13
renamer.js
require('colors');
var path = require('path'),
fs = require('fs'),
Q = require('Q'),
readDir = Q.denodeify(fs.readdir),
stat = Q.denodeify(fs.stat),
rename = Q.denodeify(fs.rename);
var dirToRead = '$DIRNAME$',
@kyeotic
kyeotic / ko-util-tyr.js
Created November 27, 2012 23:05
Knockout Utility Functions
http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js
ko.bindingHandlers.inlineSelect = {
init: function(element, valueAccessor, allBindingsAccessor){
var span = $(element);
var select = $('<select></select>', {'style' : 'display: none'});
span.after(select);
ko.applyBindingsToNode(select.get(0), { value: valueAccessor(), options: allBindingsAccessor().inlineOptions });
--reporter spec
--require test/support/node
--recursive
--timeout 3000
@kyeotic
kyeotic / node-and-npm-in-30-seconds.sh
Last active January 8, 2016 18:07 — forked from isaacs/node-and-npm-in-30-seconds.sh
Use one of these techniques to install node and npm without having to sudo. Discussed in more detail at http://joyeur.com/2010/12/10/installing-node-and-npm/ Note: npm >=0.3 is *safer* when using sudo.
#curl https://gist.githubusercontent.com/tyrsius/7324aaa515ade384cb1c/raw/927e4cd87d54a64c7a4ffc3b14739e5437346c35/node-and-npm-in-30-seconds.sh | sh
#echo 'export PATH=$PATH:$HOME/bin/node/bin' >> ~/.bashrc
. ~/.bashrc
mkdir bin -p
cd ~/bin
mkdir node -p
rm -rf install-node
mkdir install-node -p
cd install-node
curl https://nodejs.org/dist/v4.2.0/node-v4.2.0.tar.gz | tar xz --strip-components=1
@kyeotic
kyeotic / Gruntfile.js
Last active January 3, 2016 15:19
A gruntfile for a durandal project
module.exports = function(grunt){
require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);
var files = {
js: [
'src/client/app/**/*.js',
'src/client/lib/durandal/js/plugins/{knockoutActivity,knockoutCommands,knockoutExtensions,qPatch,envPatch}.js'
],
jsExclude: ['src/client/app/main-built.js'],
htmlIndex: ['src/index.html'],
// Knockout JavaScript library v3.0.0
// (c) Steven Sanderson - http://knockoutjs.com/
// License: MIT (http://www.opensource.org/licenses/mit-license.php)
(function() {(function(q){var y=this||(0,eval)("this"),w=y.document,K=y.navigator,u=y.jQuery,B=y.JSON;(function(q){"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?q(module.exports||exports):"function"===typeof define&&define.amd?define(["exports"],q):q(y.ko={})})(function(F){function G(a,c){return null===a||typeof a in N?a===c:!1}function H(b,c,d,e){a.d[b]={init:function(b){a.a.f.set(b,L,{});return{controlsDescendantBindings:!0}},update:function(b,h,k,m,f){k=a.a.f.get(b,L);h=a.a.c(h());
m=!d!==!h;var p=!k.ob;if(p||c||m!==k.Db)p&&(k.ob=a.a.Ya(a.e.childNodes(b),!0)),m?(p||a.e.S(b,a.a.Ya(k.ob)),a.Ta(e?e(f,h):f,b)):a.e.Z(b),k.Db=m}};a.g.Y[b]=!1;a.e.P[b]=!0}var a="undefined"!==typeof F?F:{};a.b=function(b,c){for(var d=b.split("."),e=a,g=0;g<d.length-1;g++)e=e[d[g]];e[d[d.length-1]]=c};a.s=function(a,c,d){a[c]=d};a.version="3.0.
var IE = (function () {
"use strict";
var ret, isTheBrowser,
actualVersion,
jscriptMap, jscriptVersion;
isTheBrowser = false;
jscriptMap = {
"5.5": "5.5",
@kyeotic
kyeotic / exampleConsumer.html
Created September 26, 2013 16:29
A grid for durandal
<table class="paging-container grid-table" data-bind="grid: gridConfig">
<tbody class="grid-body" data-part="body" data-bind="foreach: { data: currentPageRows, as: 'row' }" >
<tr class="grid-row" data-bind="css: { 'grid-row-odd': $index() % 2 == 1 }">
<td class="grid-column-details" data-bind="click: $root.showJobDetails"><img class="info-btn" src="/Content/images/locationMoreInfoIcon.png"/></td>
<td class="grid-column-isNew" data-bind="if: isNew"><img src="Content/images/newJobStarHH.png"/></td>
<td class="grid-column-startDate" data-bind="text: startDate().format('{MM}/{dd}/{yyyy}')"></td>
<td class="grid-column-category" data-bind="text: jobCategory"></td>
<td class="grid-column-term" data-bind="text: term"></td>
<td class="grid-column-shift" data-bind="text: shiftStart"></td>
<td class="grid-column-type" data-bind="text: jobType"></td>
/** @constructor */
function JsonServiceClient(baseUri) {
this.baseSyncReplyUri = Path.combine(baseUri, "Json/SyncReply");
this.baseAsyncOneWayUri = Path.combine(baseUri, "Json/AsyncOneWay");
}
JsonServiceClient.prototype.send = function(webMethod, request, onSuccess, onError, ajaxOptions) {
var startCallTime = new Date();
var requestUrl = Path.combine(this.baseSyncReplyUri, webMethod);
var id = JsonServiceClient.id++;