August 15, 2010 14:34 by ckincincy
So I got board on Friday and decided to create my own URL shortening service. Went looking for a domain and found ocdp.us. A spin off of this domain so I went and did a quick search on Google to make sure I didn’t spell something bad. Google wondered if I meant to type octopus:

So I am aware of the sound of the domain :-).
I went looking for an open source solution that existed and found one that best met my desires. One built by jobping.com. It was ASP.NET MVC based, so figured it was a good way to work on MVC while giving me what I wanted.
The pre-baked solution was missing a few things that I wanted.
1. The ability to have a custom short URL.
2. The ability to see a report of short URL’s. Basically how many clicks have happened on that URL.
So I took the jobping.com solution and made my own.
You can see my solution in action two ways.
1. Click ocdp.us/a to basically come back to this page. This was an auto generated url.
2. Click ocdp.us/lwlfb to go to Loving With Luggage’s site on Facebook. This is a custom URL.
At some point in the future I’ll share the code to my site, but need to make sure the unit test are written just for code completeness.
May 2, 2010 00:26 by ckincincy
Something you probably shouldn’t notice, but this site is now running under .NET 4.0.
If you notice anything odd, please notify me.
March 6, 2010 06:00 by ckincincy
Last week I came into the office to find my box was completely hosed. I kept getting a compile error that the webengine.dll could not be found.
I tried many different uninstalls and reinstalls of .NET but it wouldn’t fix the problem. However I notice that even though .NET was uninstalled, it wasn’t. I went looking for a tool to completely uninstall .NET and found this website.
After using that process to uninstall .NET and then rebooting, I reinstalled .NET and was good to go.
Was one of the most frustrating work days I have had in some time, have never been so close to being beaten by a technical problem like this.
March 3, 2010 06:00 by ckincincy
I’ve been doing some work on the DotNetBlogEngine and recently I would get this error when I tried to debug.
Thankfully after an online search I found this solution.
In short, open up your .SLN file in notepad and edit the VWDPort entry to a lower number. You should be up and running after that.
Thanks to JBERKE for the help!
March 1, 2010 06:00 by ckincincy
In the past, Chris Blankenship had written a user control to show the recent referrers in DotNetBlogEngine. I’ve used it on my site since then. However in a recent upgrade of the code base it stopped working. Having a little free time on my hand, I took the time to fix it for version 1.6.
While doing that I wanted the ability to white list and black list certain domains. The logic in DotNetBlogEngine to see if a referrer is spam is a little limited. It does a simple web request on the referrer to see if it can find the host domain in the returned HTML. This leads to a lot of good referrals being marked as spam. Then there are some ‘good’ domains that I want hidden.
So I added a white and black list to the referrer page.
The end result you see on the side bar of my site.
If you’d like the code, you download it below. This change does require a recompile of the business logic dll, and a schema change if you are using SQL.
Download Referrer Patch 1.1 – 31.4KB
February 27, 2010 16:57 by ckincincy
Comment spam on the DotNetBlogEngine platform has been a huge frustration. Spammers have taken aim and generally have won. There have been various solutions offered up from the community. Version 1.6 was almost solely targeted to combat spam. So what happened? The spam got much worse.
So in this cat and mouse game a new trick has been deployed. Filip Stanek has incorporated the reCaptcha solution into DotNetBlogEngine.
I deployed it last night and went from 20+ spam comments a day, to none so far. Now, obviously, this is just another step on the cat and mouse game. Will be interesting to see how long this works.
January 2, 2010 22:53 by ckincincy
As covered in my prior post, I recently went on an in depth search for a web host. I ended up at JODOHost.com.
Their price was unbelievable. For unlimited sites, 4.5 GB of space, 65GB of transfer, and much more it is only $17.50 a month. The great thing about this is that you can have Window servers and Linux servers.
They actually support multiple domains in a true way, all the other host had their domains as sub directories of a root domain. That isn’t the case with JodoHost, a domain is a unique folder.
They are based out of India, and there is an honest and fair criticism from Indian tech support about it being poor. However, overall, I have found Jodo’s support to be more than acceptable. There has been the occasional person who was below par, but I get that with American based support companies as well.
The only thing I don’t like is that you can’t make a folder writable on your own. You have to open a support ticket so they can change that for you.
Overall, if you are looking for an ASP.NET host, JodoHost was by far the best one I tried.
December 16, 2009 06:00 by ckincincy
I’ve been on the search for a web host. I’ve used Jetsoftdev/Devserve hosting for many years. It was a bit of a trade off, I’d help manage their server and get some free hosting as well. That worked great, but I honestly just got tired of having to manage the server so much. I went on the look out for a new webhost that was reasonably priced but loaded with features.
Specifically I needed multiple domain support. I want the ability to host several sites for the base price. Then, it had to be Windows based.
The journey was an interesting one, to give the short answer. JodoHost.com won. Godaddy, 1and1.com, and aplus.net lost. I’ll go over the reasons why below.
For all providers, lets assume the fact that we have three domains and one of those has to be your ‘primary’ domain.
Root: example.com
2nd Domain: example2.com
3rd Domain: example3.com
I started with APlus.net.
This exposed me to the first problem that many host share when it comes to hosting multiple .NET domains. I can’t speak for non-.NET sites as I don’t currently maintain any of those. But .NET is configured to operate within “Applications” and the problem shows up when the host is using some fancy URL Rewriting to make ‘multiple domains’ possible. When a .NET site has to search for its root directory, it will show it as it is setup in IIS.
The problem here is when your file structure looks like this:
web\example.com\
web\example.com\example2.com\
web\example.com\example3.com\
So the following URL’s would (or should) be valid:
http://example.com/
http://example.com/example2.com/
http://example.com/example3.com/
http://example2.com/
http://example3.com/
The problem arises though, in that http://example2.com will show up as: http://example2.com/example2.com/
In trying to get this issue resolved along with some email issues, I found Aplus.net’s support to really be lacking. Slow, to no reply.
Next I tried 1and1.com.
I found the exact problem as aplus.net with the multiple domains.
So I moved on pretty quickly as I had learned my lesson
They were, however, a bit slow to refund the initial fee that I paid to setup the service.
Next on the list was GoDaddy.com.
During my initial tryouts of GoDaddy.com I thought I had finally found my solution. Unfortunately, however, they turned out to have the same .NET problem with multiple sites.
I was a bit bummed.
Their support was two fold. It was always available, but at times kind of slow to react. Many times they told me to wait 24 hours for changes to take affect (server changes, not DNS changes). Then those changes would never take affect and they would have to reschedule the batch function to run and fix the issue, which could take another 24 hours. This is why it took me so long to realize they had the same .NET issue.
Finally I did some more searching, and found JodoHost.com
I took a look at some of their plans, and found that their Reseller Hosting plan was perfect for me. It was unlimited domains, 65 GB of traffic, etc.. Makes no sense to use their basic web hosting plans when their reseller hosting plans give you so much more. If you are looking for just a basic web host, then there are cheaper options out there. This, for me, was the best option I could find.
I’ll write a specific follow up post for JodoHost.com soon. I want to make sure the good and the bad is not lost in such a long post.
December 13, 2009 16:45 by ckincincy
I am always looking for a way to justify dropping support for IE 6 as a web developer. Generally, for small projects, I won’t officially support a browser less than 10% of market share unless the client requires otherwise. I never waist my time on browsers that are less than 5%. I just have better things to spend my time on, and I don’t feel bad that Safari decides to render differently than the other major browsers.
I code to standards and don’t want to go down the rabbit hole of supporting EVERY browser’s unique issues.
Yesterday Michael Wood mentioned that IE 6 was really starting to trail in use. So I went looking at my stats and was stunned to see how far it had fallen.
So can you help? If you would send me your website and browser usage I would appreciate it. You can comment below, or email me. If you want your site to remain anonymous, just let me know.
I am looking for the following information:
Top 3 to 5 browser brands (IE, Firefox, Safari, etc..). Then top browsers by version:
IE 8, IE 7, FireFox, IE 6, etc… With the percentages.
Thanks!
December 9, 2009 03:00 by ckincincy
One thing I learned over the past few months had to do with sharing a website from one site to another via an iFrame. The problem arises when the domains don’t match. If your primary site is example.com and the site in the iFrame is exampleinaniframe.com, by default exampleinaniframe.com cannot set cookies or execute certain JavaScript. Browsers see this as a potential hijacking and throw a security error.
The fix for this is pretty simple, but not simple all at the same time. There is a header you can add to your site telling browsers that it should allow it to be put in an iFrame. Those are called P3P Header’s. Now the hard part to this is that a search online returns a lot of conflicting answers to what your header should look like. Then one night, as I was trying to figure out how to do Facebook development, it hit me. That is how Facebook works. All of those applications you use in Facebook are really hosted on another site, you just see it seamlessly via an iFrame. Now since Facebook has 350,000,000 users I figured they probably have this figured out.
A brief search found this very simple and concise P3P header, all you have to do is include this somewhere early in your page load life cycle (global.asax, httpmodule, basepage, etc…):
HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\"");
That will tell the user’s browser to not throw a security exception and allow the site to function as needed.