Friday, August 30, 2013

Make your own seamless background in Photoshop

All this time, I thought this was graphic designer dark-magic, and it turns out its mostly knowing how to use photoshop!

- Create a pattern in photoshop,
- Go to Filter -> Offset -> Set both sliders to 1/2 of your image size
- Use the Clone tool to fix the seam down the middle if it exists
- Voila!!

Totally thanks to:

Tuesday, June 18, 2013

CFWheels: SQL Counting rows with specific values

In SQL, you can count up rows that have a certain criteria, which means in one query you can count up multiple kinds of things:

   SUM(CASE WHEN dateResolved IS NULL THEN 1 ELSE 0 END) as itemsOutstanding,
   SUM(CASE WHEN dateResolved IS NOT NULL THEN 1 ELSE 0 END) as itemsResolved,
   COUNT(*) as total
from tableName
group by Year(InspectionDate) AS inspectedYear, Month(inspectionDate) AS inspectedMonth

Monday, May 27, 2013

Update the JRE on Railo

Railo's Excellent guide link is below, but for my reference; to summarize

1) Download the most current JRE (Which at the time of this blog post was Java SE 7u21)

2) Install it to an easy to remember folder, such as C:\jre\

3) Stop the Tomcat Railo service ( while it is not busy )

4) Rename Railo's JDK folder:  railo/jdk   --> railo/jdk_old   ( In my case, C:\railo\jdk )

5) Make a new railo/jdk folder

5) Copy the contents of C:\jre  from step 2 into the railo/jdk folder

6) Restart Tomcat Railo & Test your world. You can display the jre version in coldfusion via:

<cfoutput>#CreateObject("java", "java.lang.System").getProperty("java.version")#</cfoutput>

7) Recycle railo/jdk_old

Thursday, April 18, 2013

Railo SQL, Amazon Cloud and Time Zones

We've been working today with localizing time stamps, where a web server, a database server, and the client using the application are all in different time zones respectively.


  1. Select the time zone in Railo Admin to match the time zone of your server's OS.  Server Administrator tab -> Regional -> Time Zone pull down
  2. Configure your data source's time zone. Datasource -> [ Pencil beside data source ] -> Time Zone.  ( For Amazon Web Services, all RDS instances are UTC )
  3. In our case, we're specifying in the users account what time zone they are in, so we can use the underlying java.util.TimeZone

The test:

Doing a sql insert of railo's "#now()#" timestamp, and reading it again from the database should be the same value, as well, the now() timestamp should be the same in the database as returned from your browser when output. ( They should all be in sync.. and do their dark magic across time zones properly and seamlessly )

From Michael Offner See the Railo blog post here

"If Railo has set the the Timezone CST and the DB Server is running in PST you run into problems for a very simple reason. the Timestamp produced ({ts '2012-07-25 16:20:14'}) is based on the CST Timezone, this means it is "2012-07-25 16:20:14 CST", BUT the TimeZone information is not present in the timestamp.
so if the DB server is reading the string timestamp from the SQL String, it has no timezone information and the DB Server simply takes it own timezone for the timestamp, because it has no idea from whitch timezone the request is coming from, this means the db server interpret the timestamp as "2012-07-25 16:20:14 PST" what is 2 hours later.
then when you get this date back you get "2012-07-25 18:20:14 CST" what is exactly the same as "2012-07-25 16:20:14 PST", this means the failure happens when you send the string timestamp to the db server in a different timezone without the timezone information. this conversion problem does not happen when you get the date back via a select statement, simply because in this case the date is send in a timezone independent format."


Tuesday, April 9, 2013

It's like SQL Import Export wizard... only it actually WORKS

Getting data into Amazon RDS
This tool does ALL the work for you: 
Its a GUI wrapper for the BCP utility. It will generate all objects, store the objects and the data as local files, then it will import everything to your target RDS server in the correct order (always a pain to do manually with PK's / FK's). It's designed with Azure in mind, but allows selection of SQL Server and it works!

Tuesday, March 26, 2013

How can you put uncommitted changes to a branch TEST when I am at the branch master

Every once in a while, I start changing code before switching to a new branch... then.... nuts!

I need to move these uncommitted changes to a new branch, or ... throw them away and start again.

Two Options:
1) You can just checkout to the new branch and then commit. You don't lose your uncommitted changes when moving to another branch.

git checkout -b new-branch-name
git add . 

2) Use Git Stash as a copy & paste:
git stash
git checkout other-branch-name
git stash apply

Thanks to Here

Monday, March 11, 2013

Git Production Server Updating

A quick note,

If you want to update a production server's versioned files, and discard local changes (which there shouldn't be any... right?)

discard local changes, and replace them with the most recent commit that exists on the github server (origin) on branch production:

> git reset --hard origin/production

Thanks for help on this from: Here

Thursday, February 21, 2013

Coldfusion Web Application Saving to DropBox

Every now and again, I'm working on a project that renders something that an administrative user needs to take with them; be it a pdf, or a csv representation of a report. Either way, once it is completed, I used to use coldfusion's cfcontent tag to dump the stream to the browser....which I've always thought of as pulling a fast-one on the browser, tricking it into thinking it is a physical file on disk to be downloaded, and Bob's your uncle.

This works, but let's be honest, cfcontent seems a bit of a sketchy way of delivering a file.... but it works... unless you're on shared hosting, in which case it's disabled... or will be, or should be, or will-be-until-you're-in-production.

I started out looking through the API for Dropbox, to try and figure out how to get a web application to create a new file in dropbox, which is totally possible... but much too complicated, as it has to be keyed to a specific dropbox account.

Then it dawned on me... I can create files on the disk... cfdocument allows you to specify a file name, so does cfimage, and cffile lets you create almost anything... Dropbox (and Google Drive) , are after all just a folder on the disk.. which is controlled by dark magic :-)

And this idea actually works... you just target the Dropbox folder, get your web app to store the generated file here, and the cloud-storage mechanisms do the heavy lifting for you. You could even create a dropbox folder hierarchy to keep things tidy.

Monday, January 14, 2013

CFEclipse Stack Overflow org.cfeclipse.cfml.editors.CFMLEditor

In an attempt to import the CFWheels project from GITHub into Eclipse today, I was unable to open a couple of files without getting "Unable to create editor ID org.cfeclipse.cfml.editors.CFMLEditor: Editor could not be initialized"

After some quick searches, I found this post I've edited my eclipse.ini files last line to be:


I tired it initially with the suggested -Xss2048k but it didn't fix the problem... since I have more ran that I know what to do with... I figured what the heck if 2 megs didn't work, here's 10 megs... and now its working again.

Tuesday, January 8, 2013

Railo and Fusion Reactor Trouble with Datasource Wrapper

I came across a bug I thought was in Fusion-Reactor recently wrapping a data-source with Railo It was actually that Railo wasn't putting the resultant primary key from an SQL insert statement into the correct structure key in the returned query object... at any rate, it's now fixed... but in Railo

How To: Upgrade Railo 3 to 4

Amongst other things, today I'm pushing forward on upgrading Railo from 3.x to 4.x. To begin with, I'm going to switch over my desktop workstation (IIS 7, Windows 7x64, SQL Express 2012, CF-Wheels, Fusion-Reactor) to see how it goes.

The big push for me is that I can't activate my Fusion Reactor's JDBC request monitoring easily in Railo 3.x because of the issue in this blog post which causes CF-Wheels to have no idea what a newly inserted row's primary key is. I've posted some feedback about possible work arounds at cf-wheels community site thread here:!topic/cfwheels/JJ-VrEE85ok

1) Uninstalled exising Railo 3.x, which removes the jakarta/isapi connector from IIS

2) Double check that jakarta ISAPI filter entry is removed from IIS.

3) Install Railo 4.Walk Thru:

Railo admin required the removal of the following JAR files from Railo/lib before it could apply the patch to because they were in use. I specifically patched to this version because of the issue in this blog post

  • ehcache.jar
  • slf4j.jar
  • railo-sl4j.jar

4) Update SQL Driver. Railo 4.x ships with JDBC 3, I needed JDBC 4, as JDBC 3 has a known bug, which in my case, using Coldfusion CFDBINFO doesn't work.. which only matters.. because CF-Wheels is built around this tag.

5) At this point, the Railo 4.x installer did its magic nicely, and was up and running... of course, without any of my data sources... since I don't want to re-enter them:
- Copy your data sources ( The <data-source /> nodes ) from the xml file at \Railo Inst Folder\lib\railo-server\context\railo-server.xml into your new installation at the same location.

6) So, everything is good now.. except: I need Paul Klinkenberg's most excellent CFCSV tag installed. (url below) Railo 4.x has changed the way extensions are installed. Download the ZIP and upload it to your railo admin.

7) Have you done this yet. how did it go?


  • If you want to patch to upgrade your Railo to 4.x just get the Jar files. This solution doesn't however update your world to the Boncode connector, which fixes the bug which makes url rewriting almost impossible as far as I could figure out.
  • Tomcat's Server.xml mapping... no longer needed? Is this related to the new Boncode connector? I never moved over my mappings to the new railo installation... but it works.

Reference Links:

Railo 4.x Jar Files:

Specifically, under "Railo 4 Installers" in the bottom right-hand corner:

SQL JDBC 4.0 Driver Jar's:

Paul Klinkenberg's most excellent CFCSV tag (Thanks Paul.. you Rock!!): 

Monday, January 7, 2013

SQL Exclusion Join

So, what if you want to see if records in one table exist in another one?   For example, two mail lists.. with tables that may not even have similar layouts, but have similar-ish fields, like first, last, email.... LEFT OUTER JOIN to the rescue.

Special thanks to:

Fields that have shown up on the right-hand side of the join exist in both tables, and you can filter them out using a where clause.