<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>The Wit and Ramblings of David Giard - Tech</title>
    <link>http://www.davidgiard.com/</link>
    <description>Demanding rigidly defined areas of doubt and uncertainty</description>
    <language>en-us</language>
    <copyright>David Giard</copyright>
    <lastBuildDate>Mon, 25 Mar 2013 14:28:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>davidgiard@davidgiard.com</managingEditor>
    <webMaster>davidgiard@davidgiard.com</webMaster>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=739d98cd-66df-40e0-abb6-810103e67adb</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,739d98cd-66df-40e0-abb6-810103e67adb.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,739d98cd-66df-40e0-abb6-810103e67adb.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=739d98cd-66df-40e0-abb6-810103e67adb</wfw:commentRss>
      <slash:comments>9</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img border="0" src="http://www.davidgiard.com/content/binary/TechnologyAndFriends.gif" />
        </p>
        <p>
          <strong>Episode 258</strong>
        </p>
        <p>
          <a href="http://technologyandfriends.com/SubText/archive/2013/03/25/tf258.aspx" target="_blank"> Kristin
Cederquist on Nanoparticles </a>
        </p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=739d98cd-66df-40e0-abb6-810103e67adb" />
      </body>
      <title>Kristin Cederquist on Nanoparticles</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,739d98cd-66df-40e0-abb6-810103e67adb.aspx</guid>
      <link>http://www.davidgiard.com/2013/03/25/KristinCederquistOnNanoparticles.aspx</link>
      <pubDate>Mon, 25 Mar 2013 14:28:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img border="0" src="http://www.davidgiard.com/content/binary/TechnologyAndFriends.gif" /&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Episode 258&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://technologyandfriends.com/SubText/archive/2013/03/25/tf258.aspx" target="_blank"&gt; Kristin
Cederquist on Nanoparticles &lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=739d98cd-66df-40e0-abb6-810103e67adb" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,739d98cd-66df-40e0-abb6-810103e67adb.aspx</comments>
      <category>Tech</category>
      <category>Technology and Friends</category>
      <category>Video</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=9b2d094d-e138-4ccd-8eec-71e0ad031dc8</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,9b2d094d-e138-4ccd-8eec-71e0ad031dc8.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,9b2d094d-e138-4ccd-8eec-71e0ad031dc8.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9b2d094d-e138-4ccd-8eec-71e0ad031dc8</wfw:commentRss>
      <slash:comments>14</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve spent nearly 20 years working in technology. From my university days studying
Computer Engineering; through my years managing a Lan Manager® network and writing
FoxPro applications; to my time consulting with companies to help them build scalable
applications to solve their business problems. I work with a wide variety of software
and hardware tools. I’ve become proficient with some and I’ve developed the ability
to quickly get up to speed on most tools. 
</p>
        <p>
But am I a technologist? Is the focus of my job to use computers, software and languages?
Am I paid because of my expertise in a specific technology? Do customers value my
computer skills over my other skills?
</p>
        <p>
I never describe my professional self as an “expert” in anything. Instead, I emphasize
experience, my learning abilities, and my problem-solving skills. Occasionally, a
salesperson will tout my deep, technical knowledge on a topic, but I caution them
against this, because it is not my greatest strength. My greatest strengths are the
abilities to understand problems, to learn almost anything, to apply knowledge appropriately
to a problem, and to share with others what I have learned.
</p>
        <p>
I would argue that I am not a technologist – at least not primarily. As a consultant,
my primary purpose is to add value to the customer. I do this by solving business
problems. Some of the tools I use to solve those problems are types of computer hardware
and software. But those are not the most important tools. The most important tools
I use are communication skills and reasoning ability. It may be that the solution
to my customer’s problem involves very little technical changes or even none at all.
If it does involve software (which is usually the case), my application of that software
is far more important than the bits within it.
</p>
        <p>
I’ve seen a number of consultants who are focused on their technology of choice that
they don’t seek a solution outside that area. If all you know is BizTalk or SharePoint
or Lotus Notes, it’s very tempting to define business problems in terms that can be
associated with your favorite tool. The popular expression to define this attitude
is: “If all you have is a hammer, everything looks like a nail.”
</p>
        <p>
For me, the solution is the important thing. Maybe it’s an advantage that I never
immersed myself in a single technology. Maybe this keeps my mind more open to alternative
solutions. If I need expertise in with a particular tool, I can either learn it or
find someone who knows it well.
</p>
        <p>
Does this mean that there is no value in deep technical knowledge of a topic? Of course
not! There is great value in learning technology. The more we know, the more we can
apply that knowledge to business problems. But it is the application of the knowledge
that adds the most value – not the knowledge itself.
</p>
        <p>
This mind-set becomes even more important when you consider the how international
the software business has become. You may be a very good C# programmer. But, if you
live in America, there is likely to be a very good C# programmer in India who is willing
to do the same work for much less. And if you live in India, there is probably a very
good C# programmer in China who is willing to work for much less. And if you live
in China, keep your eyes open, because other parts of the world are developing these
skills and they are anxious to penetrate this market and are able to charge even lower
rates. It’s no longer possible to compete only on price (and still make a decent living)
and it’s not enough to compete only on technical skill. The ability to solve complex
business problems and apply the right technology can be the differentiator that allows
you to compete in a global market.
</p>
        <p>
Keep this in mind as you look for solutions to problems presented by your customer
or employer. Focus on adding value to the business, rather than on applying a particular
set of skills.
</p>
        <p>
But in the end, I think I serve my customers better because I think of myself as a
problem-solver rather than as a technologist.
</p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=9b2d094d-e138-4ccd-8eec-71e0ad031dc8" />
      </body>
      <title>Am I a Technologist?</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,9b2d094d-e138-4ccd-8eec-71e0ad031dc8.aspx</guid>
      <link>http://www.davidgiard.com/2011/05/24/AmIATechnologist.aspx</link>
      <pubDate>Tue, 24 May 2011 23:52:00 GMT</pubDate>
      <description>&lt;p&gt;
I’ve spent nearly 20 years working in technology. From my university days studying
Computer Engineering; through my years managing a Lan Manager® network and writing
FoxPro applications; to my time consulting with companies to help them build scalable
applications to solve their business problems. I work with a wide variety of software
and hardware tools. I’ve become proficient with some and I’ve developed the ability
to quickly get up to speed on most tools. 
&lt;/p&gt;
&lt;p&gt;
But am I a technologist? Is the focus of my job to use computers, software and languages?
Am I paid because of my expertise in a specific technology? Do customers value my
computer skills over my other skills?
&lt;/p&gt;
&lt;p&gt;
I never describe my professional self as an “expert” in anything. Instead, I emphasize
experience, my learning abilities, and my problem-solving skills. Occasionally, a
salesperson will tout my deep, technical knowledge on a topic, but I caution them
against this, because it is not my greatest strength. My greatest strengths are the
abilities to understand problems, to learn almost anything, to apply knowledge appropriately
to a problem, and to share with others what I have learned.
&lt;/p&gt;
&lt;p&gt;
I would argue that I am not a technologist – at least not primarily. As a consultant,
my primary purpose is to add value to the customer. I do this by solving business
problems. Some of the tools I use to solve those problems are types of computer hardware
and software. But those are not the most important tools. The most important tools
I use are communication skills and reasoning ability. It may be that the solution
to my customer’s problem involves very little technical changes or even none at all.
If it does involve software (which is usually the case), my application of that software
is far more important than the bits within it.
&lt;/p&gt;
&lt;p&gt;
I’ve seen a number of consultants who are focused on their technology of choice that
they don’t seek a solution outside that area. If all you know is BizTalk or SharePoint
or Lotus Notes, it’s very tempting to define business problems in terms that can be
associated with your favorite tool. The popular expression to define this attitude
is: “If all you have is a hammer, everything looks like a nail.”
&lt;/p&gt;
&lt;p&gt;
For me, the solution is the important thing. Maybe it’s an advantage that I never
immersed myself in a single technology. Maybe this keeps my mind more open to alternative
solutions. If I need expertise in with a particular tool, I can either learn it or
find someone who knows it well.
&lt;/p&gt;
&lt;p&gt;
Does this mean that there is no value in deep technical knowledge of a topic? Of course
not! There is great value in learning technology. The more we know, the more we can
apply that knowledge to business problems. But it is the application of the knowledge
that adds the most value – not the knowledge itself.
&lt;/p&gt;
&lt;p&gt;
This mind-set becomes even more important when you consider the how international
the software business has become. You may be a very good C# programmer. But, if you
live in America, there is likely to be a very good C# programmer in India who is willing
to do the same work for much less. And if you live in India, there is probably a very
good C# programmer in China who is willing to work for much less. And if you live
in China, keep your eyes open, because other parts of the world are developing these
skills and they are anxious to penetrate this market and are able to charge even lower
rates. It’s no longer possible to compete only on price (and still make a decent living)
and it’s not enough to compete only on technical skill. The ability to solve complex
business problems and apply the right technology can be the differentiator that allows
you to compete in a global market.
&lt;/p&gt;
&lt;p&gt;
Keep this in mind as you look for solutions to problems presented by your customer
or employer. Focus on adding value to the business, rather than on applying a particular
set of skills.
&lt;/p&gt;
&lt;p&gt;
But in the end, I think I serve my customers better because I think of myself as a
problem-solver rather than as a technologist.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=9b2d094d-e138-4ccd-8eec-71e0ad031dc8" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,9b2d094d-e138-4ccd-8eec-71e0ad031dc8.aspx</comments>
      <category>Soft skills</category>
      <category>Tech</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=07acb3b8-a8fe-4ce9-b158-b4c139910729</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,07acb3b8-a8fe-4ce9-b158-b4c139910729.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,07acb3b8-a8fe-4ce9-b158-b4c139910729.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=07acb3b8-a8fe-4ce9-b158-b4c139910729</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
          <img src="content/binary/TechnologyAndFriends.gif" border="0" />
        </p>
        <p>
          <strong>Episode 92</strong>
        </p>
        <p>
At the 2010 ann arbor Day of .Net, I hosted a panel discussion in front of a live
audience. 
</p>
        <p>
Michael Eaton, Jay Harris, Patrick Steele, Jim Holmes and Jason Follas described how
they cope with the information overload of keeping up with technologies. 
</p>
        <p>
          <object id="viddler_b008b8cf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370">
            <param value="http://www.viddler.com/player/b008b8cf/" name="movie" />
            <param value="always" name="allowScriptAccess" />
            <param value="true" name="allowFullScreen" />
            <embed name="viddler_b008b8cf" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://www.viddler.com/player/b008b8cf/" width="437" height="370">
            </embed>
          </object>
        </p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=07acb3b8-a8fe-4ce9-b158-b4c139910729" />
      </body>
      <title>Drinking from the Fire Hose</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,07acb3b8-a8fe-4ce9-b158-b4c139910729.aspx</guid>
      <link>http://www.davidgiard.com/2010/06/09/DrinkingFromTheFireHose.aspx</link>
      <pubDate>Wed, 09 Jun 2010 09:57:39 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="content/binary/TechnologyAndFriends.gif" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Episode 92&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
At the 2010 ann arbor Day of .Net, I hosted a panel discussion in front of a live
audience. 
&lt;/p&gt;
&lt;p&gt;
Michael Eaton, Jay Harris, Patrick Steele, Jim Holmes and Jason Follas described how
they cope with the information overload of keeping up with technologies. 
&lt;/p&gt;
&lt;p&gt;
&lt;object id="viddler_b008b8cf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370"&gt;
&lt;param value="http://www.viddler.com/player/b008b8cf/" name="movie"&gt;
&lt;param value="always" name="allowScriptAccess"&gt;
&lt;param value="true" name="allowFullScreen"&gt;
&lt;embed name="viddler_b008b8cf" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://www.viddler.com/player/b008b8cf/" width="437" height="370"&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=07acb3b8-a8fe-4ce9-b158-b4c139910729" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,07acb3b8-a8fe-4ce9-b158-b4c139910729.aspx</comments>
      <category>Community</category>
      <category>Interviews</category>
      <category>Tech</category>
      <category>Technology and Friends</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=2366f6b0-777d-4f82-8a8b-c84b053d99ea</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,2366f6b0-777d-4f82-8a8b-c84b053d99ea.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,2366f6b0-777d-4f82-8a8b-c84b053d99ea.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2366f6b0-777d-4f82-8a8b-c84b053d99ea</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As someone who once passed a bunch of tests (&gt;40) to earn a bunch of Microsoft
certifications(&gt;20), I'm sometimes asked about the value of these certifications.
Are they worth the time, cost and effort they take? What are the benefits? Who benefits
most?
</p>
        <p>
          <strong>The real cost of certifications<br /></strong>More than the cost to sit the exam (typically $150) is the cost of studying
for the exam. I used to spend weeks - at least a couple hours each day - studying
for each exam. This cost tends to far outweigh the exam fee.
</p>
        <p>
          <strong>What do certifications prove?<br /></strong>A certification demonstrates a minimal level of competence in a given technology.
They don't flag the holder as an expert; but, assuming you didn't cheat, they require
knowledge of the subject matter in order to pass.
</p>
        <p>
          <strong>Everybody learns differently<br /></strong>I hope all of us can agree that it is not possible to succeed as a software
developer, network engineer or database administrator without learning new skills
every year. Each of us learns in a different way. I think most people learn a technology
best when they have something to apply it to. This application serves as motivation
to learn and retain knowledge. If your job doesn't provide that application, you need
to create it yourself. This might be a personal or open source project or it might
be a certification exam. Either way, if it helps you to learn a new skill by focusing
on a tangible goal, that is a good thing.
</p>
        <p>
          <strong>When are certifications most valuable?<br /></strong>Certification is no substitute for experience, but it can help to supplement
experience. This is especially true early in your career when practical experience
is lacking. For those new to information technology or software development, it can
be difficult to build up the experience necessary to impress a potential employer.
A certification can help make up for a lack of experience, because you have demonstrated
the ability to complete a goal and enough knowledge to pass an exam.
</p>
        <p>
          <strong>Some places require certification. Why?<br /></strong>Microsoft partners with companies in different ways. In some of these partnership
arrangements, the partner company must have a certain percentage of their employees
certified in Microsoft technology. Although far from perfect, it's a very simple way
for Microsoft to vet their partners.
</p>
        <p>
          <strong>So is it worth it?<br /></strong>From a personal standpoint, I don't at all regret achieving the certifications
that I did. I took most of the exams early in my career and they gained me some credibility.
As recent as two years ago, potential employers asked me about my certification and
were impressed when I provided it. I have learned a lot studying for these exams and
that knowledge has helped my career. I doubt that I'll be taking many more exams.
My free time is limited and I prefer to use more efficient ways to learn, focusing
on building applications or preparing and delivering presentations. 
</p>
        <p>
My advice is to consider certifications early in your career to improve your skills
and improve your credibility; then spend your time elsewhere as you solidify your
credibility.
</p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=2366f6b0-777d-4f82-8a8b-c84b053d99ea" />
      </body>
      <title>Are certifications worthwhile?</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,2366f6b0-777d-4f82-8a8b-c84b053d99ea.aspx</guid>
      <link>http://www.davidgiard.com/2010/05/18/AreCertificationsWorthwhile.aspx</link>
      <pubDate>Tue, 18 May 2010 15:53:41 GMT</pubDate>
      <description>&lt;p&gt;
As someone who once passed a bunch of tests (&amp;gt;40)&amp;nbsp;to earn a bunch of Microsoft
certifications(&amp;gt;20), I'm sometimes asked about the value of these certifications.
Are they worth the time, cost and effort they take? What are the benefits? Who benefits
most?
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The real cost of certifications&lt;br&gt;
&lt;/strong&gt;More than the cost to sit the exam (typically $150) is the cost of studying
for the exam. I used to spend weeks - at least a couple hours each day - studying
for each exam. This cost tends to far outweigh the exam fee.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What do certifications prove?&lt;br&gt;
&lt;/strong&gt;A certification demonstrates a minimal level of competence in a given technology.
They don't flag the holder as an expert; but, assuming you didn't cheat, they require
knowledge of the subject matter in order to pass.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Everybody learns differently&lt;br&gt;
&lt;/strong&gt;I hope all of us can agree that it is not possible to succeed as a software
developer, network engineer or database administrator without learning new skills
every year. Each of us learns in a different way. I think most people learn a technology
best when they have something to apply it to. This application serves as motivation
to learn and retain knowledge. If your job doesn't provide that application, you need
to create it yourself. This might be a personal or open source project or it might
be a certification exam. Either way, if it helps you to learn a new skill by focusing
on a tangible goal, that is a good thing.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;When are certifications most valuable?&lt;br&gt;
&lt;/strong&gt;Certification is no substitute for experience, but it can help to supplement
experience. This is especially true early in your career when practical experience
is lacking. For those new to information technology or software development, it can
be difficult to build up the experience necessary to impress a potential employer.
A certification can help make up for a lack of experience, because you have demonstrated
the ability to complete a goal and enough knowledge to pass an exam.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Some places require certification. Why?&lt;br&gt;
&lt;/strong&gt;Microsoft partners with companies in different ways. In some of these partnership
arrangements, the partner company must have a certain percentage of their employees
certified in Microsoft technology. Although far from perfect, it's a very simple way
for Microsoft to vet their partners.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;So is it worth it?&lt;br&gt;
&lt;/strong&gt;From a personal standpoint, I don't at all regret achieving the certifications
that I did. I took most of the exams early in my career and they gained me some credibility.
As recent as two years ago, potential employers asked me about my certification and
were impressed when I provided it. I have learned a lot studying for these exams and
that knowledge has helped my career. I doubt that I'll be taking many more exams.
My free time is limited and I prefer to use more efficient ways to learn, focusing
on building applications or preparing and delivering presentations. 
&lt;/p&gt;
&lt;p&gt;
My advice is to consider certifications early in your career to improve your skills
and improve your credibility; then spend your time elsewhere as you solidify your
credibility.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=2366f6b0-777d-4f82-8a8b-c84b053d99ea" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,2366f6b0-777d-4f82-8a8b-c84b053d99ea.aspx</comments>
      <category>Soft skills</category>
      <category>Tech</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=289d71af-9168-414f-baaf-e54807a37d18</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,289d71af-9168-414f-baaf-e54807a37d18.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,289d71af-9168-414f-baaf-e54807a37d18.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=289d71af-9168-414f-baaf-e54807a37d18</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
There is a reason why computer languages are called "languages". These languages share
many common characteristics with the languages that humans use to communicate.
</p>
        <p>
Humans use languages like English, French, Mandarin Chinese, and Farsi to communicate
with one another. Programmers use languages like Java, C# and Visual Basic to communicate
with computers.
</p>
        <p>
Human languages contain words and each word has one or more correct spelling and one
or more meanings; Computer languages have keywords that have a single correct spelling
and one or more correct meanings. 
</p>
        <p>
Human languages have a grammar to which writers and speakers are expected to adhere.
Deviating from this grammar makes it more difficult to understand the message. Computer
languages also have a grammar that we call "syntax". It is not sufficient to throw
together correctly-spelled keywords: They must be structured properly. Some languages
have stricter grammar rules than others, such as a requirement that we declare each
variable before using it.
</p>
        <p>
Writing quality software in a computer language is similar to writing a good book
or article in a human language. It is possible to write a poorly-written book in English
that has perfect spelling and grammar. Microsoft Word will report no errors when you
press F7 when editing such an article, but that tells us nothing about the quality
of the writing, which may still be confusing or boring. Similarly, it is possible
to write slow, non-scalable, difficult-to-maintain software that violates no rules
of spelling or syntax. This software will compile but will not perform well.
</p>
        <p>
The main difference between human languages and computer languages is the precision
required by each. We can communicate reasonably well in a human language, even if
we use poor grammar and poor spelling. This is because we have other communication
mechanisms to use, such as expression, tone, gestures and a shared context with others.
Computers are generally not smart enough to understand us unless we are very specific
in the words we use and in the way we structure those words. We must be more careful
what we type and how we compose our words when communicating with a computer.
</p>
        <p>
This is why I believe that writing software has improved my communication skills in
general. By forcing me to choose carefully my words and grammar, I get in the habit
of communicating with greater clarity.
</p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=289d71af-9168-414f-baaf-e54807a37d18" />
      </body>
      <title>On human and computer languages</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,289d71af-9168-414f-baaf-e54807a37d18.aspx</guid>
      <link>http://www.davidgiard.com/2010/04/06/OnHumanAndComputerLanguages.aspx</link>
      <pubDate>Tue, 06 Apr 2010 16:53:25 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
There is a reason why computer languages are called "languages". These languages share
many common characteristics with the languages that humans use to communicate.
&lt;/p&gt;
&lt;p&gt;
Humans use languages like English, French, Mandarin Chinese, and Farsi to communicate
with one another. Programmers use languages like Java, C# and Visual Basic to communicate
with computers.
&lt;/p&gt;
&lt;p&gt;
Human languages contain words and each word has one or more correct spelling and one
or more meanings; Computer languages have keywords that have a single correct spelling
and one or more correct meanings. 
&lt;/p&gt;
&lt;p&gt;
Human languages have a grammar to which writers and speakers are expected to adhere.
Deviating from this grammar makes it more difficult to understand the message. Computer
languages also have a grammar that we call "syntax". It is not sufficient to throw
together correctly-spelled keywords: They must be structured properly. Some languages
have stricter grammar rules than others, such as a requirement that we declare each
variable before using it.
&lt;/p&gt;
&lt;p&gt;
Writing quality software in a computer language is similar to writing a good book
or article in a human language. It is possible to write a poorly-written book in English
that has perfect spelling and grammar. Microsoft Word will report no errors when you
press F7 when editing such an article, but that tells us nothing about the quality
of the writing, which may still be confusing or boring. Similarly, it is possible
to write slow, non-scalable, difficult-to-maintain software that violates no rules
of spelling or syntax. This software will compile but will not perform well.
&lt;/p&gt;
&lt;p&gt;
The main difference between human languages and computer languages is the precision
required by each. We can communicate reasonably well in a human language, even if
we use poor grammar and poor spelling. This is because we have other communication
mechanisms to use, such as expression, tone, gestures and a shared context with others.
Computers are generally not smart enough to understand us unless we are very specific
in the words we use and in the way we structure those words. We must be more careful
what we type and how we compose our words when communicating with a computer.
&lt;/p&gt;
&lt;p&gt;
This is why I believe that writing software has improved my communication skills in
general. By forcing me to choose carefully my words and grammar, I get in the habit
of communicating with greater clarity.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=289d71af-9168-414f-baaf-e54807a37d18" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,289d71af-9168-414f-baaf-e54807a37d18.aspx</comments>
      <category>Tech</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=d9f48a60-d414-490f-850f-459c1c1b9017</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,d9f48a60-d414-490f-850f-459c1c1b9017.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,d9f48a60-d414-490f-850f-459c1c1b9017.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d9f48a60-d414-490f-850f-459c1c1b9017</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img border="0" src="http://www.davidgiard.com/content/binary/TechnologyAndFriends.gif" />
        </p>
        <p>
          <strong>Episode 79</strong>
        </p>
        <p>
In this interview, Brian Genisio describes the Prism documentation and library and
explains how he uses it to build applications. 
</p>
        <object height="370" width="437" id="viddler_62e3dd09" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
          <param value="http://www.viddler.com/player/62e3dd09/" name="movie" />
          <param value="always" name="allowScriptAccess" />
          <param value="true" name="allowFullScreen" />
          <embed height="370" width="437" name="viddler_62e3dd09" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://www.viddler.com/player/62e3dd09/">
          </embed>
        </object>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=d9f48a60-d414-490f-850f-459c1c1b9017" />
      </body>
      <title>Brian Genisio on Prism</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,d9f48a60-d414-490f-850f-459c1c1b9017.aspx</guid>
      <link>http://www.davidgiard.com/2010/03/29/BrianGenisioOnPrism.aspx</link>
      <pubDate>Mon, 29 Mar 2010 11:00:16 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img border=0 src="http://www.davidgiard.com/content/binary/TechnologyAndFriends.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Episode 79&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In this interview, Brian Genisio describes the Prism documentation and library and
explains how he uses it to build applications. 
&lt;/p&gt;
&lt;object height="370" width="437" id="viddler_62e3dd09" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"&gt;
&lt;param value="http://www.viddler.com/player/62e3dd09/" name="movie" /&gt;
&lt;param value="always" name="allowScriptAccess" /&gt;
&lt;param value="true" name="allowFullScreen" /&gt;
&lt;embed height="370" width="437" name="viddler_62e3dd09" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://www.viddler.com/player/62e3dd09/"&gt;&lt;/embed&gt;
&lt;/object&gt;&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=d9f48a60-d414-490f-850f-459c1c1b9017" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,d9f48a60-d414-490f-850f-459c1c1b9017.aspx</comments>
      <category>Interviews</category>
      <category>Tech</category>
      <category>Technology and Friends</category>
      <category>Video</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=d907c835-fb7b-4209-b0e5-7e46d871ab2f</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,d907c835-fb7b-4209-b0e5-7e46d871ab2f.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,d907c835-fb7b-4209-b0e5-7e46d871ab2f.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d907c835-fb7b-4209-b0e5-7e46d871ab2f</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently, I was asked to migrate code from one source control repository to another. 
The customer had been using Visual Source Safe (VSS) for many years and had dozens
(maybe hundreds) of projects checked in. Most of these projects had a long history
of file versions. 
<br />
VSS was a decent product when it was first released, but it falls far short of newer
source control systems, such as Team Foundation Server (TFS), Subversion and CVS.
This customer selected TFS as their new source control system, but they did not want
to lose the history they had captured in VSS.
</p>
        <p>
They asked me how to move the years of VSS history into TFS. Tools exist to do this,
including  Microsoft’s VSS2TeamFoundation (available at  <a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx">http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx</a>).
However, migration tools have several disadvantages:
</p>
        <ol>
          <li>
Migrating years of source control can take a really long time, maybe weeks. You will
probably want to do a test migration of your data, which will extend the time requirement
even further.</li>
          <li>
If you have been checking code into a source control system for any length of time,
there are bound to be some mistakes: Projects that were started but never went anywhere;
Code changes that were mistakenly checked in and had to be reverted; and duplicate
source code erroneously checked into two distinct folders. If you migrate your all
source code history, these mistakes will be migrated as well.</li>
        </ol>
        <p>
A simpler alternative to migrating every version of every project in every folder
is to simply get the latest code from the old source control repository and check
it into the new repository. Using Visual Studio, this requires only a few steps:
</p>
        <ol>
          <li>
Open the project in Visual Studio 
</li>
          <li>
Get latest from the old source control system</li>
          <li>
Remove bindings to the old source control system</li>
          <li>
Connect to the new source control system</li>
          <li>
Check the code into the new source control system</li>
        </ol>
        <p>
Repeat this for each solution. You will now have a current version of all relevant
code checked you’re your new source control system.
</p>
        <p>
Some users will tell you this is not enough. These users want to keep all the history
of every bit of code - every version, every branch and every project. Using the above
migration strategy, you can still do that. My recommendation is to keep the history
in your old repository, mark that repository as read-only and leave it online. Users
will still be able to use this old source control system to find their old code, but
will use the new source control system for all version control going forward. This
is far simpler and faster than trying to push years of changes into a new repository.
</p>
        <p>
The lesson here is: Always consider the simplest alternative and determine whether
it meets your needs, before considering more complex solutions.<br /></p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=d907c835-fb7b-4209-b0e5-7e46d871ab2f" />
      </body>
      <title>Migrating to a new Source Control System</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,d907c835-fb7b-4209-b0e5-7e46d871ab2f.aspx</guid>
      <link>http://www.davidgiard.com/2009/11/24/MigratingToANewSourceControlSystem.aspx</link>
      <pubDate>Tue, 24 Nov 2009 11:49:04 GMT</pubDate>
      <description>&lt;p&gt;
Recently, I was asked to migrate code from one source control repository to another.&amp;nbsp;
The customer had been using Visual Source Safe (VSS) for many years and had dozens
(maybe hundreds) of projects checked in. Most of these projects had a long history
of file versions. 
&lt;br&gt;
VSS was a decent product when it was first released, but it falls far short of newer
source control systems, such as Team Foundation Server (TFS), Subversion and CVS.
This customer selected TFS as their new source control system, but they did not want
to lose the history they had captured in VSS.
&lt;/p&gt;
&lt;p&gt;
They asked me how to move the years of VSS history into TFS. Tools exist to do this,
including&amp;nbsp; Microsoft’s VSS2TeamFoundation (available at&amp;nbsp; &lt;a target=_blank href="http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx&lt;/a&gt;).
However, migration tools have several disadvantages:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Migrating years of source control can take a really long time, maybe weeks. You will
probably want to do a test migration of your data, which will extend the time requirement
even further.&lt;/li&gt;
&lt;li&gt;
If you have been checking code into a source control system for any length of time,
there are bound to be some mistakes: Projects that were started but never went anywhere;
Code changes that were mistakenly checked in and had to be reverted; and duplicate
source code erroneously checked into two distinct folders. If you migrate your all
source code history, these mistakes will be migrated as well.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
A simpler alternative to migrating every version of every project in every folder
is to simply get the latest code from the old source control repository and check
it into the new repository. Using Visual Studio, this requires only a few steps:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Open the project in Visual Studio 
&lt;/li&gt;
&lt;li&gt;
Get latest from the old source control system&lt;/li&gt;
&lt;li&gt;
Remove bindings to the old source control system&lt;/li&gt;
&lt;li&gt;
Connect to the new source control system&lt;/li&gt;
&lt;li&gt;
Check the code into the new source control system&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Repeat this for each solution. You will now have a current version of all relevant
code checked you’re your new source control system.
&lt;/p&gt;
&lt;p&gt;
Some users will tell you this is not enough. These users want to keep all the history
of every bit of code - every version, every branch and every project. Using the above
migration strategy, you can still do that. My recommendation is to keep the history
in your old repository, mark that repository as read-only and leave it online. Users
will still be able to use this old source control system to find their old code, but
will use the new source control system for all version control going forward. This
is far simpler and faster than trying to push years of changes into a new repository.
&lt;/p&gt;
&lt;p&gt;
The lesson here is: Always consider the simplest alternative and determine whether
it meets your needs, before considering more complex solutions.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=d907c835-fb7b-4209-b0e5-7e46d871ab2f" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,d907c835-fb7b-4209-b0e5-7e46d871ab2f.aspx</comments>
      <category>Tech</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=077ba1e8-6076-4cc8-b3e3-a80a7b310f09</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,077ba1e8-6076-4cc8-b3e3-a80a7b310f09.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,077ba1e8-6076-4cc8-b3e3-a80a7b310f09.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=077ba1e8-6076-4cc8-b3e3-a80a7b310f09</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I count many software developers among my friends and colleagues. Many of them tell
of writing code in high school or earlier; of hacking during junior high school; or
of knowing their career path at an early age.
</p>
        <p>
My programming career began much later in life. Because I grew up with no inkling
what I wanted to become, I majored in biochemistry as an undergrad and I studied finance
in graduate school. During my eight years of matriculation, I kept busy working as
a laborer for a construction company, coaching a high school wrestling team, selling
financial securities, interning for a commodity trading advisor and painting. After
four years attending grad school at night and working two jobs, I took my MBA and
went to work doing accounting and financial analysis for a printer manufacturer. I
spent almost four years at this job and it rarely changed. I learned almost nothing
after the first year and found myself mightily bored.
</p>
        <p>
At the time, it seemed like misfortune, but I was laid off from this job when the
economy turned south and my employer sold off a large subsidiary. Months of job searching
during the recession of the early 1990s left me feeling discouraged about my prospects.
So I took this as an opportunity to change careers. I had taken a couple programming
classes before and I had done well and enjoyed them, so I enrolled at the local university
to study Computer Engineering. Sometimes the curriculum was difficult. For example,
every other student in my Calculus 4 class had taken the prerequisite class the semester
before.  I had taken it nine years earlier.
</p>
        <p>
After two semesters of straight A’s, I was prepared to pursue a degree in Computer
Engineering until the phone rang between semesters. It was an old friend of the family
calling. He owned a small company in Cincinnati, had heard I knew something about
computers and was looking for someone to help him with his computers. I had never
been to Cincinnati before, but the offer was good and he was willing to pay for my
training so I accepted and moved. Six months later, my house in Michigan sold and
my family joined me.
</p>
        <p>
I was a novice at that time and I knew it. I worked my tail off to learn everything
I could about networking and programming and computers in general. On most days, I
was the first to arrive and the last to leave work. I would get up early and drive
in on Saturday to work a few hours before my family woke up. I worked at that company
for five years. For most of that time, I was the entire IT department. I managed a
LanManager network that I converted to a Windows NT network; I ran a call center of
data input operators;  I was the company’s primary computer help desk; I evaluated
and bought personal computers and servers and printers; and I wrote all the company’s
custom software.
</p>
        <p>
Of these tasks, writing software appealed to me most. In programming, I had the ability
to learn technical skills, to practice logical thinking, and to exercise my creativity.
It gave me the opportunity to exercise all parts of my brain. I decided I wanted to
focus most of my energy on programming.
</p>
        <p>
At that time, my language of choice was FoxPro, which gave me a chance to build Windows
user interfaces and to learn about relational databases. I learned about language
constructs and programming algorithms and naming conventions and frameworks. I would
stay up late into the night reading programming books and technical journals. I enjoyed
learning about programming far more than I enjoyed accounting or finance.
</p>
        <p>
When Visual FoxPro was released, I redoubled my efforts, trying to grasp the concepts
of object oriented programming and deciding when to use inheritance.
</p>
        <p>
After five years, I got the opportunity to join a local consulting company, where
I could focus on software development and training. I would rotate between teaching
classes and building business solutions. This was another great learning experience:
Teaching made me a better programmer and programming made me a better teacher. 
</p>
        <p>
This consulting company was known for its FoxPro expertise but we did a fair amount
of Visual Basic programming and I was able to learn my second language. When Microsoft
released ASP and Visual InterDev, I learned that and began teaching a class in web
development. I taught that class more than any other.  I learned about XML in
2000 and began applying it anywhere I could, like a hammer looking for a nail.
</p>
        <p>
Unfortunately, the company I worked for made some poor business decisions and people
began to leave – first the customers, then the consultants. I followed a friend to
G.A. Sullivan (aka GAS), a medium-sized consulting company in Cincinnati. I was attracted
to GAS because of all the talented developers they had on board already.  Where
my old employer seemed to be drifting from day-to-day, the new group had plans. They
managed projects with efficiency, they had in-house experts in numerous areas; and
they were well-respected by their customers and by other development shops. Not only
did I learn a great deal of technology (I was at GAS when I did my first .Net project)
but I first began to do public technology presentations at that time. I spoke in front
of customers and at the local VB user group (later reborn as CINUG). 
</p>
        <p>
To this day, I have not worked with a group as talented and tight as the folks at
GA Sullivan. Most of us have moved on, but I remain close friends with a number of
my former colleagues from those days.
</p>
        <p>
After a couple years, GAS was purchased by Avanade, a large multi-national consulting
company started as a joint venture between Accenture and Microsoft. With such enormous
parents, Avanade was able to go after much larger customers. During my years there,
I traveled a lot but I was able to work on a number of large enterprise applications,
which helped me in understanding scalability, security and how to navigate the bureaucracy
of a large corporate environment. 
</p>
        <p>
I had my first exposure to Rules Engines, Workflow Foundation, Unit Testing, and Continuous
Integration on various projects for Avanade. I spent over a year focused almost exclusively
on BizTalk Server, diving deep into Microsoft integration technologies. 
</p>
        <p>
I wrote very little code my last year at Avanade as I led a team designing an e-commerce
integration project. Instead I got experience writing design specifications and developing
project plans for a waterfall project.
</p>
        <p>
In 2007, I left Avanade because I wanted to spend more time with my family. I took
a job with Quick Solutions Inc. (QSI) because I was impressed with the smart developers
I met there and I admired their passion working and speaking in the community. I got
back into coding working on an ASP.Net portal project. I also had a chance to learn
from some smart people about Agile development methodologies, Team Foundation Server
and the database tools of Visual Studio. Being closer to home allowed me to spend
time with the developer community.  For the first time in years, I began actively
speaking at conferences and user groups and participating in user groups. In 2008,
following a change in ownership, QSI decided to get rid of all their consultants outside
of Columbus, OH.  
</p>
        <p>
A year of being active in the local community made it easier to find a new job and
I joined Sogeti, my current employer. While here, I’ve worked in a variety of industries
and even did my first SharePoint project. I’ve kept active in the development community,
in part as a way of expanding my own knowledge of technologies. 
</p>
        <p>
I’ve had a number of stops over the past 15 years and I’ve learned something new everywhere
I’ve been. Looking back, losing my job as an accountant was a good thing for career
and my life.  
</p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=077ba1e8-6076-4cc8-b3e3-a80a7b310f09" />
      </body>
      <title>How I got started in programming</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,077ba1e8-6076-4cc8-b3e3-a80a7b310f09.aspx</guid>
      <link>http://www.davidgiard.com/2009/09/22/HowIGotStartedInProgramming.aspx</link>
      <pubDate>Tue, 22 Sep 2009 04:06:01 GMT</pubDate>
      <description>&lt;p&gt;
I count many software developers among my friends and colleagues. Many of them tell
of writing code in high school or earlier; of hacking during junior high school; or
of knowing their career path at an early age.
&lt;/p&gt;
&lt;p&gt;
My programming career began much later in life. Because I grew up with no inkling
what I wanted to become, I majored in biochemistry as an undergrad and I studied finance
in graduate school. During my eight years of matriculation, I kept busy working as
a laborer for a construction company, coaching a high school wrestling team, selling
financial securities, interning for a commodity trading advisor and painting. After
four years attending grad school at night and working two jobs, I took my MBA and
went to work doing accounting and financial analysis for a printer manufacturer. I
spent almost four years at this job and it rarely changed. I learned almost nothing
after the first year and found myself mightily bored.
&lt;/p&gt;
&lt;p&gt;
At the time, it seemed like misfortune, but I was laid off from this job when the
economy turned south and my employer sold off a large subsidiary. Months of job searching
during the recession of the early 1990s left me feeling discouraged about my prospects.
So I took this as an opportunity to change careers. I had taken a couple programming
classes before and I had done well and enjoyed them, so I enrolled at the local university
to study Computer Engineering. Sometimes the curriculum was difficult. For example,
every other student in my Calculus 4 class had taken the prerequisite class the semester
before.&amp;nbsp; I had taken it nine years earlier.
&lt;/p&gt;
&lt;p&gt;
After two semesters of straight A’s, I was prepared to pursue a degree in Computer
Engineering until the phone rang between semesters. It was an old friend of the family
calling. He owned a small company in Cincinnati, had heard I knew something about
computers and was looking for someone to help him with his computers. I had never
been to Cincinnati before, but the offer was good and he was willing to pay for my
training so I accepted and moved. Six months later, my house in Michigan sold and
my family joined me.
&lt;/p&gt;
&lt;p&gt;
I was a novice at that time and I knew it. I worked my tail off to learn everything
I could about networking and programming and computers in general. On most days, I
was the first to arrive and the last to leave work. I would get up early and drive
in on Saturday to work a few hours before my family woke up. I worked at that company
for five years. For most of that time, I was the entire IT department. I managed a
LanManager network that I converted to a Windows NT network; I ran a call center of
data input operators;&amp;nbsp; I was the company’s primary computer help desk; I evaluated
and bought personal computers and servers and printers; and I wrote all the company’s
custom software.
&lt;/p&gt;
&lt;p&gt;
Of these tasks, writing software appealed to me most. In programming, I had the ability
to learn technical skills, to practice logical thinking, and to exercise my creativity.
It gave me the opportunity to exercise all parts of my brain. I decided I wanted to
focus most of my energy on programming.
&lt;/p&gt;
&lt;p&gt;
At that time, my language of choice was FoxPro, which gave me a chance to build Windows
user interfaces and to learn about relational databases. I learned about language
constructs and programming algorithms and naming conventions and frameworks. I would
stay up late into the night reading programming books and technical journals. I enjoyed
learning about programming far more than I enjoyed accounting or finance.
&lt;/p&gt;
&lt;p&gt;
When Visual FoxPro was released, I redoubled my efforts, trying to grasp the concepts
of object oriented programming and deciding when to use inheritance.
&lt;/p&gt;
&lt;p&gt;
After five years, I got the opportunity to join a local consulting company, where
I could focus on software development and training. I would rotate between teaching
classes and building business solutions. This was another great learning experience:
Teaching made me a better programmer and programming made me a better teacher. 
&lt;/p&gt;
&lt;p&gt;
This consulting company was known for its FoxPro expertise but we did a fair amount
of Visual Basic programming and I was able to learn my second language. When Microsoft
released ASP and Visual InterDev, I learned that and began teaching a class in web
development. I taught that class more than any other.&amp;nbsp; I learned about XML in
2000 and began applying it anywhere I could, like a hammer looking for a nail.
&lt;/p&gt;
&lt;p&gt;
Unfortunately, the company I worked for made some poor business decisions and people
began to leave – first the customers, then the consultants. I followed a friend to
G.A. Sullivan (aka GAS), a medium-sized consulting company in Cincinnati. I was attracted
to GAS because of all the talented developers they had on board already.&amp;nbsp; Where
my old employer seemed to be drifting from day-to-day, the new group had plans. They
managed projects with efficiency, they had in-house experts in numerous areas; and
they were well-respected by their customers and by other development shops. Not only
did I learn a great deal of technology (I was at GAS when I did my first .Net project)
but I first began to do public technology presentations at that time. I spoke in front
of customers and at the local VB user group (later reborn as CINUG). 
&lt;/p&gt;
&lt;p&gt;
To this day, I have not worked with a group as talented and tight as the folks at
GA Sullivan. Most of us have moved on, but I remain close friends with a number of
my former colleagues from those days.
&lt;/p&gt;
&lt;p&gt;
After a couple years, GAS was purchased by Avanade, a large multi-national consulting
company started as a joint venture between Accenture and Microsoft. With such enormous
parents, Avanade was able to go after much larger customers. During my years there,
I traveled a lot but I was able to work on a number of large enterprise applications,
which helped me in understanding scalability, security and how to navigate the bureaucracy
of a large corporate environment. 
&lt;/p&gt;
&lt;p&gt;
I had my first exposure to Rules Engines, Workflow Foundation, Unit Testing, and Continuous
Integration on various projects for Avanade. I spent over a year focused almost exclusively
on BizTalk Server, diving deep into Microsoft integration technologies. 
&lt;/p&gt;
&lt;p&gt;
I wrote very little code my last year at Avanade as I led a team designing an e-commerce
integration project. Instead I got experience writing design specifications and developing
project plans for a waterfall project.
&lt;/p&gt;
&lt;p&gt;
In 2007, I left Avanade because I wanted to spend more time with my family. I took
a job with Quick Solutions Inc. (QSI) because I was impressed with the smart developers
I met there and I admired their passion working and speaking in the community. I got
back into coding working on an ASP.Net portal project. I also had a chance to learn
from some smart people about Agile development methodologies, Team Foundation Server
and the database tools of Visual Studio. Being closer to home allowed me to spend
time with the developer community.&amp;nbsp; For the first time in years, I began actively
speaking at conferences and user groups and participating in user groups. In 2008,
following a change in ownership, QSI decided to get rid of all their consultants outside
of Columbus, OH.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
A year of being active in the local community made it easier to find a new job and
I joined Sogeti, my current employer. While here, I’ve worked in a variety of industries
and even did my first SharePoint project. I’ve kept active in the development community,
in part as a way of expanding my own knowledge of technologies. 
&lt;/p&gt;
&lt;p&gt;
I’ve had a number of stops over the past 15 years and I’ve learned something new everywhere
I’ve been. Looking back, losing my job as an accountant was a good thing for career
and my life.&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=077ba1e8-6076-4cc8-b3e3-a80a7b310f09" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,077ba1e8-6076-4cc8-b3e3-a80a7b310f09.aspx</comments>
      <category>Soft skills</category>
      <category>Tech</category>
    </item>
    <item>
      <trackback:ping>http://www.davidgiard.com/Trackback.aspx?guid=ce7b3a23-4e3d-4aa2-9862-2a094955a058</trackback:ping>
      <pingback:server>http://www.davidgiard.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.davidgiard.com/PermaLink,guid,ce7b3a23-4e3d-4aa2-9862-2a094955a058.aspx</pingback:target>
      <dc:creator>David Giard</dc:creator>
      <wfw:comment>http://www.davidgiard.com/CommentView,guid,ce7b3a23-4e3d-4aa2-9862-2a094955a058.aspx</wfw:comment>
      <wfw:commentRss>http://www.davidgiard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=ce7b3a23-4e3d-4aa2-9862-2a094955a058</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today, I was approached by someone with a request that sounded very simple. 
She had a large Word document and she wanted to create an Excel spreadsheet in which
each cell contained the name of a section in the Word document.  A hyperlink
in each cell should open the Word document and navigate the user to the corresponding
section.
</p>
        <p>
Years ago, I did something similar using Office 97 or Office 2000, so I knew it was
possible.
</p>
        <p>
I opened the Word document and inserted a bookmark at the top of each section. 
Inserting bookmarks in Word is pretty straightforward:
</p>
        <ol>
          <li>
Select the first line of the section 
</li>
          <li>
From the menu/ribbon, select Insert Bookmark 
</li>
          <li>
In the Bookmark dialog, type a name for that bookmark.</li>
        </ol>
        <p>
          <img src="http://www.davidgiard.com/content/binary/InsertBookMark.GIF" border="0" />
        </p>
        <p>
 
</p>
        <p>
I became confused when I tried creating the hyperlinks in Excel.  Inserting a
hyperlink in Excel hasn't changed much through the versions: 
</p>
        <ol>
          <li>
Type some text in a cell 
</li>
          <li>
Select that cell 
</li>
          <li>
From the menu/ribbon, select Insert | Hyperlink 
</li>
          <li>
Find and select the file to which you want to link.</li>
        </ol>
        <p>
This is where I became confused.  The "Insert Hyperlink" dialog contains a big
button labeled "Bookmark".  Naturally I clicked this button to specify the bookmark
within the Word document.  Unfortunately, clicking the button displayed an error. 
According to Excel, Word documents don't support bookmarks, although my personal experience
and the on-line help says that they do.
</p>
        <p>
 <img src="http://www.davidgiard.com/content/binary/InsLink1.GIF" border="0" /></p>
        <p>
The secret is that you should not click the bookmark button in order to link to a
bookmarked location in a Word document.  Rather, you should append the filename
with the pound symbol ("#"), followed by the name of the bookmark to which you wish
to link.  For example, I wanted to link to a bookmark named "Section1" in a document
named "BigWordDoc.docx", so I entered "BigWordDoc.docx#Section1", as shown below.
</p>
        <p>
Apparently, the "Bookmark" button is used for cells and defined names within an Excel
document.
</p>
        <p>
   <img src="http://www.davidgiard.com/content/binary/InsLink2.GIF" border="0" /></p>
        <p>
I'm not sure if Excel's "Insert Hyperlink" dialog has changed in the last few versions,
but this strikes me as a flaw in the user interface.  The visual clues don't
help me accomplish this task - they actually took me in a different direction.
</p>
        <p>
Here is a working demo of an Excel spreadsheet with links to sections of a Word document: <a href="http://www.davidgiard.com/content/binary/OfficeLinkDemo.zip">OfficeLinkDemo.zip
(17.92 KB)</a></p>
        <img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=ce7b3a23-4e3d-4aa2-9862-2a094955a058" />
      </body>
      <title>Excel links to Word bookmarks</title>
      <guid isPermaLink="false">http://www.davidgiard.com/PermaLink,guid,ce7b3a23-4e3d-4aa2-9862-2a094955a058.aspx</guid>
      <link>http://www.davidgiard.com/2008/04/17/ExcelLinksToWordBookmarks.aspx</link>
      <pubDate>Thu, 17 Apr 2008 20:56:20 GMT</pubDate>
      <description>&lt;p&gt;
Today, I was approached by someone with a request that sounded very simple.&amp;nbsp;
She had a large Word document and she wanted to create an Excel spreadsheet in which
each cell contained the name of a section in the Word document.&amp;nbsp; A hyperlink
in each cell should open the Word document and navigate the user to the corresponding
section.
&lt;/p&gt;
&lt;p&gt;
Years ago, I did something similar using Office 97 or Office 2000, so I knew it was
possible.
&lt;/p&gt;
&lt;p&gt;
I opened the Word document and inserted a bookmark at the top of each section.&amp;nbsp;
Inserting bookmarks in Word is pretty straightforward:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Select the first line of the section 
&lt;li&gt;
From the menu/ribbon, select Insert Bookmark 
&lt;li&gt;
In the Bookmark dialog, type a name for that bookmark.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;img src="http://www.davidgiard.com/content/binary/InsertBookMark.GIF" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I became confused when I tried creating the hyperlinks in Excel.&amp;nbsp; Inserting a
hyperlink in Excel hasn't changed much through the versions: 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Type some text in a cell 
&lt;li&gt;
Select that cell 
&lt;li&gt;
From the menu/ribbon, select Insert | Hyperlink 
&lt;li&gt;
Find and select the file to which you want to link.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
This is where I became confused.&amp;nbsp; The "Insert Hyperlink" dialog contains a big
button labeled "Bookmark".&amp;nbsp; Naturally I clicked this button to specify the bookmark
within the Word document.&amp;nbsp; Unfortunately, clicking the button displayed an error.&amp;nbsp;
According to Excel, Word documents don't support bookmarks, although my personal experience
and the on-line help says that they do.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src="http://www.davidgiard.com/content/binary/InsLink1.GIF" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The secret is that you should not click the bookmark button in order to link to a
bookmarked location in a Word document.&amp;nbsp; Rather, you should append the filename
with the pound symbol ("#"), followed by the name of the bookmark to which you wish
to link.&amp;nbsp; For example, I wanted to link to a bookmark named "Section1" in a document
named "BigWordDoc.docx", so I entered "BigWordDoc.docx#Section1", as shown below.
&lt;/p&gt;
&lt;p&gt;
Apparently, the "Bookmark" button is used for cells and defined names within an Excel
document.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp; &lt;img src="http://www.davidgiard.com/content/binary/InsLink2.GIF" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
I'm not sure if Excel's "Insert Hyperlink" dialog has changed in the last few versions,
but this strikes me as a flaw in the user interface.&amp;nbsp; The visual clues don't
help me accomplish this task - they actually took me in a different direction.
&lt;/p&gt;
&lt;p&gt;
Here is a working demo of an Excel spreadsheet with links to sections of a Word document: &lt;a href="http://www.davidgiard.com/content/binary/OfficeLinkDemo.zip"&gt;OfficeLinkDemo.zip
(17.92 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.davidgiard.com/aggbug.ashx?id=ce7b3a23-4e3d-4aa2-9862-2a094955a058" /&gt;</description>
      <comments>http://www.davidgiard.com/CommentView,guid,ce7b3a23-4e3d-4aa2-9862-2a094955a058.aspx</comments>
      <category>Tech</category>
    </item>
  </channel>
</rss>