News

Coders 4 Charities is live!!!
Add to Technorati Favorites

My Stats

  • Posts - 44
  • Comments - 83
  • Trackbacks - 20

Twitter












Tag Cloud


Recent Comments


Recent Posts


Archives


Post Categories


Image Galleries


Blogs I read


Company Links


Fun Stuff


Kansas City User Groups


My CMS Projects



DSC_2453

Clint Edmonson called me out on this trip down memory lane and, since I want to use up as much of his Google juice as I can, I thought I would jump in.Initially, this very much reminded me of those "Surveys" that go around in chain e-mails and (gasp!) MySpace pages, but this idea quickly caught my interest.

 

 

 

 

Here is the current link(ed) list:

Michael Eaton (post) —> Sarah Dutkiewicz (post) —> Jeff Blankenburg (post) —> Josh Holmes (post) —> Larry Clarkin (post) —> Brian Moore (post) —> Denny Boynton (post) —> Clint Edmonson (post) —> me

 

How older were you when you started programming?

I must have been 9 or 10. Like most people in this chain, I started off programming BASIC on the Commodores, VIC-20, C-64, and the C-128. I remember typing in, number-for-number, all of those DATA lines on the last 30-or-so pages of BYTE magazine that was supposed to yield this amazing game. I think the best app was Lemonade Stand, which I promptly saved to my cassette tape (comma-8, comma-1) since the Commodores had no storage capability.

What was your first language?

BASIC - I can't even describe the feeling of my first Hello World! application. The door was open. This is what I was going to do.

What was the first real program you wrote?

Gosh, I wrote a LOT of code as a kid, but nothing that lasted longer than my C-64 could keep in it's memory. I tried several times to write my own video games, but so many of those times the games ended up looking like a pixelated Jackson Pollock.

What languages have you used since you started programming?

My first passion (and nemesis) was Borland C++, which quickly transitioned into Microsoft Visual C++, sitting on top of MFC, using COM/DCOM methodologies. I used to scoff at VB programmers, calling it a "prototyping" language, until VB6 came around and I realized the glory of it all. VB6 became VB.NET with the introduction of the .NET framework, and C# came pretty far behind. I still prefer VB over C# any day, and I'm sure the commenters to this blog will voice their opposition and ridicule. Bring it on.

What was your first professional programming gig?

Wow. I guess I was in college was when that went down. I was asked to build an Access database for an auction that was taking place in my town. I had to design the database schema, build the UI's, code some business logic, and generate reports for printing receipts at the auction. Results: crash and burn. I forgot to configure the database to allow more than one user, so the other 5 "checkout" stations at the auction locked up, and we were forced to funnel all 500 auction attendees through one terminal. That is the first time (and certainly not the last) I wept over an implementation gone wrong. I hope this admission doesn't affect any future job opportunities.

If you knew then what you know now, would you have started programming?

You betcha! I love problem-solving. That's what keeps me going every day. I love looking at a problem, designing a solution, and tackling it head on (apply directly to the forehead).

If there is one thing you learned along the way that you would tell new developers, what would it be?

"Run away!" Just kidding. Seriously, it would be "plan ahead". Without a design plan for your implementation, your code will get way out of control very quickly. It's one thing to just sit down and start renegade-coding, but without a thorough plan of attack, you'll be lost in the weeds. This is advice that I still have to remind myself to follow to this day.

What's the most fun you've ever had... programming?

Most recently, I would have to say it was our April Coders 4 Charities event in Kansas City. We spent a weekend providing free software implementations for local non-profit organizations. There was a ton of food, a ton of Rock Band, and a ton of coding.

Who am I calling out?

Lee Brandt

John Alexander

Jeff Julian

Becky Isserman

Tim Hibbard


kcdotnet_green

Very happy to announce that the KC .Net User Group site is live!
The site is intended to announce upcoming meetings and presenters at the User Group, and to promote the adoption and use of the Microsoft .NET framework and related technologies to the Kansas City community.
It will be evolving as future needs arise, but I think it's a great starting point for keeping local developers in touch with all things .NET!

So... what are you waiting for? Check it out now! Register! Post a thread on the forum!

Doug


dougsmall

Last night (July 22, 2008) I presented on Windows Communication Foundation vs. Web Services at the Kansas City .NET User Group.
I talked about Web Services, and how they existed in the .NET 2.0 Framework, and compared them to the new WCF framework in .NET 3.0 and 3.5.
There was a turnout of 57 developers, and Modis brought Gates BBQ!

I've uploaded the presentation to my SkyDrive here.
Many thanks to everyone who showed up to hear me ramble!



youtube  YouTube has recently released a new feature they're calling Annotations - the ability to embed speech bubbles, notes, and spotlights into YouTube videos, with ability to follow a hyperlink when any of those objects are clicked. I remember there were books I read as a kid where you could choose your own adventure. Does anyone remember those? You would get to a part in the book where it would say: "Should Johnny go home and study? Turn to Page 32. Should he hang out and play Rock Band with his friends? Turn to Page 68." Anyway, it was awesome. This is what YouTube just put out there. The ability to create a pop-up video of the used-to-be-mundane.

 

camtasia Couple this with Camtasia Studio, which is a screen recording application that allows you to make video demonstrations, how-to's, or training videos (among many other applications), and you've got one heck of a rich and compelling video.

 

 

For a while now, I've been wanting to create some training videos for a .NET-based web site I built a couple years ago called VFW eMembership. This site allows VFW members and officers to perform tasks that were previously reserved for the post office. Renewing annual dues, changing addresses, applying for new membership, replacing a lost membership card -- these are just some of the things that can be done on the site. However, I'm not a UI guy (and no budget for a UI guy), so some of this stuff is hard to figure out. You've got to jump through a bunch of hoops to even register (especially for an officer account).

I've used Camtasia and YouTube's annotations to create some rough videos that take advantage of the zoom-n-pan functionality in Camtasia, as well as the speech bubbles and spotlights in Annotations. Like I said, it's a rough draft, but hopefully enough to pitch to upper-management.

This is the main video that links to 2 other videos (or you can go see my videos here):

 


c4c-bar

Well, it was a great weekend! 25 developers showed up to help out 5 charities, and each charity ended up with an awesome implementation. I've already written the main C4C Event Wrap-Up on the C4C site, as well as wrap-ups for each of the charities.

The event write-up, as well as the write-ups for each charity can be found on the news page of the C4C site.



The 5 charities who were helped this weekend are:

Many thanks (again!) to all those who showed up to develop, volunteer, and donate their time to this amazing event!

 


These are the final teams who volunteered this weekend at the Coders4Charities event.

Many thanks to all who showed up to help!


Charity Name
: Boy Scout Troop 813
Needs: A basic website to announce activities, give information, and promote Scouting. We would like to be able to update it remotely by authorized users. We must follow BSA guidelines to ensure we protect the identity of our Scouts.

Team Lead: Lee Brandt
Team Members:

  • Becky Isserman
  • Blake Theiss
  • Joe Loux
  • Timothy Wright


Charity Name
: Berean Bible Church
Needs: The Berean Bible Church would like to have a membership tracking web application built to be able to keep an up-to-date list of members and regular attendees of the church and relevant information about each member.

Team Lead: Steven Hildreth
Team Members:

  • Jill Kirkpatrick
  • Joseph Cook
  • Jim Heavey
  • Kevin Shaffer

Charity Name: Metropolitan Organization to Counter Sexual Assault (MOCSA)
Needs: MOCSA would like their web site to be enhanced. They will benefit from a CMS such as Graffiti CMS or DotNetNuke.

Team Lead: Patrick Herrington
Team Members:

  • David Rogers
  • Buck Sommerkamp
  • Alex Sommerkamp 
  • Cody Inman
  • Rashid Hoda

Charity Name: Missouri Pit Bull Rescue (MPR)
Needs: Needs: MPR would like a new look for their web, more professional-looking, and easy maintenance. They will benefit from a CMS such as Graffiti CMS or DotNetNuke.
Team Lead: Tim Hibbard
Team Members:

  • Hong Chen 
  • James Clemons
  • Yuriy Lyeshchenko

Charity Name: Task Force Omega of Missouri, Inc.
Needs
: New web site. They currently have a MySpace page. Need to support eCommerce functionality for online donations.

Team Lead: Shawn Mannen
Team Members:

  • Jason Atcheson
  • Jacob Dubin
  • Joe Seaman
  • Mary Stayton

 


c4c-bar It is day one (well, night one) of Coders4Charities, and the teams are off and running. We had a few no-shows, but we managed to do some last-minute re-arranging and load balancing, and it seems that every team is equally loaded. At last check, they were all involved in requirements gathering, and they're trying to determine what solutions will work for them.

 

 

The charities that are here tonight are:

  • Metropolitan Organization to Counter Sexual Assault
  • Boy Scout Troop 813
  • Berean Bible Church
  • Missouri Pit Bull Rescue
  • Task Force Omega

 


I have a stored procedure that I want to call from my VB.net code. The problem is that the stored procedure input parameters may change. Rather than recompiling the stored procedure, and recompiling the assembly that calls the stored procedure, I want my VB.net assembly to query the stored procedure for its parameters, and return them back to me in a list.

I've done some blog searches for this, and I couldn't find anything that did anything like this (or my search terms were not explicit enough).

UPDATE (thanks to Bill Minton): below, I mention using the sp_helptext functionality in SQL, which is a pain. I've left the original code at the end of this post for posterity. Bill left a comment on this post that uses the following SQL functionality: select parameter_name from information_schema.parameters where specific_name = 'YourProcName'

Below is the code that uses this functionality to get back a List(Of String) with the parameters. I just coded it without testing it, so you may need to work on it a bit (I'm working on something else higher priority at the moment).

   1: Public Shared Function GetStoredProcParams(ByVal spName As String, ByVal dataAction As Aptify.Framework.DataServices.DataAction) As List(Of String)
   2:     Dim reader As SqlDataReader
   3:     Dim params As New List(Of String)
   4:  
   5:     ' build the SQL query
   6:     Dim sql As String = String.Format("select parameter_name from information_schema.parameters where specific_name = '{0}'", spName)
   7:     Try
   8:         reader = dataAction.ExecuteDataReader(sql)
   9:         While reader.Read
  10:             params.Add(reader.GetString(0))
  11:         End While
  12:         reader.Close
  13:     Catch ex As Exception
  14:         Return Nothing
  15:     End Try
  16:  
  17:     Return params
  18: End Function
Thanks again to Bill!

 

Old way:

I've written  VB.net solution to this, which pretty much makes a call to SQL's sp_helptext stored procedure, and parses through the parameter list until it reaches [what it thinks is] the end.

This code works for my needs, but there may be a few bugs for single-parameter stored procs or different stored procedure definitions. My goal is to give a starting point to anyone else out there who is in the same boat as me, but doesn't want to spend the hour or two doing the proof-of-concept.

That being said... here's the code... Let me know if you have any questions. Note that I didn't code out the SQL connection info; you'll need to code that yourself.

 

   1: Public Shared Function GetStoredProcParams(ByVal spName As String) As List(Of String)
   2:     Dim sql As String = String.Format("sp_helptext {0}", spName)
   3:     Dim ds As DataSet = dataAction.GetDataSet(sql)
   4:     ' get the first two rows from the DataSet
   5:     ' (you can keep appending more rows to the spText string if you have a lot of input parms)
   6:     Dim spText As String = ds.Tables(0).Rows(0).Item(0)
   7:     spText += ds.Tables(0).Rows(1).Item(0)
   8:  
   9:     ' we should have the sp definition, with all of the input parameters
  10:     ' pull out the create proc statement
  11:     spText = spText.Replace(String.Format("CREATE PROC {0}", spName), "")
  12:  
  13:     ' now we need to parse out the params themselves
  14:     Dim startIndex As Integer, endIndex As Integer
  15:     Dim params As New List(Of String)
  16:     Dim param As String
  17:  
  18:     While True
  19:         ' find the @
  20:         startIndex = spText.IndexOf("@")
  21:         If startIndex <= 0 Then
  22:             Exit While
  23:         End If
  24:         ' trim away anything to the left of the @
  25:         spText = spText.Substring(startIndex, spText.Length - startIndex)
  26:         ' find the space after the param
  27:         endIndex = spText.IndexOf(" ")
  28:         ' get the param name
  29:         param = spText.Substring(0, endIndex)
  30:         ' add to list
  31:         params.Add(param)
  32:         ' rip out that param we just found
  33:         spText = spText.Substring(endIndex, spText.Length - endIndex)
  34:         ' look for the next @, to see if it's a param, or just sql code down stream
  35:         startIndex = spText.IndexOf("@")
  36:         ' look for a comma, to see if there are more params listed
  37:         endIndex = spText.IndexOf(",")
  38:         ' if the comma comes after the param, this is the last param
  39:         If endIndex > startIndex Then
  40:             ' this is the last parm left
  41:             Exit While
  42:         End If
  43:  
  44:     End While
  45:  
  46:     Return params
  47: End Function

c4c-bar

Software developers! Graphic designers! Database developers! We need you! There is one month left until Coders 4 Charities happens! We've got the charities, we've got the sponsors... we need more developers! We had an excellent turnout at the Microsoft Heroes Happen Here event yesterday, March 25, 2008, and we hope that we reached a lot of developers during the day. If we spoke to you, and you want to accept the challenge, register now for the event!!

What is Coders4Charities? It is a 3-day charity event that pairs charities and local software developers. Charities often do not have the funds to implement a new web site, intranet or database solution. Software developers often do not volunteer for charities because their skills do not apply. This event is the perfect marriage of these two needs; software developers accepting the challenge by volunteering their time to help charities, who in turn can better serve their community though the latest technology!

 


megaphone2

Calling out to all coders in the Greater Kansas City area! We need you! We're looking for software developers, graphics designers and DBAs in the area who are willing to step up to the challenge by taking on a website, intranet or database implementation. We're hosting an event called Coders For Charities, taking place in late April 2008, that will capitalize on the mad skills and passion of geeks in Kansas City, and focus their efforts to benefit a local KC Charity. We've got the venue. We've got the sponsors. We've got the charities. We need geeks. It's your turn. Step up. Even better, challenge your friends and co-workers to GEEK UP to the challenge.

 

Register for the event now!

 


Don't send a lame Starring You! eCard. Try JibJab Sendables!

Don't send a lame Starring You! eCard. Try JibJab Sendables!

c4c-fullsize

We're looking for non-profit organizations in the Kansas City area that we can help during an upcoming event called Coders 4 Charities. This will be a 48-hour  coding event (from Friday, April 25 through Sunday, April 27, 2008) that will benefit non-profit and charity organizations in the greater Kansas City area.

If you are a non-profit organization looking for a better way to:

  • increase your presence on the internet through a rich website
  • help your volunteers and employees stay in touch and organized through an intranet
  • store, manage, retrieve and report against your volunteers, inventory, members or rescued animals, via the latest database technology
  • run your charity without having to fight an antiquated system

We want to help! We are in the process of recruiting volunteer software developers, and we will pair groups of developers with several charities in the area, with the end goal of providing a software solution that will help these charities focus on the real work: running their charity!

If you are interested in becoming part of this event, please register on our site, or contact us at info@coders4charities.org.

We're just a bunch of geeks who want to give back!

 


c4c-bar After a good amount of work (and hurling the laptop across the room several times), the Registration Pages for Developers and Charities are up!

It's late. I'm tired. Go look! And sign up!!

Coders 4 Charities