Thursday, December 21, 2006

Cool Websites

So A couple guys at work found some cool things on the web and I thought i would pass them on.

The first a tool that will do searches of MP3s. By searches I mean you give it a phrase and it will actually search the entire song for it. For example, if you ask it to find "sparks fly from your finger tips" it will return Witchy Woman and any other song with those lyrics. This cool search can be found here.

The second cool thing is a website. Ever go to a mall or a bar or a friends and couldn't find a parking spot because someone has parked poorly either by laziness or on purpose to protect there car. Well here is your chance to get back at them. The website youparklikeanasshole.com is just the answer. here you can upload pictures of the offenders, and even download tickets you can print out and put on the vehicles.

I plan on making use of both these items in the future and I hope you do too.

Tuesday, December 19, 2006

Wisconsin Badgers

Oh happy days! What a week for the UW-Madison mens basketball team. After beating in state rival UW-Milwaukee, they totally dominated Pittsburgh on Saturday. Alando Tucker was brilliant again scoring 32 and 10 rebounds. Brain Butch showed up wit 27 and 11 rebounds.

Wisconsin Led the whole second half, and the game was never really in doubt. The game was tight up until about 5 minutes left in the first half when the Badgers went on a 20-9 scoring run to end the half.

Dick Vitale was calling the game for ESPN and he was really impressed with Tucker calling him is current favorite for player of the year. He also thought both Wisconsin and Pitt would make a serious push in the NCAA tournament.

In the new AP rankings the Badgers climbed to 4th place there highest ranking ever. Previous they were ranked 6th back on Dec 4th, 1962.

Friday, December 15, 2006

Handheld Development

At work I have been doing quite a few hand held device projects. Although these project are fun, since they are different from the ordinary, however having to work with the Compact Framework (CF) is challenging.

The CF is really a subset of the .Net framework. What make it tough is the fact that things you expect to be in the framework are sometime missing. The example that took me by surprise was the Threading package. If you look at the two packages, you will notice the threading in the CF is rather lite. Some methods one would expect to find are missing, causing the developer (me) to have to find new ways to do tasks.

I don't want this to sound like the CF is crap, because it isn't. I am sure the reason the CF scales down is because of the devices it has to run on. Hand held devices have limited memory resources and processor speed. These limitations are what causes the CF to be scaled from the regular framework.

There are other things that cause this type of development to be challenging, but I think I will save those for another day.

Thursday, December 14, 2006

Chicken Wings

So every Thursday night a group of friends and I go out for chicken wings. We go to a place called Points East. They have the best chicken wings in the city of Milwaukee. In fact they have the best wings I have ever had.

On Thursdays the wings cost $0.30 each with purchase of a beverage. The interesting thing about the wings is they never taste exactly the same. I have wondered about this and Mark, the owner says he always changes one ingredient just enough to make it different. The other thing I like about the wings is the fact they are grilled.

The wait staff there is really great. They know us well and treat us great. Erica and Brent are very professional and work very hard.

This is not a paid endorsement.

Monday, December 11, 2006

Dot Net Nuke

So I have a client that wanted a DotNetNuke (DNN) Website. I haven't really done much with DNN in the past. For the most part DNN is capable of producing a very easy to manage website.

DNN is a content management solution for the web. It is built with ASP.NET 2.0. The basic install walks you through a simple wizard and once complete builds an initial site. To the site you can then easily add new pages with a few clicks of the mouse. These pages can handle any type of content.

DNN is also very expandable. It is easy to create new modules and even link to external resources. I know in the clients DNN site, we link to an ASP.NET web app from inside an ILINK module. The page looks like you never left the DNN site.

Now even though DNN was easy to work with and very expandable, I still prefer developing web apps without it. I like writing code and doing nice design work, but the content management part of DNN is hard to pass up.

Thursday, December 07, 2006

Microsoft Team System

Last night I started to dive into team system a little more. Since I have not worked with the tool I have been looking for content on the web to help guide me. Unfortunately there is a lot out there and I am having trouble knowing where to start. So I have been leaning on the web resource quite a bit.

So the first thing I did is create a new team server project. To do this I connected to my team server through the team explore window. Then I right click and chose new team project. The wizard will walk you through naming the project, entering a description, and then you get to pick a project process. I went with agile process. After completing the wizard, the tool goes to work.

Once you get control back, you find a new team project has been created, along with a project portal that can be found on on you team server. I also noticed it created me 15 work items, along with some documents that seem to be stubs for things like requirements, vision statements, testing and so on. It also created a lot of process guidance document to help you through the tasks.

The first 15 work items are relatively straight forward. They range from defining members and roles, setting up check in rules, code standards, and what not. Also in these early work items some ba type items like defining vision, and persona. Pm items include defining iteration length and create iteration plan, and even testers get some items create test approach. Of course most of the documents are already stubbed and just need you to check them out and modify them.

Once I am done fulfilling all these items, I will create anew blog talking about what I did to close them.

Wednesday, December 06, 2006

Agile and Music

Last night on HBO was a documentary about U2. It was a really an interview with Bono and Edge. Since I like U2's music I thought I would watch it.

During the interview Bono and Edge talked about the way they write music and it was very interesting. Although they never used the terms requirements, iterative development, and unit testing, those concepts were part of there process so to speak.

The way they discussed music was like this. Before recording they would have a general understanding of what they wanted to achieve. They usually entered the studio only with a bass line, or guitar riff. They would then use that and build on top of it. Perhaps adding a drum beet or maybe a verse like doing an iteration. After every addition they would playback what they did and decided it was correct. After a countless number of these iterations they would arrive to the finished product, another hit song.

I am not sure why I made this connection or found it interesting other than it is the same process I use at my job. I also wonder if other jobs follow a similar process to complete there jobs.

Friday, December 01, 2006

Funny McDonald's video

Ok this is really funny. Check it out.

AJAX

So at work we have these meetings once in a while where we discuss technology. Well it was my turn to lead a discussion and I thought AJAX would be a good topic.

At a past client, I used AJAX for a on the fly rate form. Basically how it worked was when a user filled in a field, the updated line item and grand total was to be updated without a full page post back. Well when I did this project ATLAS, now AJAX.ASP.NET was not ready, so I had to do it the old school way.

So first before I go further let me talk about what AJAX is. AJAX, stands for asynchronous JavaScript and XML. AJAX is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user makes a change. This is meant to increase the web page's interactivity, speed, and usability.

Some pros of using AJAX is bandwidth usage, and interactivity. With smaller request to the server, smaller amounts of data or subsets are transmitted. Some cons, are latency and usability. When part of a web page is being updated, some controls can become unusable.

So now that you know a little more about AJAX in general lets talk geek....

Basicly the guts of it all revolves around an object called XMLHttpRequest. This object will make a request to a url and collect the response from the request. the url could be anything, but web services work well. Then you can take the response usually and XML and manipulate it and set controls on the web page.

Now I find this a challenge since I am not a big fan of JavaScript and Microsoft Visual Studio does not give you great support for JavaScript. However I was still able to provide a good solution for my client, and I saw benefits to this technique.

Now lets fast forward to today. The people at AJAX.ASP.NET have release a beta of an AJAX framework. This framework wraps up the JavaScript and all you have to do is the ASP. Any regular asp control can be enabled to post back asynchronously. Also they released a toolkit extension that gives you additional support.

During our discussion one of the areas we decided we could really use this is in field validation. Validation is tough because a lot of times you need to duplicate your validation logic in JavaScript for the client side validation and then in you BLL for server validation. Using AJAX you can now validate fields as the user fills them out and keep you validation code only in your BLL.

As you can see, AJAX is a very useful tool. With the help of AJAX.ASP.Net (Atlas) you can really improve on the user experience at any website you have to build.