<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Galin Iliev [Galcho]  Blog!</title>
  <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/" />
  <link rel="self" href="http://www.galcho.com/Blog/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-07-08T16:58:24.761168+03:00</updated>
  <author>
    <name>Galin Iliev</name>
  </author>
  <subtitle>Walking on water and developing software from a specification are easy if both are frozen.</subtitle>
  <id>http://www.galcho.com/Blog/</id>
  <generator uri="http://www.dasblog.net" version="2.0.7180.0">DasBlog</generator>
  <entry>
    <title>How To - Run a (huge) software company</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=6aba7af2-4900-4cd7-a072-8fa08072fd53" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=6aba7af2-4900-4cd7-a072-8fa08072fd53</id>
    <published>2008-07-08T16:58:24.761168+03:00</published>
    <updated>2008-07-08T16:58:24.761168+03:00</updated>
    <category term="Management" label="Management" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Management" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Software business is quite different than other businesses. Mainly this is because
in software there are very few routines that can be set as standardized actions, write
action plans for them or so on. Let's take retail business - although it has it's
own specifics in major part the manager can define in what threshold of goods availability
make order to suppliers, or when to put some goods on sale and so on..
</p>
        <p>
In software is different. While in others <a href="http://en.wikipedia.org/wiki/Micromanagement" target="_blank">micromanagement</a> (although
bad in general) can be applied in software is impossible. 
</p>
        <p>
This is why we have so <a href="http://en.wikipedia.org/wiki/Software_development_process" target="_blank">many
methodologies</a>: <a href="http://en.wikipedia.org/wiki/Waterfall_model" target="_blank">Waterfall
model</a>, <a href="http://en.wikipedia.org/wiki/Spiral_model" target="_blank">Spiral
model</a>, <a href="http://en.wikipedia.org/wiki/Extreme_Programming" target="_blank">Extreme
programming</a> and so on... 
</p>
        <p>
But where is the secret to success? There is no single answer to this question. But <a href="http://www.inc.com/magazine/20080701/how-hard-could-it-be-glory-days.html" target="_blank">Joel
Spolsky shared his experience</a> working with <a href="http://en.wikipedia.org/wiki/Bill_Gates" target="_blank">BillG</a> -
more especially having him making a design review... 
</p>
        <blockquote>
          <p>
            <em>
              <strong>Bill Gates was amazingly technical</strong>, and h<strong>e knew more
about the details of his company's software than most of the people who worked on
those details day in and day out</strong>. He understood Variants and COM objects
and IDispatch and why Automation is different than vtables -- and why this might lead
to dual interfaces. <strong>He worried about date and time functions</strong>. He
didn't meddle in software if he trusted the people who were working on it, but <strong>you
couldn't</strong><strong>bullshit him for a minute because he was a programmer. A
real, actual programmer</strong>.</em>
          </p>
        </blockquote>
        <p>
and more
</p>
        <blockquote>
          <p>
            <em>
              <strong>
                <u>Bill doesn't really want to review your spec, he just wants to make
sure you've got it under control. </u>
              </strong>His standard M.O. is to ask harder
and harder questions until you admit that you don't know, and then he can yell at
you for being unprepared. Nobody was really sure what happens if you answer the hardest
question he can come up with because it's never happened before.</em>
          </p>
        </blockquote>
        <p>
          <a href="http://www.inc.com/magazine/20080701/how-hard-could-it-be-glory-days.html" target="_blank">Read
the whole story</a> (<a href="http://www.joelonsoftware.com/items/2006/06/16.html" target="_blank">here
too</a>) and you will learn some interesting things as how Microsoft made such great
product as Excel, how deeply the management should be involved in the details; <strong>What
is F-counter and how it is related to design reviews :)</strong>.
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=6aba7af2-4900-4cd7-a072-8fa08072fd53" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>VS2008 seminars in New Horizons Bulgaria</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=9ff7f56f-8dcd-4ef6-9935-fec21b68672f" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=9ff7f56f-8dcd-4ef6-9935-fec21b68672f</id>
    <published>2008-06-19T17:38:47.0304624+03:00</published>
    <updated>2008-06-19T17:38:47.0304624+03:00</updated>
    <category term=".NET Development" label=".NET Development" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=.NET+Development" />
    <category term="Architecture" label="Architecture" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Architecture" />
    <category term="Astoria" label="Astoria" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Astoria" />
    <category term="LINQ" label="LINQ" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=LINQ" />
    <category term="Web" label="Web" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Web" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday was last seminar from VS2008 series held in the <a href="http://www.newhorizons.bg/" target="_blank">New
Horizons Bulgaria</a> office with <a href="http://www.microsoft.com/bulgaria/" target="_blank">Microsoft
Bulgaria</a> support.
</p>
        <p>
The seminars was very interesting (not only from my perspective of trainer) but also
from audience perspective we see in their feedback. During high demand I am publishing
presentations and demo scripts where available. It is always good to write code in
live (although not very easy - try it ;) ) and this is why I cannot provide working
demos - I have only my own cheat lists which I use in cse I am stuck somewhere.
</p>
        <p>
          <strong>Deep Dive in LINQ</strong> - Here I talked about new features in C# in details
and how they are build internally(also described in my <a href="http://www.galcho.com/LINQTutorial/Page1.aspx">Introduction
in LINQ and C# 3.0 (In Bulgarian) </a>). Also I covered LINQ to SQL, <a href="http://www.galcho.com/Blog/PermaLink.aspx?guid=1c8b20dc-dfd2-4bf6-8153-f5d352db740c" target="_blank">LINQ
to XML</a>.  In demos we took a look at C# syntax sugar, new ways to work with
XML as well as some problems stated in <a href="http://projecteuler.net/" target="_blank">Project
Euler</a> and solved with C# 3.0. <a onclick="javascript:urchinTracker('/downloads/Deep-Dive-in-LINQ.zip');" href="http://www.galcho.com/blog/content/binary/VS08Seminars/Deep-Dive-in-LINQ.zip" target="_blank">Slides
+ Demo scripts (PPTX+DOCX - 1.22MB</a>)
</p>
        <p>
          <strong>Develop Dynamic Web Sites with ASP.NET 3.5</strong> - This session was focused
on web development. Here I show new controls to work with LINQ to SQL data source
declaratively. We took a look at ASP.NET Extensions (aka Futures): ASP.NET MVC, ASP.NET
Dynamic Data, ASP.NET AJAX Integration, ADO.NET Data Services. All features was shown
in code except ADO.NET Data Services. For ASP.NET AJAX was shown how to control Browser's
Back Button from both server-side and client-side. <a onclick="javascript:urchinTracker('/downloads/aspnet-35-new-features.zip');" href="http://www.galcho.com/blog/content/binary/VS08Seminars/aspnet-35-new-features.zip" target="_blank">Slides+Demo
Scripts (PPTX+DOCX - 3.23 MB)</a>.
</p>
        <p>
          <strong>Overview of WCF, WF, WPF</strong> - Although these technologies are not new
there is still some improvements in .NET 3.5. These components are very useful but
their adoption is not very fast. We talked about the architectural decisions and challenges
behind them. The demos show how to work with WCF in VS2008, How to create REST Service
and how to expose JSON as result. WF demos show how to create simple sequential workflow.
WPF demo presented project structure, generated code, XAML (of course) and WPF data
binding basics. <a onclick="javascript:urchinTracker('/downloads/Overview-dotNET3.zip');" href="http://www.galcho.com/blog/content/binary/VS08Seminars/Overview-dotNET3.zip" target="_blank">Slides+Demo
Scripts (PPTX+DOCS - 10.8 MB)</a>.
</p>
        <p>
Hope you'll find it useful.<br />
As always any comments and feedback are very welcome.
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=9ff7f56f-8dcd-4ef6-9935-fec21b68672f" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Rafal Lukawiecki for Data Mining</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=e7e4617c-5055-47c7-8141-9fb7cae7bf42" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=e7e4617c-5055-47c7-8141-9fb7cae7bf42</id>
    <published>2008-06-11T23:34:01.154536+03:00</published>
    <updated>2008-06-11T23:34:01.154536+03:00</updated>
    <category term="SQL" label="SQL" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=SQL" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.microsoft.com/">Microsoft</a> has recently published a <a href="http://www.microsoft.com/emea/spotlight/event.aspx?id=99">series
of video sessions on Data Mining by Rafal Lukawiecki</a> on their <a href="http://www.microsoft.com/technetspotlight/">TechNet
Spotlight</a>. 
</p>
        <p>
  
</p>
        <p>
It was very interesting day I spent on January 2008 in a one-day seminar with the
best speaker I've even had a chance to watch - Rafal Lukawiecki. 
</p>
        <p>
I learned many things - not only in Data Mining area but also in presentation skills
and so on... 
</p>
        <p>
  
</p>
        <p>
via <a href="http://blogs.staykov.net/">Anton Staykov's Blog</a>. Thanks for sharing!
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=e7e4617c-5055-47c7-8141-9fb7cae7bf42" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Master - Jedi Master or Microsoft Certified Master</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=4a217e34-42a6-44f6-b05e-863bddd0ae2f" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=4a217e34-42a6-44f6-b05e-863bddd0ae2f</id>
    <published>2008-06-11T23:22:15.2294656+03:00</published>
    <updated>2008-06-11T23:22:15.2294656+03:00</updated>
    <category term="Certification" label="Certification" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Certification" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <table cellspacing="0" cellpadding="0" width="100%" border="0">
          <tbody>
            <tr>
              <td valign="top">
I've just read a <a href="http://galego2.spaces.live.com/Blog/cns!4D725994D1492A33!590.entry?wa=wsignin1.0" target="_blank">blog
post</a> pointed to new <a href="http://www.microsoft.com/learning/mcp/master/" target="_blank">Microsoft
Certified Master</a> program. It seems that MCA is too high and to generalized but
MCPD, MCIT Pro are not enough high...<br /><br />
Here are the tracks so far:<br /><ul><li>
Microsoft Certified Master: Exchange Server 2007 
</li><li>
Microsoft Certified Master: SQL Server 2008 
</li><li>
Microsoft Certified Master: Windows Server 2008 
</li><li>
Microsoft Certified Master: Office Communications Server 2007 
</li><li>
Microsoft Certified Master: Office SharePoint Server 2007 
</li></ul></td>
              <td valign="top">
                <img height="222" src="http://sgv9ma.bay.livefilestore.com/y1pZy42udLb-fdcnF9bOCtBs-JQkvSs_hHN9xmQN2aHG7CeTNcY_jXe_z6hwqX1xvBwLr2ymnLjn_W1VCH3M59ETA?PARTNER=WRITER" width="378" />
              </td>
            </tr>
          </tbody>
        </table>
Where is the dev one?<img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=4a217e34-42a6-44f6-b05e-863bddd0ae2f" /><br /><hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=5cf935e4-e695-4a0f-8331-b5c76a8e103f" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=5cf935e4-e695-4a0f-8331-b5c76a8e103f</id>
    <published>2008-05-13T16:00:48.935+03:00</published>
    <updated>2008-05-13T16:14:17.6980672+03:00</updated>
    <category term=".NET Development" label=".NET Development" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=.NET+Development" />
    <category term="Architecture" label="Architecture" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Architecture" />
    <category term="Astoria" label="Astoria" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Astoria" />
    <category term="LINQ" label="LINQ" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=LINQ" />
    <category term="Web" label="Web" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Web" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
There is no doubt that VS 2008 and .NET 3.5  totally rocks! <a href="http://weblogs.asp.net/scottgu/" target="_blank">ScottGu's</a><a href="http://www.microsoft.com/presspass/exec/guthrie/default.mspx" target="_blank">division</a> keeps
pushing these products and constantly improving developer's productivity and shortening
development cycle.
</p>
        <p>
This time MS is preparing to release .NET 3.5 SP1 and VS 2008 SP1 releases. 
</p>
        <p>
In short here are improvements:
</p>
        <h5>Improvements for Client Development
</h5>
        <ul>
          <li>
ASP.NET Data Scaffolding Support (ASP.NET Dynamic Data)</li>
          <li>
SP.NET Routing Engine (System.Web.Routing)</li>
          <li>
ASP.NET AJAX Back/Forward Button History Support</li>
          <li>
ASP.NET AJAX Script Combining Support - <a href="http://msmvps.com/blogs/omar/default.aspx" target="_blank">Omar
Al Zabir<a /> wrote an <a href="http://feeds.feedburner.com/~r/OmarAlZabirBlog/~3/287337907/fast-asp-net-web-page-loading-by-downloading-multiple-javascripts-in-batch.aspx" target="_blank">extensive
article about this approach</a>.
</a></li>
          <li>
Visual Studio 2008 Performance Improvements HTML Designer and HTML Source Editor 
</li>
          <li>
Visual Studio 2008 JavaScript Script Formatting and Code Preferences</li>
          <li>
Better Visual Studio Javascript Intellisense for Multiple Javascript/AJAX Frameworks
- who can blame MS that force us to use their JS framework now?!</li>
          <li>
Visual Studio Refactoring Support for WCF Services in ASP.NET Projects</li>
          <li>
Visual Studio Support for Classic ASP Intellisense and Debugging - I am wondering
when this technology will be declared dead :) (This is what I used in my first web
apps too :)) 
</li>
        </ul>
        <h5>Improvements for Client Development
</h5>
        <ul>
          <li>
Application Startup and Working Set Performance Improvements</li>
          <li>
New .NET Framework Client Profile Setup Package</li>
          <li>
New .NET Framework Setup Bootstrapper for Client Applications</li>
          <li>
ClickOnce Client Application Deployment Improvements</li>
          <li>
Windows Forms Controls</li>
          <li>
WPF Performance Improvements</li>
          <li>
WPF Data Improvements</li>
          <li>
WPF Extensible Shader Effects 
</li>
          <li>
WPF Interoperability with Direct3D</li>
        </ul>
        <h5>VS 2008 for WPF Improvements
</h5>
        <ul>
          <li>
Several performance improvements 
</li>
          <li>
Events tab support within the property browser 
</li>
          <li>
Ability to sort properties alphabetically in the property browser 
</li>
          <li>
Margin snaplines which makes form layout much quicker 
</li>
          <li>
Better designer support for TabControl, Expander, and Grid 
</li>
          <li>
Code initiated refactoring now updates your XAML (including both control declarations
and event declarations in XAML) 
</li>
          <li>
Go to Definition and Find All References now support things declared in XAML</li>
        </ul>
        <h5>Data Development Improvements
</h5>
        <ul>
          <li>
SQL 2008 Support</li>
          <li>
ADO.NET Entity Framework and LINQ to Entities</li>
          <li>
ADO.NET Data Services 
</li>
        </ul>
        <h5>WCF Development Improvements
</h5>
        <ul>
          <li>
Significant scalability improvements (5-10x) in Web-hosted application scenarios 
</li>
          <li>
Support for using ADO.NET Entity Framework entities in WCF contracts 
</li>
          <li>
API usability improvements with DataContract Serializers, and with the UriTemplate
and WCF web programming models 
</li>
          <li>
Enhanced TestClient support within VS 2008 SP1 
</li>
          <li>
New Hosting Wizard in VS 2008 SP1 for WCF Service Projects 
</li>
          <li>
Improved debugging support in partial trust scenarios</li>
        </ul>
        <h5>VB and C# Improvements !!!
</h5>
        <h5>Team Foundation Server Improvements
</h5>
        <p>
Pretty impressive...
</p>
        <p>
          <a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx" target="_blank">Read
full novel by Scott Guthrie here</a> :) 
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=5cf935e4-e695-4a0f-8331-b5c76a8e103f" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>My Sessions at Microsoft Days 2008 in Sofia, Bulgaria</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=1c8b20dc-dfd2-4bf6-8153-f5d352db740c" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=1c8b20dc-dfd2-4bf6-8153-f5d352db740c</id>
    <published>2008-04-30T18:37:01.952+03:00</published>
    <updated>2008-04-30T18:38:20.7963552+03:00</updated>
    <category term=".NET Development" label=".NET Development" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=.NET+Development" />
    <category term="IIS" label="IIS" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=IIS" />
    <category term="LINQ" label="LINQ" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=LINQ" />
    <category term="Web" label="Web" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Web" />
    <category term="Window Server System" label="Window Server System" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Window+Server+System" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
MS Days 2008 in Bulgaria is in history now and I could say I had a nice two days.
There were many lecturers (about 50) and 72 sessions in 6 tracks. 
</p>
        <p>
For those who missed my talks or are interested in slides here are summary of the
sessions:
</p>
        <h5>LINQ to XML - Data Access Technologies
</h5>
        <p>
This session was focused on the new API from XML team for .NET languages. I gave a
side by side comparison between traditional DOM vs. LINQ to XML regarding those most
common actions:
</p>
        <ul>
          <li>
Create XML</li>
          <li>
Traverse XML</li>
          <li>
Transform XML</li>
        </ul>
        <p>
I covered also <a href="http://msdn.microsoft.com/en-us/library/bb384460.aspx" target="_blank">VB9
Literals</a>. At the moment I started talking about VB I was thinking people would
throw rocks at me (and some really considered that option:) ). But at the moment when
repeated some of demos with VB9 code the audience was very impressed and they forgot
about those rocks in their pockets. Even there were initial brainstorming whether
same things can be implemented in C# with custom code.(Unfortunately this is a compiler
feature and we cannot do it very easily).
</p>
        <p>
Another thing I mentioned was <a href="http://blogs.msdn.com/xmlteam/archive/2007/06/05/linq-to-xsd-preview-alpha-0-2-to-go-with-orcas-beta-1.aspx" target="_blank">LINQ
to XSD</a>.
</p>
        <p>
I've decided that people will understand my points better if I write code in front
of them instead of just explaining it. This is also more challenging :). I think it
went well... 
</p>
        <p>
Here are the downloads:
</p>
        <ul>
          <li>
            <a href="http://www.galcho.com/Blog/content/binary/msdays08/MS%20Days_08_LINQ_to_XML.pptx" target="_blank">MS
PowerPoint 2007 Presentation</a> (808KB)</li>
          <li>
Script of the code I ran: <a href="http://www.galcho.com/Blog/content/binary/msdays08/LINQtoXML-Demos.docx" target="_blank">MS
Word 2007</a> (13KB)</li>
        </ul>
        <h5>IIS7 for IT Pros
</h5>
        <p>
IIS7 is <a href="http://www.galcho.com/Blog/PermaLink.aspx?guid=9d2cc122-8e39-4184-b42b-1d8cec5a8f9e" target="_blank">the
most interesting feature</a> in Windows Server 2008 and I already <a href="http://www.galcho.com/Blog/PermaLink.aspx?guid=7c479686-2852-4aaa-987d-40059ab4398a" target="_blank">had
some talks</a> about it. In this talk I covered (from administration perspective)
following key topics:
</p>
        <ul>
          <li>
What is missing in IIS 6.0</li>
          <li>
IIS7 module architecture and it's benefits</li>
          <li>
New .NET-like configuration files and metadata</li>
          <li>
Delegated Administration</li>
          <li>
Shared Configuration</li>
          <li>
Tracing and Diagnostics</li>
        </ul>
        <p>
The things I've demonstrated are:
</p>
        <ol>
          <li>
New tools - new management console as well as APPCMD command-line tool</li>
          <li>
Richness of new error pages and generated trace file - it is whole HTML+JS application
built with XML &amp; XSLT with incredible amount of information.</li>
          <li>
            <a href="http://www.galcho.com/articles/StressTestingWCAT.aspx" target="_blank">WCAT
stress test</a> with view of live requests on the server. 
</li>
          <li>
Analyze server and site load using <a href="http://www.galcho.com/Blog/PermaLink.aspx?guid=27f1cc40-ae89-4f71-a4a2-52f79b29b73d" target="_blank">IIS7
Admin Pack</a> features.</li>
        </ol>
        <p>
And here is the presentation: <a href="http://www.galcho.com/Blog/content/binary/msdays08/MS%20Days_08_IIS7.pptx" target="_blank">MS
PowerPoint 2007 format</a> (0.98 MB)
</p>
        <p>
Any feedback is very welcome.
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=1c8b20dc-dfd2-4bf6-8153-f5d352db740c" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>How bad is SQL Injection</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=bec8448a-1177-4e2f-b924-40cdb77c47ea" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=bec8448a-1177-4e2f-b924-40cdb77c47ea</id>
    <published>2008-04-30T16:24:29.3577136+03:00</published>
    <updated>2008-04-30T16:24:29.3577136+03:00</updated>
    <category term=".NET Development" label=".NET Development" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=.NET+Development" />
    <category term="IIS" label="IIS" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=IIS" />
    <category term="SQL" label="SQL" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=SQL" />
    <category term="Web" label="Web" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Web" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have been presenting IIS (Internet Information Services) for a while and there is
one slide in my deck which says that there is <strong>No critical security patch since
RTM for IIS6</strong>.
</p>
        <p>
Recently there was some news about 500k web pages was exploited with SQL Injection
hack(more info <a href="http://www.pcworld.com/article/id,145151-c,hackers/article.html" target="_blank">here</a> and <a href="http://rss.slashdot.org/~r/Slashdot/slashdot/~3/279670251/article.pl" target="_blank">here</a>).
</p>
        <p>
Although this could put some shadow on IIS security it has to be clear that this is
not an <u>IIS exploit</u>. This is <u>application exploit</u>. Any application could
suffer <a href="http://msdn.microsoft.com/en-us/library/ms161953.aspx" target="_blank">SQL
Injection</a> (<a href="http://msdn.microsoft.com/practices/media/security/sqlinjection.asx" target="_blank">video:
Length: 6:01 - Size: 6.37 MB</a> ). 
</p>
        <p>
It is not like uploading harmful file on the server and execute it, isn't it?
</p>
        <p>
So it has to be clear: <u><strong>Do not</strong></u> use such code:
</p>
        <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: visible; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 400px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <span style="color: #0000ff">public</span>
            <span style="color: #0000ff">bool</span> Login(<span style="color: #0000ff">string</span> userName, <span style="color: #0000ff">string</span> password)
{ <span style="color: #0000ff">string</span> command = <span style="color: #0000ff">string</span>.Format(<span style="color: #006080">"SELECT
COUNT(*) FROM User WHERE UserName='{0}' AND Password='{1}'"</span>, userName, password); <span style="color: #0000ff">using</span> (conn)
{ SqlCommand cmdLogin = <span style="color: #0000ff">new</span> SqlCommand(command,
conn); conn.Open(); <span style="color: #0000ff">int</span> res = cmdLogin.ExecuteScalar(); <span style="color: #0000ff">return</span> res
== 1; } }</pre>
        </div>
        <p>
Do you know why?!
</p>
        <p>
Because if you get as password the following string <span style="color: red">' OR
1=1 '; drop table Users;</span> you will drop the table from DB and apparently the
application will stop working.
</p>
        <p>
          <strong>Do it</strong> this way:
</p>
        <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: visible; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 400px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <span style="color: #0000ff">public</span>
            <span style="color: #0000ff">bool</span> Login(<span style="color: #0000ff">string</span> userName, <span style="color: #0000ff">string</span> password)
{ <span style="color: #0000ff">string</span> command = <span style="color: #0000ff">string</span>.Format(<span style="color: #006080">"SELECT
COUNT(*) FROM User WHERE UserName=<strong>@UserName</strong> AND Password=<strong>@Password</strong>"</span>,
userName, password); <span style="color: #0000ff">using</span> (conn) { SqlCommand
cmdLogin = <span style="color: #0000ff">new</span> SqlCommand(command, conn); <strong>cmdLogin.Parameters.AddWithValue(<span style="color: #006080">"@UserName"</span>,
userName);</strong><strong>cmdLogin.Parameters.AddWithValue(<span style="color: #006080">"@Password"</span>,
password); </strong> conn.Open(); <span style="color: #0000ff">int</span> res = cmdLogin.ExecuteScalar(); <span style="color: #0000ff">return</span> res
== 1; } }</pre>
        </div>
        <p>
It is much safer...
</p>
        <p>
Hope this helps!
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=bec8448a-1177-4e2f-b924-40cdb77c47ea" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Get list result from Stored Procedure</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=cdee5e6a-198b-4dae-838a-8645abc9bdbc" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=cdee5e6a-198b-4dae-838a-8645abc9bdbc</id>
    <published>2008-04-30T14:58:32.6927936+03:00</published>
    <updated>2008-04-30T14:58:32.6927936+03:00</updated>
    <category term="SQL" label="SQL" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=SQL" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Stored procedures are very powerful and they have many benefits than using UDF (user
defined function). 
</p>
        <p>
There is one cons though - resultset cannot be manipulated further from T-SQL.
</p>
        <p>
There is one trick that will allow it: by using <a href="http://msdn2.microsoft.com/en-us/library/ms190312.aspx" target="_blank">OPENROWSET</a>:
</p>
        <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: hidden; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <span style="color: #0000ff">SELECT</span> * <span style="color: #0000ff">FROM</span><span style="color: #0000ff">OPENROWSET</span> (<span style="color: #006080">'SQLOLEDB'</span>,<span style="color: #006080">'Server=(local);TRUSTED_CONNECTION=YES;'</span>,<span style="color: #006080">'set
fmtonly off exec master.dbo.sp_who'</span>) <span style="color: #0000ff">AS</span> tbl</pre>
        </div>
        <p>
          <a href="http://blogs.technet.com/wardpond/archive/2005/08/01/the-openrowset-trick-accessing-stored-procedure-output-in-a-select-statement.aspx" target="_blank">Read
full blog post here</a>
        </p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=cdee5e6a-198b-4dae-838a-8645abc9bdbc" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>How much of success is the technical side?</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=ff792478-951a-475c-b32f-cbc6d65ae68d" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=ff792478-951a-475c-b32f-cbc6d65ae68d</id>
    <published>2008-04-29T15:02:09.542136+03:00</published>
    <updated>2008-04-29T15:02:09.542136+03:00</updated>
    <category term="Management" label="Management" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Management" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
All of us has heard of software companies that achieved a great success - Microsoft,
Apple, Yahoo.. more recently Google and Skype. As we are technical people we tend
to think it is related <u>entirely</u> with some super-duppa algorithm, smart software
or you name it... built even in a garage. In most cases this is the initial power
that make them move. But after initial start there are another factors that counts.
</p>
        <p>
Have you wondered how is possible to build world class product with team of 5 and
within a year to have a team of 100 (or 1000) doing same thing?  This is very
dangerous situation because there is a moment in a young company when nobody knows
what exactly are their responsibilities. It is dangerous because clients starts to
suffer low quality of service. Having many teams require a lot of communication and
not knowing how to structure it a lot of precious time is wasted. Such situations
requires a good leadership.
</p>
        <p>
The companies that has success had a leaders to help them. And leadership has small
to do with technical problems. <a href="http://en.wikipedia.org/wiki/Dale_Carnegie" target="_blank">Dale
Carnegie</a> points this very accurate:
</p>
        <blockquote>
          <p>
            <em>Even in such technical lines as engineering, about 15% of one's financial success
is due one's technical knowledge and about 85% is due to skill in human engineering,
to personality and the ability to lead people. </em>
          </p>
          <p>
            <a href="http://www.woopidoo.com/business_quotes/authors/dale-carnegie/index.htm" target="_blank">Dale
Carnegie</a>
          </p>
        </blockquote>
        <p>
Software industry is very different to other well known industries and in same same
time very similar. Leadership is very same.  
</p>
        <blockquote>
          <p>
            <em>Employees are not told what to do anymore. Now, you influence their choices and
assist them in reaching their goals. You do not direct; you win the team over to your
point of view. You do not dictate; you inspire! You can learn how to convey this inspiration
by focusing on your leadership skills development. Leadership development is needed
to successfully take charge of your team in today's business world.</em>
            <br />
            <a href="http://www.dalecarnegie.com/search_courses/course_desc.jsp?cCode=LTM&amp;state=WA" target="_blank">dalecarnegie.com</a>
          </p>
        </blockquote>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=ff792478-951a-475c-b32f-cbc6d65ae68d" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>.NET 3.5 Enhancements Training Kit</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=1f442c5d-7ff7-4936-8009-61b90fe02abf" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=1f442c5d-7ff7-4936-8009-61b90fe02abf</id>
    <published>2008-04-13T16:09:06.0071552+03:00</published>
    <updated>2008-04-13T16:09:06.0071552+03:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
After Visual Studio 2008 training kit <a href="http://www.galcho.com/Blog/PermaLink.aspx?guid=63940cc0-9547-4d54-bee1-f8e5aeb46940" target="_blank">was
released</a> now it turn to .NET 3.5 Enhancements :)
</p>
        <p>
This kit that was kindly put together by Developer and Platform Evangelism Group in
Microsoft contains:
</p>
        <ul>
          <li>
ASP.NET MVC 
</li>
          <li>
ASP.NET Dynamic Data 
</li>
          <li>
ASP.NET AJAX History 
</li>
          <li>
ASP.NET Silverlight controls 
</li>
          <li>
ADO.NET Data Services 
</li>
          <li>
ADO.NET Entity Framework</li>
        </ul>
        <p>
          <a href="http://download.microsoft.com/download/2/a/b/2ab3c38f-3a13-4c48-bdaa-5d989a33baac/NETFramework35Enhancements_TrainingKit.exe" target="_blank">Download
it from Microsoft Downloads</a> (34.9 MB)
</p>
        <p>
(via <a href="http://blogs.microsoft.co.il/members/Guy-Burstein.aspx">Guy Burstein</a>)
</p>
        <p>
          <strong>Note</strong>: For this release of Visual Studio there are so many materials
and training kits as never before! All one have to do it download and read, play and
practice. And this is because of the strong community and internal support by Microsoft
teams.
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=1f442c5d-7ff7-4936-8009-61b90fe02abf" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Release package is settled: Entity Framework &amp;amp; ADO.NET Data Services  in VS 2008 SP1 and .NET 3.5 SP1</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=6ea0ef5d-af45-4ffc-b802-c75b4c06320a" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=6ea0ef5d-af45-4ffc-b802-c75b4c06320a</id>
    <published>2008-04-11T13:47:02.366+03:00</published>
    <updated>2008-04-11T13:47:48.8935056+03:00</updated>
    <category term=".NET Development" label=".NET Development" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=.NET+Development" />
    <category term="Architecture" label="Architecture" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Architecture" />
    <category term="Astoria" label="Astoria" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=Astoria" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <blockquote>
          <p>
            <em>It's settled! The Entity Framework (and the Entity Designer) along with ADO.NET
Data Services will RTM as part of the Visual Studio 2008 and .NET 3.5 SP1 releases!</em>
          </p>
          <p>
            <em>Unfortunately, we don't have official release dates at this point, but stay tuned.
You'll also want to keep an eye out for the upcoming SP1 Beta 1, which will be your
next chance to check out updated bits for both of these products.</em>
          </p>
          <p>
Elisa Flasko<br />
Program Manager, Data Programmability
</p>
        </blockquote>
        <p>
(via <a href="http://blogs.msdn.com/adonet/archive/2008/04/09/entity-framework-ado-net-data-services-to-ship-with-vs-2008-sp1-net-3-5-sp1.aspx" target="_blank">this
ADO.NET team blog post</a>)
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=6ea0ef5d-af45-4ffc-b802-c75b4c06320a" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Access Remote SQL Server with SQL Management Studio and Windows Authentication</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=20d0d23f-9f7d-46e8-a82c-971c1118996e" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=20d0d23f-9f7d-46e8-a82c-971c1118996e</id>
    <published>2008-04-09T13:37:27.249+03:00</published>
    <updated>2008-04-09T13:38:16.810688+03:00</updated>
    <category term="SQL" label="SQL" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=SQL" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've been working with SQL Management Studio since it's release (and even before)
and I think it is a very good tool. Especially as in next version there <a href="http://www.galcho.com/Blog/PermaLink.aspx?guid=5e00a759-7ade-4c40-b805-7b8219619223" target="_blank">will
be IntelliSense</a>. 
</p>
        <p>
In my daily work I need to access several remote SQL Servers (over VPN) and some of
them require windows authentication. With SQL Server Authentication is easy - just
create VPN connection and use SQL Server Management Studio from local machine entering
SQL credentials in the wide-known box below: 
</p>
        <p>
          <a href="http://www.galcho.com/Blog/content/binary/WindowsLiveWriter/AccessRemoteSQLServerwithSQLManagementSt_BF87/image_2.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="212" alt="image" src="http://www.galcho.com/Blog/content/binary/WindowsLiveWriter/AccessRemoteSQLServerwithSQLManagementSt_BF87/image_thumb.png" width="281" border="0" />
          </a>
        </p>
        <p>
This is not the case with windows authentication. Especially in domain environment
it is better to give access to domain groups and users instead of creating SQL ones.
</p>
        <p>
As a workaround (the one I've used 'till today) you can do remote desktop connection
to the server and do the job via RDC console. I have struggled with this approach
for a long time and although it is not that bad there are some issues working all
the time via RDC.
</p>
        <p>
I've tried <a href="http://www.computerhope.com/runas.htm" target="_blank">runas</a> command
but somehow my credentials weren't accepted.... but the switch <strong>/NetOnly</strong> did
the job
</p>
        <p>
so I use now
</p>
        <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: hidden; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 400px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">C:\&gt;runas /netonly /user:domainName\userName <span style="color: #006080">"C:\Program
Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\ssmsee.exe"</span></pre>
        </div>
        <p>
and it works...
</p>
        <p>
Hope this helps
</p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=20d0d23f-9f7d-46e8-a82c-971c1118996e" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>IntelliSense in MS SQL Server Management Studio! Finally!!!</title>
    <link rel="alternate" type="text/html" href="http://www.galcho.com/Blog/PermaLink.aspx?guid=5e00a759-7ade-4c40-b805-7b8219619223" />
    <id>http://www.galcho.com/Blog/PermaLink.aspx?guid=5e00a759-7ade-4c40-b805-7b8219619223</id>
    <published>2008-04-08T18:02:24.202+03:00</published>
    <updated>2008-04-08T18:05:05.9150864+03:00</updated>
    <category term="SQL" label="SQL" scheme="http://www.galcho.com/Blog/CategoryView.aspx?category=SQL" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the new MS SQL Server 2008 (a.k.a. Katmai) Management studio will have IntelliSense.
It is not very stable and performance is not great in CTP6 but there is still time
to release to make it as good as in Visual Studio.
</p>
        <p>
Thank you guys!
</p>
        <p>
          <a href="http://www.galcho.com/Blog/content/binary/WindowsLiveWriter/IntelliSenseinMSSQLServerManagementStudi_FDAB/scr1.png" rel="lightbox[SQL2008-IntelliSense]">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="225" alt="scr1" src="http://www.galcho.com/Blog/content/binary/WindowsLiveWriter/IntelliSenseinMSSQLServerManagementStudi_FDAB/scr1_thumb.png" width="299" border="0" />
          </a>
          <a href="http://www.galcho.com/Blog/content/binary/WindowsLiveWriter/IntelliSenseinMSSQLServerManagementStudi_FDAB/scr2.png" rel="lightbox[SQL2008-IntelliSense]">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="223" alt="scr2" src="http://www.galcho.com/Blog/content/binary/WindowsLiveWriter/IntelliSenseinMSSQLServerManagementStudi_FDAB/scr2_thumb.png" width="296" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.galcho.com/Blog/aggbug.ashx?id=5e00a759-7ade-4c40-b805-7b8219619223" />
        <br />
        <hr />
This weblog is sponsored by <a href="http://www.newtelligence.com">newtelligence AG</a>. 
</div>
    </content>
  </entry>
</feed>