Archive
Bitbucket Mercurial to Git Migration
Back when distributed version control systems were new, there were a few options. Nowadays, most developers would assume you’re already talking about git. However, back in the day, Mercurial (hg) had much better tooling for windows than git. So I started moving everything from SVN and Source Safe to Mercurial.
read moreConverting a nuget package to Bower
If you’re an ASP.NET developer like me, you’ve come to know and love NuGet as your go to resource for managing external libraries. It has everything from ASP.NET MVC and Entity Framework, to jQuery and bootstrap. You may have heard that Visual Studio 2015 has out of the box support for Bower, a client side package manager for the web. It seems that Bower (and NPM) is what everyone else outside of the Microsoft ecosystem has been using for a while now, and Visual Studio is finally catching up.
read moreMoving from WordPress to Ghost
I recently moved my blog from WordPress to Ghost. The Ghost installation was breeze thanks to Ghost Azure, as shared by Scott Hanselman.
read moreAnnouncement - Control Alt Development
read moreSteam Achievements for Facebook Update
A few years ago I wanted to create a Facebook application. I chose to develop an app that integrated with the Steam Community API. It was a fantastic learning experience where I was able gain valuable javascript and ajax experience I wasn’t getting at my day job. Later, I converted from ASP.NET Web Forms to ASP.NET MVC. This again was something I wasn’t exposed to at my day job.
read moreHow I bought home theater audio for half price
I’m taking a break from web development topics today to talk about one of my other interests: home theater. It all started when I saw a pair of Pioneer bookshelf speakers on woot! for half the retail price. A few years back, I bought an all in one surround/DVD player/receiver. It was one of the few times that I didn’t do a lot of research before making an electronics purchase. Being somewhat of an audiophile, I was never happy with it. It worked, but the sound wasn’t crystal clear and there was very little bass. Fast forward to this past winter when I saw that pair of bookshelf speakers on woot!. Pioneer had always treated me well for car audio, so I was interested. I read tons of reviews, checked prices on Amazon.com (my online retailer of choice), and decided to make the purchase.
read morejQuery UI Message available from Nuget
The jQuery UI Message plugin is now available from NuGet. You can install it by searching for “jqueryui-message”.
read morexVal for WebForms without xVal
I’ve been working on xVal for WebForms without xVal in the jQuery.Validate branch. So far I’ve got basic server and client side validation for most data annotations validation attributes and server side validation for IValidatableObject implementers. The only challenging part so far was understanding how to serialize the validation rules for the jQuery Validate add method.
read morexVal for WebForms - the Future
Based on comments I’ve received from my last xVal for WebForms post, I’ve decided on a direction. The project will keep jQuery Validation but will move away from the xVal dependency. We’ll be trying the approach outlined by Dave Ward at Encosia.
read morejQuery UI Message Update
I updated the jQuery UI Message plugin today. There are now methods for show, hide, options and destroy. There is also a full live demo page. See more at the project page.
read moreMessageBox - The jQuery Plugin
Now that I’ve been working more and more with ASP.NET MVC, I’ve been rewriting some of my server side controls with jQuery plugins. A while back I shared my version of Janko’s popular MessageBox control. I’ve created a similar effect with a jQuery plugin based on the Highlight/Error examples on the jQuery UI Themes page.
read moreThe State of xVal for WebForms
I’ve been neglecting xVal for WebForms for a while now, mainly because I’m not sure which direction to take it. The xVal project is now deprecated in favor of the client side validation support introduced in ASP.NET MVC 2. This is obviously a problem since xVal for WebForms is built on top of xVal.
read moreIIS Express and Visual Studio 2010 without SP1
Here’s how you can integrate IIS Express with Visual Studio 2010 without SP1. I’m taking advantage of External Tools again. There are two very simple ways to run IIS Express from the command line. The first is to pass the web project path:
read moreI moved to WordPress
I moved my blog from BlogEngine.NET to WordPress. My main reason for moving away from BE is that there just aren’t that many themes and plugins available for the latest release, 1.6.1.0. However, now that I’ve completed my transition I just saw that BE 2.0 RC is now available. And they also added Janko to their team, which leads me to believe that there will be some very cool themes available. Perhaps I should have waited?
read moreVisual Studio’s Transact-SQL Editor
I’ve been using Visual Studio for years, but I just learned something new that’s been around since at least Visual Studio 2005. It has a built in Transact-SQL Editor that you can use to write and execute SQL queries. From what I can tell, it looks like a component of SQL Server Management Studio 2008. You can access it from the Transact-SQL option in the Data menu, which opens the editor in a new tab.
read moreConfluence Universal Wiki Converter (UWC) for ScrewTurn
My company recently started a corporate wiki. We initially used ScrewTurn, an excellent open source ASP.NET application. It worked great for our department, but it wasn’t taking off for the rest of the company. Non-technical users just couldn’t get wiki markup and weren’t able to manage edits with the visual editor. So we turned to Confluence, an enterprise class commercial wiki. I won’t get into a feature comparison here. There are plenty of other sites devoted to that.
read moreValidation without ViewState
I ran into an issue today where I needed to validate a few controls without ViewState. These were drop down lists whose items were added from the returned value of a WebService.
read moreWinHost, Sub-Domains, and IIS 7 URL Rewrite
I switched my web host from GoDaddy to WinHost this week. I only I ran into two issues. The first was how WinHost handles sub-domains. GoDaddy’s sub-domains point to a sub folder of the same name, e.g. http://sub.example.com points to \sub. You can then access sub-domain content from http://sub.example.com/abc or http://sub.example.com/sub/abc. There is no way that I could find to enforce either /abc or /sub/abc and often after arriving to the site via /abc you would be linked to /sub/abc.
read moreGoogle Chrome has Extensions
I’ve been using Google Chrome a lot more for casual browsing lately. I continue to use Firefox with Firebug for web development tasks, but for social networking and email I use Chrome. Perhaps its because I have loaded down Firefox with too many extensions, but I can’t get over how much faster Chrome is. And the latest beta (version 4) now supports extensions. So far I’ve added five extensions and I haven’t noticed a difference in speed.
read moreSQL Server Management Studio and TortoiseSVN
Update: SQL Source Control was released a while back! See my article on Simple-Talk for more information.
read moreSteam Achievements - A Facebook app built with WCF and jQuery
I’ve been wanting to create a Facebook app for a while now, but I didn’t have time or a need to fill. I took some time off over the last week and I was able to come up with both. I’m avid PC gamer and most of my games are on Valve’s Steam platform. Steam has achievements for some of its biggest newer games like Left 4 Dead and Team Fortress 2. They are much like the Xbox 360 and PS3 achievements. But unlike the Xbox and PS3, there wasn’t a Facebook app that notifies your friends with your latest achievements. There was an app that worked great for a while back, but its now broken (and still using the steamachievements url suffix!).
read moreMocking Controller.User
I’m currently working on my first ASP.NET MVC project. Naturally, I’m writing a good number of unit tests. I ran into a problem tonight with mocking Controller.User. Thankfully, someone at Stack Overflow had already asked a question about this. I took Bruno Reis’ answer:
read moreApply the same CSS class to all validators in a web project
I recently had to add a CSS class to all validators in an ASP.NET web application. I started with the theme’s skin file:
read morexVal with WebForms Part 2
Since my last post, I’ve completely rethought and re-implemented my take on xVal for WebForms. If you’re not familiar with xVal, stop now and read the tutorial. Now that you’re back, lets talk about xVal and WebForms.
read morexVal with WebForms
Update: See xVal with WebForms Part 2 for a better implementation.
read moreSend a Completed Form Email Without a StringBuilder
Have you ever had to create a large web form for users to fill out and then receive an email copy after its submitted? That can be tedious work. The first few times I did it, I used a StringBuilder to build the email HTML one control at a time. Later, I viewed the HTML output of the page and replaced all input controls with spans, and then put that HTML in a StringBuilder. Either of these methods work, but it gets real annoying when I later have to add a field or two to the form and therefore to the email HTML.
read morejQuery/ASP.Net AJAX 1.0/3.5 gotcha
Update: If you are curious as to why MS added the .d attribute, find out why at Encosia.
read moreMy version of the MessageBox control
- The close button’s client side onclick event wasn’t getting the correct client id when used inside a Master page. I moved the onclick addition to the Load event to correct it.
- The message would not display when used inside an UpdatePanel. The Page.ClientScript.RegisterStartupScript method only works for synchronous (non-AJAX) post backs. The control now uses the ScriptManager.RegisterStartupScript method for async post backs.
A SiteMapProvider for Static Web Sites
The new navigation features of ASP.Net 2.0 are pretty cool. If you haven’t seen them yet, check out ScottGu’s blog for more information.
read moreConverting DateTime to String and back
I spent about 20 frustrating minutes the other day wondering why a sql
query wasn’t selecting the record I wanted. Everything looked right
until I stepped through my code the 3rd time. Then I discovered my
problem.
Using ASP.Net to open a new browser window – Part II, the web control
This a follow up to my previous post, Using ASP.Net to open a new browser window – Part I.
There I used a static helper class to register a javascript function to open a new browser window. I’ve scratched the static class and replaced it with a BrowserWindow class and a PopUpWindow WebControl. BrowserWindow simply encapsulates all of the parameters passed to RegisterOpenWindowScript(), and PopUpWindow registers the javascript function and the call to the function.
Using ASP.Net to open a new browser window – Part I
I recently needed to add a ‘pop-up’ window to a website. Now I’m not a fan of javascript, never have been. I like my code to be type safe and compile. So I came up with a C# helper class to do the dirty work for me. I must give credit to where I found the idea. I saw something like this in Chapter 4 of Developing Web Applications with Microsoft VB .Net and VC# .Net by Jeff Webb and MS Corp. In this book they create BrowserWindow class and use it inside some javascript. I’ve take a different approach, so that I can avoid having to write the javascript in the future.
read more