Skip to content

Instantly share code, notes, and snippets.

Adam Tuttle atuttle

Block or report user

Report or block atuttle

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View .gitconfig
[user]
name = Adam Tuttle
email = adam@fusiongrokker.com
[color]
ui = auto
[core]
autocrlf = input
excludesfile = /Users/adam/.gitignore_global
[push]
default = tracking
@atuttle
atuttle / adminBase.cfc
Last active Aug 29, 2015
Securing FW/1 applications; segmented by controller
View adminBase.cfc
component accessors="true" {
property framework;
property memberService;
function before( rc ){
local.safeEvents = 'main:member.login,main:member.forgot,main:member.resetpassword';
//require login for everything in this controller except login method
if (!structKeyExists(session, 'user')){
@atuttle
atuttle / Application.cfc
Created Nov 4, 2014
How I like to do configuration with DI/1
View Application.cfc
component {
function getEnvironment(){
if (cgi.server_name contains ".local" or cgi.server_name contains ".dev"){
return "dev";
}
if (cgi.server_name contains "qa."){
return "qa";
}
return "prod";
@atuttle
atuttle / example.cfm
Last active Aug 29, 2015
Generating random numbers with a trend to make data appear more realistic in some scenarios. 50% chance for a direction change.
View example.cfm
<cfscript>
//to initialize to a random number instead of 50, set last to ""
last = 50;
for(var i = 1; i <= 100; i++){
last = trendingRandom( 0, 100, 12, last );
writeOutput( "#last#<br/>" );
}
</cfscript>
@atuttle
atuttle / package.json
Created Oct 2, 2014
Using a free RedisToGo Nano instance on heroku, or the default settings on your local environment
View package.json
{
"dependencies": {
"redis": "^0.10.1"
}
}
View 1-readme.md

https://bugbase.adobe.com/index.cfm?event=bug&id=3525456

Here's a simple repro case. Since this test involves ORM, you'll have to create a DSN. I'm testing against MySQL but it should be DB agnostic (that's part of the draw of ORM, right?)...

Just create a database and a new DSN named "repro" (or update the code accordingly), put foo.cfc into a folder named "orm", and everything else should work as expected.

@atuttle
atuttle / Default (OSX).sublime-keymap
Created Aug 8, 2014
My Sublime Text 3 Preferences and Keymaps
View Default (OSX).sublime-keymap
[
{ "keys": ["alt+up"], "command": "swap_line_up" }
,{ "keys": ["alt+down"], "command": "swap_line_down" }
,{ "keys": ["ctrl+alt+down"], "command": "duplicate_line" }
,{ "keys": ["alt+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} }
,{
"keys": ["ctrl+alt+left"],
"command": "set_layout",
"args": {
@atuttle
atuttle / ACF_custom_errors_partial_match.cfm
Last active Aug 29, 2015
This file demonstrates that ACF (Tested on latest patched CF10) does allow for "partial matching" of custom-typed thrown exceptions.
View ACF_custom_errors_partial_match.cfm
<cfscript>
try {
throw(type="com.myService.BarException");
} catch(com.myService.FooException e){
writeOutput("caught it @ com.myService.FooException");
@atuttle
atuttle / ptw_links.md
Last active Aug 29, 2015
Relevant links for my Philly Tech Week 2014 talk: Integrate ALL the Things!
View ptw_links.md
@atuttle
atuttle / api.js
Created Feb 4, 2014
Angular.js REST API Service Wrapper
View api.js
app.factory('API', function($http, $q){
var basePath = 'http://domain.com/api/path';
// => http://domain.com/api/path/foo/bar
function makeRequest(verb, uri, data){
var defer = $q.defer();
verb = verb.toLowerCase();
//start with the uri
You can’t perform that action at this time.