Skip to content

Instantly share code, notes, and snippets.

@stevereich
stevereich / getQuery.cfc
Last active August 28, 2015 04:48
Coldfusion query function to run and convert any SQL select query to json format, a struct, an array, or return as a query object. includes error checking, comments, supports cfqueryparams, and setting the Content-Type header for returning application/json.
component output="false" {
public getQuery function init(required string dsn){
variables.dsn = arguments.dsn;
return this;
}
// arg.sql String (required) - A SQL select statement to query
// arg.contentType Array (optional) - Array of obj with sqp query params having the keys name, value, and type.
// arg.label String (optional) - The label for the return (only applies if returnType is 'json'). Default is 'queryData'

Fixed Background Illusion

This bit of CSS demonstrates how two fixed backgrounds (in this case, one black and white, the other color) can be layered so that the view port div of the top layer, appears to change the state of the bottom layer. This effect works well with a blurred/clear image as well. Your imagination is the limit! Enjoy!

A Pen by Steve Reich on CodePen.

License.

@stevereich
stevereich / highlightKeywords.cfm
Last active August 29, 2015 14:01
Coldfusion function using regex find and highlight, or apply any other style to, keywords searched in a given text string.
<cfscript>
public string function highlightKeywords(required string content,required array keywords,required array style){
var replaceString = "<span style=""" & arraytolist(arguments.style,";") & """>\1</span>";
var kwords = arraytolist(arguments.keywords, "\b|\b");
kwords = "\b" & kwords & "\b";
kwords = reReplacenocase(kwords,"(\%\\b|\\b\%)","","ALL");
var resultString = reReplacenocase(arguments.content,"(#kwords#)",replaceString,"ALL");
return resultString;
}
// input text
@stevereich
stevereich / toggleiconz.ahk
Last active August 29, 2015 14:06
This is an Autohotkey script that toggles between showing and hiding desktop icons in Windows. Website at http://www.toggleiconz.com
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UNLICENSE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ToggleIconz is free and unencumbered software hereby released into the public domain on September 12, 2014
; by the original developer, Steve Reich`r`n`r`nAnyone is free to copy`, modify`, publish`, use`, compile`,
; sell`, or distribute this software`, either in source code form or as a compiled binary`, for any purpose`,
; commercial or non-commercial`, and by any means.
;
; In jurisdictions that recognize copyright laws`, the author or authors of this software dedicate any and all
; copyright interest in the software to the public domain. We make this dedication for the benefit of the public
; at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of
@stevereich
stevereich / weatherApi.js
Last active August 29, 2015 14:19
This is a simple javascript wrapper for the Weather Underground API. There are no dependencies and you can get an API Key at http://www.wunderground.com/weather/api/
var WeatherAPI = function(){
// create any default settings
var apiSettings = {
defaultIcons: 'f'
}
this.apiMethods = [
'alerts',
'almanac',
'astronomy',
'conditions',
@stevereich
stevereich / toggleAdministratorAccount.bat
Created May 19, 2015 21:51
This file will enable/disable the Windows built-in administrator account. This account is disabled by default, but is sometimes needed in order to have certain permissions. Be sure you run this file as administrator or assign the appropriate permissions to execute it.
:: This will enable/disable the Windows built-in administrator account.
:: Run this file as "Run as administrator", and then at the prompt, enter
:: one of the following options: y | n | yes | no ... the /i flag makes the
:: options case insensitive, so either capital or lower case is accepted.
:: Enter any other value, or no value at all, will return an error message
:: and not run the command.
ECHO OFF
SETLOCAL
SET /P doAdmin="Enable Windows built-in administrator account? (y/n) "
IF /i "%doAdmin%" EQU "n" SET doAdmin=no
@stevereich
stevereich / sortHexColors.cfm
Created July 27, 2015 05:05
This Coldfusion function takes an array of hex colors and sorts them from light to dark.
<cfscript>
private Array function sortHexColors(required Array colorArray) {
var valArray = [];
var sortArray = [];
for(var i=1;i<=arraylen(arguments.colorArray);i++) {
var color = replacenocase(arguments.colorArray[i], '##', '', 'ALL');
if(len(color) == 6) {
var strRed = mid(color, 1, 2);
var strGreen = mid(color, 3, 2);
var strBlue = mid(color, 5, 2);
@stevereich
stevereich / formatPhone.cfc
Created September 28, 2012 08:20
Function to Format Phone Number with RegEx and Coldfusion
<cfscript>
component output="false" {
public formatPhone function init(){
return this;
}
public string function formatPhone(required string phoneNumber)
description="Strips out anything that isn't a number and then takes the first 10 digits and formats them to our spec: (404) 555-1212"
output="false"
@stevereich
stevereich / bloggerFBComments.html
Created October 3, 2012 04:38
Facebook comment count on blogger
// this code goes right after <data:post.body/>
<b:if cond='data:post.isFirstPost'>
<script>(function(d){
var js, id = &#39;facebook-jssdk&#39;; if (d.getElementById(id)) {return;}
js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
js.src = &quot;//connect.facebook.net/en_US/all.js#xfbml=1&quot;;
d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
}(document));</script>
</b:if>
@stevereich
stevereich / filter.cfc
Created October 13, 2012 01:39
Coldfusion function to substitute bad words entered into a form field for either asterisks or a string of of characters.
<cfscript>
component output=false {
public filters function init(dsn)
description="Initialize component as an object and store as an application variable. This will
make the just a single hit to the database and store the word list in memory to be used anytime."{
variables.datasource = arguments.dsn;
var q = new query();
var badWordQuery = 0;
q.setDatasource(variables.datasource);
q.setName(badWordQuery);