Thursday, November 29, 2012

Why is Visual Studio 2012 YELLING at me?

Dear Visual Studio 2012,

I like some of your new features and I am glad you are here. I realize we just met and maybe I don't understand you yet, but you seem to be YELLING at me. I know it's rude to talk about past IDE's but my previous one was a bit more mellow. You must really want me to use the FILE, EDIT, VIEW, PROJECT and other menu items. I understand those may not have been getting the attention they needed in the past. I'll try to be a better user but please stop YELLING at me. Oh look now I've gone and scared you, all the color is gone from your icons. Maybe later we can do NuGet and I'll click all the menu items you want

Wednesday, September 26, 2012

Splunk: software or a steampunk juggernaut?

Splunk is an awesome piece of software. Really it is more of a platform than software. It is highly scalable, has great SDK's, REST api's, documentation etc... However it is a bit of a steampunk application. Meaning you need someone stoking the coal, oiling the gears, turning the knobs and chasing the flying monkeys away.  Once you have that it is a juggernaut of data collecting, searching, dashboarding and analysis.

Thursday, September 6, 2012

Mayo Clinic is hiring

We are hiring for .Net developers and system engineers (infrastructure)

Friday, June 15, 2012

Open letter to Coleman

Open letter to Coleman, I recently bought your WeatherMaster 10 tent. The directions on setting the tent up were nice. The tent was of good quality also. However the directions did not show how to fold the tent back up so it would fit in the bag. Keep in mind this is a 10 person tent so it's more like a duffle bag. The bag was very poor quality, with poor handles and no wheels. My last 6 person Gander Mt. tent had a very nice double zipper, double handle, good quality, with wheels bag that the tent fit back into even if we folded it slightly different. Coleman could you have just spent a little more on this bag. To me camp site break time down is right up there with tent quality. Please add the folding directions to the instructions and spend even a inch or two more fabric on the bag if nothing else.

Thursday, August 4, 2011

To frequent adventures using DotNet with ColdFusion

Adventure: Your CF and DotNet code are working great and talking on your dev server and integration server but not on test or production? Error says "Class xxx not found in the specified assembly list".  Even though you can call built in dotnet methods, so the CF .Net integration service is working, you can't call any of your assemblies.

After comparing, trying and reading many, many, many things. The final solution was to uninstall and re-install the CF 8 .Net integration service. There is an install on the Adobe ColdFusion product downloads page. I found the solution on this forum post.

Friday, July 22, 2011

Free Sci-Fi & Fantasy stories for e-readers

GigaNotoSaurus (the webzine, edited by Ann Leckie) publishes one longish fantasy or science fiction story monthly. Longish meaning longer than a short story, and shorter than a novel.

Not another adventure using DotNet with ColdFusion via the side agent

Adventure: SVN fails to update the code when deploying to a server
Remember to stop the ColdFusion .Net service when doing an svn update. It hangs onto the DLL like candy in a 3 year old's hand. Stop the service, svn update, start the service. You should build this into your deployment process if you are able, ANT, powershell or batch files work well.  Or you could use those nice MS deployment tools. We'll get there but we're still converting.

Friday, July 8, 2011

Yes, more adventures using DotNet with ColdFusion

Adventure: Method not found!
When you get the error "method was not found", pause and take off your CF typeless hat and put on the hard typed language hat. The one with the big HTL on it. Even though in CF a number might be a string, the java proxy will convert it to a number. I was trying to set a CF variable holding a number into a dotnet property of type string and kept getting the "method not found". After a javacast to string it worked. The java proxy must have hard typed it to a numeric.

Wednesday, June 29, 2011

Yes even more adventures with DotNet and ColdFusion

Adventure: pre-build and post-build events in Visual Studio
This adventure is more of a work flow improvement. Now I had been pointing my CF code at the Visual studio project's bin folder for the assembly. I do this using ColdSpring and a config object that has blocks of settings per environment. So on local dev I point at the project but on integration, test and prod I point at an assembly (dll) that is with my CF package folder structure. So on my laptop it uses the dll in the project so every time I build (restart the ColdFusion .Net service first) I get the new code. However I am not testing the deployed assembly in the CF package and I had to copy it from my VS project when I wanted to release that version.

I used a post build event in VS to copy the dll from my project to the CF package with something like this.

copy /y "$(TargetPath)" "C:\YourWebSiteDir\notWebRoot\dotnet" 

Next I said why am I restarting the ColdFusion .Net service by hand.

Pre-build event:

Net stop "ColdFusion 8 .Net Service"

Post-build event (after the copy event):
Net start "ColdFusion 8 .Net Service"

So now I just build in VS and services are restarted and the dll updated in my CF source code.

ColdFusion 9 issues with SBS Sharepoint and other sites.

I had helped someone install CF9 on their web server and we choose all sites when asked what IIS sites to connect it to. They had several IIS sites for their MS Small Business Server and one CF site. The CF site worked and we called it a day. A few days later they contacted me saying the SBS Sharepoint and other sites where breaking and the MS tech support thought it was ColdFusion. Well I had not heard of this before but went out to help. It seems that the CF 9 install adds a wild card IIS handler mapping for "*" so all requests go through CF. When they turned of the CF application service images were broken until they removed the wild card mapping. Why CF 9 needs a wildcard mapping I do not know.

Wednesday, June 8, 2011

Even more adventures with DotNet and ColdFusion

Adventure 6: no automatic ToString() on DotNet string properties
I have some string properties in my dotnet poco (or transfer object) and I map them to my CF business object. But if the dotnet property is null the set fails in CF saying the parameter to the CF versions set method was not passed. So wrapping the get on the dotnet poco with the CF function ToString() solves this. Its as if CF can't convert the dotnet null to an empty string with out some help.  No biggy, just interesting.

Tuesday, June 7, 2011

More adventures using DotNet with ColdFusion

Adventure 4: What to send across the boundary.
When you instantiate a DotNet object in CF its always a good idea to dump it to see how the proxy changed any method names. Well the vendors wsdl I am working with has about 60 classes, enums and interfaces. Not very abstracted. In several cases a property would be one of two different depending on the results of the web service call. And they did not inherit any base class. I had to inspect the type and then cast the property to use it. Ouch. So instead of passing back nested business objects, enums and other dotnet fun stuff I decided to make a poco with all the information I needed. Boiling down about 7 to 10 objects and enums into one object with about 25 properties including some for exception messages.

Adventure 5: Who is the web.config for? Not ColdFusion.
In Visual Studio I had setup Fiddler as a proxy with https termination so I can see my soap call that are SSL. I had done this in the web.config. Well once I started calling the assembly (dll) from CF Fiddler stopped seeing the calls. Hmm. Come to find out the web.config is for IIS. Solution:  the web service objects expose a proxy property you can set at run time by creating a WebProxy object. Warning: if the proxy is not available, fiddler running, it will not work. So this is just for debug.

Friday, June 3, 2011

Adventures using DotNet with ColdFusion via the side agent

 I have a project were the web service of a vendor would not work with the Apache Axis 1.2.1 that CF uses.
However I was able to call it via dotnet. So I decided to use the CF to .Net integration. I'd used it before but rebuild my dev machine since and forgot some of the glitches.

This is all for ColdFusion 8.01 and .Net 3.5 framework. CF 8 does not work with .Net 4 and we are not on CF 9 yet.

Adventure 1: the java.lang.ClassNotFoundException error.
For starters if you are running the multi-server install the process that creates new server instances has a huge fault. It does not copy the dotnet proxy config to the created CF server instances.  Find in the master cfusion instance this file, dotnet_coreproxy.config, and copy it to the same location in your server instance.

Adventure 2: unable to copy file [your assembly dll] another process is using it.
For development in CF I pointed at the dll in my projects bin directory. However once you invoke it from CF the CF .net side agent service locks this so when you recompile in Visual Studio it will error. Restarting the .net side agent service temporarily breaks the link.

Adventure 3: .net exception passed to CF = java.lang.ClassNotFoundException
Passing some exceptions back work just fine but if the exception has nested objects that CF does not know how to find to proxy it will error. Even if they are in my assembly. They must not be in base .net library that CF is using. I have not found a good solution other than creating my own object to pass back to CF.
Update: I implemented an exception processing function that catches several types of exceptions like  SoapHeaderException and pulls the information out and adds it to a poco I created to simplify what CF has to deal with.

Tuesday, May 10, 2011

To kill explorer.exe or not

Yeah, I wouldn't say I've been missing it Bill...I killed explorer.exe and I have no task bar, no desktop, no context menu's. I just have what ever apps were already running and alt+tab baby! Clean and mean, focused.

In the beginning there was a large AS$ file that I knew was probably a little large. Well, uh, dude your head exploded. Then my system froze like a tear on a snowman. The pacifist in my decided to wait and just let things work man. Then about 30 seconds later I said KICK IT! Then proceeded to try and stop the file load.

1. ESC, the go to button, the number one EXIT button.
2. Alt+F4, its not just a good hacker name, its the second EXIT.
3. Task Manager, no not my list of crap to do. The master of the tasks your enslaved cpu does for you. This is the EMERGENCY EXIT, or as noted in the menu sometimes its called end process or the more direct 'kill".
4. Previous to this you might have had a semblance of a shell or kernel. Now, you've got the power, at least the power button. The kill switch, the hammer, the plug, the terminator, the lack of electrons, or EJECT.

After 1, 2, I did 3 and killed explorer.exe. Come on man! This hog of a cpu must go. Oh its so worth my time, DELETED!

Cool, I have no task bar now, or menu or context menu. What's cool is I still know how to navigate the apps and tabs within the apps. Alt+tab between apps, ctlr+tab between tabs, tab or alt your way to selection.

Thank you to Bill Gates and his team for making an OS that is not to shabby. Just don't block the EXITS.

Did I mention I have no shutdown functionality. Z power button it is! Grid off.

Thursday, February 17, 2011

Pintley Is to Beer as Pandora is to Music

Wow, have you checked out Pintley. It is what Pandora is to music lovers. Pintley lets you score the beers you have tried and changes its recommendations based on what you like or dislike. Pintley has great facebook integration also.

Thursday, February 10, 2011

Wednesday, December 15, 2010

Put the SyncToy in the DropBox - cheap backup

I recently, okay finally, installed Dropbox. I was investigating cheap backup options for the small amount of data my in-laws needed backed up. So I setup DropBox on their computer and I used Microsoft SyncToy to mirror a bunch of file locations to the MyDropBox folder. I setup the mirror to run at login and gave them a desktop shortcut to run it on demand. All for free. I even setup the wall to flip around when ever they say "Let's go to the cloud".

Thursday, September 30, 2010

Lift Bridge is Hiring – Brewmaster

Lift Bridge is Hiring – Brewmaster
Not that I qualify, except in my dreams. Just passing it along.

Wednesday, September 29, 2010

Huge ASP.Net vulnerability

If you run and have not seen this you need to read it.

Mayo Clinic is looking for senior .Net developers

My team is hiring dotnet developers. Check it out. Rochester is a great place to live.