<?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>Where did the time go? - blog</title>
    <link>http://blog.j-maxx.net/</link>
    <description>Brain Powered</description>
    <language>en-us</language>
    <copyright>Jeff Klawiter</copyright>
    <lastBuildDate>Fri, 24 Oct 2008 15:25:44 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.8102.813</generator>
    <managingEditor>Jeff.Klawiter@sierra-bravo.com</managingEditor>
    <webMaster>Jeff.Klawiter@sierra-bravo.com</webMaster>
    <item>
      <trackback:ping>http://blog.j-maxx.net/Trackback.aspx?guid=1da60d75-703c-48ff-bd8b-334ca7aaaa25</trackback:ping>
      <pingback:server>http://blog.j-maxx.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.j-maxx.net/PermaLink,guid,1da60d75-703c-48ff-bd8b-334ca7aaaa25.aspx</pingback:target>
      <dc:creator>Jeff Klawiter</dc:creator>
      <wfw:comment>http://blog.j-maxx.net/CommentView,guid,1da60d75-703c-48ff-bd8b-334ca7aaaa25.aspx</wfw:comment>
      <wfw:commentRss>http://blog.j-maxx.net/SyndicationService.asmx/GetEntryCommentsRss?guid=1da60d75-703c-48ff-bd8b-334ca7aaaa25</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">So today I was tasked with helping a client
move an old custom VB6 app to a new Windows 2003 server. The company that created
it was asking for an arm and a leg for a simple transfer. After we moved the entire
program directory over everything seemed to be fine until we encountered an "ActiveX
component can't create object" error. I was perplexed on how to track down the issue.
There were not accompanying DLLs or OCX files. I tried Process Explorer to see if
I could find any failed openings and the strings contained in the exe. 
<br /><br />
After some searching on the net I found this lovely page <a href="http://www.cryer.co.uk/brian/windows/trbl_nt_axccco.htm">http://www.cryer.co.uk/brian/windows/trbl_nt_axccco.htm</a> .
It details on how to use <a href="http://technet.microsoft.com/en-us/sysinternals/bb896652.aspx">Sysinternals
Regmon</a> to track down issues with failed ActiveX creation. Basicall you watch your
program for registery key openings and look for any failed opens in the HKCR/Classes
path. After running the program and encountering the error I found it. 
<br />
HCKR\Classes\cdonts<br /><br />
When I saw that come up I immediately knew what to do. cdonts is no longer included
with windows server. It is an emailing library using cdo. I've had to install it on
new Windows 2003 servers more than once so old ASP classic sites could run. All I
needed to do after figuring it out was copy the cdonts.dll over to the C:\windows\system32\
directory and run regsvr32 on it. Everything was golden. 
<br /><br />
I've been using <a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx">Sysinternals</a> for
years. I'm always amazed at what new ways I can use their utilities to track down
issues. <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">Process
Explorer</a> has been a godsend for me over the years. After discovering it, removing
malware from computers took me less than half the time it used to. It gives me so
much information I'm not sure how I got by without it.<br /><br />
The Sysinternals Suite is a must have for any serious windows programmer or administrator.
It ranges from programs to monitor network connections to being able to see and suspend
individual threads in a program. 
<br /><p></p><img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=1da60d75-703c-48ff-bd8b-334ca7aaaa25" /></body>
      <title>Windows Troubleshooting Tip of the Day: Failed ActiveX object creation</title>
      <guid isPermaLink="false">http://blog.j-maxx.net/PermaLink,guid,1da60d75-703c-48ff-bd8b-334ca7aaaa25.aspx</guid>
      <link>http://blog.j-maxx.net/2008/10/24/WindowsTroubleshootingTipOfTheDayFailedActiveXObjectCreation.aspx</link>
      <pubDate>Fri, 24 Oct 2008 15:25:44 GMT</pubDate>
      <description>So today I was tasked with helping a client move an old custom VB6 app to a new Windows 2003 server. The company that created it was asking for an arm and a leg for a simple transfer. After we moved the entire program directory over everything seemed to be fine until we encountered an "ActiveX component can't create object" error. I was perplexed on how to track down the issue. There were not accompanying DLLs or OCX files. I tried Process Explorer to see if I could find any failed openings and the strings contained in the exe. &lt;br&gt;
&lt;br&gt;
After some searching on the net I found this lovely page &lt;a href="http://www.cryer.co.uk/brian/windows/trbl_nt_axccco.htm"&gt;http://www.cryer.co.uk/brian/windows/trbl_nt_axccco.htm&lt;/a&gt; .
It details on how to use &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896652.aspx"&gt;Sysinternals
Regmon&lt;/a&gt; to track down issues with failed ActiveX creation. Basicall you watch your
program for registery key openings and look for any failed opens in the HKCR/Classes
path. After running the program and encountering the error I found it. 
&lt;br&gt;
HCKR\Classes\cdonts&lt;br&gt;
&lt;br&gt;
When I saw that come up I immediately knew what to do. cdonts is no longer included
with windows server. It is an emailing library using cdo. I've had to install it on
new Windows 2003 servers more than once so old ASP classic sites could run. All I
needed to do after figuring it out was copy the cdonts.dll over to the C:\windows\system32\
directory and run regsvr32 on it. Everything was golden. 
&lt;br&gt;
&lt;br&gt;
I've been using &lt;a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx"&gt;Sysinternals&lt;/a&gt; for
years. I'm always amazed at what new ways I can use their utilities to track down
issues. &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;Process
Explorer&lt;/a&gt; has been a godsend for me over the years. After discovering it, removing
malware from computers took me less than half the time it used to. It gives me so
much information I'm not sure how I got by without it.&lt;br&gt;
&lt;br&gt;
The Sysinternals Suite is a must have for any serious windows programmer or administrator.
It ranges from programs to monitor network connections to being able to see and suspend
individual threads in a program. 
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=1da60d75-703c-48ff-bd8b-334ca7aaaa25" /&gt;</description>
      <comments>http://blog.j-maxx.net/CommentView,guid,1da60d75-703c-48ff-bd8b-334ca7aaaa25.aspx</comments>
      <category>blog</category>
    </item>
    <item>
      <trackback:ping>http://blog.j-maxx.net/Trackback.aspx?guid=5b0a348b-9f98-4706-b1c1-21bc9a1338cb</trackback:ping>
      <pingback:server>http://blog.j-maxx.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.j-maxx.net/PermaLink,guid,5b0a348b-9f98-4706-b1c1-21bc9a1338cb.aspx</pingback:target>
      <dc:creator>Jeff Klawiter</dc:creator>
      <wfw:comment>http://blog.j-maxx.net/CommentView,guid,5b0a348b-9f98-4706-b1c1-21bc9a1338cb.aspx</wfw:comment>
      <wfw:commentRss>http://blog.j-maxx.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5b0a348b-9f98-4706-b1c1-21bc9a1338cb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Well Code Camp 5 is in the bag. It was
a large turn out and many great talks. My talk however drew no interest. Oh well,
I tried and will try again. I'm thinking of making my post about <a href="http://blog.j-maxx.net/2008/08/23/LINQRefactoringInlineInstantiation.aspx">LINQ
and Refactoring</a> into a talk.<br /><br />
The talks I went to:<br /><a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s3">The Intersection
of F# and LINQ</a><br />
This was a great talk about how F# takes LINQ and adds much more value to it with
it's functional nature. The demonstration was a ray tracer that used LINQ to build
up all of the reflected pixels. It was quite impressive. Combine it with the Arc talk
and I am now very interested in Functional programming.<br /><br /><a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s11">The Arc
Programming Language</a><br />
I had seen this talk a few days earlier. The speaker was hilarious and did a great
job of bringing excitement back to lisp. Arc is a new dialect of Lisp that aims to
cut down on parenthesis and add shorthand for common operations. He added objects
to Arc with six lines of code, quite impressive.<br /><br /><a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s8">BOO! A
Wrist-Friendly Language for the CLI</a><br />
BOO! is a another language along the lines of Lisp where it can redefine parts of
itself through macros. The difference is it is statically typed like C#. It does offer
quite a bit of reduction in code written. The presenter Justin Chase did a good job
showing many aspects of the language. I also won a shirt for figuring out that the
mystery function was calculating a fibonocci sequence. The code for it was quite cool,
a,b = b + a or something like that.<br /><br /><a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s18">Building
MyTube with Microsoft Silverlight 2</a><br />
Jeff Brand from Microsoft was giving this talk. It was a basic overview on SilverLight,
the purpose for it and how to implement a simple youtube interface. I didn't stay
for the entire thing, I had to go get ready for my talk. 
<br /><br />
My talk "Pick/Multivalue 101"<br />
No one that was interested showed. Not that I was surprised but still a bit disappointed. 
While giving the talk at my work we had over 15 people show. One of my co-workers
showed and the other guy that showed was just looking for a place to sit. So instead
we talked about LINQ, customized programming in Linux and a bit about Multivalue<br /><br />
I went to the speakers after party, got to gossip with some people from Magenic. Learned
that Justin Chase left Magenic a few weeks ago to work on the Blend team at MS. He's
a lucky guy and seemed rather excited for the features they are working on that he
can't talk about. I'm sure some of them may come up soon at PDC. I did hear some gossip
earlier in the day that SilverLight 2 RTM is going to be released as early as tomorrow
(Oct 13th). 
<br /><p><br /></p><p></p><img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=5b0a348b-9f98-4706-b1c1-21bc9a1338cb" /></body>
      <title>Twin Cities Code Camp 5: Over and Out</title>
      <guid isPermaLink="false">http://blog.j-maxx.net/PermaLink,guid,5b0a348b-9f98-4706-b1c1-21bc9a1338cb.aspx</guid>
      <link>http://blog.j-maxx.net/2008/10/12/TwinCitiesCodeCamp5OverAndOut.aspx</link>
      <pubDate>Sun, 12 Oct 2008 17:59:53 GMT</pubDate>
      <description>Well Code Camp 5 is in the bag. It was a large turn out and many great
talks. My talk however drew no interest. Oh well, I tried and will try
again. I'm thinking of making my post about &lt;a href="http://blog.j-maxx.net/2008/08/23/LINQRefactoringInlineInstantiation.aspx"&gt;LINQ
and Refactoring&lt;/a&gt; into a talk.&lt;br&gt;
&lt;br&gt;
The talks I went to:&lt;br&gt;
&lt;a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s3"&gt;The Intersection
of F# and LINQ&lt;/a&gt;
&lt;br&gt;
This was a great talk about how F# takes LINQ and adds much more value to it with
it's functional nature. The demonstration was a ray tracer that used LINQ to build
up all of the reflected pixels. It was quite impressive. Combine it with the Arc talk
and I am now very interested in Functional programming.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s11"&gt;The Arc
Programming Language&lt;/a&gt;
&lt;br&gt;
I had seen this talk a few days earlier. The speaker was hilarious and did a great
job of bringing excitement back to lisp. Arc is a new dialect of Lisp that aims to
cut down on parenthesis and add shorthand for common operations. He added objects
to Arc with six lines of code, quite impressive.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s8"&gt;BOO! A
Wrist-Friendly Language for the CLI&lt;/a&gt;
&lt;br&gt;
BOO! is a another language along the lines of Lisp where it can redefine parts of
itself through macros. The difference is it is statically typed like C#. It does offer
quite a bit of reduction in code written. The presenter Justin Chase did a good job
showing many aspects of the language. I also won a shirt for figuring out that the
mystery function was calculating a fibonocci sequence. The code for it was quite cool,
a,b = b + a or something like that.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx#s18"&gt;Building
MyTube with Microsoft Silverlight 2&lt;/a&gt;
&lt;br&gt;
Jeff Brand from Microsoft was giving this talk. It was a basic overview on SilverLight,
the purpose for it and how to implement a simple youtube interface. I didn't stay
for the entire thing, I had to go get ready for my talk. 
&lt;br&gt;
&lt;br&gt;
My talk "Pick/Multivalue 101"&lt;br&gt;
No one that was interested showed. Not that I was surprised but still a bit disappointed.&amp;nbsp;
While giving the talk at my work we had over 15 people show. One of my co-workers
showed and the other guy that showed was just looking for a place to sit. So instead
we talked about LINQ, customized programming in Linux and a bit about Multivalue&lt;br&gt;
&lt;br&gt;
I went to the speakers after party, got to gossip with some people from Magenic. Learned
that Justin Chase left Magenic a few weeks ago to work on the Blend team at MS. He's
a lucky guy and seemed rather excited for the features they are working on that he
can't talk about. I'm sure some of them may come up soon at PDC. I did hear some gossip
earlier in the day that SilverLight 2 RTM is going to be released as early as tomorrow
(Oct 13th). 
&lt;br&gt;
&lt;p&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=5b0a348b-9f98-4706-b1c1-21bc9a1338cb" /&gt;</description>
      <comments>http://blog.j-maxx.net/CommentView,guid,5b0a348b-9f98-4706-b1c1-21bc9a1338cb.aspx</comments>
      <category>blog</category>
    </item>
    <item>
      <trackback:ping>http://blog.j-maxx.net/Trackback.aspx?guid=bfe03fc5-0729-4833-914a-e2f93b416d48</trackback:ping>
      <pingback:server>http://blog.j-maxx.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.j-maxx.net/PermaLink,guid,bfe03fc5-0729-4833-914a-e2f93b416d48.aspx</pingback:target>
      <dc:creator>Jeff Klawiter</dc:creator>
      <wfw:comment>http://blog.j-maxx.net/CommentView,guid,bfe03fc5-0729-4833-914a-e2f93b416d48.aspx</wfw:comment>
      <wfw:commentRss>http://blog.j-maxx.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bfe03fc5-0729-4833-914a-e2f93b416d48</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Being a developer is one of the luckiest
professions in the world. Just take a minute and think about this: How many professions
out there are you paid to learn? Seriously, if we wish to succeed we must learn. Many
times we need to learn during the project. We are given the opportunity and often
encouraged to learn new ways of doing something, come up with innovative ideas, implement
new technologies. Many companies offer compensation for developers to get certified,
keep up, to learn. I've also found that many of the people I know that went to college
for CS came out ill prepared for the real development world.<br /><br />
I was lucky in some ways. I got a job running websites during high school, I was paid
to learn and mature as a programming. I wasn't lucky that pay sucked and I had to
get food from charity at times. But there was always being able to learn on the job
and the outlook that real developers jobs paid very well. 
<br /><br />
Over the years as I've matured as a developer I've learned quite a lot. I strive to
keep on learning, branching out into new areas. I've found that my inner urge to learn
is also what has allowed me to succeed. Below are some of my tips to being a successful
programmer<br /><br /><h2>Be passionate
</h2>
The one thing I've seen in every great developer I've ever met is passion. Passion
for the job, passion for learning, passion for being challenged. There is no way to
improve without having a need for it. If being a developer is just a job, just a way
to make money, I'm sorry but you should find something else to do. I've seen many
developers that have that attitude and they just don't make it. They make mistakes
and never learn from them, they have difficulties completing anything on time, and
wind up getting fired quite a bit.<br /><br /><h2>Never be afraid to try something new
</h2>
While sometimes it's hard to break out of things you know that work, learning that
things can/cannot be done another way expands your experience and keeps your mind
trying to work outside the box.<br /><h2>Keep up with the Joneses
</h2>
This one can be very hard if you have a full schedule. But trying to keep up with
the new technologies will expose you to new ideas, new ways of tackling problems.
One cannot grow if one does not see another way.<br /><br /><h2>Pursue certifications
</h2>
Some people see certifications as a croc. They see that lots of tech schools teach
for the test and thats it. I can understand that. I have persued certifications as
a professional goal. Going through the MCTS certifications for ASP.NET and Winforms
has exposed me to many things I probably wouldn't have known about in .NET. I try
to read through the entire training kit books MS puts out for the certifications. 
<br /><br />
Gaining the certifications are also good for ones ego. Having the goal to set out
and earn the certification can keep you discleplined and give you a sense of accomplishment.
It's something you can show your bosses and peers that you do indeed know what you're
talking about. It gives you more bargaining power when negotiating a raise or looking
for a new job. While some may not help you as much as you'd hope, having both real
world experience and certifications can be a 1-2 combo.<br /><br />
Microsoft's certification track is the best I've seen. You can start out by getting
Technological specific certifications with the MCTS series. You can get just certified
in ASP.NET, Windows Applications, Windows Mobile.. and on. Then you can expand on
those with Professional certifications with the MCPD's. These ones include application
lifecycle components. Professional ways of breaking down an application into logical,
component and class diagrams to implementation of architectures and finishing with
deployment and maintenance. 
<br /><br /><h2>Learn new languages 
</h2>
This one can be hard for people that only use one language at work. Learning a new
language again helps you get exposed to new ideas and ways of tackling problems. 
<br /><br />
The hardest thing is actually finding something to do in that language to learn it.
I've found that the best way is to have something you implement in every language.
Whether it's some tool you've developed or a little game. I had the Al Bhed translator.
I originally developed it in PHP to help me out with the game Final Fantasy 10. I
then tried doing it in JavaScript, then Java, then C++, XUL (firefox extension) and
then in C#.NET Winform. It gave me a common goal in each of the languages and forced
me to find out how to do it in each one. They all had their own strengths and weaknesses.
PHP's Array functions made some of it very easy to implement, where javascript was
a bit clunky. C# wasn't as elegant as the PHP but it was much faster in execution.<br /><br />
Try to find languages that have a different goal than just another application. Languages
like F# for example. While it's possible to write every day applications with it,
it's real power lies in analyzing and transforming data. Learning it opens up a world
of mathmatics in new ways.<br /><br /><h2>Learn new platforms  
</h2>
Simply this means do not just be a web developer or an application developer. Continuously
expanding the platforms you know can increase your understanding of how other people
develop. I started out as a web programmer and over the years I've written programs
for the commandline, windows services, web services, mobile phones, automated scripts,
desktop applications, rich internet apps (flash, silverlight), dynamic web sites and
more. I'm currently picking up XNA and trying to learn what programming a game is
like. I'm learning a newfound respect for game programmers.<br /><br /><h2>Seek out challenges 
</h2>
If your current job is not challenging you find a way to be challenged. Sometimes
even playing around things outside of work is enough. Go to your boss and see if theres
ways you can increase your workload, or get into more complex projects. Express an
interest in new things. If you are stuck at a job where that is impossible, I recommend
it may be time to look elsewhere. Get some certifications and new skills under your
belt and start looking. There are some great tech jobs out there, good places to find
a place to be challenged are in start ups or smaller custom software companies. Places
like where I work at, Sierra Bravo. When I joined I had 6 years experience but still
would consider myself a novice programmer. Within the next year I worked on more than
20 projects, on many platforms and felt like I had finally become a professional developer.<br /><br />
Now being on the verge of 4 years later I feel like I'm an accomplished developer,
I'm able to start incorporating more advanced concepts in to my projects. I can see
a much larger picture. As the years have gone on the scope of the picture I can see
has expanded. I once could only see the single web page I was working on. Then I was
able to start understanding the system of web pages I would design. I then started
graduating onto being able to write a complete web site. That is when I decided that
desktop applications were next. The scope expanded to understanding state, threads,
and desktop experience. My first applications were cluttered, did not have much for
layers. I started to learn more about the concept of breaking out applications into
libraries and layers. These days I've graduated to an architect that can take the
project proposal. Break it down to sections, logical components and build the applications
architecture. Define the database, the data layers, the data objects and the front
end. I can incorporate n-tier designs, abstract out business logic to a web service.
Write API's that work for websites as well as windows mobile.<br /><br />
Really it all boils down to is: Have passion for your job, passion to learn new things
and keep yourself challenged. Never be afraid to learn new skills. In this day an
age a developer needs to know more than just one platform. They need to understand
a larger scope to make it.<br /><br /><p></p><img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=bfe03fc5-0729-4833-914a-e2f93b416d48" /></body>
      <title>Advice: How to be a successful developer</title>
      <guid isPermaLink="false">http://blog.j-maxx.net/PermaLink,guid,bfe03fc5-0729-4833-914a-e2f93b416d48.aspx</guid>
      <link>http://blog.j-maxx.net/2008/09/29/AdviceHowToBeASuccessfulDeveloper.aspx</link>
      <pubDate>Mon, 29 Sep 2008 21:28:37 GMT</pubDate>
      <description>Being a developer is one of the luckiest professions in the world. Just take a minute and think about this: How many professions out there are you paid to learn? Seriously, if we wish to succeed we must learn. Many times we need to learn during the project. We are given the opportunity and often encouraged to learn new ways of doing something, come up with innovative ideas, implement new technologies. Many companies offer compensation for developers to get certified, keep up, to learn. I've also found that many of the people I know that went to college for CS came out ill prepared for the real development world.&lt;br&gt;
&lt;br&gt;
I was lucky in some ways. I got a job running websites during high school, I was paid
to learn and mature as a programming. I wasn't lucky that pay sucked and I had to
get food from charity at times. But there was always being able to learn on the job
and the outlook that real developers jobs paid very well. 
&lt;br&gt;
&lt;br&gt;
Over the years as I've matured as a developer I've learned quite a lot. I strive to
keep on learning, branching out into new areas. I've found that my inner urge to learn
is also what has allowed me to succeed. Below are some of my tips to being a successful
programmer&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Be passionate
&lt;/h2&gt;
The one thing I've seen in every great developer I've ever met is passion. Passion
for the job, passion for learning, passion for being challenged. There is no way to
improve without having a need for it. If being a developer is just a job, just a way
to make money, I'm sorry but you should find something else to do. I've seen many
developers that have that attitude and they just don't make it. They make mistakes
and never learn from them, they have difficulties completing anything on time, and
wind up getting fired quite a bit.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Never be afraid to try something new
&lt;/h2&gt;
While sometimes it's hard to break out of things you know that work, learning that
things can/cannot be done another way expands your experience and keeps your mind
trying to work outside the box.&lt;br&gt;
&lt;h2&gt;Keep up with the Joneses
&lt;/h2&gt;
This one can be very hard if you have a full schedule. But trying to keep up with
the new technologies will expose you to new ideas, new ways of tackling problems.
One cannot grow if one does not see another way.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Pursue certifications
&lt;/h2&gt;
Some people see certifications as a croc. They see that lots of tech schools teach
for the test and thats it. I can understand that. I have persued certifications as
a professional goal. Going through the MCTS certifications for ASP.NET and Winforms
has exposed me to many things I probably wouldn't have known about in .NET. I try
to read through the entire training kit books MS puts out for the certifications. 
&lt;br&gt;
&lt;br&gt;
Gaining the certifications are also good for ones ego. Having the goal to set out
and earn the certification can keep you discleplined and give you a sense of accomplishment.
It's something you can show your bosses and peers that you do indeed know what you're
talking about. It gives you more bargaining power when negotiating a raise or looking
for a new job. While some may not help you as much as you'd hope, having both real
world experience and certifications can be a 1-2 combo.&lt;br&gt;
&lt;br&gt;
Microsoft's certification track is the best I've seen. You can start out by getting
Technological specific certifications with the MCTS series. You can get just certified
in ASP.NET, Windows Applications, Windows Mobile.. and on. Then you can expand on
those with Professional certifications with the MCPD's. These ones include application
lifecycle components. Professional ways of breaking down an application into logical,
component and class diagrams to implementation of architectures and finishing with
deployment and maintenance. 
&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Learn new languages 
&lt;/h2&gt;
This one can be hard for people that only use one language at work. Learning a new
language again helps you get exposed to new ideas and ways of tackling problems. 
&lt;br&gt;
&lt;br&gt;
The hardest thing is actually finding something to do in that language to learn it.
I've found that the best way is to have something you implement in every language.
Whether it's some tool you've developed or a little game. I had the Al Bhed translator.
I originally developed it in PHP to help me out with the game Final Fantasy 10. I
then tried doing it in JavaScript, then Java, then C++, XUL (firefox extension) and
then in C#.NET Winform. It gave me a common goal in each of the languages and forced
me to find out how to do it in each one. They all had their own strengths and weaknesses.
PHP's Array functions made some of it very easy to implement, where javascript was
a bit clunky. C# wasn't as elegant as the PHP but it was much faster in execution.&lt;br&gt;
&lt;br&gt;
Try to find languages that have a different goal than just another application. Languages
like F# for example. While it's possible to write every day applications with it,
it's real power lies in analyzing and transforming data. Learning it opens up a world
of mathmatics in new ways.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Learn new platforms&amp;nbsp; 
&lt;/h2&gt;
Simply this means do not just be a web developer or an application developer. Continuously
expanding the platforms you know can increase your understanding of how other people
develop. I started out as a web programmer and over the years I've written programs
for the commandline, windows services, web services, mobile phones, automated scripts,
desktop applications, rich internet apps (flash, silverlight), dynamic web sites and
more. I'm currently picking up XNA and trying to learn what programming a game is
like. I'm learning a newfound respect for game programmers.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Seek out challenges 
&lt;/h2&gt;
If your current job is not challenging you find a way to be challenged. Sometimes
even playing around things outside of work is enough. Go to your boss and see if theres
ways you can increase your workload, or get into more complex projects. Express an
interest in new things. If you are stuck at a job where that is impossible, I recommend
it may be time to look elsewhere. Get some certifications and new skills under your
belt and start looking. There are some great tech jobs out there, good places to find
a place to be challenged are in start ups or smaller custom software companies. Places
like where I work at, Sierra Bravo. When I joined I had 6 years experience but still
would consider myself a novice programmer. Within the next year I worked on more than
20 projects, on many platforms and felt like I had finally become a professional developer.&lt;br&gt;
&lt;br&gt;
Now being on the verge of 4 years later I feel like I'm an accomplished developer,
I'm able to start incorporating more advanced concepts in to my projects. I can see
a much larger picture. As the years have gone on the scope of the picture I can see
has expanded. I once could only see the single web page I was working on. Then I was
able to start understanding the system of web pages I would design. I then started
graduating onto being able to write a complete web site. That is when I decided that
desktop applications were next. The scope expanded to understanding state, threads,
and desktop experience. My first applications were cluttered, did not have much for
layers. I started to learn more about the concept of breaking out applications into
libraries and layers. These days I've graduated to an architect that can take the
project proposal. Break it down to sections, logical components and build the applications
architecture. Define the database, the data layers, the data objects and the front
end. I can incorporate n-tier designs, abstract out business logic to a web service.
Write API's that work for websites as well as windows mobile.&lt;br&gt;
&lt;br&gt;
Really it all boils down to is: Have passion for your job, passion to learn new things
and keep yourself challenged. Never be afraid to learn new skills. In this day an
age a developer needs to know more than just one platform. They need to understand
a larger scope to make it.&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=bfe03fc5-0729-4833-914a-e2f93b416d48" /&gt;</description>
      <comments>http://blog.j-maxx.net/CommentView,guid,bfe03fc5-0729-4833-914a-e2f93b416d48.aspx</comments>
      <category>blog</category>
    </item>
    <item>
      <trackback:ping>http://blog.j-maxx.net/Trackback.aspx?guid=2b5ef859-07f3-4260-8658-402c2b79c799</trackback:ping>
      <pingback:server>http://blog.j-maxx.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.j-maxx.net/PermaLink,guid,2b5ef859-07f3-4260-8658-402c2b79c799.aspx</pingback:target>
      <dc:creator>Jeff Klawiter</dc:creator>
      <wfw:comment>http://blog.j-maxx.net/CommentView,guid,2b5ef859-07f3-4260-8658-402c2b79c799.aspx</wfw:comment>
      <wfw:commentRss>http://blog.j-maxx.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2b5ef859-07f3-4260-8658-402c2b79c799</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Well I've been working on the new theme
for the blog. I have been co-opting the theme from j-maxx.net since it's about the
only decent theme I've ever done before. It looks bad in IE due to dashed borders
having white space inbetween the dashes instead of the background color. 
<br /><br />
For some background on the blog. I chose <a href="http://www.dasblog.info/">dasBlog</a> as
my software due to it having web services built in and has a user base of programmers
I look up to. That being said it was originally .NET 1.1 software and the design is
getting a bit annoying in some aspects. I'm looking at adding a better <a href="http://code.google.com/p/syntaxhighlighter/">syntax
highlighter</a>, but adding it so it shows up in all the themes is not straightforward.
I may just remove the other themes and only allow this one to simplify things. 
<br /><br />
I've also noticed that blogs edited after the date they were posted do not show up
when you click on the date their were posted in the calendar. I'll have to track that
bug down. 
<br /><br />
All in all it was pretty quick and easy to get the blog up and running. Designing
the theme was very easy as well. They did a great job at allowing users to separate
design from logic. I'm going to delve more into the templating system to figure out
how they did it.<br /><p></p><img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=2b5ef859-07f3-4260-8658-402c2b79c799" /></body>
      <title>Updates</title>
      <guid isPermaLink="false">http://blog.j-maxx.net/PermaLink,guid,2b5ef859-07f3-4260-8658-402c2b79c799.aspx</guid>
      <link>http://blog.j-maxx.net/2008/06/27/Updates.aspx</link>
      <pubDate>Fri, 27 Jun 2008 12:58:48 GMT</pubDate>
      <description>Well I've been working on the new theme for the blog. I have been co-opting the theme from j-maxx.net since it's about the only decent theme I've ever done before. It looks bad in IE due to dashed borders having white space inbetween the dashes instead of the background color. &lt;br&gt;
&lt;br&gt;
For some background on the blog. I chose &lt;a href="http://www.dasblog.info/"&gt;dasBlog&lt;/a&gt; as
my software due to it having web services built in and has a user base of programmers
I look up to. That being said it was originally .NET 1.1 software and the design is
getting a bit annoying in some aspects. I'm looking at adding a better &lt;a href="http://code.google.com/p/syntaxhighlighter/"&gt;syntax
highlighter&lt;/a&gt;, but adding it so it shows up in all the themes is not straightforward.
I may just remove the other themes and only allow this one to simplify things. 
&lt;br&gt;
&lt;br&gt;
I've also noticed that blogs edited after the date they were posted do not show up
when you click on the date their were posted in the calendar. I'll have to track that
bug down. 
&lt;br&gt;
&lt;br&gt;
All in all it was pretty quick and easy to get the blog up and running. Designing
the theme was very easy as well. They did a great job at allowing users to separate
design from logic. I'm going to delve more into the templating system to figure out
how they did it.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.j-maxx.net/aggbug.ashx?id=2b5ef859-07f3-4260-8658-402c2b79c799" /&gt;</description>
      <comments>http://blog.j-maxx.net/CommentView,guid,2b5ef859-07f3-4260-8658-402c2b79c799.aspx</comments>
      <category>blog</category>
    </item>
  </channel>
</rss>