<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>C#, VB.Net, XML and mass consumption of coffee. &#187; programming</title>
	<atom:link href="http://www.paul-zubkov.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paul-zubkov.com</link>
	<description></description>
	<lastBuildDate>Wed, 03 Feb 2010 18:25:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New (at least for me) IO functions.</title>
		<link>http://www.paul-zubkov.com/2009/06/30/new-at-least-for-me-io-functions/</link>
		<comments>http://www.paul-zubkov.com/2009/06/30/new-at-least-for-me-io-functions/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 04:39:24 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.paul-zubkov.com/?p=212</guid>
		<description><![CDATA[
Well, live and learn.  This was an interesting day.  I am working on a little project right now, can&#8217;t really discuss details, and quite frankly it is nothing that I am going to be too proud of once it is done.  But this is not the point.  I had to do [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-217" title="embarrassing" src="http://www.paul-zubkov.com/wp-content/uploads/2009/06/bear.png" alt="embarrassing" width="296" height="200" /></p>
<p>Well, live and learn.  This was an interesting day.  I am working on a little project right now, can&#8217;t really discuss details, and quite frankly it is nothing that I am going to be too proud of once it is done.  But this is not the point.  I had to do some minor IO work with this and this is when I found that instead of doing stuff like:<code lang="csharp"></p>
<p>_fsCFileStream = new FileStream(sFileName, FileMode.Open, System.IO.FileAccess.Read);<br />
_srStreamReader = new StreamReader(_fsCfMCCSV, Encoding.GetEncoding(1252));</p>
<p>try<br />
{<br />
    if ((sLineIn = _srCfMCCSV.ReadLine()) == null)<br />
        //do stuff here<br />
}catch(){}<br />
</code><br />
I can simply do<br />
<code lang="csharp"><br />
File.ReadAllLines();<br />
</code></p>
<p>I guess I was stuck on .Net 1.3 for so long, I completely skipped 2.x and now 3.5 is full of surprises.  I know I am behind times, need to catch up soon.  Gone to do some reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paul-zubkov.com/2009/06/30/new-at-least-for-me-io-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizing Developer</title>
		<link>http://www.paul-zubkov.com/2009/05/15/optimizing-developer/</link>
		<comments>http://www.paul-zubkov.com/2009/05/15/optimizing-developer/#comments</comments>
		<pubDate>Fri, 15 May 2009 16:09:15 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[managing]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.paul-zubkov.com/?p=201</guid>
		<description><![CDATA[
Have you ever looked at a code that you wrote several years ago?  I have to do this all the time, after all I am working on the same application.  Not only do I do it to fix bugs, but I do it to optimize the production code.  And at times I [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-190" title="man_rain" src="http://www.paul-zubkov.com/wp-content/uploads/2009/05/man_rain.jpg" alt="man_rain" width="300" height="201" /></p>
<p>Have you ever looked at a code that you wrote several years ago?  I have to do this all the time, after all I am working on the same application.  Not only do I do it to fix bugs, but I do it to optimize the production code.  And at times I see my old code and think what was I thinking when I wrote this.   You see, with every release our main product grows, new features, core changes, you name it.  One can say that we are optimizing the software by adding things our clients ask for and this leads to optimization of code.  Optimizing your code is extremely important, normally there are few ways in which a particular problem could be solved, but if you are serious about your work, you do want to pick the most efficient way of doing things.  Many books have been written on the subject, simple Google search will produce lots of articles concerning code optimization.  Today I am not going to talk about that, instead I will talk about optimizing a developer.</p>
<p>If you are like me &#8211; doing coding full time and at times after hours, you want to achieve something which falls beyond simple financial compensation for you work.  I want to grow as a developer.  I have read somewhere that it takes roughly 10000 hours to master a task &#8211; be it musical instrument, a sport or any other activity.  I think similar thing is applied to programming.    I have been thinking of a way to apply optimization to myself, after all if my code can be optimized, why can&#8217;t the writer of the code.  Here are some principles that I have came up with.  This works for me, might not work for everyone.  Once again, just my own opinion.<span id="more-201"></span></p>
<p>So here it is &#8211; list of  things I (or you) need to know:</p>
<p><strong>Data Structures.</strong></p>
<p>Have you ever thought as to why virtually every course on a programming language begins with overview of your Data Structures.  Pick up a book on any programming languages, I guarantee you you would find explanation of some basic types as well as more complex types within first 20 pages of the book.  Why do all authors bother putting virtually same information in?  Data structures are basic building blocks.  If you don&#8217;t get the data structures, their limitation, advantages and benefits, you might as well stop coding altogether.</p>
<p><strong>Language.</strong></p>
<p>Let&#8217;s be honest, it is not that difficult to pick up a new programming language once you mastered couple.  At first all you notice is changes in syntax, for instance Ruby is much more &#8220;English&#8221; like language in my book then let&#8217;s say C.  But it goes beyond syntax and different names for your data structures.  Every language has it&#8217;s own ways of doing things, which might not seem all that obvious to a novice.  Spend time, learn tricks of the language, you will get better appreciation for the hard work authors of the language put into it.  You would also gain deeper understanding of how to solve that problem in the best possible way.</p>
<p><strong>Compiler / Interpreter.</strong></p>
<p>Compilers are mysterious pieces of code that actually make sense of what a coder is trying to accomplish.  Every compiler is different, with its own routines for optimization, process handling and so on.  I don&#8217;t think it would be fair to say that one has to become an expert on his compiler of choice, but more understanding of how your code is compiled or interpreted will give you advantage in writing this code in the most efficient manner.</p>
<p><strong>Community / Ways to solve the issues.</strong></p>
<p>One of the greatest things about internet is that it gives you access to incredible amount of resources.  Most of the time a search engine is my friend.  When I am stuck on something, I can always search for a solution and even if I can&#8217;t find the solution directly, there are always some situation that are different in many ways and could be applied to solve the issue.  Here is an example &#8211; few years ago I was stuck with a problem.  The project took about 3 month to complete, and at the end we found that one issue, which had nothing to do with data, more of a user experience absolutely prevented us from releasing the feature.  It was one of those situations where 3 month of your work is wiped out by something that you assume was so easy and obvious, but in reality was completely impossible.  Searching for the solution took about 3 weeks, I was not about to give up on 3 month of crazy coding.  I had tortured Google, developer communities, message boards, IRC channels, forums (I think I was even banned couple of times for my persistence), finally with a help of paid support we had an answer which was &#8211; &#8220;this can not be done&#8221;.  This was a total disaster, but through the communication with paid Development Support at Microsoft, the engineer that was working on the case with me, accidentally helped me solve another huge issue which was a limitation that was scaring away many potential customers.  So what happened to the project?  We found a hack to have it work, warned users not to do a certain things at certain instances.  While the original problem was not fully solved, the other huge issue was, and at the end I learned lots of new things and got to talk to many coders.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paul-zubkov.com/2009/05/15/optimizing-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GoogleLookup – this is pure awesomeness!</title>
		<link>http://www.paul-zubkov.com/2009/05/12/googlelookup-%e2%80%93-this-is-pure-awesomeness/</link>
		<comments>http://www.paul-zubkov.com/2009/05/12/googlelookup-%e2%80%93-this-is-pure-awesomeness/#comments</comments>
		<pubDate>Tue, 12 May 2009 15:02:46 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Docs]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.paul-zubkov.com/?p=176</guid>
		<description><![CDATA[At work I design and code tools that work with data.  This data is collected from various sources, mainly people who don’t mind being interrupted at dinner time when data collectors call and ask questions.  The issue with this approach in my view is that the data itself can’t be considered 100% reliable. [...]]]></description>
			<content:encoded><![CDATA[<p>At work I design and code tools that work with data.  This data is collected from various sources, mainly people who don’t mind being interrupted at dinner time when data collectors call and ask questions.  The issue with this approach in my view is that the data itself can’t be considered 100% reliable.  After all, we tend to exaggerate some aspects of our lives even in front of a complete stranger.  Human condition; makes you feel more important I guess. </p>
<p>One of the key things that analysts who work with this data are constantly looking for would be up-to-date information.  Let’s face it; some things are fluid, changing all the time.  If you would want to keep track of the population of a major city, lets say New York, how would you go about doing it?  Keep on updating the data manually as new results come in?  Have an intern whose job it would be to check daily if those numbers have changed?  Well, if you can afford interns, then I guess you can afford some kind of integrated system build based on latest statistical data, but what about the rest of us?</p>
<p>Ever changing data is what sets apart current information from outdated.  Consider that some heavy decisions are based on this data; I would imagine that it is important to always be up-to-speed.  I am not going to say that GoogleLookup is THE solution, it is A solution, but this is a step in the right direction.  Makes me want to consider giving Google Docs another look, despite the worries I have about having my documents indexed.</p>
<p>To me things like that are what make on-line based office solutions more attractive to businesses and simple users. <a href="http://docs.google.com/support/bin/answer.py?hl=en&#038;answer=54199" target="_blank"> Have a look at documentation, try this for yourself </a>– all I can say, I am thoroughly impressed.  For complete list of functions click <a href="http://docs.google.com/support/bin/answer.py?hl=en&#038;answer=82712" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paul-zubkov.com/2009/05/12/googlelookup-%e2%80%93-this-is-pure-awesomeness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Holidays are fast approaching.</title>
		<link>http://www.paul-zubkov.com/2008/12/17/holidays-are-fast-approaching/</link>
		<comments>http://www.paul-zubkov.com/2008/12/17/holidays-are-fast-approaching/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 18:01:40 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[9-5]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Rosetta]]></category>

		<guid isPermaLink="false">http://www.paul-zubkov.com/?p=125</guid>
		<description><![CDATA[
It has been a while since I written anything here, I&#8217;d like to tell myself that I am just busy and not procrastinating, but that would not be true.  I do find time to watch House, so there is no excuse.  On the other side, I am very busy.  At work we [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.paul-zubkov.com/wp-content/uploads/2008/12/winter_lake.jpg" alt="winter_lake" title="winter_lake" width="300" height="200" class="alignnone size-full wp-image-126" /><br />
It has been a while since I written anything here, I&#8217;d like to tell myself that I am just busy and not procrastinating, but that would not be true.  I do find time to watch House, so there is no excuse.  On the other side, I am very busy.  At work we are rolling out a new project, well it is not completely new, but in it&#8217;s old form, the project was not used at all, had too many bugs and looked like garbage.  Have to say that we are on the final phase of the project, will release a beta version soon.  </p>
<p>This would be the first time we used an external GUI dll, and I am quite happy with results.  <a href="http://www.devcomponents.com/dotnetbar/">DotNetBar</a> is a great library, and I am positive that we will use it for all our user interfaces; after all, when you have more then one app and all of those have a different look to them, kind of makes you want to re-work it all.  That&#8217;s what we are doing presently.  </p>
<p>New version of Rosetta is coming out soon too, everyone worked hard, and it feels like we are all burned out right before holidays, at least we will have few days to relax and get into the holiday spirit before going back to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paul-zubkov.com/2008/12/17/holidays-are-fast-approaching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are changes good for you?</title>
		<link>http://www.paul-zubkov.com/2008/10/30/are-changes-good-for-you/</link>
		<comments>http://www.paul-zubkov.com/2008/10/30/are-changes-good-for-you/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 18:48:41 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[9-5]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[changes]]></category>
		<category><![CDATA[managing]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.paul-zubkov.com/?p=92</guid>
		<description><![CDATA[
I have been told many many times that changes are supposed to be good for you (or me, since it&#8217;s my situation that we are looking into).  I have been a coder for quite some time now.  I can&#8217;t say that I am absolutely ecstatic about programming.  It does not influence my [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.paul-zubkov.com/wp-content/uploads/2008/10/chairs.jpg"><img class="alignnone size-medium wp-image-97" title="chairs" src="http://www.paul-zubkov.com/wp-content/uploads/2008/10/chairs-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>I have been told many many times that changes are supposed to be good for you (or me, since it&#8217;s my situation that we are looking into).  I have been a coder for quite some time now.  I can&#8217;t say that I am absolutely ecstatic about programming.  It does not influence my life outside of my office hours and time that I spent at home trying desperately to improve myself.  For instance, I don&#8217;t watch Star Trek or build some kind of crazy contraptions which could loosely be called a robot in my basement, although come to think of it, that sounds like a good idea; the robot one, not the Star Trek.  I don&#8217;t wear nerdy t-shirts with BSOD on it.  I am not participating in heated discussions like &#8220;My IDE is bigger then yours!&#8221; and &#8220;My OS can kick your OS&#8217;s butt&#8221; and so on.  I can&#8217;t say that coding is my passion, it is something I am interested in and it pays my bills.  Another factor would be my formal training &#8211; I have some in development, but as for the other areas I can&#8217;t say that I am properly trained.  Lately something had changed in my work &#8211; I am doing more managerial things then coding.<span id="more-92"></span></p>
<p>When I realized for the first time that this was happening to me, an image of a Pointy Haired Boss came to my mind.  I quickly dismissed it, since I got most of my hair intact and there is no boldness that runs in my family.  But I assured myself that I will keep on coding despite the changes.  It becomes more and more difficult with every day.  I still see a lot of code written by the developers on my team, I get to answer whole bunch of questions from developers as to how should they proceed with their task.  At times it makes me want to ask them if google is down, but that&#8217;s not the point.  Even when I get a chance to code, I have to give projects that interests me to some other people.  These projects are more complex, take more time and require full concentration, and simply put, I can&#8217;t guarantee that I will be able to give these thing time and effort they deserve.</p>
<p>I&#8217;ve tried coding for myself &#8211; invent some little projects and making them happen &#8211; these things simply don&#8217;t work for me.  I guess there is no pressure, no drive and ultimately no purpose other then to stay afloat.  I still read about programming and related fields, and I read a lot, but it will never substitute the real deal &#8211; getting down and writing real life code, with all the stress, cursing, coffee spills and the rest.</p>
<p>To be honest, I miss the programming part of my job, but I still can give an honest question to that answer &#8211; &#8221; Are changes good for you?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paul-zubkov.com/2008/10/30/are-changes-good-for-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
