diff --git a/Jim Priest - Developer Toolbox - Overview.pdf b/Jim Priest - Developer Toolbox - Overview.pdf new file mode 100644 index 0000000..47872d3 Binary files /dev/null and b/Jim Priest - Developer Toolbox - Overview.pdf differ diff --git a/code/Win7 Scheduler/CF_Start.xml b/code/Win7 Scheduler/CF_Start.xml new file mode 100644 index 0000000..2bfb6d0 Binary files /dev/null and b/code/Win7 Scheduler/CF_Start.xml differ diff --git a/code/autohotkey/complex/jim.ahk b/code/autohotkey/complex/jim.ahk new file mode 100644 index 0000000..b923082 --- /dev/null +++ b/code/autohotkey/complex/jim.ahk @@ -0,0 +1,22 @@ +; AutoHotkey Version: 1.x +; Language: English +; Platform: Win9x/NT/Win7 +; Author: Jim Priest (priest@thecrumb.com) +; +; // KEY SHORTCUTS // +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift +; +; // SCRIPT FUNCTION // +#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. +SendMode Input ; Recommended for new scripts due to its superior speed and reliability. +SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. +; // END + +;/// JIM TEXT REPLACEMENTS +#Include %A_ScriptDir%\jim\jim_txtreplace.ahk + +;/// GLOBAL TEXT REPLACE +#Include %A_ScriptDir%\txtreplace.ahk diff --git a/code/autohotkey/complex/jim/jim_txtreplace.ahk b/code/autohotkey/complex/jim/jim_txtreplace.ahk new file mode 100644 index 0000000..fe8df3e --- /dev/null +++ b/code/autohotkey/complex/jim/jim_txtreplace.ahk @@ -0,0 +1,30 @@ +;///// TEXT REPLACEMENTS - WORK ///// +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift + + + + +;/// WORDPRESS SNIPPETS /// +:*:;code:: +SendInput, [sourcecode language="TEXT"]{Enter} +SendInput, [/sourcecode] +return + +;/// CFECLIPSE /// +:*:;bug:: +SendInput, Can you provide us with more detail on your setup?{Enter} +SendInput, {Enter} +SendInput, http://trac.cfeclipse.org/cfeclipse/wiki/ReportingBugs{Enter} +SendInput, ------------{Enter} +SendInput, When submitting a bug or if you email the mailing list with an issue, please provide as much information as possible:{Enter} +SendInput, {Enter} +SendInput, * Eclipse version: Help > About Eclipse SDK{Enter} +SendInput, * CFEclipse version: Help > About Eclipse SDK > Plug-in Details{Enter} +SendInput, * Java version: From a command line type "java -version"{Enter} +SendInput, * OS - Windows? OSX? Linux?{Enter} +SendInput, * Error log information {Enter} +SendInput, ------------{Enter} +return diff --git a/code/autohotkey/complex/txtreplace.ahk b/code/autohotkey/complex/txtreplace.ahk new file mode 100644 index 0000000..903b4b8 --- /dev/null +++ b/code/autohotkey/complex/txtreplace.ahk @@ -0,0 +1,35 @@ +;///// TEXT REPLACEMENTS - GLOBAL ///// + ; # = Windows Key + ; ^ = Control + ; ! = Alt + ; + = Shift + + +;/// SIGNATURES /// + :*:;sig1:: + Send, + ( LTrim + Thanks, + Jim + ) + return + + :*:;sig2:: + Send, + ( LTrim + -- + Jim Priest - thecrumb.com + Triangle Area ColdFusion User Group - tacfug.org + -- + See me at: + NCDevCon (Raleigh, NC May 22-23) + CFUnited (Leesburg, VA July 28-31) + -- + Without deviation from the norm, progress is not possible. ~ Frank Zappa + ) + return + +;/// TEXT REPLACEMENTS/// + ::cf:: + SendInput, ColdFusion + return \ No newline at end of file diff --git a/code/autohotkey/complex/work.ahk b/code/autohotkey/complex/work.ahk new file mode 100644 index 0000000..36999b6 --- /dev/null +++ b/code/autohotkey/complex/work.ahk @@ -0,0 +1,31 @@ +; AutoHotkey Version: 1.x +; Language: English +; Platform: Win9x/NT/Win7 +; Author: Jim Priest (priest@thecrumb.com) +; +; // KEY SHORTCUTS // +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift +; +; // SCRIPT FUNCTION // +#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. +SendMode Input ; Recommended for new scripts due to its superior speed and reliability. +SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. +; // END + +;/// COLDFUSION RELATED SHORTCUTS +#Include %A_ScriptDir%\work\coldfusion.ahk + +;/// FOR MICROSOFT ERGO KEYBRD FUNC KEYS +#Include %A_ScriptDir%\work\microsoftkeys.ahk + +;/// DIARY POPUP TIMER +#Include %A_ScriptDir%\work\timer.ahk + +;/// WORK TEXT REPLACE +#Include %A_ScriptDir%\work\work_txtreplace.ahk + +;/// GLOBAL TEXT REPLACE +#Include %A_ScriptDir%\txtreplace.ahk \ No newline at end of file diff --git a/code/autohotkey/complex/work/coldfusion.ahk b/code/autohotkey/complex/work/coldfusion.ahk new file mode 100644 index 0000000..91c6ec4 --- /dev/null +++ b/code/autohotkey/complex/work/coldfusion.ahk @@ -0,0 +1,125 @@ +;///// COLDFUSION / CODING ///// +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift + +:*:;cfif:: + Send, {Enter}{Enter}{Enter}{Enter} + Send {UP 3} + Send {LEFT 2} + + SetKeyDelay, 20 ;in millisceonds + InputBox, attName, Attribute Prompt, Attribute Name..., , 300, 150 + If ErrorLevel = 1 ; They clicked cancel + return + InputBox, attValue, Attribute Prompt, Attribute Value..., , 300, 150 + If ErrorLevel = 1 ; They clicked cancel + return + Sleep, 100 + SendRaw, %attName% = %attValue% +return + +;-- Wrap selected text in a href --- +!a:: + clipboard = + send ^c + clipwait, 1 + If ErrorLevel = 0 + { + clipboard = %clipboard% + send ^v + } +return + +;-- Wrap selected text cfif/else with nbsp --- +!l:: + clipboard = + send ^c + clipwait, 1 + StringReplace, clipboard, clipboard, #, , All + If ErrorLevel = 0 + { + clipboard = #%clipboard%#  + send ^v + } +return + +;-- Wrap selected text in Ucase() --- +^u:: + clipboard = + send ^c + clipwait, 1 + If ErrorLevel = 0 + { + clipboard = Ucase(%clipboard%) + send ^v + } +return + +;-- Wrap selected text in Upper() --- +!u:: + clipboard = + send ^c + clipwait, 1 + If ErrorLevel = 0 + { + clipboard = Upper(%clipboard%) + send ^v + } +return + + +;-- Wrap selected text in Trim() --- +!t:: + clipboard = + send ^c + clipwait, 1 + If ErrorLevel = 0 + { + clipboard = Trim(%clipboard%) + send ^v + } +return + + +;-- Wrap selected text in QueryParam (will first strip ' or ") --- +!q:: + clipboard = + send ^c + clipwait, 1 + If ErrorLevel = 0 + StringReplace, clipboard, clipboard, ', , All + { + clipboard = + send ^v + } +return + +;-- Wrap selected text in QueryParam (will first strip ' or ") --- +#q:: + clipboard = + send ^c + clipwait, 1 + If ErrorLevel = 0 + StringReplace, clipboard, clipboard, ', , All + { + clipboard = + send ^v + } +return + + +;-- Wrap selected text in CFDump/CFAbort --- +SC03B:: + clipboard = + send ^c + clipwait, 1 + If ErrorLevel = 0 + { + clipboard = `n`n + send ^v + } +return + + diff --git a/code/autohotkey/complex/work/microsoftkeys.ahk b/code/autohotkey/complex/work/microsoftkeys.ahk new file mode 100644 index 0000000..8533aa9 --- /dev/null +++ b/code/autohotkey/complex/work/microsoftkeys.ahk @@ -0,0 +1,71 @@ +;///// FOR MICROSOFT ERGO KEYBOARD - FUNCTION KEYS ///// +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift + + +;/// MICROSOFT FUNCTION KEYS /// +;------------------------------- +; SC03B:: +; MsgBox, %A_ThisHotKey%- F1 .. was pressed. +; return +;------------------------------- +; SC03C:: +; MsgBox, %A_ThisHotKey%- F2 .. was pressed. +; return +;------------------------------- +;SC03D:: +;MsgBox, %A_ThisHotKey%- F3 .. was pressed. +;return +;------------------------------ +;SC03E:: +;MsgBox, %A_ThisHotKey%- F4 .. was pressed. +;return + +;F5------------------------------ +;SC03F:: +;don't program this - used for window refresh + +;F6 CFECLIPSE ------------------- +SC040:: +ifwinexist, CFEclipse + WinActivate +else + Run C:\eclipse\eclipse.exe -vm "C:\Program Files\Java\jdk1.6.0_16\jre\bin\javaw" vmargs -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m +return + +;F7 SQL Developer---------------- +SC041:: +Run C:\Program Files\Oracle\sqldeveloper\sqldeveloper.exe +return + +;F8 Powerbuilder----------------- +;SC042:: +;Run C:\Program Files\Sybase\PowerBuilder 10.0\Pb100.exe +;return + +;F9 - Run IIS Console ----------- +SC043:: +Run %SystemRoot%\system32\inetsrv\iis.msc +return + +;------------------------------ +;SC044:: +;MsgBox, %A_ThisHotKey%- F10 .. was pressed. +;return +;------------------------------ +;SC057:: +;MsgBox, %A_ThisHotKey%- F11 .. was pressed. +;return +;------------------------------ +;SC058:: +;MsgBox, %A_ThisHotKey%- F12 .. was pressed. +;return +;------------------------------ + + + + + + diff --git a/code/autohotkey/complex/work/timer.ahk b/code/autohotkey/complex/work/timer.ahk new file mode 100644 index 0000000..b8fa9a2 --- /dev/null +++ b/code/autohotkey/complex/work/timer.ahk @@ -0,0 +1,25 @@ +;///// TIMER APP ///// +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift + + + +;//// TIMER APP //// +;-------------------------------- +SetTimer, #a,900000 +#a:: + ; Show the Input Box to the user. + inputbox, text, Diary,,,300,100 + + ; Format the time-stamp. + FormatTime, CurrentDateTime,, MM/dd + + ; Write this data to the diary.txt file. + if (StrLen(text) > 0) { + fileappend ** %CurrentDateTime% %text%`n, D:\diary.txt + } +return + + diff --git a/code/autohotkey/complex/work/work_txtreplace.ahk b/code/autohotkey/complex/work/work_txtreplace.ahk new file mode 100644 index 0000000..713d22c --- /dev/null +++ b/code/autohotkey/complex/work/work_txtreplace.ahk @@ -0,0 +1,116 @@ +;///// TEXT REPLACEMENTS - WORK ///// +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift + +;/// SHORTCUTS /// +::msm:: +SendInput, MSMANAGER- +return + +::apol:: +SendInput, I apologize for the inconvenience. +return + +::jr:: +SendInput, JIRA +return + +::conf:: +SendInput, Confluence +return + +::;scrum:: +SendInput,Yesterday{Enter} +SendInput,*{Enter} +SendInput,*{Enter} +SendInput,*{Enter} +SendInput,{Enter} +SendInput,Today{Enter} +SendInput,*{Enter} +SendInput,*{Enter} +SendInput,*{Enter} +SendInput,{Enter} +return + +:*:;cmt:: + FormatTime, TimeString, ShortDate + SendInput, %TimeString% - Jim Priest - priestj@niehs.nih.gov +return + +:*:;sdate:: + FormatTime, TimeString,, LongDate + SendInput, %TimeString% +return + +;/// SIGNATURES /// +:*:;sra:: +SendInput, Thanks,{Enter} +SendInput, Jim Priest{Enter} +SendInput, ........................{Enter} +SendInput, Configuration Manager{Enter} +SendInput, NIEHS Tech Services Team{Enter} +SendInput, SRA International Contractor{Enter} +SendInput, Voice: (919)313-7661{Enter} +SendInput, Email: priestj@niehs.nih.gov{Enter} +return + + +;/// STANDARD HEADERS /// +:*:;sql:: +FormatTime, TimeString, ShortDate +SendInput, /************************************************************************************{Enter} +SendInput, *** SCRIPT NAME: fileName.sql{Enter} +SendInput, *** DESCRIPTION: This is the description for the SQL file.{Enter} +SendInput, *** DEVELOPER: Jim Priest - priestj@niehs.nih.gov +SendInput, *** CREATE DATE: %TimeString% {Enter} +SendInput, ************************************************************************************/{Enter} +return + +;// FUSEDOC // +:*:;fd:: +FormatTime, TimeString, ShortDate +SetKeyDelay, 20 ;in millisceonds +InputBox, fuseDocResponsibility, Attribute Prompt, Responsibility..., , 300, 150 +If ErrorLevel = 1 ; They clicked cancel + return +Sleep, 100 + +//fetch window title and parse out filename +WinGetActiveTitle, Title +StringReplace, Title, Title, % " - Eclipse" +StringReplace, Title, Title, % "CFEclipse - " +StringReplace, Title, Title, /, \, All +SplitPath, Title, Title +clipboard = +clipboard = %clipboard% `r`n +send ^v +return + +;/// JIRA / CONFLUENCE /// +:*:;quote:: +Send, {{}quote{}}{enter}{enter}{{}quote{}} +Send {UP 1} +return + +:*:;code:: +Send, {{}code{}}{enter}{enter}{{}code{}} +Send {UP 1} +return + +:*:;noformat:: +Send, {{}noformat{}}{enter}{enter}{{}noformat{}} +Send {UP 1} +return diff --git a/code/autohotkey/default/New AutoHotkey Script.ahk b/code/autohotkey/default/New AutoHotkey Script.ahk new file mode 100644 index 0000000..cf8e9a0 --- /dev/null +++ b/code/autohotkey/default/New AutoHotkey Script.ahk @@ -0,0 +1,32 @@ +; IMPORTANT INFO ABOUT GETTING STARTED: Lines that start with a +; semicolon, such as this one, are comments. They are not executed. + +; This script has a special filename and path because it is automatically +; launched when you run the program directly. Also, any text file whose +; name ends in .ahk is associated with the program, which means that it +; can be launched simply by double-clicking it. You can have as many .ahk +; files as you want, located in any folder. You can also run more than +; one ahk file simultaneously and each will get its own tray icon. + +; SAMPLE HOTKEYS: Below are two sample hotkeys. The first is Win+Z and it +; launches a web site in the default browser. The second is Control+Alt+N +; and it launches a new Notepad window (or activates an existing one). To +; try out these hotkeys, run AutoHotkey again, which will load this file. + +#z::Run www.autohotkey.com + +^!n:: +IfWinExist Untitled - Notepad + WinActivate +else + Run Notepad +return + + +; Note: From now on whenever you run AutoHotkey directly, this script +; will be loaded. So feel free to customize it to suit your needs. + +; Please read the QUICK-START TUTORIAL near the top of the help file. +; It explains how to perform common automation tasks such as sending +; keystrokes and mouse clicks. It also explains more about hotkeys. + diff --git a/code/autohotkey/simple/simple.ahk b/code/autohotkey/simple/simple.ahk new file mode 100644 index 0000000..b946271 --- /dev/null +++ b/code/autohotkey/simple/simple.ahk @@ -0,0 +1,73 @@ +; SAMPLE HOTKEYS: Below are two sample hotkeys. The first is Win+Z and it +; launches a web site in the default browser. The second is Control+Alt+N +; and it launches a new Notepad window (or activates an existing one). To +; try out these hotkeys, run AutoHotkey again, which will load this file. + +; // KEY SHORTCUTS // +; # = Windows Key +; ^ = Control +; ! = Alt +; + = Shift + +;*************************************************************************************** +; go to the schedule page on CFUnited + +^F1::Run http://cfunited.com/2010/schedule +return + +;*************************************************************************************** +; Control+Alt+N launches a new Notepad window or activates an existing one. +^!n:: +IfWinExist Untitled - Notepad + WinActivate +else + Run Notepad +return + +; this routine creates a basic timestamp +:*:;time:: +FormatTime, CurrentDateTime,, yyyy-MM-dd HH:mm +SendInput %CurrentDateTime% +return + +; this routine creates a timestamp and name +:*:;ts:: +FormatTime, CurrentDateTime,, yyyy-MM-dd HH:mm +SendInput %CurrentDateTime%{space}-{space}Jim Priest{enter} +return + +; this routine creates a coldfusion comment with name and timestamp +:*:;cfts:: +FormatTime, CurrentDateTime,, yyyy-MM-dd HH:mm +SendInput, <{!}--- Note{:} %CurrentDateTime%{space}-{space}Jim Priest{enter}{enter} +SendInput, --->{enter} +SendInput, {left}{left}{left}{left}{left}{left} +return + +; this routine creates a coldfusion comment break line + +:*:;cfbk:: +SendInput, <{!}---{space} +SendInput, ********************************************************************** +SendInput, {space}--->{enter} +return + +; this types a standard ColdFusion function documentation text block + +:*:;cfdc:: +InputBox rName, Get Routine Name, Enter the name of the ColdFusion Routine +FormatTime, CurrentDateTime,, yyyy-MM-dd HH:mm +SendInput, <{!}---{enter} +SendInput, **********************************************************************{enter} +SendInput, {space 3}Name:{space}%rName%{enter 2} +SendInput, Purpose:{space}{enter 2} +SendInput, Created: %CurrentDateTime%{enter}{enter} +SendInput, {space}Author: Jim Priest priest@thecrumb.com{enter}{enter} +SendInput, {space}{space}Notes:{space}{enter 2} +SendInput, **********************************************************************{enter} +SendInput, {space}Params: Name - Description{space}{enter 2} +SendInput, **********************************************************************{enter} +SendInput, Changes:{space}{enter 2} +SendInput, **********************************************************************{enter} +SendInput, --->{enter 2}{up 16}{left} +return diff --git a/code/cron/cron.tab b/code/cron/cron.tab new file mode 100644 index 0000000..1bcdd06 --- /dev/null +++ b/code/cron/cron.tab @@ -0,0 +1,6 @@ +#CRONTAB FILE +# Classic crontab format: +# Minutes Hours Days Months WeekDays Command + +* 8 * * 1-5 C:\Users\Jim\Downloads\AlarmClock_2_4_7_197.exe + diff --git a/developer-toolbox.txt b/developer-toolbox.txt new file mode 100644 index 0000000..ed80e65 --- /dev/null +++ b/developer-toolbox.txt @@ -0,0 +1,22 @@ +Digging Into The Developer Toolbox - Get Lazy: Automate! + +Every developer has their basic toolset - a robust IDE, source control and a good bug tracker. + +But what else is in your toolbox? In this presentation I'll explore some additional tools that can increase your productivity and allow you to concentrate on developing applications. Some of the tools we will explore include: + +DOS - Been around forever but how many people actually use it? We'll explore some batch script basics! + +Keyboard Launchers - clean up that messy desktop and stop hunting for icons! + +Virtual desktops - Now that your desktop is clean - organize your applications into task focused areas. + +Cron - replace the unreliable Windows Scheduled task with a simple to use task scheduler. + +Clipboard managers - quit typing the same things over and over. A clipboard manager can keep a long running history of what you type so you don't have to. + +Autohotkey - save time and type less! Autohotkey can do simple text replacements and well as complex GUIs! + +Ant - if we are talking about automation we have to talk about Ant! We'll explore how to quickly get up and running with Ant and demonstrate some basics. + +All of these tools are free, most are open-source and for the most part have similar equivalents available on all three platforms - Windows, Mac and Linux. In this presentation we will focus on Windows. + diff --git a/handout.txt b/handout.txt new file mode 100644 index 0000000..e50bb46 --- /dev/null +++ b/handout.txt @@ -0,0 +1,6 @@ +Examples +* Using ColdFusion and Selenium to combat Trac spam +* Using CRON to restart services on scheduled basis +* Using PC Bios to start your computer every morning +* Using Ant to sync files between two servers (selectors) +* Using batch files to start and restart CF services \ No newline at end of file diff --git a/handout/lazy-handout.docx b/handout/lazy-handout.docx new file mode 100644 index 0000000..1b64024 Binary files /dev/null and b/handout/lazy-handout.docx differ diff --git a/handout/lazy-handout.pdf b/handout/lazy-handout.pdf new file mode 100644 index 0000000..3307ac0 Binary files /dev/null and b/handout/lazy-handout.pdf differ diff --git a/notes-ideas.txt b/notes-ideas.txt new file mode 100644 index 0000000..0ca28e0 --- /dev/null +++ b/notes-ideas.txt @@ -0,0 +1,14 @@ +PHOTOS CREDITS +feet on desktop photo - flickr (delgrosso) +lecturn - David Gallagher +control panel - Ramen Junkie +3 letter R's - http://junk-fest.blogspot.com/2009/08/junk-fest-its-all-about-three-rs.html +time warp image - fdecomite +time card machine - House Of Sims +ice cream sign - frozenchipmunk +finger pointing - Chris Owens +sleeping dog - wikipedia commons +asleep at desk - sfllaw +java code- Dmitry Baranovskiy +man in box - Earl - What I Saw 2.0 +question sign - Mykl Roventine diff --git a/notes.txt b/notes.txt new file mode 100644 index 0000000..6625aac --- /dev/null +++ b/notes.txt @@ -0,0 +1,30 @@ +New autohotkey shortcuts (writeDump(), abort, ???) + +Check about:config for closing Moz tabs with keypress if PDF loaded + +Mouser eclipse plugin - install! + +Verify LastPass profiles for forms - cfObjective registration form? other example? + +Setup AHK shortcuts for virtual desktops or use other keystrokes? + +Verify wireless pointer is working correctly + +FARR plugin examples - map? RTM? others? listfarr... + +Setup TASKER speaking reminders for 40-50 min... check shedule for start times? + +download ant, xmind + +Win7 Scheduled tasks +Examples: +* Daily svn update +* Browser action +* Ant task +* Batch file + +Dropbox +Android Tasker (mac alternatives) + +Launcher - new alternatives + diff --git a/outline/Toolbox.xmind b/outline/Toolbox.xmind new file mode 100644 index 0000000..6a69ce3 Binary files /dev/null and b/outline/Toolbox.xmind differ diff --git a/outline/jim-priest-toolbox-outline.pdf b/outline/jim-priest-toolbox-outline.pdf new file mode 100644 index 0000000..50f2a9e Binary files /dev/null and b/outline/jim-priest-toolbox-outline.pdf differ diff --git a/presentation/developer_toolbox.pptx b/presentation/developer_toolbox.pptx new file mode 100644 index 0000000..eab6e8e Binary files /dev/null and b/presentation/developer_toolbox.pptx differ