Good Article touching on the current “financial crisis”

Parlez-Vous E.U.?

This guy really hit it on the head with his mention of personal accountability.  It’s about time people start owning up to the mistakes they have made and dig themselves out of the hole.  Children who’s parents bail them out constantly through life end up weak and unable to make it on their own in many cases.  I see a distinct comparison between that and the scenario today where the government is hell bent on cleaning up after all the irresponsible people in this country.  That said, I am not accusing everyone that has foreclosed or gone bankrupt as being irresponsible.  Obviously layoffs, deaths in the family, and other situations represent truly unforeseen scenarios that could lead to financial troubles, but if it’s just because someone racked up the credit cards or bought a home they couldn’t afford then I really have no sympathy, nor do I want to be taxed to bail them out!

SVN Command Line

First I’ll start off with some background information on the reason for my diving into SVN Command Line.  On a project I am involved with, we currently submit database scripts to a centralized location within our project repository.  Being that we are fairly early in development, and the fact that we actually use a largely database driven layout, there are a LOT of scripts being commit.  When it comes time to release, someone is presented with the task of taking the SQL files from a range of revisions, reviewing, and building one compilation script for the release.  Nobody likes to be this person :)

I decided to build a tool to allow someone to enter a repository path and a range of revisions and have it output a compiled database script to their browser to  allow them to review, edit if need be, and database it so it is available for future deployments or simply for reference.  I won’t get into the views so much, but I will fill you in on some gotcha’s that I encountered as well as provide a couple of ColdFusion functions that might prove helpful.

First thing’s first, here is the documentation for all things SVN Command Line.  Here are some pointers that may prove helpful for someone on a similar venture:

I wanted to be able to run the command line from the application without having to install the client on the server, so I just packaged the actual executable and corresponding DLL’s in my project and all my functions run against the executable directly.  Here is the package of files I included to do this.

I put together a couple of functions that leverage SVN Command Line to get log information as well as the contents of a file at a given revision.  Here is the code if you want to check it out.  The reason for the formatPath functions is to account for spaces in file names or directories.  I figured there is a strong possibility I could find other formatting concerns as this is used more, so I might as just wrap a function around it so if I do find another it’s an easy update.  Also, something that hung me up for a while is that the paths used in your command line are case sensitive so just be aware of this.  It is not really an issue when you are getting the paths directly from Subversion and outputting them in your command line since they come out with the correct case, but still something to keep in the back of your mind.

At this point we have clearly only scratched the surface of simplifying our release process using SVN Command Line.  I will post more information as we expand on this project.

Transact SQL: Using partition by with row_number()

I stumbled across something interesting today when looking at the documentation for Transact SQL's row_number() function.  In the past, when using row_number(), I had limited myself to simple scenarios only using the over clause with "order by". Here is an example where I take a simple resultset containing 7 grades and rank them in descending order:

SQL:
  1. SELECT row_number() over(ORDER BY grades.grade DESC) AS grade_rank, grades.grade
  2. FROM
  3. (
  4.     SELECT 99 AS grade
  5.     union
  6.     SELECT 87
  7.     union
  8.     SELECT 71
  9.     union
  10.     SELECT 83
  11.     union
  12.     SELECT 78
  13.     union
  14.     SELECT 63
  15.     union
  16.     SELECT 92
  17. ) grades

 

In the documentation found here I found mention of using not only "order by", but also something I was unfamiliar with called "partition by", within the over clause. Upon reading further, I learned that this can be of value if you wanted to apply some sort of rank or sequence to subsets within a resultset rather than the entire resultset. A relevant example I came up with was taking a resultset that contains grades for multiple students in multiple classes and ranking the students' grade in descending order within each class. Here is the query:

SQL:
  1. SELECT classid, studentid, row_number() over(partition BY classid ORDER BY classid ASC, grade DESC) AS class_rank, grade
  2. FROM
  3. (
  4.     SELECT 1 AS classid, 1 AS studentid, 99 AS grade
  5.     union
  6.     SELECT 1 AS classid, 2 AS studentid, 87 AS grade
  7.     union
  8.     SELECT 1 AS classid, 3 AS studentid, 71 AS grade
  9.     union
  10.     SELECT 2 AS classid, 4 AS studentid, 83 AS grade
  11.     union
  12.     SELECT 2 AS classid, 5 AS studentid, 78 AS grade
  13.     union
  14.     SELECT 2 AS classid, 6 AS studentid, 63 AS grade
  15.     union
  16.     SELECT 2 AS classid, 7 AS studentid, 92 AS grade
  17. ) student_grades

Running this query will show you 3 students ranked in order of grade descending for class 1 and 4 students ranked in order of grade descending for class 2. Pretty sweet, huh?

Apparently Doug Dascenzo didn’t rule?!?

http://fireloupiniella.wordpress.com/2007/03/01/84-doug-out-dascenzo/

 So, on that note...is he a first or second ballot HOF'er?

Going to Wrigley twice this year!

So last year, I literally never got into the waiting room to buy Cubs tickets, but this year I am in for two games!  I am pretty pumped about it, this is going to be a good summer I can feel it.  I am going to the June 14th  game against the Twins (bleachers) and the August 28th game against the Mets (upper deck infield box).  Should be a great time as always!

ColdFusion 8 and IIS7 on 64 bit Vista

I was having some issues getting my development environment for ColdFusion setup today at home.  I found ColdFusion 8 Vista SP1 Solution! posted by Dale Fraser explaining how to properly configure IIS when installing ColdFusion 8 with IIS7.  I proceeded with his simple instructions for IIS and then uninstalled/reinstalled ColdFusion and everything is perfect.

Forgot your password?

Funny story.  I forgot my login to this site I use frequently.  After a few unsuccessful attempts, I completed the password retrieval form and checked my email for the response.  I received no response after a decent amount of time had passed, so I started up their live chat feature to ask for assistance.  They tried to send it again manually with no luck, so I figured it might be an issue with Hotmail.  I asked if I could have the information sent to my work email.  Here is the funny part.  The response I get is that I need to provide my password and last four digits of my credit card.  I had to laugh at the fact that guy is asking me to provide my password as authentication so he can email me my password that I do not know.

CFQueryparam Lists

I know for a fact that I have justified not using a queryparam when dealing with lists as I was not aware of the attribute described in this post. Pretty helpful bit of information here posted by Dan Wilson.

http://www.nodans.com/index.cfm/2009/1/12/CFQueryparam-and-Lists

Comcast is garbage

Seriously...arguably the worst customer service on the face of the earth.  First off, after six months my "12 month rate" suddenly disappeared.  They told me I was mistaken and it was only a six month rate.  I thought I would bluff a little so I said I would consider canceling my service for satellite if they did not keep it going for the remainder of the year.  Their response was simply, "Would like me to transfer you over to cancellations now?"  I felt like an idiot since I really had no intention of canceling so I just said no and got off the call.  Looked dumb, felt dumb.

So the other day we were having more problems with the service.  Constantly it we were having pixelation and just these pauses that would happen here and there and had been going on since I could remember.  I thought about calling them, but then remembered the above experience, so instead I just called and signed up for satellite.  This will not be connected for another two weeks and I have not informed Comcast of this yet.

In the meantime, I had some issues with the internet the other day, so I gave tech support a call and waited on hold for over twenty minutes and finally just hung up.  I thought I would try again, but this time select the option for purchasing new services.  Shocker, someone picked up immediately.  Good to see that they do not keep enough staff on hand to help existing customers, but keep plenty on hand to sell you more garbage.  I told the guy that I needed tech support and asked if he could connect me without the massive hold times.  He of course replies that he cannot and pretty much acted like an ass to me for having bothered him with this.

Something is seriously wrong because when a business is allowed to be the only provider for their designated areas they basically couldn't care less about earning their business.  Why would they when its handed to them?

Not my proudest work, but I thought it was funny.

Apparently ColdFusion doesn't appreciate using the IN criteria multiple times in a query with 25000+ values each.

CF_queryprocessor_error1

CF_queryprocessor_error2