Sunday, November 09, 2008

Server Not Found? Lovely.

Well, I recently experienced the most excellent error on my blog of "Server Not Found 404 Error." First off, I did nothing to create the error. I'm not sure if it was GoDaddy or Blogger that caused this joyful event. My blog has been running very nicely for several years. A couple of years ago (maybe only one and half, but who's counting?) I implemented the custom domain part of blogger with a domain I have had registered for a long time. Sometime a couple of weeks ago, the server not found error started hitting chadcoley.com, but worked fine if I typed in www.chadcoley.com. However, at some point everything quite working. Fine, I'll do the research and fix it.

As it turns out, I read several other blog posts of people having similar issues. The most helpful post was from a Google group which says something about adding another A record in DNS. As it turns out, I did some comparing to other sites hosted at Blogger using GoDaddy and had to had a new A record to DNS in GoDaddy's Total DNS Control form. Oddly enough, it was a hardcoded IP Address I have never seen before. Here is now my new A record list in DNS:

ARecord @ 72.14.207.121
ARecord @ 64.233.179.121

I have never touched the 72.14.207.121 address before. Once I added the 64.233.179.121 IP I had to turn off custom domain handling through Blogger. Finally, I turned custom domain handling back on and, like magic, it worked. Ok, not quite magic, more like pain.

Tuesday, October 21, 2008

Interesting Article - Future Creep

I ran across an interesting article through Digg on the 37Signals site. The comments are definitely worth the time to review and raise good points about the words "always" and "never." I agree with the article's main point but I also agree that there are times when planning for the future are necessary. When you have a moment, take a read: Beware of Future Creep.

Tuesday, October 07, 2008

Sorting a Generic List of Strings in C#

I've been looking around at how to implement a descending sort for a generic list of strings (List). After looking at several options of implementing IComparable, converters, and all sorts of other madness, it turns out the List object has a very easy way of doing this. So easy, in fact, that I'm sort of embarrassed I didn't just know it. In case there is anyone else who is in need of this simple solution, here is a short example.

List myList = new List();
myList.Add("AAAA");
myList.Add("ZZZZ");
myList.Add("MMMM");

myList.Sort();
myList.Reverse();

Painfully easy.

Wednesday, September 24, 2008

ScheduleTown Map

Ok, so Craig might have a little more insight than the average Joe into the ScheduleTown project, but he whipped up a cool little map that shows who is setup and taking reservations through ScheduleTown.com. Take a look at the ScheduleTown Business Map. It is exciting to watch the map change each day as businesses adopt ScheduleTown. Also, if you click on the business listing on the right-hand side, it will take you to ScheduleTown.com so you can see what services that business provides.

Thursday, August 21, 2008

Review of a Photo Book Review Site

A couple of days ago, a friend of mine (Tim Leonhardt) launched a site that I thought was pretty cool. The fact that I was able to participate in some ways made it cooler of course, but here is what I like about it. The site is a Photo Book Review site (fotobookreview.com) to compare publishers of photo books.

First off, the organization of the presentation makes any data complexity a non-issue. So as a user ticks off things they want in a photobook (from the menu on the left), the publishers who offer those books are listed on the right. This is all done in a non-postback/javascript way.

Once a list of publishers is set, the user can then select up to five to compare pricing and book options. The cool thing here is the pricing check. There is a textbox that the user can use to put in their estimated number of pages. At that point, the photo books the publisher offers are redisplayed with an estimated price.

So, for example, lets say you want to produce a photo book which you think will be around 28 pages. You have heard of VioVio and Shutterfly, but don't know how much each will cost or which options you have. All you do is fire up FotoBookReview.com, select the publishers, and you end up on the VioVio and Shutterfly comparison page. Once you plug in your number of pages, voila, you have an estimated price for each book those publishers produce.

The site is poised for more things to come, so I hope it continues to grow. I'm sure Tim would want comments and feedback if you have any.

Thursday, July 31, 2008

What Is ScheduleTown?

A couple of months ago, I had a post discussing the difficulty a small business owner has when trying to reach out to online customers, balance a calendar, and manage clients. This week, we have released ScheduleTown.biz and ScheduleTown.com to try and address some of these issues for people in the service industry.

ScheduleTown.biz is our portal for business service providers to get their business setup for online scheduling. We have spent a significant amount of time refining the setup process to make it as simple as possible, but yet allow the flexibility necessary for the business owner. The "Biz" side is made up of the following components: online scheduling for clients, client management, text and email notifications for appointments, business reports, email marketing to your client base (newsletters, promotions, or special announcements), and optimized scheduling. Each component has several aspects to it, so I won't go into detail in this post. As time permits, I'll post a few entries about each piece.

ScheduleTown.com is the site which enables people to discover and schedule with businesses which are running ScheduleTown.Biz. People can search on a business name, service provider names, and services offered. In addition, the search can be refined by specifying a city, state, or both. Once a business is found and a reservation is made, the user will see their reservation dashboard. This screen contains helpful links for commonly used businesses, reservation history, upcoming reservations and your reliability rating. The rating is a tool used for a business and a customer to help reduce "no shows" which have a significant negative impact for service providers.

Our end goal is to empower a service provider to make the most of their business without all the infrastructure, development costs, and maintenance costs typically associated for this type of functionality. This solution is completely online and web-based without the need to install applications or maintain servers. In this day and age, people shouldn't expect anything less.

-- Obligatory Sales Pitch --
So, for those service providers out there reading my semi-tech geeky blog, let ScheduleTown.com take reservations for you and quite spending so much time taking appointments over the phone. After all, don't you have better things to do?
-- End Obligatory Sales Pitch --

Wednesday, May 14, 2008

Web Services Running Asynchronously?

On and off over the last few days, I've been attempting to find ways to let a web method request wait for completion of a few tasks before returning a result to the browser. There are several cases where a thread from the thread pool can be on-hold or blocking while nothing is happening. In away, what I've been looking for is event-driven web services.

For example, when a Web Service (MyWebService) is attempting to access an external web service (TheirWebService) MyWebService will continue to hang onto a thread while TheirWebService is pending completion. To return resources to the thread pool, a developer can make use of server-side asynchronous web methods. I found an article on MSDN from Matt Powell (of course it's very old) that outlines how to do it. My results where mixed however. When I used an ASMX accessed via AJAX web service calls, the call continued to be returned and the javascript always got back the IAsyncResult.

For my test, the ASMX file was in the same project as the ASPX/AJAX page. I'm not exactly certain why the result was always returned, but I believe Visual Studio does some funky inspection of methods and builds a js proxy to call those methods. At any rate, I believe this method will assist in future efforts (like implementing an event-driven server-side push methodology). But thus far, it remains only cool in concept.

Friday, May 09, 2008

Multiple Sclerosis (MS) Walk in Bozeman

Tomorrow we are hitting the street to do the National Multiple Sclerosis Society walk. It's a four mile course with kids in-tow, so I'm sure we'll be at it for a while. The reason I mention it here is in case anyone feels the desire to donate in the fight against MS. My wife is on the volunteer list and can be reached at the national ms website. I know the event is tomorrow, but anyone can pledge an amount until June.

Also, thanks to all that have contributed already. To date, we have $315 to contribute as an individual and $2,000 as a team.

As for normal blogging, don't worry. My next post will return to its regularly semi-geeky content.

Wednesday, April 09, 2008

Automotive XPrize

I was always a fan of the original XPrize which featured a $10 million award to the team that flew the equivalent of three people to a suborbital height (roughly 100 km) two times in two weeks. Well, there are several other XPrize Foundation efforts underway (Lunar XPrize, etc.), all based on one concept: radical breakthroughs for the benefit of humanity.

On March 20th, the XPrize Foundation announced the Automotive XPrize. Well, it isn't quite as sexy as space, but I believe it has the best opportunity to impact society the earliest. I am excited to see how this contest/race pans out, and what kind of benefits will be seen in the automotive industry. With the price of oil and it's impact on the environment, I hope nearly everyone has an interest in events like this.

Thursday, March 27, 2008

Biz Blog

A coworker of mine, Michael Wilson, started up Ning site as a place for ScheduleTown discussion, ideas, fun pics and videos, and other interesting tidbits. The site is Biz Blog. I'll dual post entries to the Biz Blog which relate (you'll notice a copy of my ScheduleTown.Biz entry).

If you are interested in ScheduleTown or are just plain curious, check it out.

Monday, March 17, 2008

ScheduleTown.Biz

Small businesses are plagued by the fact that they are unable to get connected to their web-savvy customers. Yes, the business owner still has options, but each option has its own shortcoming. One option is to create a website using the "flavor-of-the-month" web building tool. Although these web tools are improving, I believe a typical user invests a lot of time and ends up with a site that is not consistent with the business's style. Another option is to hire someone to create a custom website. Many eye-popping features can be created in a custom website, but each cool feature costs money. Since many small businesses are paycheck-to-paycheck, custom sites are rare.

A third option is to repurpose social sites, such as Facebook or MySpace, to promote your business. However, most social sites are not designed for businesses and therefore provide limited benefit. I suppose a final option is for the business owner to learn HTML / Javascript and make a website. Although this option is good for some, I would say it is unrealistic for most.

Enter ScheduleTown.biz. Initially, this product will be a business focused product - a place to setup and manage a calendar. The owner can identify resources (people or other things such as a tanning bed), assign available time for those resources, securely store their customer data, email their customers with information and newsletters, and setup online promotions. Our next effort will launch ScheduleTown.com, a place for customers to go find a business and schedule online.

ScheduleTown.biz is an attempt to solve the small business problem of getting online. As the launch of ScheduleTown.com nears, I'll add detail about how a business gets listed, the advantages of being listed, and how scheduling online will improve both the business and customer experience.

Tuesday, February 05, 2008

The Code Trip, Coming to Bozeman?

It looks like the Microsoft bus (The Code Trip) will be rolling through Bozeman. I'm interested to see what kind of material they are going to evangelize. I am still shocked they will hit a town with fewer than 50,000 people. So if you are familiar with terms like Silverlight and MIX08, you may want to take a look on March 13th. However, the big question is where...at the R-Bar?

Thursday, January 24, 2008

A Little Techno

A coworker of mine created a couple of techno songs that are easy to work to. However, that assumes you like techno and, to some degree, working. Check'em out if you are so inclined.

Techno by EJB

Tuesday, January 08, 2008

Partial Methods, Join the Fun

We recently updated to Visual Studio 2008 and have been starting to dip our toes into the new functionality that the platform offers. Most recently, we've been investigating the use of partial methods. We make use of code generation, but we have always run into issues with overriding generated methods. Now, using partial methods, we can extend a generated method to accomodate additional logic. We end up with something like:


GenClass1.cs
partial void DoSomethingExtension();

public void DoSomething()
{
//Do things in here that are generated
DoSomethingExtension();
}

CustomClass1.cs (partial class of GenClass1)
partial void DoSomethingExtension()
{
//Do custom adjustments here
}



Of course I don't think this is a great option for standard coding except for specific instances, but in the code generation world, this fits in nicely. One other nice feature is this: if you don't implement a CustomClass1, DoSomethingExtension is taken out at compile time.

Wednesday, January 02, 2008

Welcome to '08

2007 was a decent year. We've spent a lot of time at EdgeInova building up a foundation to enable businesses to do exciting things for affordable prices. The footings are in place and the framework of the architecture is prepared. 2008 should bring some exciting new features and tools so our clients can see continued growth of their businesses.

I can't necessarily name the new features and tools before they are ready for release, but no code should remain unimproved. Our development team has been placed into three groups in order to focus on specific areas of the application. Of course there is plenty of crossover, but the three areas are Point-of-Sale, Scheduling, and Usability & Performance. Needless to say, everyone is excited, busy, and looking forward to the next two releases when we should see some great things.