<?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>Random Thoughts and Hints on Software Development : General</title><link>http://blogs.msdn.com/eldar/archive/tags/General/default.aspx</link><description>Tags: General</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Legends of Windows Home Server -- Checkin Garfield</title><link>http://blogs.msdn.com/eldar/archive/2009/06/27/legends-of-windows-home-server-checkin-garfield.aspx</link><pubDate>Sat, 27 Jun 2009 23:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3844164</guid><dc:creator>EldarM</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/eldar/comments/3844164.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=3844164</wfw:commentRss><description>&lt;P&gt;It was a logn time ago, so, I guess, it's ok to tell this story at last...&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Well, everybody knows what "checkin" is, right? That's when you send your updated, fixed or new code to the depository for safekeeping. There is a lot of systems for that. OpenSource guys usually use CVS for that, there are other commercial ones like PVC, Microsoft has the one of its own called "source depot", as well as&amp;nbsp;SourceSafe.&lt;/P&gt;
&lt;P&gt;All they do is just one thing: enable you to restore a previous version if somebody broke the current one. Also, to keep a special version for this very-special-big-corporate-customer, which is not easy, but at least possible with the version control. AFAIK, we don't do that at Microsoft, but one of the companies, I worked before for, had about three major branches for critical customers like Chevron.&lt;/P&gt;
&lt;P&gt;Of course, that's not panacea, and when 10+ developers start to checkin their changes left and right,... well... the result is normally not that encouraging. Everybody has his features working standalone, but making it work together becomes a challenge. Actually, we had such a period in our life at the early stage in Windows Home Server. We had a lot to do, and VERY little time to accomplish it. Guess what? Nightly tests become broken and did not want to run no matter what. As a little token of pride, I'd like to mention that tests for my features worked fine -- I was responsible for communications between server and the clients. Which means that&amp;nbsp;when my areas are broken, half of the product tests would fail instantly, so I had to keep my parts in shape. But most of other areas weren't that lucky and overall tests package did not want to run no matter how angry the management was and how actively we as a team were fixing the problems.&lt;/P&gt;
&lt;P&gt;Then we found a solution... I had a toy Garfield in my office. After speaking with&amp;nbsp;one of the leads and the manager, we introduced the following rule: to make a&amp;nbsp;checkin, you should have Garfield in your hand. So, you get Garfield, run the tests, if all pass, you do checkin, and give Garfield away to the next one in the line. A sort of a physical mutex preventing concurrent changes.&lt;/P&gt;
&lt;P&gt;People hated Garfield. Enough to say that in a couple of weeks my boss put it on the eBay! Don't believe it? See for yourself!&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Checkin Garfield" style="WIDTH: 500px; HEIGHT: 323px" height=323 alt="Checkin Garfield" src="http://images25.fotki.com/v948/photos/9/91758/3743911/GarfieldOnEbayShort-vi.jpg" width=500 mce_src="http://images25.fotki.com/v948/photos/9/91758/3743911/GarfieldOnEbayShort-vi.jpg "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Well, nobody bought it, nevertheless the problem was solved. In three days all the tests were running fine again and never broke again in several weeks. And after the Thansgiving 2006 Garfield was sent to the honorable retirement, while we continued in a more easy way but still without breaking the tests...&lt;/P&gt;
&lt;P&gt;By the way, Garfield is still around. It's hanging in my office on the corkboard, reminding the team's veterans of the old times :-)&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Checkin Garfield" style="WIDTH: 375px; HEIGHT: 500px" height=500 alt="Checkin Garfield" src="http://images26.fotki.com/v912/photos/9/91758/3743911/CheckInGarfield-vi.jpg" width=375 mce_src="http://images26.fotki.com/v912/photos/9/91758/3743911/CheckInGarfield-vi.jpg "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3844164" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Project+management/default.aspx">Project management</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Windows+Home+Server/default.aspx">Windows Home Server</category></item><item><title>Economy crisis 101</title><link>http://blogs.msdn.com/eldar/archive/2008/10/23/economy-crisis-101.aspx</link><pubDate>Fri, 24 Oct 2008 05:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9013398</guid><dc:creator>EldarM</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/eldar/comments/9013398.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=9013398</wfw:commentRss><description>&lt;P&gt;Pardon for another non-technical post, but I thought it may be interesting. A friend of mine, a professor at the University of Texas, presented an article of his student, introducing some mathmatical theory explaining the roots of today crisis in economy. And I could not resist to answer. If you know all this, please, understand.&amp;nbsp;Afetr all, if some professors don't get it, it may be interesting to a fair share of people around...&lt;/P&gt;
&lt;P&gt;So, here it is:&lt;/P&gt;
&lt;BLOCKQUOTE style="BACKGROUND-COLOR: #f0f8ff"&gt;
&lt;DIV&gt;Do you think that may be this article is a little&amp;nbsp;au contrare to Occam's razor principle?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;You see, subprime mortgages per se are not what's the real reason of today's crisis. If it would be so, the cost of handling it would not be $700 bln+, but only around $40-50 bln to help people stay in homes and let the real estate bubble go down slower without big economical or social impact.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;The real problems is derivatives based on these subprime mortgages. You don't need a mathematical theory or even Excel to explain it. Although, I admit, there was straightforward and intentional mathematical error in the middle, all right. In a case, somebody missed how it was done, let me explain with an example. Imagine a fleet of 1000 cars going over very long bridge which has a 50% chance to collapse in a next few minutes. Owner of this fleet, scared of the possibility, asks you to buy the whole fleet at a very attractive price. Now, you think, the chances that bridge will collapse is 50%, hence the chance to lose each specific car is 50%, now if I have 1000 cars then&amp;nbsp;the chances that at least 10% of cars survive is much greater than that. You know, say for two cars probability that at least one to survive is p1+p2-p1*p2 = 0.5 + 0.5 - 0.5*0.5 = 0.75, that is 75%.&amp;nbsp; And for a 1000 cars it's much much better. So if the part which will survive will cover the cost, you are good.&amp;nbsp;You see the problem? Dependent events were represented as independent. A mistake unforgivable to a college student, but somehow ok for Wall Street CEOs.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;If it's still not clear, let's say the fleet is 10 cars and owner offers you price of 10% of fair value. The chance that at least one car will survive if events are independent is 99.95%, so it looks like a sure shot. So you are entering the game with the expectations of 99.95% chance of not losing money and great expectation of making money. In fact, the chance of losing money is still 50%.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;What they did was packaging a lot of subprime mortgages and applying the logic above. Then they issued the bonds based on, say, 10% of those mortgages, &lt;STRONG&gt;_whichever will survive_&lt;/STRONG&gt;. And they got AAA rating to these bonds. And then, in expectation of profit,&amp;nbsp;they issued bonds on these bonds with leverage ($1 in original bonds produced $10 in next derivatives) exceeding total annual planetary gross product in times.&amp;nbsp;What was ignored is that the risk of subprime mortgages is not merely financial state of borrowers, but the state of the real estate bubble, which was going to burst with not even 50%, but with 100% probability, everybody knew that ahead. And financial state of the borrowers was not that independent either.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;So, you see, no need for extra math or even Excel (although, I used it to calculate probabilities above). What we deal with is cheating and larceny, nothing a good cop could not handle in time without a need for extra math. Unfortunately, neither Greenspan, nor Bernanke proved themselves to be good cops.&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9013398" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Economics/default.aspx">Economics</category><category domain="http://blogs.msdn.com/eldar/archive/tags/IMHO/default.aspx">IMHO</category></item><item><title>I almost got back to the weight I had when I came to United States....</title><link>http://blogs.msdn.com/eldar/archive/2008/08/05/i-almost-got-back-to-the-weight-i-had-when-i-came-to-united-states.aspx</link><pubDate>Tue, 05 Aug 2008 10:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8833376</guid><dc:creator>EldarM</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/eldar/comments/8833376.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=8833376</wfw:commentRss><description>&lt;P&gt;Just a few days ago I tried, and I fit perfectly into the suite, in which I came into the United States from Russia in now so&amp;nbsp;old 1996 year.&lt;/P&gt;&lt;IMG src="http://images39.fotki.com/v1282/photos/9/91758/6043858/Me2008-vi.jpg" ?&gt; 
&lt;P&gt;Since that I fattened a lot on Cola, pizzas and&amp;nbsp;other dubious food substitutes from 195 pounds to almost 255 pounds last October (2007). In October vacation at La Push I decided that enough is enough, and began dieting. And now I am back to 200 pounds plus eight new holes in my belt about one inch from one another. And now I fit well into clothes I brought with myself from Russia including the three-piece suite with 19th century&amp;nbsp;style chained watch piece&amp;nbsp;made by St.Petersburg/Lomonosov factory. Yes, I know, it's a small stuff. But it makes me happier.&lt;/P&gt;&lt;IMG src="http://images40.fotki.com/v1260/photos/9/91758/6043858/Weight-vi.jpg" mce_src="http://images40.fotki.com/v1260/photos/9/91758/6043858/Weight-vi.jpg"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8833376" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category></item><item><title>I am really thinking about reviving this blog...</title><link>http://blogs.msdn.com/eldar/archive/2008/07/29/i-am-really-thinking-about-reviving-this-blog.aspx</link><pubDate>Wed, 30 Jul 2008 08:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8790941</guid><dc:creator>EldarM</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/eldar/comments/8790941.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=8790941</wfw:commentRss><description>&lt;P&gt;...but not the way it was before.&lt;/P&gt;
&lt;P&gt;My &lt;A class="" href="http://blogs.technet.com/eldar" mce_href="http://blogs.technet.com/eldar"&gt;Russian blog&lt;/A&gt; on Technet is flooded with readers, and I am wondering if I could bring some of that value to English-speaking audience.&lt;/P&gt;
&lt;P&gt;First, while I still will publish an occasional technical piece or two, the topics will be much more diverse and more aligned with my interests. Which includes management (no, I don't want to manage, been there, done that, did not like it, I am just interested in theory), teams dynamics, evolutionary approaches to society and management, corporate parasites (no, that's not just a rude analogy, that's a precise term), and an occasional piece or two on other topics from science to my personal adventures.&lt;/P&gt;
&lt;P&gt;And, just in case somebody don't understand it, no Windows Home Server articles. Sorry. When I published my previous article half a year ago, I really meant it. Ciao, Bambino, Sorry.&amp;nbsp;No Windows Home Server for me.&lt;/P&gt;
&lt;CENTER&gt;
&lt;OBJECT height=344 width=425&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/-O4cdYnm8-g&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;
&lt;embed src="http://www.youtube.com/v/-O4cdYnm8-g&amp;hl=en&amp;fs=1" mce_src="http://www.youtube.com/v/-O4cdYnm8-g&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;/CENTER&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8790941" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category></item><item><title>Ciao, bambino, sorry! -- Leaving Windows Home Server</title><link>http://blogs.msdn.com/eldar/archive/2008/02/22/ciao-bambino-sorry-leaving-windows-home-server.aspx</link><pubDate>Sat, 23 Feb 2008 03:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7852180</guid><dc:creator>EldarM</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/eldar/comments/7852180.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=7852180</wfw:commentRss><description>&lt;P&gt;I just wanted to let readers of my blog know that I just left Windows Home Server team and won't be available for questions about this product anymore. &lt;/P&gt;
&lt;P&gt;Good resources are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows Home Server team blog: &lt;A href="http://blogs.technet.com/homeserver/" mce_href="http://blogs.technet.com/homeserver/"&gt;http://blogs.technet.com/homeserver/&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Forums: &lt;A href="http://forums.microsoft.com/windowshomeserver/default.aspx?siteid=50" mce_href="http://forums.microsoft.com/windowshomeserver/default.aspx?siteid=50"&gt;http://forums.microsoft.com/windowshomeserver/default.aspx?siteid=50&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Well, everything changes and I am looking forward to challenges in the new group.&amp;nbsp;In fact, once I decided to move and looked around, I felt like a&amp;nbsp;child in a candy store, so many interesting things are happening across Microsoft. When I left my office for the weekend, MP3 player in my car picked the song performed by Mireille Mathieu "Ciao, bambino, sorry!" Well, not really sorry, very happy indeed, but "Ciao!" for sure. :-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7852180" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/News/default.aspx">News</category></item><item><title>Let me introduce -- Sergey Solyanik, ex-dev manager of Widnows Home Server</title><link>http://blogs.msdn.com/eldar/archive/2007/11/10/let-me-introduce-sergey-solyanik-ex-dev-manager-of-widnows-home-server.aspx</link><pubDate>Sun, 11 Nov 2007 07:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6084252</guid><dc:creator>EldarM</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/eldar/comments/6084252.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=6084252</wfw:commentRss><description>&lt;P&gt;Sergey was the dev manager&amp;nbsp;of Windows Home Server and one of three people, for whom I decided to leave BizTalk Server and join Windows Home Server team. He is a remarkable person and a friend of mine. Some time ago he left Microsoft for Google, but he is still a remarkable man and a friend of mine! And not far ago he started his own blog!&lt;/P&gt;
&lt;P&gt;Here is where he introduces himself: &lt;A href="http://softwareandthings.blogspot.com/2007/11/about-myself.html"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;http://softwareandthings.blogspot.com/2007/11/about-myself.html&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;And here he talks about his experience&amp;nbsp;with Windows Home Server development and his thoughts about comparing Microsoft and Google: &lt;A href="http://softwareandthings.blogspot.com/2007/11/intergroup-cooperation.html"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;http://softwareandthings.blogspot.com/2007/11/intergroup-cooperation.html&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I highly recommend his blog and himself. Of course, personally. As Sergey writes in his own blogs:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;**This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.**&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6084252" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Windows+Home+Server/default.aspx">Windows Home Server</category></item><item><title>5 worst problems of home-grade routers</title><link>http://blogs.msdn.com/eldar/archive/2007/07/30/5-worst-problems-of-home-grade-routers.aspx</link><pubDate>Mon, 30 Jul 2007 22:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3944445</guid><dc:creator>EldarM</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/eldar/comments/3944445.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=3944445</wfw:commentRss><description>&lt;P&gt;During our crusade for Home Server and Beta programs we faced a multitude of home network configurations. We learned a lot, and some of that we did not like. In fact, that's our beta-participants who&amp;nbsp;did not like that, it's just they did not know what it is until we did investigations on the failing sytems.&amp;nbsp;Now we know.&lt;/P&gt;
&lt;P&gt;Let me share a few points on how the choice of your router can impact you, not just with Windows Home Server, but with any computers, Windows or not. Ever had a complain of a child that they need mom's computer to print a school report, because their computer "does not print"?&lt;/P&gt;
&lt;P&gt;Routers is the most important piece of home network infrastructure, especially because most people set it right after cable or DSL modem and allow all the home machine to be connected to it. Here are in my opinion&amp;nbsp;the worst things the router may do or have:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Rejection-based firewall&lt;BR&gt;&lt;/STRONG&gt;Some routers allow all traffic and only allow block a few specific ports of addresses. To make this worse, they may have a limited space for rules, hence allowing to block only a few ports.&amp;nbsp;Fortunately they are also too dumb to be able to route incoming traffic, which alleviates most of security pains, but still leaves the home network pretty open, compared to permission-based firewalls, where all traffic is porhibited and opened&amp;nbsp;for specific ports, with most popular ports preconfigured.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;No name resolution or name resolution that does not include local DHCP-managed&amp;nbsp;hosts&lt;BR&gt;&lt;/STRONG&gt;Some routers give out IP addresses over DHCP but don't bother to provide name resolution for them. As a result, home network machines cannot access each other. You can do a few tricks using workgroups with WINS or static IPs, but it's so better when a reasonable local name resolution is available.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Blocking some internal traffic&lt;BR&gt;&lt;/STRONG&gt;That's why UPnP may not work. Not just with WHS, but also with your Roku and other media streaming devices. Devices consuming media over network depend on UPnP discovery process. It may also interfere with file and printer sharing - a bad thing on Internet but very important inside the house.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;HTTP Proxy and HTTP Proxy configuration&lt;BR&gt;&lt;/STRONG&gt;Looks like a cool idea, right? Especially, if you can configure parental control to restrict your child browsing with it. Parental control may be an important thing, but there are other ways to&amp;nbsp;implemnet it on a router. As to the proxy, you need a real good implementation, which should be also bound with local name resolution for everything to work right. It occurs that some proxies in some routers&amp;nbsp;out there are not implemented right.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Limited bandwidth&lt;BR&gt;&lt;/STRONG&gt;This one came as a surprise to me. Early in the game we decided that Windows Home Server will not be used as a boundary machine. Really, if you put a lot of sensitive data on it, you don't want it be directly connected to Internet. To my surprise, on a Russian forum on WHS (yes, we have one, WHS Beta was surprisingly popular there), a lot of people were asking if they could do that. When I asked why, the truth revealed itself. It happened that Windows Server 2003, which is the base on which Windows Home Server is built, is sometimes 10 times faster as a router than off-the-shelf gigabit routers. Apparently, gigabit network cards is not the only factor that defines your Internet speed.&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;I probably missed some problems like UI configuration usability, but it feels to me these are the big five. What would you add t this list?&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3944445" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Mines/default.aspx">Mines</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Windows+Home+Server/default.aspx">Windows Home Server</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Hardware/default.aspx">Hardware</category></item><item><title>Nine years ago I failed on interview… and still proud of it.</title><link>http://blogs.msdn.com/eldar/archive/2006/11/30/nine-years-ago-i-failed-on-interview-and-still-proud-of-it.aspx</link><pubDate>Thu, 30 Nov 2006 19:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:656580</guid><dc:creator>EldarM</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/eldar/comments/656580.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=656580</wfw:commentRss><description>(he) Sometimes, we have to put 10,000 lines into a single scrollbox. Computer hangs, memory consumption goes through the roof, slider is too small, nothing works. What would you do?...(&lt;a href="http://blogs.msdn.com/eldar/archive/2006/11/30/nine-years-ago-i-failed-on-interview-and-still-proud-of-it.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=656580" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Design+and+architecture/default.aspx">Design and architecture</category></item><item><title>I am Annoyed with Spam …and I don’t get it, why is it still a problem.</title><link>http://blogs.msdn.com/eldar/archive/2006/09/11/736255.aspx</link><pubDate>Mon, 11 Sep 2006 17:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:736255</guid><dc:creator>EldarM</dc:creator><slash:comments>18</slash:comments><comments>http://blogs.msdn.com/eldar/comments/736255.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=736255</wfw:commentRss><description>...Frankly, when I think of spam fighting today, it reminds me the fight for communism in the former Soviet Union. It takes a lot of time, it creates jobs, and it does not bring tangible results......(&lt;a href="http://blogs.msdn.com/eldar/archive/2006/09/11/736255.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=736255" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Design+and+architecture/default.aspx">Design and architecture</category></item><item><title>Question in mail: Do you need assembly language?</title><link>http://blogs.msdn.com/eldar/archive/2006/08/24/718496.aspx</link><pubDate>Thu, 24 Aug 2006 20:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:718496</guid><dc:creator>EldarM</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/eldar/comments/718496.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=718496</wfw:commentRss><description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT color=#000080&gt;From: &lt;/FONT&gt;&lt;/EM&gt;&lt;A href="mailto:sandusergiu1984@..."&gt;&lt;EM&gt;&lt;FONT color=#000080&gt;sandusergiu1984@...&lt;/FONT&gt;&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT color=#000080&gt; &lt;BR&gt;Sent: Friday, August 18, 2006 2:12 AM&lt;BR&gt;To: Eldar Musayev&lt;BR&gt;Subject: (Random Thoughts and Hints on Software Development) : Hello&lt;BR&gt;Importance: High&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT color=#000080&gt;Hello Eldar, I've read somewhere that every developer who want to write great efficient code need to learn assembly language? Is it true? If have time, please, write the answer in the blog. Thank you.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Well, do you? One thing for sure, you will almost never use it at work. In most cases, you will never use it. Period. &lt;/P&gt;
&lt;P&gt;Even if you develop hard real-time OS, like I did in the past, you never normally go below straight C.&lt;/P&gt;
&lt;P&gt;So, do you need to know assembly language? Normally, I would say “no”, but a few encounters convinced me otherwise. Let me tell you about it. &lt;/P&gt;
&lt;P&gt;It was many years ago, I worked for a huge well-recognizable MidWestern manufacturing company. We did software for their dealers, sort of a custom mix of CRM and SCM with a fat Java client (yes, fat, it was supposed to be thin, but over the time it become really, really fat without any sort of rich functionality of thick clients) and C++/C backend on AS/400 (now this midrange machine from IBM is called somewhat differently, but still around). We used DCE (IBM variety and granddaddy of CORBA) and a middleware server to deliver calls from the client to the server. It was a royal pain. Seriously. If something did not work, you started from checking if IDLs on the middleware server&amp;nbsp;are the same as the current build. In 90% of cases, it was not.&lt;/P&gt;
&lt;P&gt;So we decided to replace the communication architecture. Me and two other guys were charged with the task. One of them was our lead and – beyond writing the code – took care of selling the idea and pacifying the management. Both were great to work with as well as to have a beer or two after work in a pub across the street which proudly called itself “An Irish Embassy in Peoria”. But enough with memoirs, let’s get back to business.&lt;/P&gt;
&lt;P&gt;To send data over network we had to serialize them. Fortunately, the only thing we dealt with were simple structures of primitive types. How do you serialize a simple structure in C/C++, if you are allowed binary serialization? Right, the pointer to the structure is also a pointer to a byte array. That’s it.&lt;/P&gt;
&lt;P&gt;On the Java side it was a little more tricky. We had to get them byte by byte from the byte[] array, and push into the individual data fields. Even with IBM library doing a lot of work for us, the picture was complicated with the fact that AS/400 uses Big Endian and alignment (the old concept of always putting a four-byte integer at the address ending with two binary zeros and similar practice for 2- and 8-bytes words to improve the performance). On top of it I used a hack or two of a reliable sort to smooth the things. &lt;/P&gt;
&lt;P&gt;And then I had to explain it all to Brandon, because he had to write such code too. He was a bright smart guy, but his first language, unfortunately, was Java, that carefully hides such meagerly details from the developer. Each time I tried to explain it to him, his face went blank. I think that until the first call went through, he firmly believed that I am feeding him with tons of crap to boost my personal ego. And when the first call really came through, it was a shock for him. The world shuttered, turned inside out and showed it’s alien reverse side. It was both exciting and frightening experience for him, like if a person experienced first-hand with his own eyes the bizarre wild dance of elementary particles in a quantum mechanics of everyday things.&lt;/P&gt;
&lt;P&gt;Well, he was a bright smart guy, so today he does not have any of such problems anymore, but the experience was painful to both of us. Did I managed to answer the question?&lt;/P&gt;
&lt;P&gt;Don’t learn it as a professional language, you are not likely to need it, and even if it does exists somewhere (compiler writers have to deal with it), it’s a niche market. But learn it as a curious puzzle, a toy, figuratively speaking – a way to tinker individual electrons and atoms in your morning cup of hot tea. Not very useful practically, but a completely new level of understanding why you should not spill it on yourself. Makes sense? ;-)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=718496" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category></item><item><title>What it takes to be a good software developer…</title><link>http://blogs.msdn.com/eldar/archive/2006/07/20/656583.aspx</link><pubDate>Thu, 20 Jul 2006 23:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:656583</guid><dc:creator>EldarM</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/eldar/comments/656583.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=656583</wfw:commentRss><description>&lt;P&gt;Last week I’ve got such a message from my blog:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#a52a2a size=2&gt;&lt;STRONG&gt;-----Original Message-----&lt;BR&gt;From: sandusergiu1984@...&lt;BR&gt;Sent: Thursday, June 29, 2006 1:17 AM&lt;BR&gt;To: Eldar Musayev&lt;BR&gt;Subject: (Random Thoughts and Hints on Software Development) : Hello Eldar!&lt;BR&gt;Importance: High&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#a52a2a size=2&gt;&lt;STRONG&gt;Can you please tell me what I should learn to be a good software developer? Thank you.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Hm-m-m, tough question. No, seriously. A lot of people proud of being asked about such fundamental thing would gladly go ahead and give a ton of … well, you understood what I meant. Anyway, I did not want to do that. If I give an answer, I want to give a real answer, at least as good as I can. So, I postponed answering until I can find the time to give my thoughts on the subject. And, please, understand, these are just my thoughts; there is a lot of other very qualified and decent developers who may have a different opinion.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;“Sometimes it’s almost as good as sex”&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;So, IMHO the first qualification for a good developer is that he or she should enjoy writing the code. As one of the famous hackers of the past said before “Sometimes it’s almost as good as sex”. Actually, I suspect that this is exactly the sentence that made him famous. But anyway, that’s what I am talking about. Let me explain why.&lt;/P&gt;
&lt;P&gt;First, software development is a very demanding field. It’s not a 9 to 5 job by definition. Of course, you and your manager should try to keep it 9 to 5 (meaning not policing you to come at 9am, but rather trying to prevent you from staying late and sustaining yourself on company-bought pizzas while fixing the code around the clock), but – alas! – that’s not always&amp;nbsp; possible. You simply cannot do a good job if you don’t really love to write and handle the code. Otherwise, a couple of milestones or releases and you will hate the job. So, you simply have to enjoy this work to be able to do it long enough. Sure, some do that long enough without, but we are talking about good software developers, right?&lt;/P&gt;
&lt;P&gt;Another reason is learning. This is a profession where you have to learn, learn, learn without any breaks &lt;STRONG&gt;&lt;EM&gt;forever&lt;/EM&gt;&lt;/STRONG&gt;. Software development defies scientific management of Taylor invented early in the XX century to destroy trade unions of skilled workers like arsenal workers. The very idea of the “scientific management” may be shortly expressed as “look at what those smartasses do, decompose it into simple steps, hire a bunch of cheap dumb guys, teach them the same steps, fire smartasses.” In late 50s “the father of American corporate management” Peter F. Drucker discovered a completely new category of workers whom he called “knowledge workers”. Knowledge workers defy the power of “scientific management”. The problem with knowledge workers is that &lt;STRONG&gt;&lt;EM&gt;they know&lt;/EM&gt;&lt;/STRONG&gt; what to do themselves. What’s worse, if you try to decompose what they do, then by the time you teach a bunch of dumb guys the same thing, they already do something different. They know what’s needed, you – the manager – don’t. That’s a challenge for both the manager and the worker. Software development is the prime example of knowledge workers. As a software developer, you have to learn all your life non-stop. There is no break, no finish line, that’s a race to the horizon. Try to learn all your life the things that you don’t like, and you may end up in a mental institution. And if not, you’ll hate your life for sure. You have to love writing code.&lt;/P&gt;
&lt;P&gt;There is also a third reason. Did you ever met a person who thinks that he is a great writer, but writes a louse fiction. He annoys his friends and relatives, editors, and simply cannot get where he wants. He does not improve. Beside being&amp;nbsp; oblivious to his own shortcomings, such guy has a really hard time getting an informative honest feedback on his job. Friend and family lie to him, saying that he does a great job just to be nice. Editors simply reject his manuscripts. How can he learn? We, humans, need immediate feedback to learn effectively. That’s how our neural circuitry works and learns.&lt;/P&gt;
&lt;P&gt;Fortunately for us – software developers – computers are much more critical and at the same time more willing readers than whom you can find in a literature field. Sometimes mere milliseconds are required to get your bugs in your face, when your code executes. This is not always pleasant, but it provides the necessary continuous feedback into the neural networks of our brains getting them into the shape to become able to create programs.&lt;/P&gt;
&lt;P&gt;Computers are ruthless in exposing defects in your craftsmanship, they don’t care for your ego, they don’t let you save the face, they simply don’t care: they execute exactly what you ordered, and if you ordered a wrong thing, that’s what is going to happen and that’s what everybody will see. Actually, this is very good for us, this helps us to perfect and learn. “Everything that does not kill us, makes us stronger”, but unless you really love writing code, this kills your will to continue. &lt;/P&gt;
&lt;P&gt;That’s why you have to enjoy writing the code. That’s why enjoying writing the code is the first requirement for being a good developer.&lt;/P&gt;
&lt;P&gt;Of course, everything can be at extreme. A typical hacker enjoys writing code a little too much. Computer and coffee is all&amp;nbsp;he wants in his life. Those guys&amp;nbsp;can never become good software developers because beside the desire to write code, you also need a desire to write good code, a code that other people will use (and&amp;nbsp;hacker doesn't care for other people). Fortunately, most people pass this phase and come to their senses, often at the same age when raging hormones start to balance better and find other channels for exit.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;Technical side&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Of course, beside the attitude, there is simply a technical side, skills. You have to learn a set of basic knowledge and skills to start. However, this is not that hard question. Just look at computer science curriculum of a good university, that’s it. Those professors are experts in the area, they know what to teach a student. Don’t invent a bicycle, just look at what they teach.&lt;/P&gt;
&lt;P&gt;Of course, college differs form a college and a university differs from a university. Some make a better job, some are not. I am far from endorsing any particular university or a college, but in my humble opinion University of Waterloo in Canada makes a superb job teaching their students computer science and software development. There are other universities in United States and Canada that make as great job teaching their students. Examples include MIT and University of Alberta. If you want a more complete and worldwide list, check ACM competition site here: &lt;A href="http://icpc.baylor.edu/icpc/Finals/"&gt;http://icpc.baylor.edu/icpc/Finals/&lt;/A&gt; And, of course, I am personally fan of my own &lt;EM&gt;Alma Mater&lt;/EM&gt; – &lt;A href="http://www.math.spbu.ru/en/index.html"&gt;St.Petersburg State University &lt;/A&gt;in Russia, that ranked 6th in 2006, but was first on multiple occasions in previous years.&lt;/P&gt;
&lt;P&gt;Anyway, once you like the field, learning is much easier.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;More to it…&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Still there is more to it. I hardly can give a complete list but here are a few examples:&lt;/P&gt;
&lt;P&gt;–&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;ergonomics, usability, perception psychology&lt;/EM&gt;&lt;/STRONG&gt;… Should this button be red or gray? How much space menu should take on the screen? How many items can you put into a scroll box? Why actionable control should be visually different from indicators? These are all not the questions about the technical side, but about human ability to handle it.&lt;/P&gt;
&lt;P&gt;–&amp;nbsp;What is the main language for the programmer? English (or whatever you use in the office). &lt;STRONG&gt;&lt;EM&gt;Communication skills &lt;/EM&gt;&lt;/STRONG&gt;are very important part of software development. &lt;STRONG&gt;&lt;EM&gt;Negotiation skills&lt;/EM&gt;&lt;/STRONG&gt; – depending on a team – may be of an utmost importance. Sometimes, either you can convince the team to go your way, or those who cannot write code but skillful at negotiations will have it their way, and you will be stuck with fixing impossible bugs and infinitely patching your code (those guys usually lack the design skills too).&lt;/P&gt;
&lt;P&gt;–&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;Psychology, empathy and investigation/interrogation skills&lt;/EM&gt;&lt;/STRONG&gt;. How do you find out what exactly the customers expect from your programs? Even if you have a real customer in front of you, people in sales, marketing and executive positions (who often represent a customer for you) are not cured with the brutality of computers that train you to tell truth, truth and only truth, because any lie (bug) immediately blows into your face, even if you believed it yourself. Actually, they are often trained by superiors and peers in rather opposite things. Sometimes you can meet a customer who can vividly articulate what he wants, and that’s your lucky day. Unfortunately, in many cases you have to dig out the truth, which is not easy. And that’s in the case when you have a customer in the first place.&lt;/P&gt;
&lt;P&gt;–&amp;nbsp;And what if you don’t have customers yet? What if you develop a new revolutionary product that nobody (including competition) have thought about before? Of course, you have a business concept by that time, but how do you fill the blanks? A serious help may be marketing – by the way, marketing guys, at least at Microsoft, are great: they are smart, know what they are want and have a sixth sense at what the customer needs. But your marketing guy cannot fill all the blanks too. What it boils down to is that you have to have &lt;STRONG&gt;&lt;EM&gt;tons of common sense&lt;/EM&gt;&lt;/STRONG&gt; to make the right decisions. And &lt;STRONG&gt;&lt;EM&gt;some marketing&lt;/EM&gt;&lt;/STRONG&gt; knowledge does not hurt too. Understanding how a product for X-ers should differ from a product for Y-ers may be essential. By the way, do &lt;EM&gt;you&lt;/EM&gt; understand this difference?&lt;/P&gt;
&lt;P&gt;–&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;Networking&lt;/EM&gt;&lt;/STRONG&gt;, and I don’t mean TCP/IP. &lt;STRONG&gt;&lt;EM&gt;Friends, keeping connected, socialized&lt;/EM&gt;&lt;/STRONG&gt; is very important in our profession. I am not very good at that myself, but even so more than half of my jobs in US (including internal transfers at Microsoft) came from networking and referrals from my friends. If you really good at networking, you may need no resume at all. Beside that, it gives you more. How do you track what’s new and worth attention around? Trade magazines usually have no clue, and even when they have, they are still filled with tons of paid ads junk. Friends are your source of upcoming technology alerts, no-bull overview and introduction to new things.&lt;/P&gt;
&lt;P&gt;–&amp;nbsp;…and that’s not all… Feel free to add your thoughts at what is needed for a good software developer in the comments to this post.&lt;/P&gt;
&lt;P&gt;So, I am wondering, if I managed to answer the question? I don’t know. I tried my best, if you can do better, do so and leave a link in the comments.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;----- Added 8/24/06&lt;BR&gt;A great comment with&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;the link worth adding to the original post&lt;/EM&gt;&lt;/STRONG&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;EM&gt;As much as I enjoyed the post, I think it should include the ACM Curricula Recommendations (&lt;/EM&gt;&lt;A href="http://www.acm.org/education/curricula.html" target=_new rel=nofollow&gt;&lt;EM&gt;http://www.acm.org/education/curricula.html&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;). I'm glad you added the "More to it" section. &amp;nbsp;Software developmen is not just about the code; it's about being a professional who truly enjoys working with others (internally and often externally) to solve real-world domain problems. &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=656583" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Project+management/default.aspx">Project management</category></item><item><title>Developers productivity in US</title><link>http://blogs.msdn.com/eldar/archive/2006/07/07/647858.aspx</link><pubDate>Sat, 08 Jul 2006 08:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:647858</guid><dc:creator>EldarM</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/eldar/comments/647858.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=647858</wfw:commentRss><description>In his blog, Philip Su - dev manager at MSN Search - gives intersting numbers on the productivity of developers in the USA:
USA 1999 -- ...
...(&lt;a href="http://blogs.msdn.com/eldar/archive/2006/07/07/647858.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=647858" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Project+management/default.aspx">Project management</category></item><item><title>Last week my manager tried to break my code...</title><link>http://blogs.msdn.com/eldar/archive/2006/06/26/647723.aspx</link><pubDate>Mon, 26 Jun 2006 22:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:647723</guid><dc:creator>EldarM</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/eldar/comments/647723.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=647723</wfw:commentRss><description>&lt;P&gt;He was in China, and with five our Shanghai developers worked on breaking my code for ~17 hours non-stop. As he says, they've started around 6AM and finished around 2AM (apparently, there was a lunch in-between). For all that effort they've found only&amp;nbsp;1 (One!) bug.&amp;nbsp;Nice!&lt;/P&gt;
&lt;P&gt;On unrelated subject, a racoon came to my deck last week in the morning. Funny creature, here is how he looked like on the tree nearby...&lt;/P&gt;
&lt;CENTER&gt;&lt;IMG src="http://blogs.technet.com/photos/eldarmpics/images/432601/320x480.aspx"&gt;&lt;/CENTER&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=647723" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category></item><item><title>GUI design - what does this button do?</title><link>http://blogs.msdn.com/eldar/archive/2006/06/17/635358.aspx</link><pubDate>Sat, 17 Jun 2006 20:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:635358</guid><dc:creator>EldarM</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/eldar/comments/635358.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=635358</wfw:commentRss><description>&lt;P&gt;Recently, when going up in an elevator, I was puzzled by this picture. What do you think "Low Oil" button at the very top should do?&lt;/P&gt;
&lt;CENTER&gt;&lt;IMG alt="Example of poor design - Low Oil" src="http://blogs.technet.com/photos/eldarmpics/images/434889/327x480.aspx"&gt;&lt;/CENTER&gt;
&lt;P&gt;---------------------- A hint (white on white, select to see)&lt;BR&gt;&lt;FONT color=#ffffff&gt;It's not really a button. It's just some design genius made an indicator light identical to buttons. Imagine a button on GUI, e.g. Windows form, which is not really a button, but label or icon. Pressing it does not make any sense, but it looks and feels like a button. Wouldn't that be odd?&lt;BR&gt;&lt;/FONT&gt;----------------------End of hint&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=635358" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/eldar/archive/tags/Design+and+architecture/default.aspx">Design and architecture</category></item><item><title>Starting a new blog...</title><link>http://blogs.msdn.com/eldar/archive/2006/02/23/538231.aspx</link><pubDate>Fri, 24 Feb 2006 01:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:538231</guid><dc:creator>EldarM</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/eldar/comments/538231.aspx</comments><wfw:commentRss>http://blogs.msdn.com/eldar/commentrss.aspx?PostID=538231</wfw:commentRss><description>&lt;P&gt;After the move to another group, my old blog devoted to BizTalk Server seems like a wrong place to conitue on a new topic. Many people are coming there for BizTalk MSMQ hints, and it's probably a bad idea to discourage them with randomized posts on completely different subject. Therefore, I am starting a new blog, which will be devoted to small hints and random thoughts on various software technologies, mostly Microsoft ones, of course.&lt;/P&gt;
&lt;P&gt;So, here we are..&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=538231" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/eldar/archive/tags/General/default.aspx">General</category></item></channel></rss>