Archive for the ‘Uncategorized’ category

#DevLink Slides and Source

August 10th, 2010

Thanks to everyone who attended my DevLink talks.  I had a blast presenting to you all and I really hope you got a lot out of the presentations.  Here are the slides to the 3 presentations I gave.  They are available for download.  I also have source available for those of you that wanted to look at my examples.

Async

View more presentations from Kevin Griffin.  Source code is available here.
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

App Problems? No Visual Studio? Try DebugView

June 30th, 2010

DebugView is a pretty neat application, and it can be a Godsend if you’re running into application problem.  So what is DebugView?  Here is the official description:

DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output, so you don’t need a debugger to catch the debug output your applications or device drivers generate, nor do you need to modify your applications or drivers to use non-standard debug output APIs.

What does this mean for you, the developer?  You can add trace code to your application that can be read via DebugView.  This isn’t meant to be a replacement for an actual logging solution, but it can be helpful in cases where you need to output debug information and you don’t want to get in the way of the user.

Where Do I Get DebugView?

DebugView is free to download.  Click here to download DebugView.  Un-zip the file, and run the Dbgview.exe file.

image

Show me the code!

Let’s imagine a simple C# application:

class Program    
{        
      static void Main(string[] args)        
      {            
            Debug.WriteLine("DebugView test is starting up...");
 
            for (int x = 0; x < 100; x++)            
            {                
                   Debug.WriteLineIf(x % 10 == 0, string.Format("{0}", x));            
             }
 
            Debug.WriteLine("DebugView test is shutting down...");        
     }    
}

If we watch this in the Visual Studio output window, here’s what the results are:

image

Now, let’s run our application stand alone, but with DebugView running.

image

If you look at Time, this represents how long DebugView has been running.  What we’re interested in is the Debug Print column.  There are two important parts to the string in this column.  First is the number in the brackets.  In this case, [4336] is my process ID.  You can filter off this value, so you’re only looking at your application.  If you look about, there is another process writing into the stream.  Lots of Windows processes will write to the debug stream, so you’ll have to filter for your application to avoid the noise.

As a note, this only works in Debug mode.  If you’re building in Release mode, the Debug lines are not compiled into the application.

I hope you start using this little trick when you’re building your applications.  It can be a Godsend when someone is running into a problem, and you have no idea where it’s happening in the application.

Enjoy!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

jQuery From The Ground Up Materials #RichCC

October 5th, 2009

If you attended my talk at Richmond Code Camp on “jQuery From the Ground Up”, and you want to get your hands on my demos (complete) and the powerpoint slides, here they are!

If you attended the talk, please rate me at http://speakerrate.com/talks/1543-jquery-from-the-group-up.  Constructive criticism welcome!

Enjoy!

Source Code

PowerPoint

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Raleigh Code Camp Recap

September 25th, 2009

This past weekend, I had the opportunity to attend Raleigh Code Camp, in Raleigh, NC.  This was my second time attending Raleigh, and I have to say that I’m still impressed with the quality of speakers and attendee’s.  One of my favorite quotes during Saturday was that the difference between a speaker and an attendee is two weeks.  This event didn’t have an open spaces section, so I was able to sit in on several presentations.

Speakers Dinner

Depending on who you talk to, speakers dinners are great or not.  Some people think it’s a great way for speakers, volunteers, and coordinators to get together and say “thanks” for taking time out of their busy schedules to come down and make the event possible.  Others will say that speaker dinners are “elitist”, and that the attendee’s should be invited to come participate.  I’m not really on one side or the other.  I enjoy speaker dinners.  Generally, speakers are really good friends of mine, and this is a great chance for us to catch up.  Dinner was hosted at “Ben’s Place” in Raleigh.  Food was delicious, but the portions were a bit small.  I was able to meet several speakers I haven’t been able to meet before.  Afterwards, several of us went to see “Extract” at the local movie theatre.  Short review, good movie, but not as good as Office Space.

jQuery From The Ground Up

Technically, jQuery From The Ground Up is my second presentation ever.  I was a little nervous with this presentation.  With my last talk, I grew comfortable with my demo material.  While jQuery isn’t new material to me, my demo was.  I got a lot of positive feedback from the talk.  One person even thanked me for making a mistake in my code.  It’s amazing to me now, but there is this mindset that speakers have to be “perfect’, and our demos have to be perfect.  I’m sorry, but I don’t think a presentation is “good” unless it has at least one hiccup.

I love giving presentations for the first time, because at the end, I always have a checklist of things I’d like to add, change, and remove from my talk.  Now I have a great idea of what works and what doesn’t.  I’m giving this talk again at Richmond Code Camp on October 3rd.

Bootstrapping

I went to Nate Kohari’s talk on bootstrapping your own business.  It’s always been something I’ve been interested in, and I really don’t have a good reason for not having done it.  My primary reason is that I have my wife and myself to support.  It’s difficult to say, “honey, I’m quitting my job so I can build my own product that might or might not work.”  I don’t think that would go over too well.

Nate did a great job discussing the pros and cons, and what to keep in mind if you decided to take on a startup head on.  I have several ideas bottled up in my head, and I think over the next few months that I might spend time developing one of those ideas into a product.  Time will tell!

Database Design for Developers

Andy Leonard has always been one of my favorite people to listen to speak.  This presentation discussed tips and tricks for developers working with databases.  I learned quiet a bit.  One of my favorite moments was when Andy discussed using integer keys over other types.  Reason to use integers is because SQL Server optimizes for integers.  In my current project, I ended up added unique integer keys to some of my tables even though I had another non-integer column that could’ve been an unique key.  I didn’t realize it was a performance decision.  Oops!

MVC Repository Pattern

Steve Bodnar is a good friend of mine in the Hampton Roads area.  This was his first non-FoxPro talk.  He spent the time talking about ASP.NET MVC Repository pattern.  Wow!  What a confusing topic.  Domain driven design in general is very difficult to comprehend (at least for me).  Steve did a great job of walking through his issues in trying to learn more about the pattern, and hopefully anyone looking at the pattern for the first time will be able to make strides without too much headache.  Steve’s also doing two more brand new MVC talks at Richmond Code Camp.

Overall

Raleigh Code Camp never disappoints.  The guys down there did a wonderful job, and I will make sure that I return year after year.  I was able to meet a lot of new people, and meet a few people face-to-face for the first time.  Next year, make sure to put Raleigh on your calendar!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Raleigh Code Camp THIS SATURDAY!

September 15th, 2009

If you’re in the Raleigh area (or within a 3-5 hour drive thereof), don’t forget that Raleigh Code Camp is THIS SATURDAY!

I will be giving my new talk “jQuery From The Ground Up”, and from the looks of it, I’ll be during one of the first sessions of the day(8:30).  Come on down, and say hi.  Here’s the quick info:

When: Saturday September 19, 2009 8:00 AM – 5:00 PM
Where: ECPI this year: 4101 Doie Cope Rd Raleigh, NC 27613 [Bing it!]
How much? $0

http://www.codecamp.org for registration!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

The Pillars of Community Involvement : Part II

August 21st, 2009

Read Part I Here

Second Pillar: The Picker and Chooser

In continuing my chat about the pillars of community involvement, it’s now time to discuss the “picker and chooser”.  If you recall from part 1, I discussed the solo coder, or the person that wasn’t involved in community events at all.  The “picker and chooser” is the next logical step.

I have to give this type of person a big hand, because they are involved in the developer community.  I cannot fault them, because they’re at *some* of the meetings.  I guess I could fault them, because they’re not at all the meetings.  You see, this is the type of developer that would look at synopsis for the upcoming user group meeting, and decided whether or not the topic is relevant to him or her.

I feel that if you’re going to be involved with the community, then you need to be involved with the community 100%.  Don’t like the meeting topic?  You should come anyway.  You never know?  You just might learn something.  I don’t know how many times I’ve gone to user group meetings not caring about the topic.  Many of those times though, I’ve walked out with a bit of information I used later on or didn’t know I needed.

Here’s a story from a user group meeting a few weeks ago:  We ran into an issue, and the speaker had to change topics the morning of the talk.  There was not enough time to alert all the people registered for the meeting.  During the welcome time, I mentioned the change in topic, and a member acted disappointed and frustrated.  It seemed as though we were wasting his time.  What if I had been able to get the topic change notice out?  Would that change have impacted his wanting to attend the meeting?  Why should it?

The answer is plain and simple, these types of community members are selfish.  They’re only interested in using the resources of the community, but not providing anything back to it.

How does a person on this pillar move up?  Very simply.  Go to meetings you’re not interested in.  Ask questions and attempt to learn something.  Some knowledge is better than no knowledge.

Don’t forget that the meetings are not the only reason for attending!  Come visit your friends and peers.  The 30 minutes of welcome time and the 30 minutes of clean up time after the meeting can be more meaningful than the hour and half of the meeting itself.

You get back what you put into the developer community.  Come on out!  We won’t bite.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

#DevLink

August 11th, 2009

Tomorrow morning, I will be heading out for DevLink in Nashville, TN.  I have no agenda set up.  I’m going to go with the flow.  However, I do think that I’m going to be spending a lot of time in Open Spaces.

I’m hoping that the next three days are full of good times with old friends and new friends.

Are you going to DevLink?  Let me know.  I’m definitely interested into meeting new friends and fellow developers!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Latest Project : KMWerner

August 8th, 2009

A friend of mine wanted to put together a public portfolio of her work.  She is a graphics designer, and a darn good one at that.  We recently completed a portfolio for her.  Here is a screenshot:

image

So just a little bit about the backend.  Everything on the page is done completely on the client.  I used heavy JavaScript and jQuery to build some of the effects of the site.  Right now, all data is stored in a JavaScript file.  If I had more time, I would’ve abstracted this out to at least an XML file.  Ideally, it would’ve been driven from a web service with a database backend.

I’m really happy with that way it turned out, and I hope she is too. Check out her site, and let her know what you think!

Her website can be reached at http://www.kmwerner.com.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Next HRNUG Meeting

July 27th, 2009

The next meeting of the Hampton Roads .NET Users Group will be on August 11th, 2009.

We have local speaker JR Thomas giving his presentation entitled “A Trip Around Silverlight 3″.

Abstract:

Silverlight 3 has been released to web a month ago. Come see what new in the platform including RIA .NET Services (Auto WCF proxy generation from your ORM of choice), Animation Easing, Custom Dialogs, and taking your Silverlight app out of the Browser.

Welcome time starts at 6:00pm! Food and drinks are being provided by Geeks and Gurus! Meeting starts at 6:30pm and last typically until 8:00pm.

Visit www.hrnug.org for RSVP information!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Keeping Up With Goals: Part II

July 23rd, 2009

Read my first post here.

My next goal is to try to read more books.  There are several pieces of good advice I’ve picked up in my adult life.  First, you should emulate people you want to be like.  For example, if you want to be wealthy, you should do what wealthy people do and take the advice of wealthy people.  You wouldn’t take wealth building advice from a poor person, would you?  If they knew better, they would be wealthy!  If I want to be a great developer, I should emulate the practices of other great developers.  I feel I’ve been able to surround myself with great developers, and, slowly, I’ve been picking up their habits.  One of these habits is another good piece of advice: successful people are always reading books.

Of course, books don’t have to be programming related.  I’m interested in building myself as a professional.  That doesn’t necessarily mean a book about learning Entity Framework (although Julie Lerman’s book is sitting on my shelf, just aching for me to open it), ASP.NET MVC, or whatever.  Books about development processes and project management are appealing to me.  Any way I can possibly improve the processes I use in my daily job.

Currently, I have a backlog of probably 6-8 books I’d like to read.  As soon as I pass my 70-536, I’m going to start reading Code Complete.  Anyone you meet will describe it as the Bible of software development, and I’m sure that reading it would not be a waste of time.  After that, I have The Nomadic Developer to read.

Additionally, I plan on posting reviews of the books I read.  Writing a report of a book forces you to think about the subject matter at a deeper level.  This will also give me a chance to pose questions to the community.  It’s all about personal progression.

In the comments, what books do you recommend for professional progression?

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)