<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Only Passionate People Win : Programming</title><link>http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx</link><description>Tags: Programming</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>How much RAD would annoy you?</title><link>http://blogs.msdn.com/youngjoo/archive/2006/04/26/583911.aspx</link><pubDate>Wed, 26 Apr 2006 10:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:583911</guid><dc:creator>youngjoo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/583911.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=583911</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://codebetter.com/blogs/peter.van.ooijen/default.aspx"&gt;Peter van Ooijen&lt;/A&gt; @ &lt;A href="http://www.codebetter.com"&gt;Codebetter.com&lt;/A&gt; talked about &lt;A href="http://codebetter.com/blogs/peter.van.ooijen/archive/2006/04/25/143308.aspx"&gt;RAD experience in Visual Studio 2005&lt;/A&gt;.&amp;nbsp; He does a great job of highlighting useful features and also provide gotchas that developers should be aware of.&amp;nbsp; By the way, if your job involves&amp;nbsp;writing software&amp;nbsp;and if you are not subscribed to Codebetter.com's RSS feed, now is a great time to do it.&amp;nbsp; It's full of great tips and discussions that every software developers should read.&lt;/P&gt;
&lt;P&gt;My team is currently in a final planning phase for Orcas (next version of Visual Studio).&amp;nbsp; Since Orcas is no different from other software projects, there have been a lot of hard decisions being made.&amp;nbsp; We would like to make sure that we ship the right stuff with right quality and not miss the date.&amp;nbsp; Anyway, one question I am trying to answer is "How much RAD experience should we provide?"&amp;nbsp; Visual Studio 2005 has made a giant leap in terms of enabling developers focus on solving real business problems without being bothered by all the mundane tasks.&amp;nbsp; You can literally create a data-driven application with master-detail view without writing a single line of code.&amp;nbsp; Although it's hard to believe why anyone would ship applications created this way, it's a great starting point for developers creating data-centric applications.&amp;nbsp; Naturally, people would expect this RAD experience to improve in next release.&amp;nbsp; Think about the history of Visual Studio from RAD point of view.&amp;nbsp; Every release has provided better RAD experience.&lt;/P&gt;
&lt;P&gt;But how far should we&amp;nbsp;go?&amp;nbsp;&amp;nbsp;One of Visual Studio's goals is to help developers boost their productivity.&amp;nbsp; But&amp;nbsp;another critical goal of Visual Studio is to help developers create &lt;STRONG&gt;right&lt;/STRONG&gt; software in &lt;STRONG&gt;right&lt;/STRONG&gt; ways.&amp;nbsp; It's a goal for all developer tools.&amp;nbsp; That's why Visual Studio has features like Refactoring and Unit Testing.&amp;nbsp; I agree that we can do a lot better in these areas.&amp;nbsp; But at least we acknowledge that we need to help developers create right software in right ways.&amp;nbsp; The problem is that balancing between RAD experience and helping developers do the right thing is always hard.&amp;nbsp; Good developers spend a lot of time learning new techniques and studying best practicies.&amp;nbsp; Design Patterns, security, performance, reusability, etc.&amp;nbsp; And if these developers have to fight with the tool to apply what they have learned since the tool keeps trying to act like it knows what the developer is trying to do and how to do it best, then these developers will eventually abandon the tool.&amp;nbsp; That's exactly why I am&amp;nbsp;thinking about&amp;nbsp;"How much RAD would annoy you" question.&lt;/P&gt;
&lt;P&gt;It's a hard quesiton and it will take sometime for me to answer it (or maybe I will just keep asking and never come to a conclusion).&amp;nbsp; Maybe we will try different approaches in each version.&amp;nbsp; And if we see people like &lt;A href="http://codebetter.com/blogs/peter.van.ooijen/default.aspx"&gt;Peter van Ooijen&lt;/A&gt;&amp;nbsp;keep writing article about how to work around our RAD features to do the right thing, we would know that we are not really helping developers.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update&lt;/STRONG&gt;: Forgot to mention that I agree with Peter on how bad it is for us to embed SQL statements in markup code.&amp;nbsp; I am sure folks over at ASP.NET Tools have heard it many times already.&amp;nbsp; This is a great example of RAD focused approach invading developer's pride.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=583911" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>One-offs are not excused from following best practices</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/31/566250.aspx</link><pubDate>Sat, 01 Apr 2006 01:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566250</guid><dc:creator>youngjoo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566250.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566250</wfw:commentRss><description>&lt;P&gt;My friend &lt;A href="http://my.dreamfirst.com/blogs/giscard_biamby/archive/2006/03/31/1195.aspx"&gt;Giscard posted about code reuse&lt;/A&gt; and I couldn't agree more.&amp;nbsp; Interesting thing to notice is that developers thrash a lot more when they are working on one-off tasks than regular projects.&amp;nbsp; Developers tend to believe that they would minimize the efforts spent on one-off tasks by just using ad-hoc solutions and not even thinking about standards and best practices.&amp;nbsp; What they do not realize is that they still end up thrashing a lot since they usually re-create solutions from scratch and go through same debugging cycle (probably more) that the developer of already existing solution have gone through.&amp;nbsp; Also, when they are asked to work on similar one-off tasks later on, whatever work that was done for previous one-off task cannot be reused.&amp;nbsp; Vicious cycle...&lt;/P&gt;
&lt;P&gt;Think reuse even if your code has only 5 lines...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566250" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Microsoft Developer Division's Development Processes</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/10/566244.aspx</link><pubDate>Sat, 11 Mar 2006 02:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566244</guid><dc:creator>youngjoo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566244.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566244</wfw:commentRss><description>&lt;P&gt;Developer Division @ Microsoft is responsible for Visual Studio and it's the division I belong to.&amp;nbsp; Following two Channel 9 videos will give you some peek at the development processes used by the division.&amp;nbsp; These processes are new to the division.&amp;nbsp; Trying to be more &lt;EM&gt;agile&lt;/EM&gt; / &lt;EM&gt;scrum&lt;/EM&gt;, I guess.&amp;nbsp; I will let you decide whether we are on the right track in terms of being truly Agile.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=167674"&gt;&lt;FONT color=#800080&gt;Shoshanna Budzianowski explains how the division is trying to be more &lt;EM&gt;agile&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;Shoshanna (ShoShe) is the Director of Program Management @ Developer Division.&amp;nbsp; This video is not really about the development process but she does talk about it.&amp;nbsp; You can listen to the whole thing if you want but most of development process discussion happens during first 10~12 min.&amp;nbsp; By the way, she was my 7th and last interviewer.&amp;nbsp; I had a great discussion about Agile Development, some challenges people face, things that people mis-understand, etc.&amp;nbsp; It was the toughest one though.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=158154"&gt;The Quality Milestone&lt;/A&gt;&lt;BR&gt;Developer Division just came out of what we call The Quality Milestone.&amp;nbsp; The idea is about taking some time after shipping&amp;nbsp;a major product to get ready for the next one.&amp;nbsp; Some of the big initiatives include getting rid of all bug-debts from the current release (Visual Studio 2005), creating the next generation test automation framework, increasing test automation coverage, setting up continuous integration environment, beefing up the build infrastructure and reviewing the development process and optimizing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It’s all about ensuring that we are delivering the quality software.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566244" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Kid's Programming Language</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/10/566245.aspx</link><pubDate>Sat, 11 Mar 2006 02:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566245</guid><dc:creator>youngjoo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566245.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566245</wfw:commentRss><description>&lt;P&gt;Haven't spent ton of time with this yet but seems very interesting.&amp;nbsp; Tool translates KPL code into .Net.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.kidsprogramminglanguage.com/"&gt;Kid's Programming Language Site&lt;/A&gt;&lt;BR&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=166995"&gt;Channel 9 Video&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566245" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Geek stars</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/07/566241.aspx</link><pubDate>Wed, 08 Mar 2006 02:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566241</guid><dc:creator>youngjoo</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566241.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566241</wfw:commentRss><description>&lt;P&gt;Lately, Korean musicians, actors and actresses are enjoying their popularity over in Asia.&amp;nbsp; Seeing Japanese teens crying while a Korean singer is rapping with amazing moves is just amazing.&amp;nbsp; A lot of them are more famous in other Asian countries like Japan, China and Taipei than they are in Korea.&amp;nbsp; This phenomenon is called &lt;EM&gt;HanRyu&lt;/EM&gt; which roughly translates to &lt;EM&gt;Korean Wave&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;I am over 30 now and I already feel like I am living in a different world.&amp;nbsp; These stars don't psych me up anymore.&amp;nbsp; Even though I watch those Korean shows where latest stars come out to make fun of themselves, I certainly do not tear.&amp;nbsp; Sign of getting old.&amp;nbsp; Or maybe my mental age is at my daughter's.&amp;nbsp; I certainly find myself speaking like her even when I talk to my wife... &lt;/P&gt;
&lt;P&gt;But I have different kind of stars.&amp;nbsp; I will call them geek stars.&amp;nbsp; These are people like&amp;nbsp;&lt;A href="http://scobleizer.wordpress.com/"&gt;Robert Scoble&lt;/A&gt;, Steve Jobs, Bill Gates, &lt;A href="http://radar.oreilly.com/"&gt;Tim O'Reilly&lt;/A&gt;, &lt;A href="http://spaces.msn.com/rayozzie/"&gt;Ray Ozzy&lt;/A&gt;, &lt;A href="http://www.scripting.com/"&gt;Dave Winer&lt;/A&gt;&amp;nbsp;and Anders Hejlsberg, just to name a few that come to my mind right now.&amp;nbsp; These guys are total geeks and I love that!&amp;nbsp; They do geeky stuff and they are proud of that.&amp;nbsp; Oh, by the way, I ran into Anders Hejlsberg two times past two months.&amp;nbsp; First time was at the cafeteria.&amp;nbsp; I froze.&amp;nbsp; My heart started beating.&amp;nbsp; He ordered his food with his unique Danish accent and went away.&amp;nbsp; Only then I was able to breath again normally.&amp;nbsp; Second time was today.&amp;nbsp; I won't disucss where I met him.&amp;nbsp; But he passed me and turned to look for a couple of seconds.&amp;nbsp; Again.&amp;nbsp; I froze.&amp;nbsp; My heart started pounding.&amp;nbsp; Yeah, call me geek, nerd, freak or whatever.&amp;nbsp; If I am allowed to have 10 min meeting with Anders, I will schedule it at least one month out, start preparing for what I will talk about, learn everything I think I should know to have a good conversation with Anders, ask for permission to record the session and burn it to 20 different discs so that I can have it for the rest of my life!&lt;/P&gt;
&lt;P&gt;These geek stars are obviously different from normal celebrities.&amp;nbsp; Geeks by definition have a huge influence on how technologies evolve.&amp;nbsp; They are the ones who create next big thing and they are the ones who kill weak ones.&amp;nbsp; They are the ones who make things like voice activated GPS system in your brand new Range Rover.&amp;nbsp; And by being a fan of those people, I tried to imitate them, just like how teens try to imitate their stars.&lt;/P&gt;
&lt;P&gt;Oh, by the way, every time I go to those big concerts, I think about ways to throw geek concerts.&amp;nbsp; Instead of singers singing and dancing on the stage, a bunch of geeks will go on the stage and show off their creations.&amp;nbsp; It's different from those conferences.&amp;nbsp; Conferences like TechEd or PDC have a goal of convincing your potential customers to buy your stuff.&amp;nbsp; What I have in mind is purely showing off how good you are and how cool you are.&amp;nbsp; Instead of potential customers, you will have your fans (of course they are geeks too) screaming, jumping up and down and maybe start crying because of the latest algorithm you just showed off.&amp;nbsp; The closest thing I can think of is &lt;A href="http://www.mix06.com/"&gt;Mix06&lt;/A&gt;&amp;nbsp;but this one still smells a bit like marketing campaign than geek concert.&lt;/P&gt;
&lt;P&gt;Who's your geek star?&amp;nbsp; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566241" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Web 2.0 Development</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/02/566240.aspx</link><pubDate>Fri, 03 Mar 2006 02:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566240</guid><dc:creator>youngjoo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566240.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566240</wfw:commentRss><description>&lt;P&gt;I am not a huge fan of Web 2.0 hype.&amp;nbsp; However, I have to agree with points that Marc Hedlund made about &lt;A href="http://radar.oreilly.com/archives/2006/02/web_development_20.html"&gt;Web 2.0 Development&lt;/A&gt;.&amp;nbsp; Although he's describing how Web 2.0 start-ups are developing Web 2.0 apps, these points should still be considered by other &lt;EM&gt;traditional &lt;/EM&gt;web development shops.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;For a lot of&amp;nbsp;shops, these&amp;nbsp;have&amp;nbsp;been tried and got rejected due to various reasons.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Why waste money on &lt;STRONG&gt;shadow app&lt;/STRONG&gt; when resources can be used to build new features that would bring in revenue?&amp;nbsp; &lt;BR&gt;&lt;/EM&gt;Well, because you don't know what feature would bring the revenue in if you don't understand how your users are using your application!&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;It will take way too much time, resources and coordination to do &lt;STRONG&gt;sampling and testing&lt;/STRONG&gt;!&lt;BR&gt;&lt;/EM&gt;I used to be against this &lt;STRONG&gt;sampling and testing &lt;/STRONG&gt;approach.&amp;nbsp; I had several debates about A/B testing with my sales manager at my previous company.&amp;nbsp; The reason I was against that was because I had a huge list of backlog items that I did not have enough resources for.&amp;nbsp; If you asked me to deliver on all those AND do &lt;STRONG&gt;sampling and testing&lt;/STRONG&gt;, I would ignore you.&amp;nbsp; This is about where the investement should go to.&amp;nbsp; Similar to &lt;STRONG&gt;shadow app&lt;/STRONG&gt; above, you need to understand your users and how your features fit into what your users are trying to accomplish before going full-force with your new features.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Public API&lt;/STRONG&gt;?&amp;nbsp; Our application won't be extended by others.&amp;nbsp; So, why bother?&lt;BR&gt;&lt;/EM&gt;Ok.&amp;nbsp; Forget about &lt;STRONG&gt;&lt;EM&gt;public&lt;/EM&gt;&lt;/STRONG&gt; part of this.&amp;nbsp; And look at how your developers are doing their work.&amp;nbsp; If you do not have solid architecture that's extensible (I told you not to worry about &lt;EM&gt;&lt;STRONG&gt;public&lt;/STRONG&gt;&lt;/EM&gt; for now... internally extensible), your developers are wasting a lot of their time doing the same thing over and over but a bit differently each time.&amp;nbsp; Build solid architecture.&amp;nbsp; Make it extensible.&amp;nbsp; Use it.&amp;nbsp; And one day, you will find that the new business opportunities walk by you.&lt;/P&gt;
&lt;P&gt;* Um... gotta run to a meeting.&amp;nbsp; I will either finish this off later or post Part 2 *&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566240" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Web/default.aspx">Web</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx">Programming</category></item></channel></rss>