<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8791723</id><updated>2012-02-16T02:23:41.181-08:00</updated><title type='text'>Val the C# Gal</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8791723.post-6698685206252332375</id><published>2008-01-30T22:35:00.000-08:00</published><updated>2008-01-30T22:41:05.825-08:00</updated><title type='text'>Can I Have Your Picture?</title><content type='html'>Please believe that I am not a stalker - but I am addicted to getting my Xobni information all set up.  And I know I am not alone out there that when I get a new email and see the generic no-picture graphic show up in the right-hand corner of my Outlook inbox it begs me to put something more interesting in its spot. &lt;br /&gt;&lt;br /&gt;So if you catch me snapping your picture next time I walk by you, or searching through Google images for a likeness of you, please don't worry.  It isn't that I have an unhealthy attachment to you personally - it is that I cannot stop until Xobni is fully populated.  And if you do have a picture out there on the internet somewhere - I will find it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-6698685206252332375?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/6698685206252332375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=6698685206252332375' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/6698685206252332375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/6698685206252332375'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2008/01/can-i-have-your-picture.html' title='Can I Have Your Picture?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-286854995054572197</id><published>2008-01-28T17:36:00.001-08:00</published><updated>2008-01-28T17:53:47.628-08:00</updated><title type='text'>Stabilization with Agile Development</title><content type='html'>One of the hardest things for our sales team, our project managers, our development team, and our customers to agree upon in agile development is what constitutes an acceptable stabilization period. &lt;br /&gt;&lt;br /&gt;Let me expand.  I have been in software consulting for almost 10 years now, and the hardest part of any project is gaining final customer acceptance that the project is "done."  With custom software, there always seems to be another bug to fix.  The customer is afraid of giving up their rights to have the undiscovered bugs fixed if they sign off too soon.&lt;br /&gt;&lt;br /&gt;With agile development, the idea we have implemented is that there is a set amount of time after new development for the team to focus on changes or fixes from any prior iteration.  We set aside one iteration for software stabilization.  We set this expectation with our customers up front, and they agree. &lt;br /&gt;&lt;br /&gt;When it comes time for the stabilization period, however, it seems that as new development tasks from prior iterations take more time than anticipated the new development tasks bleed into our stabilization.  While agile touts that our customers should be able to prioritize all outstanding work - be they new development tasks or bug resolution - based on their needs, it seems that the customer always chooses to add the new development tasks and never choose bug resolution.  Then, when stabilization is over and there is a list of bug fixes, the argument comes up that we did not deliver a quality product.&lt;br /&gt;&lt;br /&gt;While I understand that this problem is all about setting the appropriate customer expectations and about working with the customer to convince them that new development tasks should not be planned in the stabilization phase, it seems that we repeatedly get ourselves into this same situation.  I love the agile approach.  I love the idea of working closely with our customers, and getting immediate and real feedback as we deliver working software on a regularly scheduled basis.  I also think it makes sense to weigh the tough decisions with the client sponsors in order to prioritize remaing new development tasks against the agreed upon schedule - excluding the stabilization period. &lt;br /&gt;&lt;br /&gt;However, just like I found with the waterfall process, as soon as the schedules start to slip or estimates go over, the first thing to get the ax is testing.  In this case, stabilization gets the ax.  And when that happens, how can we confidently deliver quality to our customer and agree that at least the first phase of the project is in fact "done?"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-286854995054572197?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/286854995054572197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=286854995054572197' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/286854995054572197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/286854995054572197'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2008/01/stabilization-with-agile-development.html' title='Stabilization with Agile Development'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-925417105811011567</id><published>2008-01-24T16:53:00.000-08:00</published><updated>2008-01-24T17:03:15.696-08:00</updated><title type='text'>Xobni is Cool</title><content type='html'>Okay - I have been getting requests to write again.  The problem is, most of what I would post about is no longer directly related to C# or development tasks.  I focus on IT strategy now. &lt;br /&gt;&lt;br /&gt;However, I do have something cool to post about.  One of our infrastructure consultants noticed me digging around in Outlook yesterday looking for a response to an email.  He excitedly ran back to his desk so he could send me a link to a beta-release of an Outlook add-in called &lt;a href="http://www.xobni.com/"&gt;Xobni&lt;/a&gt; (or Inbox backwards).&lt;br /&gt;&lt;br /&gt;This add-in is super cool.  When I click on an email in my inbox, I now have a left-hand pane that shows me a picture of the person who emailed me (I uploaded these) along with an extrapolation of the person's contact information, a rating assigned to that person depending on how much we email back and forth, stats on what time of day I am most likely to receive an email from this person, a list of related contacts with links to their info, recent conversation strings (showing what I said, the response, what I said back, etc), and recent file attachements sent to me.&lt;br /&gt;&lt;br /&gt;So far, I am a huge fan.  Although when I ran the Xobni stats it did make me wonder what the heck I was doing in August to spike my average response time to emails to an all-time high of 35 minutes.  I guess I was quite the slacker that month - oh wait...that is when I was on vacation :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-925417105811011567?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/925417105811011567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=925417105811011567' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/925417105811011567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/925417105811011567'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2008/01/xobni-is-cool.html' title='Xobni is Cool'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-115533457791249206</id><published>2006-08-11T15:08:00.000-07:00</published><updated>2006-08-11T15:16:17.950-07:00</updated><title type='text'>humanstuff...</title><content type='html'>I am sitting at my kitchen table, wrapping up some work before I close up shop for the weekend, and I hear some rustling outside in the garden.  I look out the window, and I see two strapping men sneaking around with laptops and they are stealing my wireless!!!  What do I do about this?  I decide to bring them some chairs and offer up a few beers, but they must pay me rent for my wireless - a trick off the diving board each.&lt;br /&gt;&lt;br /&gt;Check out John Howes and Dan Mork's &lt;a href="http://www.humanstuff.com"&gt;new blog and company site&lt;/a&gt;.  They call themselves humanstuff, and that they are.  They are driving around town, so lock up your wireless access and keep an eye out - but if you do see them, at least offer them a beer.  I am not exactly sure what their company will sell, but they have already provided me with inspiration to bust out my keyboard and blog again :)&lt;br /&gt;&lt;br /&gt;Good luck, Dan and John.  Don't forget about us little guys when you go international and are stealing wireless in places like Bora Bora and Cairo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-115533457791249206?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/115533457791249206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=115533457791249206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/115533457791249206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/115533457791249206'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2006/08/humanstuff.html' title='humanstuff...'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-114652096457146966</id><published>2006-05-01T14:50:00.000-07:00</published><updated>2006-05-03T22:09:12.733-07:00</updated><title type='text'>Gemini Version 2.0</title><content type='html'>A while ago, I downloaded a free version of &lt;a href="http://www.countersoft.com/Default.aspx?PageID=21"&gt;Gemini&lt;/a&gt;. Gemini is an issue tracking tool by Countersoft.  I have been using Gemini locally for over a year, and I really dig it.  In order to use Gemini in conjunction with a project team, you need to put it on an external facing web server, which requires a license.  I had not used the tool in this capacity due to my company's use of SharePoint.  However, as our project is in it's second year and our issue list was approaching 300 items (including all tasks, enhancements, and bugs), SharePoint just wasn't giving me the reporting options I needed to communicate our enhancement actual versus estimated time to my project sponsor.  Finally, I decided to make the switch to a licensed version of Gemini.  It was a bit of a pain to convert old Gemini issues over the the new version.  I had to turn off some constraints in the database as the SQL schema between version 1.0 and 2.0 changed.  The time investment was well worth it, though.  Now I can quickly report on the changes made with each new release by using Gemini's Road Map and I have the ability to use &lt;a href="http://www.microsoft.com/sql/technologies/reporting/default.mspx"&gt;SRS&lt;/a&gt; to report on time. &lt;br /&gt;&lt;br /&gt;I couldn't receommend Gemini high enough.  I do wonder how &lt;a href="http://msdn.microsoft.com/vstudio/teamsystem/default.aspx"&gt;Team Systems&lt;/a&gt; may replace my need to use Gemini in upcoming projects, however.  Have any of you used Team Systems in conjunction with web parts or web services for giving your clients a view into project status and issues, and allowing your project sponsors the ability to upload new issues or tasks?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-114652096457146966?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/114652096457146966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=114652096457146966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/114652096457146966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/114652096457146966'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2006/05/gemini-version-20.html' title='Gemini Version 2.0'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-114589641043244777</id><published>2006-04-24T09:30:00.000-07:00</published><updated>2006-04-27T11:53:02.906-07:00</updated><title type='text'>The Coolest .Net User Group Around</title><content type='html'>I was very impressed with the &lt;a href="http://www.wi-ineta.org/DesktopDefault.aspx?tabid=36"&gt;WI .Net User Group&lt;/a&gt; and the event they hosted on Saturday. Besides being my first trip to Milwaukee, this was also my first time hearing each of the speakers present. I have been to many events, but this event is by far the best I have attended.&lt;br /&gt;&lt;br /&gt;The biggest highlight for me on the speaker side was Scott Hanselman. Scott presented about the general coolness of open source software, and how we should all aspire to have great solutions rather than “accidental” code. In this context, Scott visited the subject of &lt;a href="http://www.dasblog.info/"&gt;dasBlog&lt;/a&gt;. I have to admit that at the beginning of his presentation, I couldn’t care less about dasBlog, and by the end of his presentation I was formulating my data migration plan. He had me laughing and enjoying the command prompt – who would have thought?&lt;br /&gt;&lt;br /&gt;Besides the slew of entertaining and informative out-of-town speakers, the guys running the whole show were friendly, welcoming, and a fun group of people. I was surprisingly invited to a pre-event party and an after-event dinner. I was showered with cool new software – including Office 2003 Professional and &lt;a href="http://www.jetbrains.com/resharper/"&gt;Resharper&lt;/a&gt;. The WI .Net User Group networks like crazy, and I got to meet a new set of technical peers who now feel like friends. I even considered throwing caution to the wind and staying an extra night in the city by the water, just so I wouldn’t have to miss out on a second of fun.&lt;br /&gt;&lt;br /&gt;So now the challenge – how can the Minneapolis .Net user group top Milwaukee? ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-114589641043244777?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/114589641043244777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=114589641043244777' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/114589641043244777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/114589641043244777'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2006/04/coolest-net-user-group-around.html' title='The Coolest .Net User Group Around'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-114555141754814231</id><published>2006-04-20T09:34:00.000-07:00</published><updated>2006-11-09T00:25:33.606-08:00</updated><title type='text'>Road Trip :)</title><content type='html'>The snow has all melted - the birds are singing - what better time for a Road Trip?&lt;br /&gt;&lt;br /&gt;A good friend, and past colleage of mine, &lt;a href="http://www.coolbits.nu"&gt;Avonelle&lt;/a&gt;, suggested we hit the road for the &lt;a href="http://www.wi-ineta.org/"&gt;Wisconsin Deeper into .Net&lt;/a&gt; event this coming Saturday.&lt;br /&gt;&lt;br /&gt;I have never been to Milwaukee, and am especially looking forward to &lt;a href="http://www.thedatafarm.com/blog/"&gt;Julia Lerman&lt;/a&gt; and &lt;a href="http://www.hanselman.com/blog/"&gt;Scott Hanselman&lt;/a&gt; speak.&lt;br /&gt;&lt;br /&gt;Who knows - with two girls in Milwaukee for the FIRST TIME, we might have to go LaVerne and Shirley on the city and hop on a brewery tour :) &lt;a href="http://www.nostalgiacentral.com/images_tv/laverne003.jpg"&gt;This&lt;/a&gt; is my prediction of what we will look like in two days time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-114555141754814231?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/114555141754814231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=114555141754814231' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/114555141754814231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/114555141754814231'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2006/04/road-trip.html' title='Road Trip :)'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-113355257488068506</id><published>2005-12-02T11:41:00.000-08:00</published><updated>2006-05-05T04:46:15.030-07:00</updated><title type='text'>Hilarious!</title><content type='html'>I don't normally post to my blog when I am just referrencing another blog, but this was too funny not to pass along:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.sqlteam.com/jeffs/archive/2005/05/24/5248.aspx"&gt;http://weblogs.sqlteam.com/jeffs/archive/2005/05/24/5248.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's all about why SQL Server sucks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-113355257488068506?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/113355257488068506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=113355257488068506' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113355257488068506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113355257488068506'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/12/hilarious.html' title='Hilarious!'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-113234740264182638</id><published>2005-11-18T12:51:00.000-08:00</published><updated>2007-02-13T09:37:44.413-08:00</updated><title type='text'>To All the Blogs I've Loved Before</title><content type='html'>I noticed that a good many of you who read my blog also read Jake's...or at least you used to.  Despite his best efforts to alter the entire known human population to the fact that his long awol blog is back online, in case any of you were left in the dark - check out &lt;a href="http://www.thoughtstoblog.com/"&gt;Jake's blog&lt;/a&gt;.  Jake - how we have missed you.&lt;br /&gt;&lt;br /&gt;Also, in an earlier posting, I made reference to a colleage of mine.  I did not realize that he had a blog (shame on me).  So here is a link to &lt;a href="http://kindohm.com/"&gt;Mike's blog&lt;/a&gt;, as well.&lt;br /&gt;&lt;br /&gt;What a crazy bunch of guys I work with :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-113234740264182638?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/113234740264182638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=113234740264182638' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113234740264182638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113234740264182638'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/11/to-all-blogs-ive-loved-before.html' title='To All the Blogs I&apos;ve Loved Before'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-113224612876451302</id><published>2005-11-17T08:25:00.000-08:00</published><updated>2006-01-08T12:45:59.446-08:00</updated><title type='text'>Who Should Pay for Development Tools?</title><content type='html'>I work for a consulting company, and a question was posed to me yesterday about the cost of purchasing something like Red Gate. This SQL diff tool will help me deploy changes in a faster, safer way to my client's production server. So should my consulting company invest in this tool, or should my client?&lt;br /&gt;&lt;br /&gt;In the case of the SQL diff tool, in order for the tool to work best, I need to have access to the database server that holds both the production and the development databases so I can compare them. This tool needs to get installed on my client's database server, so they need to purchase it. Should my company also purchase this tool so we can use it on other projects?&lt;br /&gt;&lt;br /&gt;What about tools like CodeSmith? CodeSmith helps my company deliver a lower-cost and higher-quality solution to my clients, since templates can spit out our DOM library code quickly and without human typo errors that hand-cranking the code would produce. So since my client is benefiting from the tool, should my client share in or take full responsibility for the cost of the purchase?&lt;br /&gt;&lt;br /&gt;I think that when a client needs to install a tool on their environment, they have to pay for it. I think that when the client does not need to install the tool on their environment, my company should pay for it.&lt;br /&gt;&lt;br /&gt;The reason I feel this way is because I see these tools as investments. Tools that help my company deliver higher quality solutions quicker than our competition can, could potentially cut down on the billable hours we spend on each project. While this may seem like a loss for our company to some, I see this as giving us an edge over our competition. Today, theoretically, we could deliver an identical solution to one we provided before we had this tool at a lower cost. This lower cost, since it was attained by removing some of the manual, labor-intensive busy work, should result in higher quality. Since we removed the manual labor piece, where we get bored and are prone to make errors, we now have a higher quality solution.&lt;br /&gt;&lt;br /&gt;I feel that this edge we now have should result in two layers of benefit. On the one hand, we should be able to win more business - even if the business we win is at a lower cost. If we can do the same things as our competitor, but for less money, we should win the business.&lt;br /&gt;&lt;br /&gt;On the other hand, the tools should enhance our ability to attract and retain both clients and consultants. If we deliver higher quality solutions, our clients will rave about us and bring us more business in the future, right? If we don't have to spend as much time deploying, troubleshooting syntax or synchronization errors, and maintaining inconsistent code we should have more time for our consultants to spend designing, creating, and learning.&lt;br /&gt;&lt;br /&gt;I know I may have simplified the argument a bit, but I do feel that the small investment in a tool like Red Gate's or CodeSmith should pay off exponentially. I feel that the pay off can help our clients, but in doing so, help my company even more. So I think that if a consulting company wants to remain competitive, they should welcome tools that will take the busy work out of software engineering to open the door for their consultants to invest in being innovative instead of having to invest time in bug-fixing, manual database synchronization, or the writing of repetitive code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-113224612876451302?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/113224612876451302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=113224612876451302' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113224612876451302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113224612876451302'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/11/who-should-pay-for-development-tools.html' title='Who Should Pay for Development Tools?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-113218496352591509</id><published>2005-11-16T15:28:00.000-08:00</published><updated>2006-05-18T01:34:29.770-07:00</updated><title type='text'>SQL Diff Tool</title><content type='html'>I know it has been forever since I last blogged, and the slew of comments I have gotten in the past few months has deterred me from posting.  Apparently, there are thousands of companies out there who think I have a "Great blog!  Keep up the good work!  By the way...please [get a new mortgage/enter our sweepstakes/buy our ultimate diet plan/etc]."  Maybe I need to start paying someone to host my blog so I will keep out the riff-raff.&lt;br /&gt;&lt;br /&gt;Anyway, Mike Hodnick recommended a database tool to me today that I am in the process of testing.  It is very cool.  I have not used other SQL Diff tools, so I am a first-timer.  This thing rocks!  I ran a diff on my production database and my development database.  Not only did the tool tell me about the schema changes, allow me to choose which changes I wanted to resolve, and allow me to choose which database should get altered, it also brought some issues to my attention in the production environment of which I was unaware.  For some reason, my foreign keys were missing.  The tool generated a script, which I reviewed and then ran against my production database.  I did have to clean up some data due to the missing keys, but now I have a quality production database that matches my development environment.  I love it!&lt;br /&gt;&lt;br /&gt;The tool is called SQL Compare and is sold by &lt;a href="http://www.red-gate.com/products/SQL_Compare/index.htm"&gt;Red Gate&lt;/a&gt;.  By itself, the compare tool cost $295, but you can download a 14-day trial.  Check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-113218496352591509?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/113218496352591509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=113218496352591509' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113218496352591509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/113218496352591509'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/11/sql-diff-tool.html' title='SQL Diff Tool'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-112310842849960836</id><published>2005-08-03T15:27:00.000-07:00</published><updated>2006-04-07T04:26:51.476-07:00</updated><title type='text'>Technology Allowance</title><content type='html'>My company gives each member of the technical staff a bonus each year, thanks to our Raving Employees team, with which we must spend on some cool techno-gadgety stuff. The idea is to keep us loving and playing with technology to "feed our inner geek." I am having a hard time deciding what to do with my allowance this year. Here are some options:&lt;br /&gt;&lt;br /&gt;1. Buy new headphones (I listen to music at work all the time, but do I really need to spend more than the $3.99 I spend on my current pair of ear buds that lasted 4 years?)&lt;br /&gt;2. Buy a smart phone (T-Mobile kind of stinks in what they offer, but I have read that the &lt;a href="http://www.blackberry.com/blackberry7100/"&gt;Blackberry 7100T&lt;/a&gt; is okay.&lt;br /&gt;3.  Buy a wireless mouse.  (This option doesn't eat up much of my budget, and who really cares if your mouse has a wire)&lt;br /&gt;4.  Buy a desktop for at home, so I can install all of the beta versions of software without harming my work environment. (But a desktop I buy today will be a dinosaur two years from now)&lt;br /&gt;&lt;br /&gt;What do you think I should spend my money on?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-112310842849960836?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/112310842849960836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=112310842849960836' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/112310842849960836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/112310842849960836'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/08/technology-allowance.html' title='Technology Allowance'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-112301630925234327</id><published>2005-08-02T13:52:00.000-07:00</published><updated>2005-08-02T13:58:29.260-07:00</updated><title type='text'>Why We Hate HR?</title><content type='html'>The other morning my day started out with a friend of mine walking into my office and calling me a loser. I was offended and hurt by the unreasonable judgment he passed on me, so I asked him what he meant by it. He explained that he has been disappointed by my lack of posting to my blog. I had to concede. He is correct. I have been a huge loser. So, to redeem myself, I am posting today. Furthermore, my post today is in honor of my friend with the insight to call me a loser.&lt;br /&gt;&lt;br /&gt;Last week I was having lunch with Neil - who remains blogless - and the &lt;a href="http://javakid.blogspot.com/"&gt;JavaKid&lt;/a&gt;. I had been invited by management to participate, as a representative of the technical staff, in the interview process of a new HR Manager. I was honored to accept the invitation, but struggled a bit while compiling my list of possible interview questions that I like to prepare before any interview. I asked Neil and the &lt;a href="http://javakid.blogspot.com/"&gt;JavaKid&lt;/a&gt; what they thought some good questions would be. Neil directed me to a very interesting article in &lt;em&gt;Fast Company&lt;/em&gt; titled &lt;a href="http://www.fastcompany.com/subscr/97/open_hr.html"&gt;Why We Hate HR&lt;/a&gt;. Besides having an amusing title, the article raised some very good questions about the role of HR. To be honest, I had always seen HR as the people-friendly staff who help with any benefit questions. The article suggests that HR people of that caliber would better serve society as social works. Heh. This article suggests that HR should play a role of strategic planning, and should always back up any benefit recommendations with some hard, tangible business benefits that can be quantified and proved. Hmmm…metrics for HR! What a novel idea.&lt;br /&gt;&lt;br /&gt;Wouldn’t it be cool if HR, instead of setting up a bunch of policy that we had to struggle to work around, used their time and energy to prove to my management team why it is worthwhile, in the language of business that my management team understands, for them to keep me happy and recruit talent?&lt;br /&gt;&lt;br /&gt;Just a thought...&lt;br /&gt;&lt;br /&gt;Now I have posted, and I no longer rate as a loser.  At least that is what I keep telling myself :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-112301630925234327?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/112301630925234327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=112301630925234327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/112301630925234327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/112301630925234327'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/08/why-we-hate-hr.html' title='Why We Hate HR?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111766714537411583</id><published>2005-06-01T16:05:00.000-07:00</published><updated>2005-06-01T16:05:45.380-07:00</updated><title type='text'>A User Story Without the User?</title><content type='html'>I have been making use of the concept of user stories on my current project.  Although we have a functional specification document, we are still asking our users to write user stories for each module in our specification.  I have found the user story to be a great tool for helping my team understand what it is that the user is trying to accomplish.  The functional specification has some great detail, but the user story seems to always flush out small details prior to development that had we relied on the specification alone, we would have missed until testing. &lt;br /&gt;&lt;br /&gt;The user stories we request from our client includes a short description of the functionality, a notes area for key points, and a list of client acceptance tests.  This list of tests should be, from the user perspective, what the user expects to see happen before they consider each module to be complete.  The exercise of asking the users to come up with a list of tests on their own has also helped us to identify change before we start development.  This list of tests gives my team a quantifiable set of user expectations up front that helps us build our solution to meet their needs, rather than setting the user expectations to meet our solution.&lt;br /&gt;&lt;br /&gt;When we first introduced user stories to our clients, we walked through the creation of a couple together.  This helped our users get an idea of what might be included in the user story.  Arguably, by doing the walk-through, we could have inadvertently shaded our user’s perspective.  I still feel that the walk-through was a good way to get the users comfortable with what it is we wanted from them. &lt;br /&gt;&lt;br /&gt;One snagging point that keeps bothering me about the user story in our project, is that we are not getting input from the end users.  Our user stories are written by a business analyst who works for the client and the client project sponsor.  While I much prefer a higher-level user to no user, I feel that the spirit of the user story is that the end-user is the one writing the story. &lt;br /&gt;&lt;br /&gt;I have also heard of developers writing user stories when users are unwilling or unable to write the stories on their own.  Again, I am sure that a developer-written story is better than no story.  But is that really a user story?  Or is this just another kind of documentation?  I wonder if we aren’t missing the point of a user story when someone other than the end user is writing it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111766714537411583?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111766714537411583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111766714537411583' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111766714537411583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111766714537411583'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/06/user-story-without-user.html' title='A User Story Without the User?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111722445038879891</id><published>2005-05-27T12:51:00.000-07:00</published><updated>2007-02-06T01:11:07.343-08:00</updated><title type='text'>SmartNavigation: Friend of Foe?</title><content type='html'>When studying for my certification exams, one thing I read about that seemed cool is SmartNavigaiton. I must confess that I had not used this feature at all in the past. For those who do not know about SmartNavigation, it is a page-level asp.net property you can set that is supposed to fix a number of web page post back woes. This easily set property is used to prevent the page flicker, and the loss of state related to where the user was on the form before the post back. This sounded like a great thing to try on a web form where there is a post back event linked to a text box TextChanged event.  In my case, I am calculating a total cost based on the amounts entered in a few text boxes. Without SmartNavigation, when the page posted back, the focus was back to the top of the form. This is an annoying behavior to my users who had to enter a few different values that went into the total calculation. Each time they changed an amount field, they were popped back up to the top of the form.&lt;br /&gt;&lt;br /&gt;SmartNavigation does take care of this issue, although if a user is in a text box that causes post back, and they tab off the field, the post back happens and SmartNavigation puts the focus back into the textbox they just left. This is better than moving them back to the top of the form. However, once I added a few more user controls and a style to my page, I ran into problems. I did not get a page error. Instead, IE reported a fatal error and my web browser closed. This happened to me repeatedly.&lt;br /&gt;&lt;br /&gt;I followed my usual course of action when I run into crazy, unexpected behavior. I went to Google. I found a &lt;a href="http://weblogs.asp.net/ksamaschke/archive/2003/04/27/6085.aspx"&gt;blog post&lt;/a&gt; by Karsten Samaschke dedicated to SmartNavigation, and why not to use it. In my situation, my style sheet may be the culprit. For now, I think I will turn SmartNavigation off.&lt;br /&gt;&lt;br /&gt;And I was so excited about using something I learned while studying for the cert tests…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111722445038879891?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111722445038879891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111722445038879891' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111722445038879891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111722445038879891'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/05/smartnavigation-friend-of-foe.html' title='SmartNavigation: Friend of Foe?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111702753258452592</id><published>2005-05-25T06:11:00.000-07:00</published><updated>2007-02-23T13:09:28.190-08:00</updated><title type='text'>ASP.Net Custom Validators</title><content type='html'>The other day I came across a tidbit of information that once stumbled upon, I realized I had known this long ago.  I wish I had remembered it before I had to debug code for an hour, so I thought in the interest of prosperity, I would document this tidbit right now.&lt;br /&gt;&lt;br /&gt;In our web solution, we make use of user controls rather extensively.  My client had the need for one of my common controls to be validated, but only in one instance of its implementation.  I thought, "Hey!  This is the perfect time to use a custom validator."  I dropped on my custom validator, set the ControlToValidate to my user control, added the OnServerValidate event and voila.  Except for one problem...I got an error when I tried to open the page.  Apparently, a user control is not allowed to be the target of a custom validator.  So what to do?  As has happened in the past, and as I am sure will happen again in the future, I thought of a work around :) &lt;br /&gt;&lt;br /&gt;I decided to set the target control to a text box I had on the same form.  Oops.  This text box did not require an entry.  My custom validator only fired when there was text in the textbox.  It took me a couple of seconds to recognize my mistake, as I tried to figure out why my validator worked sporadically. &lt;br /&gt;&lt;br /&gt;Long story short (too late???), if you want to use a custom validator, the validation event will only fire if the control you are validating has an entry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111702753258452592?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111702753258452592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111702753258452592' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111702753258452592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111702753258452592'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/05/aspnet-custom-validators.html' title='ASP.Net Custom Validators'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111271767948545903</id><published>2005-04-05T09:11:00.000-07:00</published><updated>2005-04-05T09:14:39.490-07:00</updated><title type='text'>SQL Server 2005 Summit</title><content type='html'>I went to the SQL Server 2005 Summit Event here in Minneapolis last Thursday. I thought it might be worthwhile to mention my overall impressions as well as what I learned.&lt;br /&gt;&lt;br /&gt;As with most Microsoft events, there was a healthy dose of marketing in the key note speech. A lot of time was spent on promoting the business intelligence that comes packaged with a SQL Server 2005 license. We were wowed with a 5 minute demo of how to take an Excel spreadsheet and turn it into a report that intelligently uses the data in the spreadsheet (althought the algorithm that was used to convert the data into usable information was all done and ready for the demo - which is the hard part). Microsoft seems to be promoting how SQL Server 2005, which includes SQL Server Reporting Services, will make life a lot easier and make IT budgets stretch much farther than ever before.&lt;br /&gt;&lt;br /&gt;Onto the developer track...first off, I have to shamefully admit that I have not been keeping up on the Yukon beta releases. I was given an evaluation beta of SQL Server 2005 at the event, and look forward to installing it on my VPC and playing around. That being said, I was excited about some of the things I heard and can't wait to get my hands on the new tool.&lt;br /&gt;&lt;br /&gt;The top 5 things that were of interest to me include:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;There is a new native SQL Server datatype called XML. This datatype allows for all XPath manipulations.&lt;/li&gt;&lt;li&gt;You can now more elegantly embed error handling into stored procedures and user-defined functions. T-QSL now supports try/catch. Personally, I was never all that crazy about having to check @@Error.&lt;/li&gt;&lt;li&gt;Enterprise Manager's user interface has been redone to mimic Visual Studio.net. This interface also combines Enterprise Manager and Query Analyzer into one. Yippy! No need to run them both at the same time (which I ALWAYS do).&lt;/li&gt;&lt;li&gt;The Common Language Runtime has been incorporated into SQL Server 2005. You can now use C# to program stored procedures, user-defined funtions, aggregates, user-defined datatypes (this won't support TSQL anymore) and other comuputational-intensive operations. I think this is a cool addition, but I can already hear the arugments from some of my colleagues that business logic does not belong in the database.&lt;/li&gt;&lt;li&gt;You can publish a web service directly out of SQL Server 2005. I am not sure how this works, but I am guessing it is similar to dropping a connection object onto a web form. You can do, but should you?&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I will keep you posted as I learn more.&lt;br /&gt;&lt;br /&gt;For another resource on what's new in SQL Server 2005, check out &lt;a href="http://www.aspfree.com/c/a/MS-SQL-Server/SQL-Server-2005-Whats-New/"&gt;ASP Free's article&lt;/a&gt; on the new features..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111271767948545903?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111271767948545903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111271767948545903' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111271767948545903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111271767948545903'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/04/sql-server-2005-summit.html' title='SQL Server 2005 Summit'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111222397615838555</id><published>2005-03-30T14:59:00.000-08:00</published><updated>2006-02-07T19:17:23.550-08:00</updated><title type='text'>Microsoft Certification Tests - Part 2</title><content type='html'>Okay, thank goodness for the &lt;a href="http://www.microsoft.com/learning/mcp/offers/2ndshot/"&gt;free second chance&lt;/a&gt; Microsoft if offering on all certification tests. I have been putting off my tests. There seems to be so many other things I want to do on and for my projects other than study for cert tests. Anyways, due to &lt;a href="http://www.whoisjake.com/blog/"&gt;Jake's&lt;/a&gt; break-neck speed through the tests, I thought I better get a move on.&lt;br /&gt;&lt;br /&gt;Today I took, failed, re-took, and passed the 70-300 test. I was so bothered when I did not pass the first time that I had to immediately correct the mistake. Ordinarily, I would have waited to take this test until I had no doubt I could pass. To be honest, I had little doubt today. Anyway, my employer will pay for me to take each test once. I got the second one free, so I am free and clear. Thanks, Microsoft! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111222397615838555?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111222397615838555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111222397615838555' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111222397615838555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111222397615838555'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/03/microsoft-certification-tests-part-2.html' title='Microsoft Certification Tests - Part 2'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111159321154613214</id><published>2005-03-23T07:21:00.000-08:00</published><updated>2005-03-23T07:53:31.550-08:00</updated><title type='text'>Visual Studio Web App Debugging</title><content type='html'>My current solution holds 32 projects. Many of the projects in my solution hold project references to other projects within the solution. The project references make XCopy deployment of our web app quick and easy. No problems here, right? Wrong! After many weeks of attempting to debug my web app, the debugger seemed to work in a very hit and miss fashion.&lt;br /&gt;&lt;br /&gt;Here is the scenario...I have VS open. I make changed to a domain object class. I go to the Debug menu and select Run. My breakpoint are hit, and life is wonderful. Here is the catch. I stop debugging and make some more changes. I do to the Debug menu and select Start. This time, when my page opens in the browser, I get an error that the WebControls.dll can't be found. WTF?!? I stop debugging. I rebuild the solution outside of the debugger. Everything appears to be fine. I start the debugger again, only to see the same error. Okay, no need to panic. I will just close down VS and reopen (which becomes quite a lengthy chore if you are working over VPN and your solution gets the lastest version on load). That being done, I rebuild. No errors, everything looks fine. I start the debugger. By this point, about half of the time, the error is gone and things are fine. But the other half of the time, the error is STILL THERE!!! So what do I do? Occassionally I follow the theory that if I try the same thing over and over without changing anything, it is bound to work sooner or later, so I close down VS, reopen it, and give it another try. Eventually, I throw my hands up in the air and restart my machine. That always fixes the problem.&lt;br /&gt;&lt;br /&gt;The thing is, it is difficult to meet estimate deadlines when I have to restart my machine at sporatic times throughout the day.&lt;br /&gt;&lt;br /&gt;I am in no way suggesting that in my elevated state of frustration, it is impossible that I overlooked a simple and quick fix to my issue.&lt;br /&gt;&lt;br /&gt;After being forcefully exposed to my rants, my co-worker, the &lt;a href="http://javakid.blogspot.com/"&gt;JavaKid&lt;/a&gt;, finally asked me what was going on and how could he help. I told him that there was nothing he could do because the problem was that VS was the suckiest IDE in existance, end of story. Although the JavaKid loves to hear about the ways Microsoft can improve, he did ask me why I would choose to run the debugger in the way I was using it. He told me that there is a better way to debug a web app. So, to make a long story short (too late, huh?), he told me that it works much nicer with a web app if instead of selecting Debug/Start, you right click on the page you want to launch, View it in Browser (at which point I am fuming because I do NOT want to view it in browser, I want to DEBUG). Once the page is loaded in the browser, select Debug/Processes. In the list of processes, select aspnet_wp.exe, click Attach, and hit Okay. Now we are debugging! Since I have followed his advice, I have not seen that nasty error.&lt;br /&gt;&lt;br /&gt;So the moral is: When building a web app, although the play button looks shiny and tempting, DO NOT PRESS IT! Attach to your running process instead. This tip has saved me many hours.&lt;br /&gt;&lt;br /&gt;Also, if you tend to get the error about a resource cannot be copied because it is use by another process, try disabling your Indexing service and restarting IIS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111159321154613214?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111159321154613214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111159321154613214' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111159321154613214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111159321154613214'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/03/visual-studio-web-app-debugging.html' title='Visual Studio Web App Debugging'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111145055258285544</id><published>2005-03-21T16:13:00.000-08:00</published><updated>2005-03-22T05:17:49.616-08:00</updated><title type='text'>JavaScript - Bigger and Better?</title><content type='html'>I read an article today about the possible future of personal computer use, called &lt;a href="http://www.cnet.com/4520-6033_1-5759958-1.html"&gt;&lt;br /&gt;Goodbye, computer; hello, world! &lt;/a&gt;. In a nutshell, this article talked about an idea that may or may not be underway right now at Google. The idea is that Google would create their own operating system and allow users to subscribe to their mega-computer that would hold all of their personal applications. Theoretically, this would make the need for storing data on a PC obsolete. You could now travel to Geneva without lugging around your laptop and just hop on a computer over there, login, and voila! All of your applications are at your fingertips.&lt;br /&gt;&lt;br /&gt;Okay, that would probably work for some non-proprietary data needs. I might feel comfortable publishing out my Quicken data to Google, as long as my privacy was guaranteed. I am not so sure this would ever work for business-level data, however.&lt;br /&gt;&lt;br /&gt;Then came the part of the article that made me squirm. In order for this throw-away-your-PC model to work, web applications would have to become quicker. I will just quote directly the line about the technologies that Google is looking to use to assist their team in creating web apps that are as fast as desktop applications. This new marriage of technologies is called &lt;a href="http://www.adaptivepath.com/publications/essays/archives/000385.php"&gt;Ajax&lt;/a&gt;.&lt;br /&gt;“&lt;em&gt;Ajax, which is short for Asynchronous JavaScript + XML, combines JavaScript, dynamic HTML, and XMLHTTP to, in essence, let you build Web-based applications that run as quickly and seamlessly as local software&lt;/em&gt;.”&lt;br /&gt;&lt;br /&gt;Maybe I am alone in this, but the idea of working with JavaScript as my programming language of choice is not a pleasant prospect. Actually, relying on any scripting language is something of which I would prefer to steer clear.&lt;br /&gt;&lt;br /&gt;But it would be very cool to be able to write my applications for the web without having to be as considerate of loading and post back speed. And having an engine manage asynchronous requests from my web app to speed responsiveness would be very cool. So is it time for me to dig back out my JavaScript books that I have hoped to forget existed?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111145055258285544?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111145055258285544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111145055258285544' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111145055258285544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111145055258285544'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/03/javascript-bigger-and-better.html' title='JavaScript - Bigger and Better?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-111057112981189342</id><published>2005-03-11T11:43:00.000-08:00</published><updated>2005-03-11T11:58:49.813-08:00</updated><title type='text'>Visual Basic 6.0 Petition</title><content type='html'>If you have been reading my blog since the start, you will know that I come from a Visual Basic background. My first experiences delivering solutions to my business clients came in the form of VB 6.0 windows applications. I even occasionally opened the dreadful IDE that was Visual InterDev. Wow, did that ever suck. I thought it was pretty cool at the time, considering my other alternative of FrontPage and notepad if I wanted to develop on the Microsoft platform.&lt;br /&gt;&lt;br /&gt;I also was very supportive of VB.net. I couldn't wait to get my hands on the first beta of the .net framework.&lt;br /&gt;&lt;br /&gt;I did have to deal with some pains when it came to the applications I built using VBScript or VB 6.0 once the .net Framework was around. There really is no way that I have found to easily port code from 6.0 to .net. I had to decide for each of my client application's if I thought it would be better to continue to support the application in 6.0 or if it would be better to re-write the app in .net. After working with .net for a couple of weeks, I never wanted to go back to 6.0. Whenever I had the chance, I upgraded my clients. I even estimated an upgrade at about a tenth of the actual cost and resolved myself to doing the rest of the work for free in my personal time just so that I would not have to use Visual Studio 6.0 any more.&lt;br /&gt;&lt;br /&gt;That is why I have trouble understanding the purpose of this &lt;a href="http://classicvb.org/Petition/"&gt;"Save VB 6.0" petition&lt;/a&gt; that has been ciruclating.  I understand how there may be very large legacy systems built in older versions of Visual Basic, but come on.  Microsoft has continued to support Visual Basic 6.0 for years since the .net release.  For legacy code, wrap it, convert it, or leave it.  Again, it is completely possible that I missing the whole point, so if I am, please enlighten me.  But I do not understand why Microsoft should continue to support an out-dated language.  I am sure there are applications written in Lotus 1-2-3 that are still running out there, too.  Is there still support for Lotus 1-2-3?  Gosh, I hope not.  What a dreary life that would be if you were the support person. &lt;br /&gt;&lt;br /&gt;So VB 6.0 is a thing of the past.  As a Visual Basic language supporter, I ask, what is so wrong with that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-111057112981189342?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/111057112981189342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=111057112981189342' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111057112981189342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/111057112981189342'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/03/visual-basic-60-petition.html' title='Visual Basic 6.0 Petition'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110920531111560781</id><published>2005-02-23T16:23:00.000-08:00</published><updated>2005-02-23T16:35:11.120-08:00</updated><title type='text'>Ode to Trace</title><content type='html'>I have a project I have been working on wrapping up.  We have gotten tons of user feedback, which thrills me to know that my tool will get used.  On my list of items needing attention, however, one item loomed largely.  I ignored the item for as long as I could.  I cleared up everything else, and I had no choice but to stare my arch-nemesis directly in the face: performance.  "Yikes", I murmured to myself, trembling.  There were so many controls on my page, there were so many domain object getting loaded, the task of finding the offending performance hog seemed to be a huge undertaking.  I fretted, I greived, and then I pulled myself out of my self-pity mode and came up with a plan.&lt;br /&gt;&lt;br /&gt;From the good old days of .net Beta, when stepping through code without running into environment hang ups was only a distant fantasy, I remember my friend, Trace.  So I set Trace=True in my aspx file, and went to town adding Trace.Write lines to my code.  I began to get excited as I awaited my first trace output.  I could envision the lines I would see, tellling me the expanded time that each snippet of my code began and ended execution.  Lo and behold, when I saw the first Trace output, my troubles were over.  I saw the offending control was something leftover from pre-version one of my form.  This slow control was loading up over 50 times.  I slashed the control from my code, and my page now loads about 60 times faster.  Hooray!  I have defeated the performance tyrant.  So, in appreciation of Trace's beautiful output, I have decided to write an Ode...&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Ode to Trace&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Before I used you, the performance of my page was a disgrace&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Rather than troubleshoot, I would have preferred an eye full of mace&lt;/em&gt;&lt;br /&gt;&lt;em&gt;As my hour of deployment drew near, I was in a time-race&lt;/em&gt;&lt;br /&gt;&lt;em&gt;When, in a flash of brillance&lt;/em&gt; (okay, that may be arguable) &lt;em&gt;I turned on Trace.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;Seriously, maybe everyone else in the developement community is using Trace all of the time.  I had forgotten about it, and I am SO GLAD I remembered to use it today :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110920531111560781?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110920531111560781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110920531111560781' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110920531111560781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110920531111560781'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/02/ode-to-trace.html' title='Ode to Trace'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110850976506289237</id><published>2005-02-15T15:14:00.000-08:00</published><updated>2007-02-20T08:41:57.873-08:00</updated><title type='text'>To GAC or not to GAC, that is the question...</title><content type='html'>In a project with which I am involved, we have a .dll that holds common web controls.  This .dll is shared by multiple web applications, however they all reside on the same server.  Originally, when this .dll was shared by two web applications, we had both web projects in one solution and used project references.  Then, when we deploy, we can just XCOPY the web applications’ files and bin folder.  Viola. &lt;br /&gt;&lt;br /&gt;Now we have some SharePoint sites that we want to share the common web controls.  We can follow our previous architecture, and add the team sites to our solution and use project references.  We can also create a new solution for the team sites, but add the existing controls project from SourceSafe to our new solution.  In the latter scenario, we would have one master copy of the controls project in source safe.&lt;br /&gt;&lt;br /&gt;However, I am not thrilled with the prospect of using XCOPY to create another bunch of instances of the controls .dll on the web server.  I see an advantage that when one of our web applications goes live, we won’t have to worry about future changes to the controls .dll affecting our live web application.  Having multiple copies of the same .dll on the same web server seems like a worse idea when I consider what we have to do through to address a bug fix or try to upgrade something, especially if we end up with different versions of the controls .dll in each web application’s bin folder. &lt;br /&gt;&lt;br /&gt;I was noodling this issue and thought, “Hey, why not use the GAC?  The end of .dll hell!”.  All of the web applications will be on the same web server, and the GAC was created for just that purpose, right?  I can still opt to have multiple versions of the controls .dll in the GAC if I so choose, or I can keep one version and have only one place to maintain it. &lt;br /&gt;&lt;br /&gt;I have used the GAC in the past when dealing with a WinForms application, and after the initial set up, things went swell.  Our team did create a utility to rebuild our GAC .dlls out of SourceSafe on demand, and we also agreed on a local structure where we published our debug .dlls so we could share each other’s projects without any headaches.  We completely abandoned project references all together.  There was some overhead, but I never had to restart VisualStudio because "a reference is being used by another process."&lt;br /&gt;&lt;br /&gt;In my current situation, I am a little hesitant to use the GAC because I know that if one of the web applications gets moved to another web server, things will break.  I have also read some articles where people have had trouble with strong naming and signing their assemblies.  I know that changing course now will also require overhead to set it up so my teammates and I are able to work on the same projects without stepping on each other’s toes, and without requiring a manual copy of new versions of .dlls from SourceSafe to our local GACs.  Putting our assemblies in the GAC will also make it difficult for another member of my company to quickly get my solution from SourceSafe and be able to compile and run my code (like our graphic designer).  They would have to run an install or manually register the required .dlls to the GAC before their code would compile.&lt;br /&gt;&lt;br /&gt;I am also still not crazy about the many versions of one .dll on the same web server, just asking to be out of synch with each other.  And how will we manage which version is being used on each web application when we will keep one copy in SourceSafe?&lt;br /&gt;&lt;br /&gt;I am undecided what to do.  Do you have any experience, positive or negative, with using the GAC for web deployments?  What would you do in this situation?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110850976506289237?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110850976506289237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110850976506289237' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110850976506289237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110850976506289237'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/02/to-gac-or-not-to-gac-that-is-question.html' title='To GAC or not to GAC, that is the question...'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110720100843203800</id><published>2005-01-31T11:42:00.000-08:00</published><updated>2007-02-08T07:33:51.006-08:00</updated><title type='text'>DateDiff in C#</title><content type='html'>This post will probably only matter to those of us who have VB roots, which I get no end of heckling from my co-workers about. But as I was working today, one of the things I had to do was calculate the span between two dates in months. Piece of cake, I thought to myself. All I have to do is use the DateDiff and specify months...except where is DateDiff in C#??? It is AWOL!&lt;br /&gt;&lt;br /&gt;So I tried to see what else I could come up with. I did uncover this thing called System.Timespan. Apparently, Timespan will give you the difference between two DateTimes in something called 'ticks.' You can then take the ticks, and convert them to days, hours, minutes, seconds, and milliseconds. The drawback is that if you want the difference in years or months, you have to do some hoaky manual calculation that may or may not jibe with what the span really should come out to. In my research, this was the &lt;a href="http://blog.blueshop.com.tw/josephlee/archive/2004/12/31/1199.aspx"&gt;best example&lt;/a&gt; of how to duplicate the DateDiff in C#.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110720100843203800?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110720100843203800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110720100843203800' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110720100843203800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110720100843203800'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/01/datediff-in-c.html' title='DateDiff in C#'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110686566513947434</id><published>2005-01-27T14:28:00.000-08:00</published><updated>2007-02-19T06:27:15.586-08:00</updated><title type='text'>Estimates...Need I Say More?</title><content type='html'>It’s been one of those projects. I was the one who estimated it, so how can I complain when it takes me the majority of my estimate just to figure out what it is that the specification documents is really trying to tell me to do? How can I push back that it is a change for me to be able to understand the bits and pieces of detail that don’t fit together in any logical fashion? The answer is I cannot. So that is why I have been not posting lately and instead have been working as hard as I can to meet my deadlines, even when it means extra hours that I do not bill to the project.&lt;br /&gt;&lt;br /&gt;I have a friend, &lt;a href="http://www.coolbits.nu"&gt;Avonelle&lt;/a&gt;, who is an independent. She has a very different way of dealing with estimates. Instead of giving an estimate to her client and tracking her actual hours versus her estimated time so she can bill hourly, she assigns a “value” to her projects, and bills the “value.” Although she creates an estimate to help her decide what the value should be, the actual number of hours she works is immaterial. She is encouraged to be efficient with her time since her “hourly rate” decreases with every additional hour she has to put into the project. It is still in her best interest to deliver quality solutions to her clients if she wants repeat business, so her client should not suffer for Avonelle’s efficient use of time or cutting of corners.&lt;br /&gt;&lt;br /&gt;I wonder if a large consulting company could ever take this approach to billing clients…&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110686566513947434?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110686566513947434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110686566513947434' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110686566513947434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110686566513947434'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/01/estimatesneed-i-say-more.html' title='Estimates...Need I Say More?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110502659458842043</id><published>2005-01-06T07:24:00.000-08:00</published><updated>2006-02-07T18:57:47.986-08:00</updated><title type='text'>Microsoft Certification Tests</title><content type='html'>I am working on my MCSD.Net for C#. I have my MCSD for Visual Studio 6.0 and VB. I have been casually working on my certification for over 6 months. I got my first MCSD certification when I was fairly new to the field, and being certified seemed to be a very important marketing tool for a rookie. This time around, I am just having a hard time getting excited about studying and taking the tests.&lt;br /&gt;&lt;br /&gt;I have taken and passed two tests so far. The first test I took was the 70-316 exam - Developing and Implementing Windows-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET. The second test I took was the 70-320 exam - Developing XML Web Services and Server Components with Microsoft Visual C# and the Microsoft .NET Framework. Why I didn't take exam 70-315 immediately after exam 70-316, I will never know. The two exams overlap quite a bit, and now I am going to have to re-memorize all of the facts on the test.&lt;br /&gt;Anyway, I passed the web service test and I have never written or consumed a production web service. I would like to. I played with web services in my studying, and felt that I did learn a lot while studying for that test. But do I know enough to be certified in web services? Maybe, I guess.&lt;br /&gt;&lt;br /&gt;I had to study just as hard for the Windows test. I have been involved in many WinForms .Net projects in my career. I have been involved in an enterprise-level implementation of a WinForms application. In this implementation, we integrated with Office 2003. We also built a build helper to go out and crawl Visual Source Safe for us to make it easier for our three-man project team to coordinate efforts without stepping on each other's toes or having to wait for one another. It was a cool project.&lt;br /&gt;&lt;br /&gt;So here is what I struggle with. I should have been able to quickly and easily pass a certification test on .Net WinForms with minimal studying. I should have had to pour over the Microsoft Web Services information in MSDN and done a painstaking number of hours of work to be up to snuff enough on web services in order to become certified.&lt;br /&gt;&lt;br /&gt;But the truth of the matter is, I had to study an equal amount of time for each test. I also found each test to be very silly in the minute details that I was tested on rather than being tested on everyday uses of Visual Studio and on the far-reaching implications that your architectural decision could make. For example, there was not one question on best practices for organizing your classes in a project. There was not one question on best practices for using coding standards, commenting your code, or having project-wide standards for the user interface design. Not once was I asked about what I should do as a developer to prevent cast errors when I am trying to persist data to a database with a field type of smalldatetime. I was not asked when validation should be used, and why. I was not asked what are the best practices for creating a usable menu structure in my application.&lt;br /&gt;&lt;br /&gt;I was asked questions about how to set up a connection string. How many of you out there know the syntax for a connection string by heart? All I have to do in the field to figure that one out is open up google.com. But I can't use google to show me how to organize my code in a manner that will make it the easiest to refactor and maintain. So why doesn't Microsoft test us on these things?&lt;br /&gt;&lt;br /&gt;I guess my concern is that certifications mean very little if an inexperienced person who picks up a book and memorized a few facts has the same chance of passing the tests as someone who has been studying software engineering and implementing enterprise solutions, using Microsoft tools, for years.&lt;br /&gt;&lt;br /&gt;Is it meaningful to be certified? Is it merely a marketing tool that we can use to make us look like more bona fide professionals when seeking out clients? And how could Microsoft build more meaningful questions into their exams so that skills other than syntax memorization are tested?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110502659458842043?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110502659458842043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110502659458842043' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110502659458842043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110502659458842043'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/01/microsoft-certification-tests.html' title='Microsoft Certification Tests'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110493829948880471</id><published>2005-01-05T06:56:00.000-08:00</published><updated>2005-01-05T07:18:19.486-08:00</updated><title type='text'>One to One Relationships</title><content type='html'>After many weeks, I am back with a question for you all. How do you feel is the best way to handle a one-to-zero or one relationship in a database? Let me explain what I mean.&lt;br /&gt;&lt;br /&gt;First, I feel that there are two scenarios where a one-to-zero or one relationship applies. The first example represents two distinct objects, such as an employee and a computer, where a business rule states that one employee cannot have more than one computer, and one computer can only belong to one employee. I would probably argue that in time, this will turn out to be a false business rule, as when one employee leaves, the computer is assigned to another employee. Or when the computer dies, the employee gets another one. But for now, lets just pretend that the one-to-zero or one applies here. I think it makes sense for there to be an employee table and a computer table. Each table would have its own primary key, and lets just assume that they key is an auto-incremented identity. How should the tables be related? Should we add an EmployeeID field to the Computer table? Or should we add a ComputerID field to the Employee table? Here, it really shouldn't matter. We might choose to put the ComputerID in the Employee table because we feel that "employee has a computer" makes more sense than "computer has employee." Either way, it shouldn't really matter, though.&lt;br /&gt;&lt;br /&gt;But how about in the second situation where we have a one-to-zero or one relationship to represent a supertype/subtype relationship? For example, we have a supertype of Individual with subtypes of Employee, Contact, and Owner. The Individual table has fields for the first name, middle name, last name, address, phone number, SSN, and there is an auto-incremented identity column which holds the IndividualID. Let's assume that the Employee table has fields for the employee number, title, related department, hire date, start date, and end date. The Contact and Owner table also have unique field in them. So how do we relate the Employee table to the Individual table? How do we represent the "Employee is an Individual" relationship in the database?&lt;br /&gt;&lt;br /&gt;I have seen this handled in two ways. First, we could have the primary key of the employee table be the IndividualID. This is also a foreign key to the Individual table. So the IndividualID would exist as the primary key of four tables, the Individual table, the Employee table, the Contact table, and the Owner table. In the Individual table, Employee table, and Contact table, the IndividualID would also be a foreign key to the Individual table.&lt;br /&gt;&lt;br /&gt;Or, we could have the primary key of the Employee table be an auto-incremented identity field called EmployeeID. We could then store this ID as a foreign key in the Individual table. So the Individual table would end up with three foreign keys, the EmployeeID, ContactID, and OwnerID. Each of these fields would allow null, and only one field should contain a non-null value.&lt;br /&gt;&lt;br /&gt;Which solution is the better one?&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110493829948880471?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110493829948880471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110493829948880471' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110493829948880471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110493829948880471'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2005/01/one-to-one-relationships.html' title='One to One Relationships'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110306932705799634</id><published>2004-12-14T16:03:00.000-08:00</published><updated>2004-12-14T16:08:47.056-08:00</updated><title type='text'>Gemini Update</title><content type='html'>I have downloaded Gemini, and I am playing with it.  While it is free, there is a fee if you deploy to a web server, which I would definately do.  The fee is so small that I think I could round up support internally.  I have not had much of a chance to play with Gemini, as I have had to deploy a couple of different project this week, but there is one thing about Gemini that I absolutely love.  When you install Gemini, you are walked through the virtual directory and SQL Server install.  I love that the data driving my issue tracking system is available in SQL Server, in an open way, for me to browse and play around with.  I love that I could easily create my own SQL Server Reporting Services customs reports for my issues without worrying about installing some crazy driver to get at my data. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110306932705799634?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110306932705799634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110306932705799634' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110306932705799634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110306932705799634'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/12/gemini-update.html' title='Gemini Update'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110238720371083589</id><published>2004-12-06T18:04:00.000-08:00</published><updated>2006-02-01T19:26:18.746-08:00</updated><title type='text'>Issue Tracking</title><content type='html'>A colleage of mine asked me how I felt about issue tracking at my current company. I have had some past experience with issue tracking. I have worked with a custom issue tracking web interface that had a nice roll-up of some issue statistics by project and user-type. There was no email notification built in, but you could view issues across projects easily.&lt;br /&gt;&lt;br /&gt;I have had some experience working with &lt;a href="http://www.mercury.com/us/products/quality-center/testdirector/"&gt;Mercury&lt;/a&gt; Test Director. &lt;a href="http://www.swatsolutions.com/contactus.html"&gt;SWAT&lt;/a&gt; worked with my project team on my last project, and they recommended Mercury. On that project, we even had automated tests (although I am still not sure what percentage of our test cases ended up as automated tests). I thought Mercury was okay, but for that project we did not use the web version of issue tracking, and I thought it was a real bugger noting my issues in notepad until I got into the office the next day.&lt;br /&gt;&lt;br /&gt;My current project is using the issue list in SharePoint as our issue tracking. While this solution is a good enough solution, it would be nice if my fellow team members could see all of thier issues at once from multiple projects. Sure, we could have set up one wss team site to handle all issues, but I don't think SharePoint security would effectively manage who can add issues to which project and who can see which issues, and so on.&lt;br /&gt;&lt;br /&gt;So for a smaller consulting company, what is the best solution to issue tracking? I am not sure the complexity of Mercury would be a good fit (or the price tag). SharePoint really isn't meant for full-fledged issue tracking for a corporation. A custom solution would be fun to build, but I am not sure the amount of time we would have to invest would be worth it.&lt;br /&gt;&lt;br /&gt;I did a little research, and although I am often annoyed at the lack of pricing information on product sites, here are some that look interesting:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.seapine.com/ttpro.html"&gt;Seapine TestTrack Pro&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.agileedge.com/"&gt;Agility&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.countersoft.com/Default.aspx"&gt;Gemini&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So have you used any of these tools? Anybody have any reviews to contribute or any other tools to add?&lt;/p&gt;&lt;p&gt;BTW - Thanks to &lt;a href="http://davidhayden.com/blog/dave/archive/2004/10/12/549.aspx"&gt;David Hayden&lt;/a&gt; for his blog posting about Gemini.  I ran into a bunch of open source issue tracking tools (like Bugzilla), but had trouble finding a free .Net issue tracking tool.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110238720371083589?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110238720371083589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110238720371083589' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110238720371083589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110238720371083589'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/12/issue-tracking.html' title='Issue Tracking'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110185346912834932</id><published>2004-11-30T14:21:00.000-08:00</published><updated>2005-12-27T22:04:44.840-08:00</updated><title type='text'>ORM Instead Of ER?</title><content type='html'>I have been playing around with ORM for my modeling.  I really like the simplicity of the model.  I have the misfortune of relying on Visio for my modeling tool, but it isn't so bad.  I do not have all of the ins and outs of the ORM down, and I am not sure I dig having to create an object for each attribute and labeling it as a value.  I have been struggling with reverse engineering this model into SQL Server, too.  I have not succesfully tagged my entities as tables. &lt;br /&gt;&lt;br /&gt;So has anyone else used ORM instead of an ER diagram for database design?  What do you think about ORM?  Will you leave ER diagrams in the dust?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110185346912834932?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110185346912834932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110185346912834932' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110185346912834932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110185346912834932'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/orm-instead-of-er.html' title='ORM Instead Of ER?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110176309320681894</id><published>2004-11-29T13:56:00.000-08:00</published><updated>2004-11-29T13:18:13.206-08:00</updated><title type='text'>Free Market</title><content type='html'>My previous post brought up an interesting, and hopefully not overly discussed, conversation topic: outsourcing software engineering to India.&lt;br /&gt;&lt;br /&gt;This topic has been hot for the past number of years, and I think I fall in the minority when I say that I am not against outsourcing to India &lt;em&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/em&gt; the market in India can produce the same quality software products that are being produced here at a fraction of the cost.&lt;br /&gt;&lt;br /&gt;I am not saying that I &lt;em&gt;hope &lt;/em&gt;to have my job outsourced to India. What I am saying is that in a world where I believe in free markets, when competing for business, the company that can offer a product or service of equitable quality at the lowest price should win the business.&lt;br /&gt;&lt;br /&gt;If I am unable to compete with the engineers from India, should I be angry with disloyal American companies who outsourcing? If my salary is much higher here than it would be were I living in India, should I fight for laws to prevent money from flowing out of our economy and into another? As a local consultant, am I offering services that can be easily replaced with foreign labor? Should I, instead of trying to stop open competition, figure out a way to offer a service to US companies that cannot be outsourced?&lt;br /&gt;&lt;br /&gt;And if the implementation of a design spec can be outsourced, can the initial analysis also be outsourced? How about the project management? Are there things that we, as software engineers living in the United States, can offer that cannot be outsourced? Should we, as an engineering community, focus on growing our unique skills and ensuring our place in the world market?&lt;br /&gt;&lt;br /&gt;So the question is this: &lt;em&gt;&lt;strong&gt;can&lt;/strong&gt;&lt;/em&gt; India offer the same quality software end-product that a local consulting company can offer at a lower price? I am leery of the possibility because on the projects in which I work, constant communication with my customer is paramount to success. I wonder how the communication barrier is overcome when dealing with an implementation team that lives in another culture. I am curious if anyone out there has experiences, good or bad, with outsourcing software engineering to India.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110176309320681894?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110176309320681894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110176309320681894' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110176309320681894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110176309320681894'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/free-market.html' title='Free Market'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110118371259521084</id><published>2004-11-22T20:15:00.000-08:00</published><updated>2004-11-22T20:21:52.596-08:00</updated><title type='text'>What's in a Title?</title><content type='html'>I work for a consulting company.  I have worked for consulting companies for over five years now.  I am not sure what my title is, and I am not sure I care.  It seems that when I am needed to do analysis work, I become a Business Analyst.  When I am needed to design a database, I become a Database Administrator.  When I am needed to lay out the foundation for a project, I become an Architect.  I like this about consulting.  As a result, I am not sure of one title that could fit my job.  I am also not sure that it matters what my official title is. &lt;br /&gt;&lt;br /&gt;I have heard of companies that use titles in lieu of paying their talent well.  "We cannot afford a large raise for you this year, but how about we give you this fancy title of 'Senior What-a-ma-bob'."  So what is the point of a title?  Do titles help define our skill set?  Do titles help communicate our level of excellence?  Or are titles a way for management to placate us into feeling important without giving us monetary reward?  What if we did away with titles all together?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110118371259521084?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110118371259521084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110118371259521084' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110118371259521084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110118371259521084'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/whats-in-title.html' title='What&apos;s in a Title?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110073626300389687</id><published>2004-11-17T16:03:00.000-08:00</published><updated>2007-02-03T19:44:36.066-08:00</updated><title type='text'>Agile Methods vs. the Waterfall Method</title><content type='html'>I was taught about many different approaches to the software life cycle while I was in college.  The waterfall approach to software projects was seen as the wisest way to go, since this approach addressed the concern that a change made at any phase of the life cycle ought to also affect previous phases’ documentation and testing.  One of the last courses I took at school included a section that quickly covered agile approaches.  In my great enthusiasm over these new ideas, I went to work and shared my enthusiasm with my co-workers.  Wouldn’t it be great if we could skip over the weighty documentation phases and start producing a working solution while the business needs are still fresh in our minds?  Wouldn’t it be great to work closely with other team members to help each other proof our architectures and brainstorm complex issues as they arise and before struggling alone?  My co-workers laughed at my naïve enthusiasm.  Who want to sit next to someone else and watch while they code all day?  In our profession of high intellect and large egos, who wants to be dragged down by being forced to pair up?  How can we start to build a solution before every detail of the problem is fully defined?&lt;br /&gt;&lt;br /&gt;As some years have passed, or maybe as my employer has changed, the agile methods have really seemed to catch on.  Iterative approached are being tested, and in my experience they are successful.  I do not claim to be a guru on agile methods, and I do not claim to know the ins and outs of SCRUM versus Extreme Programming.  But what is the key difference between the agile methods versus the traditional methods to software engineering?&lt;br /&gt;&lt;br /&gt;I think the difference can be summed up in one word: communication.&lt;br /&gt;&lt;br /&gt;While communication has always been an important part of software engineering, I fell that the traditional approaches encourage us to lay everything on the table from the start.  Go through a phase of requirements gathering.  Go through a phase of specification writing.  Go through a phase of writing a detailed design document.  Finally, build what you planned.  Plan your work and work you plan, right?&lt;br /&gt;&lt;br /&gt;I say wrong!  To me, the key to the success of the agile projects I have worked with lay our ability as a development team to admit that we cannot ask all of the questions up front.  Besides the fact that requirements change with time, so does our understanding of the business problems.  And I have never seen a requirements document that is not laden with holes and ambiguities.  A small detail missed in the requirements phase can be the downfall of the entire project.&lt;br /&gt;&lt;br /&gt;Agile methods appreciate this risk and mitigate it through constant communication.  There is no one phase where meetings are held with the end users.  The end users are involved in meetings with the development team throughout the life of the project.  The end users are part of the team and play an active role in communicating with the development team and working with the seeds of the end product from its infancy to its completion.&lt;br /&gt;&lt;br /&gt;As a result of my experiences, I hope to never spend a year working on a functional specification again.  I hope to never face another deployment phase of a project that follows a year of closed-door development.  I hope to say goodbye to the waterfall approach once and for all and hello to agile development.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110073626300389687?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110073626300389687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110073626300389687' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110073626300389687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110073626300389687'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/agile-methods-vs-waterfall-method.html' title='Agile Methods vs. the Waterfall Method'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110014871871108205</id><published>2004-11-10T20:36:00.000-08:00</published><updated>2007-02-15T17:39:55.490-08:00</updated><title type='text'>Education?</title><content type='html'>A question was posed to me asking how much education I expect a software engineer to have before I would consider hiring them. I don't like questions like this one, because it begs for a general answer to a question that I think deserves more careful scrutiny. I am not a fan of hard and fast rules for anything in life. Place two candidates in front of me, and the person with the formal education does not necessarily beat the high-school graduate in intelligence or skill.&lt;br /&gt;&lt;br /&gt;While I do believe that education is important, I believe that education can come in the form of reading books, working, traveling, and just living life in general.  &lt;a href="http://www.physics.gmu.edu/classinfo/astr103/CourseNotes/ECText/Bios/einstein.htm"&gt;Albert Einstein&lt;/a&gt; was a high school drop-out (okay, later in life he squeeked his way past earning a degree) who wrote his amazing papers without any academic instruction while working as a patent clerk.  He hated the rigid structure of the classroom setting.&lt;br /&gt;&lt;br /&gt;So in my estimation, a person's worth should be measured by their ability to present themselves, by their passion, and basically by their performance rather than by a piece of paper signifying their diligence to show up to and pass college level courses.  Don't get me wrong, you can get a lot out of college.  You can also get very little.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110014871871108205?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110014871871108205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110014871871108205' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110014871871108205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110014871871108205'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/education.html' title='Education?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-110011572791106469</id><published>2004-11-10T11:39:00.000-08:00</published><updated>2004-11-10T11:42:07.910-08:00</updated><title type='text'>Visual Studio Solution Files</title><content type='html'>I have been having problems with Visual Studio. I am running a solution file that has 20 projects. When I try to debug the web project in my solution, I often get an error about a missing assembly. Once I get this error, I have to at least shut down and restart Visual Studio, and often I have to restart my computer to resolve the issue. I did some research and found that there is a &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;841646#kb3"&gt;known error&lt;/a&gt; in Visual Studio when you have both project references and file references in your solution. There is a hot fix, but you have to call Microsoft to get it, and the hot fix sounds pretty unstable.&lt;br /&gt;&lt;br /&gt;Has anyone else come across a similar problem? Has anyone installed the hot fix? Has anyone fixed this issue by getting rid of the solution file and only using file references?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-110011572791106469?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/110011572791106469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=110011572791106469' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110011572791106469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/110011572791106469'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/visual-studio-solution-files.html' title='Visual Studio Solution Files'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109961007358235832</id><published>2004-11-04T15:09:00.000-08:00</published><updated>2004-11-04T15:14:33.583-08:00</updated><title type='text'>Visual Designers?</title><content type='html'>&lt;a href="http://javakid.blogspot.com/2004/11/are-visual-programming-practices.html"&gt;Java Kid&lt;/a&gt; talks about visual designers, and asks if people rely on them too much. Here is what I have to say to that…once upon a time people coded on punch cards. I do not have first hand experience with punch cards, but I have heard that they were a treat. They were especially fun if you accidentally entered an O instead of a zero or if the cards got out of order.&lt;br /&gt;&lt;br /&gt;When people started programming in DOS instead of using punch cards, I bet some people were up in arms. I wonder if the argument flew around that real engineers did not use DOS. Where is the discipline in DOS? Anybody can write programs in DOS, it takes someone with training and superior intelligence to program on punch cards! Look at all these rag-tag new-fangled youngsters with no experience hopping right in to the development community!&lt;br /&gt;&lt;br /&gt;I also have known people who love notepad. All you need to write a good application is a text editor and a compiler, right? Visual Studio is for sissies, and intellisense is for people who are not careful enough to spell correctly when they are typing and for people who don’t already know which assemblies house which classes.&lt;br /&gt;&lt;br /&gt;To that, I say bah!&lt;br /&gt;&lt;br /&gt;I think that using visual designers fall right along side using intellisense while coding. If intellisense helps you work faster and cleaner, then I don’t buy the argument that we should experience a certain amount of pain in order to be respected as intelligent software engineers. In my opinion, visual designers sometimes come in handy. I use the visual designers when I would otherwise be writing a bunch of repetitive HTML. I can drag a control onto a page and position it with a click. In short, tools such as the visual designer can help me with simple and repetitive tasks and leave me more time to focus on my programming logic.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109961007358235832?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109961007358235832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109961007358235832' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109961007358235832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109961007358235832'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/visual-designers.html' title='Visual Designers?'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109936697681273299</id><published>2004-11-01T19:28:00.000-08:00</published><updated>2004-11-01T19:42:56.813-08:00</updated><title type='text'>User Acceptance Testing</title><content type='html'>Back when I started developing, my company followed the good old-fashioned waterfall method.  We provided our customers with a rigorous requirements gathering phase, followed up by a design phase.  Each phase resulted in a document detailing the findings, often in a numbered format so we could easily refer back to the requirement.  There was sign off at the end of each phase, often followed up by a plethora of change orders as the next phase began. &lt;br /&gt;&lt;br /&gt;When the design was solidified and approved by the client, the implementation phase was next.  Our implementation phase was followed by deployment, and we were paid and the project was wrapped (theortetically) when the client gave us final sign off by agreeing to and walking through the user-acceptance tests to validate that each requirement was met and user interface was bug-free. &lt;br /&gt;&lt;br /&gt;Nowadays I find myself working with agile approaches to software development, but I do still find value in client testing.  I am not talking about handing the product over to the client and asking them to start using it.  I am talking about creating some test scripts to help the users cover each logical path in the application, and building validation testing into the scripts.  Since my company does not have a test team, I recently took a stab at writing a test script myself.  How do the rest of you do this?  Do you rely on the use cases that are created during design as your test scripts?  Do you use an automated testing tool alone to test the user interface, or do you use an automated tool in conjunction with user-acceptance testing?  Is user-acceptance testing out-dated?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109936697681273299?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109936697681273299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109936697681273299' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109936697681273299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109936697681273299'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/user-acceptance-testing.html' title='User Acceptance Testing'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109936605085779920</id><published>2004-11-01T19:21:00.000-08:00</published><updated>2004-11-01T19:27:30.856-08:00</updated><title type='text'>Visual Studio .Net 2.0</title><content type='html'>What would you like to see in the new version of Visual Studio? The &lt;a href="http://javakid.blogspot.com/2004/10/visual-studio-net-what-would-you-like.html"&gt;Java Kid&lt;/a&gt; points us to a forum where the Microsoft team asks developers to vote on new features.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109936605085779920?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109936605085779920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109936605085779920' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109936605085779920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109936605085779920'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/11/visual-studio-net-20.html' title='Visual Studio .Net 2.0'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109894013844921816</id><published>2004-10-27T21:50:00.000-07:00</published><updated>2004-10-27T22:08:58.450-07:00</updated><title type='text'>Vault</title><content type='html'>So after writing my previous post, I was thinking that it may seem a little odd that the hours until deployment whittle away and I am posting to my blog. The reason I was able to find the time is because I am currently working from my dining room table. How that is relevant at all is that I am connected to my work network via VPN, so I am also connected to Visual Source Safe via VPN. I am not sure if you have any experience with Source Safe over a VPN connection, but to say it is slow is an understatement. I turn on Visual Studio and click on my solution, read a book, say yes that I want to get latest, take a walk, choose to leave the files that I have checked out, post a blog, cook dinner, IM my friend &lt;a href="http://www.coolbits.nu"&gt;Avonelle&lt;/a&gt; then  start working. Avonelle asked me why I don't try &lt;a href="http://www.sourcegear.com/vault/index.asp"&gt;Vault&lt;/a&gt;.  I did find a &lt;a href="http://aspalliance.com/230"&gt;review&lt;/a&gt; of Vault.  Has anyone replaced Visual Source Safe with Vault in an MS partner kind of environment?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109894013844921816?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109894013844921816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109894013844921816' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109894013844921816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109894013844921816'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/vault.html' title='Vault'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109893682139855754</id><published>2004-10-27T21:12:00.000-07:00</published><updated>2004-10-28T07:24:46.060-07:00</updated><title type='text'>The Squeeze is On</title><content type='html'>  &lt;p class="MsoNormal"&gt;The time is t - 12 and counting.&lt;span style=""&gt;  &lt;/span&gt;I am sure you have all been there.&lt;span style=""&gt;  &lt;/span&gt;You have planned out all of the tasks.&lt;span style=""&gt;  &lt;/span&gt;You have worked hard to meet the deadline.&lt;span style=""&gt;  &lt;/span&gt;You felt in control of the iteration.&lt;span style=""&gt;  &lt;/span&gt;You knew you had this one nailed.&lt;span style=""&gt;  &lt;/span&gt;But then, as the hour of deployment draws near, it seems like a cruel trick has been played.&lt;span style=""&gt;  &lt;/span&gt;Suddenly there is an insurmountable amount of work left.&lt;span style=""&gt;  &lt;/span&gt;Are the tasks multiplying?&lt;span style=""&gt;  &lt;/span&gt;It seems like as each loose end is tied up, two new ones pop up as if some evil magic spell were cast on the project.&lt;span style=""&gt;  &lt;/span&gt;It is in this hour, when the odds sometimes seem overwhelming, when I am beginning to forget what the outside world looks like from the long hours of staring at my laptop screen in my cubicle, when the pressure is on, that somehow I feel that I do my best work. Am I a masochist? &lt;span style=""&gt; &lt;/span&gt;I have decided that either I perform well under pressure, or I am delirious from a lack of sleep.&lt;span style=""&gt;  &lt;/span&gt;Do you know the feeling?&lt;span style=""&gt;  &lt;/span&gt;Where after staring at a problem for hours the solution appears to you so clearly it is as if it were the result of pure genius and you feel completely satisfied with the world…then again, maybe even a hack looks like an ingenious solution when time is short.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109893682139855754?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109893682139855754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109893682139855754' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109893682139855754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109893682139855754'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/squeeze-is-on.html' title='The Squeeze is On'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109889824124304470</id><published>2004-10-27T10:26:00.000-07:00</published><updated>2004-10-27T11:15:25.296-07:00</updated><title type='text'>Databases</title><content type='html'>&lt;a href="http://kottke.org/"&gt;Jason Kottke&lt;/a&gt; (who has a very entertaining &lt;a href="http://kottke.org/04/10/normalized-data"&gt;biography&lt;/a&gt; on his site) writes a controversial entry in his blog entitled &lt;a href="http://kottke.org/04/10/normalized-data"&gt;"Normalized Data is for Sissies"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I think I may have maintained a database he was involved with once or twice in the past...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109889824124304470?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109889824124304470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109889824124304470' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109889824124304470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109889824124304470'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/databases.html' title='Databases'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109882598759224842</id><published>2004-10-26T14:25:00.000-07:00</published><updated>2004-10-26T14:26:27.593-07:00</updated><title type='text'>Removing Haloscan</title><content type='html'>And now after hearing that using Haloscan results in my comments being lost after four months unless I am a premier member, I am removing Haloscan. &lt;br /&gt;&lt;br /&gt;So do all of you out there in the blogosphere have your own custom tracking tools?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109882598759224842?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109882598759224842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109882598759224842' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109882598759224842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109882598759224842'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/removing-haloscan.html' title='Removing Haloscan'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109872865389534327</id><published>2004-10-25T11:20:00.000-07:00</published><updated>2004-10-25T11:27:23.223-07:00</updated><title type='text'>Haloscan</title><content type='html'>After getting great feedback from &lt;a href="http://www.blamemike.com"&gt;blameMike&lt;/a&gt; and &lt;a href="http://www.christopherhawkins.com"&gt;Chistopher Hawkins&lt;/a&gt; to my previous posts, as well as being referrenced by &lt;a href="http://www.thedatafarm.com/blog/"&gt;Julie Lerman&lt;/a&gt; and &lt;a href="http://www.coolbits.nu/"&gt;Avonelle Lovhaug&lt;/a&gt;, I thought it would be a good idea to turn tracking on. So I have added &lt;a href="http://www.haloscan.com"&gt;Haloscan&lt;/a&gt; commenting and trackback to my blog.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109872865389534327?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109872865389534327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109872865389534327' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109872865389534327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109872865389534327'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/haloscan.html' title='Haloscan'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109872057113810634</id><published>2004-10-25T09:09:00.000-07:00</published><updated>2004-10-25T09:09:31.140-07:00</updated><title type='text'>Gold Plating</title><content type='html'>I work for a consulting firm, and as projects progress from planning to implementation, whether in an iterative or an old-fashioned waterfall process, I often wonder about “gold plating.”  Gold plating is often referenced in relation to cool features in the user interface.  But can we gold plate in other aspects of our projects, as well? &lt;br /&gt;&lt;br /&gt;Let’s take architecture, for example.  When architecting a solution, there are many roads I could take.  I could spend 5 minutes on the architecture and hop right into the code.  I could spend weeks on the architecture, fashioning a framework made of steel, a framework where I have abstracted every piece that may be shared, a framework where I have carefully planned the separation of the data layer from my domain layer so my customers could use XML, Oracle, or SQL Server as the data store by just changing a setting, and a framework where my domain layer never relies on a configuration file that is specific to a web front end.  The more flexible my framework is, the more time that must be spent planning and executing. &lt;br /&gt;&lt;br /&gt;The time spent planning a flexible architecture should pay for itself in the long run, when it comes to time spent maintaining and extending the solution.  But what if my customer never wants to change data stores?  What if my customer only wants to deploy a web solution?  How do we determine when the payoffs from planning flexibility are no longer worth it?  Can we plan so much that we are gold plating our architecture?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109872057113810634?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109872057113810634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109872057113810634' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109872057113810634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109872057113810634'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/gold-plating.html' title='Gold Plating'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109839125449466198</id><published>2004-10-21T13:22:00.000-07:00</published><updated>2004-10-21T13:42:07.376-07:00</updated><title type='text'>History of Basic vs. History of Java</title><content type='html'>The other evening I was talking with a friend of mine about the roots of Basic. My friend thought that Basic was written by Bill Gates. I didn't think that was the case. I found a site that summarized the &lt;a href="http://www.fys.ruu.nl/~bergmann/history.html"&gt;history of Basic&lt;/a&gt;. Basic was written to assist students who were in the process of learning how to program. While Basic was not created by Bill Gates, Basic received a breath of new life as Bill Gates brought Basic into the PC world. This was all in the early 1970's.&lt;br /&gt;&lt;br /&gt;Java, on the other hand, has a much shorter &lt;a href="http://ei.cs.vt.edu/~wwwbtb/book/chap1/java_hist.html"&gt;history&lt;/a&gt;. Java was born in the early 90's. By this time, OO techniques were really catching on. It is not surprising that OO concepts were included in the implementation of Java.&lt;br /&gt;&lt;br /&gt;While the first object oriented paper was published in 1965, OO did not become widely accepted by the development community until well after the first release of Basic, into the late 80's. In response to OO programming, and possibly in response to the success of Java, Microsoft redesigned the Visual Studio platform into the .Net release that we have today. My question is this: In rewritting Basic into Visual Basic, and eventually into Visual Basic .Net, has Microsoft enhanced an easy-to-learn programming language into a powerful OO tool? Or has Microsoft been trying to fit a square peg into a round hole?&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109839125449466198?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109839125449466198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109839125449466198' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109839125449466198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109839125449466198'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/history-of-basic-vs-history-of-java.html' title='History of Basic vs. History of Java'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109838312265520522</id><published>2004-10-21T11:17:00.000-07:00</published><updated>2004-10-21T11:25:22.656-07:00</updated><title type='text'>Follow-up to VB.Net vs. C#</title><content type='html'>I have gotten an amazing response from my first blog, so I just wanted to point you in a couple of different directions if you are interested in this subject.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://whoisjake.com/blog/archive/2004/10/21/806.aspx"&gt;Jake&lt;/a&gt; is a C# Elitist&lt;br /&gt;&lt;a href="http://ramblings.aaronballman.com/index.php?p=78"&gt;Aaron&lt;/a&gt; looks at whether it really matters&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109838312265520522?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109838312265520522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109838312265520522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109838312265520522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109838312265520522'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/follow-up-to-vbnet-vs-c.html' title='Follow-up to VB.Net vs. C#'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8791723.post-109831087169975186</id><published>2004-10-20T14:50:00.000-07:00</published><updated>2007-02-15T08:20:43.946-08:00</updated><title type='text'>VB.Net vs. C#</title><content type='html'>I started out programming by teaching myself Visual Basic 6.0. After programming for a bit, I decided that I should get some formal education, so I earned my Master of Science degree is Software Engineering.&lt;br /&gt;&lt;br /&gt;I worked for 5 years programming in VB. I struggled with ASP for awhile, too. So when the alpha release of Visual Studio .Net came out, I couldn't wait to get my hands on it. VB.Net was a change from VB 6.0, but I didn't find the move to be too painful. ASP.Net was like heaven compared to the previous version of ASP. I was excited to leave VB Script in the dust and have a full version of VB at my fingertips when building web apps. And the automated state handling in ASP.Net was another leap ahead for me. I have been working with Visual Studio.Net ever since, and I have never missed the days of Visual InterDev or Visual Studio 6.0.&lt;br /&gt;&lt;br /&gt;When VS.Net was released, so was this new language written by Microsoft called C#. Within my VB community, C# was dismissed as a Java-wannabe. Since Microsoft has pledged to back VB.Net, we saw no reason to change. All the curly brackets and semi-colons gave me the shivers, anyways.&lt;br /&gt;&lt;br /&gt;So last February when I decided to move to a new company, and my new company is a C# firm, I swallowed hard and cringed as I embarked on my adoption of the curly brackets, case sensitivity, and semi-colons. Thus was born Val the C# Gal. Although there are some syntax differences that take time to become accustomed, it has not been a big deal at all. I have not seen anything huge in C# that was missing in VB.Net and vice versa. What I have noticed, however, is that the mentality of the C# group is quite elitist. So why is that? Why do C# programmers so vehemently disregard VB.Net as a viable language? Why do C# programmers so quickly dismiss VB programmers as somehow inferior in intelligence?&lt;br /&gt;&lt;br /&gt;I have worked with amazingly brilliant engineers on both sides, and I don't understand why the C# community feels that if someone chooses to continue crafting code in VB rather than porting over to the C# side of the tracks that the VB engineer is lesser for the decision. How do you feel about this?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8791723-109831087169975186?l=valcsgal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valcsgal.blogspot.com/feeds/109831087169975186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8791723&amp;postID=109831087169975186' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109831087169975186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8791723/posts/default/109831087169975186'/><link rel='alternate' type='text/html' href='http://valcsgal.blogspot.com/2004/10/vbnet-vs-c.html' title='VB.Net vs. C#'/><author><name>Valerie Vogt</name><uri>http://www.blogger.com/profile/14342788492213089415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry></feed>
