<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.microsoft.co.il/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>Sig-</title><link>http://blogs.microsoft.co.il/blogs/silver83/</link><description>Code and stuff.</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>IpcChannel and Remoting Events</title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2009/02/22/ipcchannel-and-remoting-events.aspx</link><pubDate>Sun, 22 Feb 2009 14:00:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:233990</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=233990</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2009/02/22/ipcchannel-and-remoting-events.aspx#comments</comments><description>&lt;p&gt;Just solved a problem that I had a hard time googling to solve, so I wanted the next guy to have an easier time :&lt;/p&gt;

&lt;p&gt;When creating a remoting connection from a client to a server, and you want the server to be able to raise events back to the client,  &lt;br /&gt;
you must set a property called &amp;quot;tokenImpersonationLevel&amp;quot; to &amp;quot;impersonation&amp;quot; on the dictionary used to initialize the channel. &lt;/p&gt;
i.e. : 

&lt;div style="font-family:Courier New;font-size:10pt;color:black;background:white;"&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Setup a client channel for the server to use during callbacks (events)&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; SetupRemotingChannel()&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;BinaryServerFormatterSinkProvider&lt;/span&gt; serverProv = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BinaryServerFormatterSinkProvider&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;BinaryClientFormatterSinkProvider&lt;/span&gt; clientProv = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;BinaryClientFormatterSinkProvider&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;IDictionary&lt;/span&gt; props = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Hashtable&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; props[&lt;span style="color:#a31515;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;] = props[&lt;span style="color:#a31515;"&gt;&amp;quot;portName&amp;quot;&lt;/span&gt;] = _clientChannelName = _clientChannelBaseName + &lt;span style="color:#2b91af;"&gt;Guid&lt;/span&gt;.NewGuid().ToString();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; props[&lt;span style="color:#a31515;"&gt;&amp;quot;tokenImpersonationLevel&amp;quot;&lt;/span&gt;] = &lt;span style="color:#a31515;"&gt;&amp;quot;impersonation&amp;quot;&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.&lt;span style="color:#2b91af;"&gt;TypeFilterLevel&lt;/span&gt;.Full;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;IpcChannel&lt;/span&gt; chan = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IpcChannel&lt;/span&gt;(props, clientProv, serverProv);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;ChannelServices&lt;/span&gt;.RegisterChannel(chan, &lt;span style="color:blue;"&gt;true&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;


&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=233990" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/DEV/default.aspx">DEV</category></item><item><title>Am I expecting too much ?</title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2008/05/06/am-i-expecting-too-much.aspx</link><pubDate>Tue, 06 May 2008 20:21:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:86539</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=86539</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2008/05/06/am-i-expecting-too-much.aspx#comments</comments><description>&lt;p&gt;&lt;font color="#ff6633"&gt;&lt;strong&gt;[*** Rant Warning : Level 5 ***]&lt;/strong&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Alot of awsome blogging has been happening around new microsoft technologies, and it seems like a demo or tutorial is sprouting under every tree. And just as you got convinced to try and&amp;nbsp;use this new-cool-automatic-freshness, you get into your first wtf within 5minutes. &lt;/p&gt;
&lt;p&gt;And the driving force of this blog post : LinqDataSource. Brand-spankin&amp;#39;-new&amp;nbsp;with all the bells and whistles. Just set it up, point it to your DataContext type name, connect it to your GridView or whatever, and voila. &lt;/p&gt;
&lt;p&gt;But hey - I want to use a connection string from the CONFIGURATION file, and _NOT_ leave it hardcoded, running around&amp;nbsp;like a rabid dog&amp;nbsp;in my assembly.&lt;/p&gt;
&lt;p&gt;So, the average programmer starts typing - &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; myDataSource.Conn.... Hey - Where&amp;#39;s the ConnectionString property? ConnectionStringName? Hellloooooo... Anybody there? oh crap. they got me yet again.&lt;/p&gt;
&lt;p&gt;Turns out Google is swamped by unfortunate&amp;nbsp;bums like me trying to figure out what&amp;#39;s going on.&amp;nbsp;Out of 5 blogs/forum posts I bothered reading, 1 had a semi-proper solution,&amp;nbsp;and the other four CONCLUDED the forum discussion with &amp;quot;LinqDataSource does not support setting the connection string at runtime.&amp;quot;&lt;/p&gt;
&lt;p&gt;There are several solutions, from reflection (for the psychos), extending the context with a new default constructor in a partial class (deleting the old one), or just deriving from your old DataContext with a new AutoConfiguredDataContext:MyDataContext, setting the default constructor as the one which goes to configuration to fetch the connString.&lt;/p&gt;
&lt;p&gt;Code will be posted on demand.&lt;/p&gt;
&lt;p&gt;My point is different - Why is this option buried behind a semi-brick wall ? &lt;br /&gt;Out of all the code in the BCL, Grids and DataSources&amp;nbsp;have some of the most lengthy class sources, and the ConnectionString property is what put the project at risk ? &lt;br /&gt;What was the motivation behind this - force everyone to create designer-only apps ? &lt;/p&gt;
&lt;p&gt;Please, anyone with a half-decent reasoning for this, gets cudos from me. Really - hats off.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=86539" width="1" height="1"&gt;</description></item><item><title>Talking code when everyone else is shouting </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2008/01/30/talking-code-when-everyone-else-is-shouting.aspx</link><pubDate>Wed, 30 Jan 2008 19:33:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:55207</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=55207</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2008/01/30/talking-code-when-everyone-else-is-shouting.aspx#comments</comments><description>&lt;p&gt;Frank Bouma has a &lt;a class="" title="post regarding the would of debate on development" href="http://weblogs.asp.net/fbouma/archive/2008/01/11/the-waterfall-which-makes-agile-pundits-go-blind.aspx" target="_blank"&gt;post regarding the world of debate&amp;nbsp;on development&lt;/a&gt;,&amp;nbsp;that might send some chills down a novice&amp;#39;s spine, and Ayende has responded, fairly typically, &lt;a class="" title="here" href="http://ayende.com/Blog/archive/2008/01/12/Academia-in-Real-World-Development.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Although I&amp;#39;m usually not that involved in these discussions, I feel a wierd need to say something. Well, my thoughts after reading Frans Bouma&amp;#39;s post, and considering that the original debate was about debates in the dev world, are : &lt;/p&gt;
&lt;p&gt;1. Frans has a solid point about the lack of sufficiant reasoning backing up tool/ pattern/ methodology adoptation evangalisem attempts.&lt;/p&gt;
&lt;p&gt;2. Frans has probably made another &amp;quot;blinding&amp;quot; mistake, putting emphasis on &amp;quot;the detachment of the dev world from computer science&amp;quot;, rather than the lack of sound, articulated reasonings to many concepts at the top of the current evangelical agenda.&lt;/p&gt;
&lt;p&gt;3. Ayende, your example of &amp;quot;...the chemical composition of the pigments when I examine a masterpiece...&amp;quot; is plain wrong. Computer Science is to development what Art theory (composition, art history, etc) is to a Masterpiece. If anything,&amp;nbsp;&amp;quot;examining the Chemical composition of the masterpiece&amp;quot; is closer to taking the time and&amp;nbsp;&lt;a class="" title="examining how many interfaces appear in IL versus the result of GetInterfaces() " href="http://ayende.com/Blog/archive/2008/01/10/Count-the-interfaces.aspx"&gt;examining how many interfaces appear in IL versus the result of GetInterfaces()&lt;/a&gt;&amp;nbsp;&amp;nbsp;when writing a beautiful piece of code&amp;nbsp;:)&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=55207" width="1" height="1"&gt;</description></item><item><title>How do YOU use your datacontext ?</title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/31/how-do-you-use-your-datacontext.aspx</link><pubDate>Mon, 31 Dec 2007 18:22:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:47202</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=47202</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/31/how-do-you-use-your-datacontext.aspx#comments</comments><description>&lt;p&gt;Well, this will be a very short post, and a very simple one, really.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve just started working on my first &lt;em&gt;_real_&lt;/em&gt; app with linq (I know, a shame, isn&amp;#39;t it...), and I was looking to manage my datacontext, so that I wouldn&amp;#39;t have to create a new database connection for each query... so I came up with this : &lt;/p&gt;
&lt;div style="FONT-SIZE:10pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;&lt;pre style="MARGIN:0px;"&gt;&lt;div style="FONT-SIZE:10pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;&lt;pre style="MARGIN:0px;"&gt;&lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;static&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;class&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;DataContextWrapper&lt;/span&gt;&amp;lt;T&amp;gt; &lt;span style="COLOR:blue;"&gt;where&lt;/span&gt; T : &lt;span style="COLOR:#2b91af;"&gt;DataContext&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; {&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:blue;"&gt;public&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;static&lt;/span&gt; T Instance&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:blue;"&gt;if&lt;/span&gt; (&lt;span style="COLOR:#2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Items[&lt;span style="COLOR:#a31515;"&gt;&amp;quot;request&amp;quot;&lt;/span&gt;] == &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:blue;"&gt;string&lt;/span&gt; connString = &lt;span style="COLOR:#2b91af;"&gt;ConfigurationManager&lt;/span&gt;.&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ConnectionStrings[0].&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ConnectionString;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; T dc = &lt;span style="COLOR:blue;"&gt;typeof&lt;/span&gt;(T).GetConstructor(&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;Type&lt;/span&gt;[] { &lt;span style="COLOR:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR:blue;"&gt;string&lt;/span&gt;) }).&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; Invoke(&lt;span style="COLOR:blue;"&gt;new&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;object&lt;/span&gt;[] { connString }) &lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:blue;"&gt;as&lt;/span&gt; T;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Items[&lt;span style="COLOR:#a31515;"&gt;&amp;quot;request&amp;quot;&lt;/span&gt;] = dc;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="COLOR:blue;"&gt;return&lt;/span&gt; &lt;span style="COLOR:#2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Items[&lt;span style="COLOR:#a31515;"&gt;&amp;quot;request&amp;quot;&lt;/span&gt;] &lt;span style="COLOR:blue;"&gt;as&lt;/span&gt; T;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/pre&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;And the usage would be something like this : &lt;/p&gt;
&lt;p&gt;&lt;span style="COLOR:#2b91af;"&gt;&amp;nbsp;&amp;nbsp; MyDataContext&lt;/span&gt; dc = &lt;span style="COLOR:#2b91af;"&gt;DataContextWrapper&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;MyDataContext&lt;/span&gt;&amp;gt;.Instance;&lt;/p&gt;Your thoughts ? How do YOU use it ? &lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=47202" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Linq/default.aspx">Linq</category></item><item><title>re : Developer Challenge</title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/21/re-developer-challenge.aspx</link><pubDate>Fri, 21 Dec 2007 20:43:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44447</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44447</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/21/re-developer-challenge.aspx#comments</comments><description>&lt;p&gt;This is an answer (attempt) for Dror Engel&amp;#39;s dev challenge (&lt;a href="http://blogs.microsoft.co.il/blogs/drorengel/archive/2007/12/21/44354.aspx"&gt;here - hebrew&lt;/a&gt;). I will translate his challenge according to popular demand :) &lt;/p&gt;
&lt;p&gt;Well, Dror, assuming that in your DB table you only keep the sum of each transaction and it&amp;#39;s date, and each account starts off from a balance of 0, then the following SQL query can give you the &amp;quot;starting value&amp;quot; to work with in each page (the balance at row &amp;quot;one after the last&amp;quot; relevant to the current page), given the current page number and the page size being used : &lt;/p&gt;
&lt;div style="FONT-SIZE:10pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;&lt;pre style="MARGIN:0px;"&gt;&lt;span style="COLOR:blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&lt;span style="COLOR:blue;"&gt;SELECT SUM&lt;/span&gt;(ActionSum) &lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&lt;span style="COLOR:blue;"&gt;FROM &lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;span style="COLOR:blue;"&gt;SELECT &lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&lt;span style="COLOR:blue;"&gt;        &lt;/span&gt;row_number() &lt;span style="COLOR:blue;"&gt;OVER &lt;/span&gt;(&lt;span style="COLOR:blue;"&gt;ORDER BY &lt;/span&gt;actionDate &lt;span style="COLOR:blue;"&gt;DESC&lt;/span&gt;) &lt;span style="COLOR:blue;"&gt;as &lt;/span&gt;RowId,&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;        ActionSum &lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="COLOR:blue;"&gt;FROM &lt;/span&gt;actions) &lt;span style="COLOR:blue;"&gt;as &lt;/span&gt;history&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;&lt;span style="COLOR:blue;"&gt;WHERE &lt;/span&gt;RowId &amp;gt; (@pagesize * @pagenum)&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This&amp;nbsp;syntax works on mssql 2005 and above, &amp;nbsp;but I believe there is similar syntax for oracle. You could do something similar in sql 2000 but that would require a temp table, whether it&amp;#39;s a table variable&amp;nbsp;or a real one.&lt;/p&gt;
&lt;p&gt;I hope this helps in any way, and that I didn&amp;#39;t misunderstand :) &lt;/p&gt;
&lt;p&gt;I don&amp;#39;t really like doing this kind of stuff per page (i.e. if your table gets REALLY big, this might get heavy... ), so I _would_ keep something extra in the database, even if it&amp;#39;s the current balance, or an ugly calculated field for that matter.. but that&amp;#39;s just me :P&lt;/p&gt;
&lt;p&gt;** comment : &amp;nbsp;this could be optimized a bit for larger tables, using TOP + reversing the order by + precalculating the total amount of pages, but since you are talking about approx. 300 records, this should do.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44447" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Quote of the day...</title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/quote-of-the-day.aspx</link><pubDate>Thu, 20 Dec 2007 21:07:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44100</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44100</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/quote-of-the-day.aspx#comments</comments><description>&lt;p&gt;From one of my favorite bloggers, Joel Spolsky :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;quot;Managers exist to get furniture out of the way so the real talent can do brilliant work.&amp;quot;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Well, it&amp;#39;s a bit out-of-context, (see &lt;a class="" title="original post" href="http://www.joelonsoftware.com/items/2007/12/04.html"&gt;original post&lt;/a&gt;), but still :)&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44100" width="1" height="1"&gt;</description></item><item><title>Just Moved In...</title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/just-moved-in.aspx</link><pubDate>Thu, 20 Dec 2007 15:31:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44008</guid><dc:creator>silver83</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44008</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/just-moved-in.aspx#comments</comments><description>&lt;p&gt;Well, I&amp;#39;ve just moved in to blogs.microsoft.co.il, and for now everything is all nice and fuzzy inside.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve imported some posts from my previouse blog for comfort (hate the feeling of an empty blog)...&lt;/p&gt;
&lt;p&gt;Wish me luck at my new home...&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44008" width="1" height="1"&gt;</description></item><item><title>Academies in Israel - College vs. University </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/academies-in-israel-college-vs-university.aspx</link><pubDate>Thu, 20 Dec 2007 15:30:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44005</guid><dc:creator>silver83</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44005</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/academies-in-israel-college-vs-university.aspx#comments</comments><description>&lt;p&gt;It&amp;#39;s amazing how time can change your perspective.&lt;br /&gt;&lt;br /&gt;Three years ago, approaching the end of my army duty, I was already certain that I want to start my academic studies as soon as I can.&lt;br /&gt;&lt;br /&gt;Contrary to so many others, taking a long vacation after their army duty to &amp;quot;see the world&amp;quot; (i.e. thailand/ india) and &amp;quot;clean your head&amp;quot; (i.e. check how much weed the human body can endure) I was pretty certain I want to finish off with my studies first.&lt;br /&gt;&lt;br /&gt;I was determined that a B.Sc. at one of the top universities is my goal. No matter the cost of comfort or effort. The word college was out of the question.&lt;br /&gt;&lt;br /&gt;In a nutshell, it came down to packing up my stuff and moving down south, to study at Ben Gurion university.&lt;br /&gt;&lt;br /&gt;Suddenly, it seemed to be a bit too much. Giving up the comfort of home, the proximity to Tel Aviv, the concept of being so far away from my great love from back then... so I started looking for alterntives. Just in case.&lt;br /&gt;&lt;br /&gt;In the end - I enrolled at Afeka, the Academic College of Engineering in Tel Aviv. With a confused heart and mind, I gave up on the institute&amp;#39;s prestige, for the comfort of home.&lt;br /&gt;&lt;br /&gt;Today, I can only say one thing - Trust that all will be well, and things will fall into their proper place. When in college - you might be giving up on prestige, but it&amp;#39;s so much easier to develop a serious career. If you&amp;#39;re at a Uni., you have a better chance of getting a job compared to other applicants with no experience, but after a year or two, you&amp;#39;re pretty sure to move up the ladder. &lt;br /&gt;&lt;br /&gt;All of this, depends on one thing - Are you good enough. Not in an academic scale, but in a scale drawn by your employer and by your industry. Everything else simply doesn&amp;#39;t matter, and only transposes your starting point by a year or two, in every direction.&lt;br /&gt;&lt;br /&gt;I&amp;#39;m glad things worked out like they did. I&amp;#39;m also pretty certain I haven&amp;#39;t finished my battles and I have a long road ahead. But I always try to remember one thing - trust yourself, and things will fall into place.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44005" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Imported/default.aspx">Imported</category></item><item><title>File dates and HTTP Error 500 Internal server error </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/file-dates-and-http-error-500-internal-server-error.aspx</link><pubDate>Thu, 20 Dec 2007 15:29:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44004</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44004</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/file-dates-and-http-error-500-internal-server-error.aspx#comments</comments><description>Yesterday we deployed an ASP.Net web service to a new US server, which was meant to handle some very simple forwarding logic.&lt;br /&gt;&lt;br /&gt;On my development environment, everything worked great, but after deploying the application and trying to invoke a web method from a smart client app, I receieved a wierd exception telling me something similar to &amp;quot;Requested registry access is not allowed&amp;quot;.&lt;br /&gt;&lt;br /&gt;The test page for the web service was viewable, but trying to invoke the web method through it resulted in an IIS generated error :&lt;br /&gt;&amp;quot;HTTP Error 500 Internal server error&amp;quot;&lt;br /&gt;&lt;br /&gt;After alot of digging around, the cause seemed practically embarresing - The file timestamps where dated to a future time. &lt;br /&gt;&lt;br /&gt;Since the files were created on the dev environment, they were stamped with the local time, which remained the same when we moved them, and, as it appears, IIS doesn&amp;#39;t really like that, to the extent of spewing out HTTP Error 500.&lt;br /&gt;&lt;br /&gt;There is a few tools enabling a user to modify a file&amp;#39;s timestamp, but one of the most efficient ones is a command line tool called touch, which can be found here :&lt;br /&gt;&lt;a href="http://www.helge.mynetcologne.de/touch/index.htm" target="_new"&gt;&lt;font color="#336699"&gt;http://www.helge.mynetcologne.de/touch/index.htm&lt;/font&gt;&lt;/a&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44004" width="1" height="1"&gt;</description></item><item><title>NHibernate updating entities on Flush() without you having a clue as to why ? </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/nhibernate-updating-entities-on-flush-without-you-having-a-clue-as-to-why.aspx</link><pubDate>Thu, 20 Dec 2007 15:28:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44002</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44002</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/nhibernate-updating-entities-on-flush-without-you-having-a-clue-as-to-why.aspx#comments</comments><description>&lt;p&gt;As part of our effort to improve performance, we decided on a set of entities that should be cached. One of those was IPLAction.&lt;br /&gt;&lt;br /&gt;Happy at my brand new shiny cache, things turned around to kick me in the *#!%$ when I found out that the cache is constantly invalidated.&lt;br /&gt;&lt;br /&gt;Near the end of the request, a Flush() call will be sent to NH Session, the request will end and a minute after that – when asp cache polling mechanism polls the db - the cache is Re-loaded from db.&lt;br /&gt;&lt;br /&gt;SQL Profiler will show a bunch of &amp;quot;UPDATE IPLActions..&amp;quot; requests just when flush() occurs.&lt;br /&gt;&lt;br /&gt;To make a long story short (as possible) here is the final cause - After debugging _into_ NHibernate source code, I found out that if you map an Enum property like so :&lt;br /&gt;
&lt;div style="BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;&lt;br /&gt;
&lt;p style="MARGIN:0px;"&gt;&lt;span style="COLOR:#2b91af;"&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;property&lt;/span&gt;&lt;span style="COLOR:blue;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;name&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="COLOR:blue;"&gt;EnumPropName&lt;/span&gt;&amp;quot;&lt;span style="COLOR:blue;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;type&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="COLOR:blue;"&gt;Int32&lt;/span&gt;&amp;quot;&lt;span style="COLOR:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;There will be an UPDATE query on EACH AND EVERY OBJECT instantiated from that class, when the request ends (call to Session.Flush() or Session.Transaction.Commit() ).&lt;br /&gt;&lt;br /&gt;Meaning, for example – a cache of 500 objects from that entity type, will cause 500 update calls on request end. (for application cache will happen once, for the first request. For NH 1st level cache, the common usage pattern, will be hit on each request)&lt;br /&gt;&lt;br /&gt;Why is that ? – because NH is comparing initial object state (from db + mapping) to current object state when flushing (reflected) – and Enum != Int32, practically telling NH : “the object must be dirty – we need to update it”.&lt;br /&gt;&lt;br /&gt;Conclusions –&lt;br /&gt;1. NEVER map an Enum type to Int. (and punch the guy who did it in the first place...)&lt;br /&gt;2. Check for weird “update” statements from time to time when profiling the application.&lt;br /&gt;3. Mapping is _critical_ to fully understand&lt;br /&gt;4. Never underestimate so called “simple” tasks&lt;br /&gt;5. NHibernate source code is a nasty place to be in 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44002" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Imported/default.aspx">Imported</category></item><item><title>Linq Expression - delegate parameters issue </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/linq-expression-delegate-parameters-issue.aspx</link><pubDate>Thu, 20 Dec 2007 15:27:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44000</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44000</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/linq-expression-delegate-parameters-issue.aspx#comments</comments><description>&lt;p&gt;Well, this might be a very small issue, but if this works :&lt;br /&gt;
&lt;div style="BACKGROUND:white;"&gt;&lt;pre style="MARGIN:0px;"&gt; &lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;        &lt;span style="COLOR:blue;"&gt;delegate&lt;/span&gt; TRes &lt;span style="COLOR:#2b91af;"&gt;ExpDelegate&lt;/span&gt;&amp;lt;TArg, TRes&amp;gt;(TArg arg1);&lt;/pre&gt;&lt;br /&gt;&lt;pre style="MARGIN:0px;"&gt;        &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; LinqTest()&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;        {&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;            &lt;span style="COLOR:#2b91af;"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;ExpDelegate&lt;/span&gt;&amp;lt;&lt;span style="COLOR:blue;"&gt;string&lt;/span&gt;, &lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; ex = (n =&amp;gt; n.Length &amp;gt; 5);&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;        }&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;Why doesn&amp;#39;t this work :&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="FONT-SIZE:10pt;BACKGROUND:white;COLOR:black;FONT-FAMILY:Courier New;"&gt;&lt;pre style="MARGIN:0px;"&gt;        &lt;span style="COLOR:blue;"&gt;delegate&lt;/span&gt; TRes &lt;span style="COLOR:#2b91af;"&gt;ExpDelegate&lt;/span&gt;&amp;lt;TArg, TRes&amp;gt;(&lt;span style="COLOR:blue;"&gt;params&lt;/span&gt; TArg[] arg1);&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt; &lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;        &lt;span style="COLOR:blue;"&gt;void&lt;/span&gt; LinqTest()&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;        {&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;            &lt;span style="COLOR:#2b91af;"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;ExpDelegate&lt;/span&gt;&amp;lt;&lt;span style="COLOR:blue;"&gt;string&lt;/span&gt;, &lt;span style="COLOR:blue;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; ex = ((n,k) =&amp;gt; n.Length &amp;gt; k.Length);&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt;        }&lt;/pre&gt;&lt;pre style="MARGIN:0px;"&gt; &lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;I know I can change the argument type (to be a collection or whatnot..)&lt;br /&gt;but still - is there ambiguity here or was the&lt;span style="COLOR:blue;"&gt; params&lt;/span&gt; keyword just forgotten ?&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44000" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Imported/default.aspx">Imported</category></item><item><title>Ayende Rahien</title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/ayende-rahien.aspx</link><pubDate>Thu, 20 Dec 2007 15:27:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:44001</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=44001</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/ayende-rahien.aspx#comments</comments><description>To anyone that have ever seen or heard enough of Ayende, the following post just clears away all speculation.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kyle.baley.org/DoAndroidsDreamOfElectricMonorailsWhileTheyreHibernating.aspx"&gt;&lt;font color="#336699"&gt;http://kyle.baley.org/DoAndroidsDreamOfElectricMonorailsWhileTheyreHibernating.aspx&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks, Kyle. Some of us were starting to develop an inferiority complex. :) 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=44001" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Imported/default.aspx">Imported</category></item><item><title>The love of the trade </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/the-love-of-the-trade.aspx</link><pubDate>Thu, 20 Dec 2007 15:26:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:43999</guid><dc:creator>silver83</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=43999</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/the-love-of-the-trade.aspx#comments</comments><description>&lt;p&gt;Colleges in israel have a problem. &lt;/p&gt;
&lt;p&gt;Well, it&amp;#39;s more of a problem for us, students.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s the marketialization of academics - buzzwordemics. and I&amp;#39;ll be specific.&lt;/p&gt;
&lt;p&gt;A new-comer to the world of a college&amp;#39;s Comp.Science major will mainly hear about all the wonderfull programming languages and technologies he&amp;#39;s about to learn : c, c++, c#, Java, asp/php, javascript, html, sql, and the list goes on...&lt;br /&gt;Oh, and yes - in the midst are Unix/Linux classes, and even some Oracle (PL-SQL) classes.&lt;/p&gt;
&lt;p&gt;This young lad, bombarded with all these buzzwords, is compelled to sign-up. This is surely a promising place for me - the computer-career enthusiast scholar-to-be.&lt;/p&gt;
&lt;p&gt;But alas - how unfortunate this mirage is - most of us -- &lt;/p&gt;
&lt;p&gt;- Will NOT KNOW any of these technologies by the time we finish our scholastic duties.&lt;/p&gt;
&lt;p&gt;- Will SUFFER from the ignorance of poorly trained, poorly educated mentors and professors.- &lt;/p&gt;
&lt;p&gt;- Will NOT GAIN the tools we need to teach ourselves what the next dawn of technology will&lt;br /&gt;bring forth.&lt;br /&gt;&lt;br /&gt;And more importantly - we will not learn the LOVE OF THE TRADE.&lt;/p&gt;
&lt;p&gt;I guess some of the reasons for my feelings are my college environment.&lt;br /&gt;Everything around you is soiled by oders of money-grubbing, captilistic-minded geizers. They will all sell you the same dream. Money. But this dream is the wrong one. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s the right one.&lt;/p&gt;
&lt;p&gt;Like Kawasakki (a VC capitalist with bundles of money) stated in one of his public appearances - &amp;quot;We are looking for people who think they will change the world...&amp;quot;&lt;/p&gt;
&lt;p&gt;Teachers. Leaders. Influencers.&lt;br /&gt;1. Give us Technology, not mythology. We don&amp;#39;t need outdated methodologies and idioms - give&lt;br /&gt;us TDD, IoC, Agile programming. We will appreciate being the few who know what they are&lt;br /&gt;talking about on their first day at work.&lt;/p&gt;
&lt;p&gt;2. We will learn the API by ourselves if you just blow us away with a cool DirectX example and&lt;br /&gt;a push in the right way. Even if we won&amp;#39;t build Quake7, we&amp;#39;ll surely learn more than&lt;br /&gt;listenning to you talk about the next excercise - &amp;quot;a basic banking application&amp;quot;.&lt;/p&gt;
&lt;p&gt;3. If you can&amp;#39;t teach something well, don&amp;#39;t try. Some of us are smart. Really smart. Hell - some&lt;br /&gt;of us already work professionaly in the field. We can tell when being preached on a matter&lt;br /&gt;the preacher is illiterate about.&lt;/p&gt;
&lt;p&gt;4. Doctors are good for us in scientific majors. They are not good for us in professional courses,&lt;br /&gt;such as Quality Assurance classes. Bombarded with IEEE stardards we need to summerize&lt;br /&gt;and analyse, and an exctremely subjective and narrow view of the software industry.&lt;/p&gt;
&lt;p&gt;5. The term &amp;quot;Enterprise&amp;quot; just blows over our heads. We&amp;#39;re not there. We won&amp;#39;t even care for a&lt;br /&gt;long time from now, and by then - we&amp;#39;ll learn it all from scratch.&lt;/p&gt;
&lt;p&gt;6. Design IS important. one course blowing over design patterns is not enough. Big UMLs,&lt;br /&gt;architecture and performance considerations, are all things we need to be exposed to, as&lt;br /&gt;soon as possible.&lt;/p&gt;
&lt;p&gt;Well, I&amp;#39;m fresh out of more rants or ideas, it&amp;#39;s 2:36am. Got another midterm tommorow :)&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=43999" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Imported/default.aspx">Imported</category></item><item><title>State problem with AjaxControlToolkit:TabContainer </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/state-problem-with-ajaxcontroltoolkit-tabcontainer.aspx</link><pubDate>Thu, 20 Dec 2007 15:25:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:43998</guid><dc:creator>silver83</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=43998</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/state-problem-with-ajaxcontroltoolkit-tabcontainer.aspx#comments</comments><description>&lt;p&gt;The problem occured for me when I had 2 tabs, and on the second tab there was a listbox with AutoPostBack set to &amp;quot;true&amp;quot;.&lt;br /&gt;&lt;br /&gt;When a list item was clicked - the postback result would be that the TabContainer jumped back to the first tab panel (not maintaining &amp;quot;current active tab&amp;quot; state).&lt;br /&gt;&lt;br /&gt;Well, small override if you don&amp;#39;t want to delve into the source code :&lt;br /&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;&amp;lt;ajaxtoolkit:tabcontainer id=&amp;quot;tc&amp;quot; runat=&amp;quot;server&amp;quot; onclientactivetabchanged=&amp;quot;SwitchTab&amp;quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/ajaxtoolkit:tabcontainer&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:hiddenfield id=&amp;quot;hdnTabIndex&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:hiddenfield&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;function SwitchTab(src, args){&lt;br /&gt;__hdnTabIndex.value = src.get_activeTab()._tabIndex;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And in the codebehind :&lt;br /&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //override tab state problem&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (IsPostBack &amp;amp;&amp;amp; !string.IsNullOrEmpty(hdnTabIndex.Value))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TabContainer1.ActiveTabIndex = Convert.ToInt32(hdnTabIndex.Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=43998" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Imported/default.aspx">Imported</category></item><item><title>Impossible local debugging, corrupt pages, mystery revealed. </title><link>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/impossible-local-debugging-corrupt-pages-mystery-revealed.aspx</link><pubDate>Thu, 20 Dec 2007 15:24:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:43997</guid><dc:creator>silver83</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/silver83/rsscomments.aspx?PostID=43997</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/silver83/archive/2007/12/20/impossible-local-debugging-corrupt-pages-mystery-revealed.aspx#comments</comments><description>&lt;p&gt;For more than two months (shameful to admit), four programmers in my company were experiencing a freakish phenomena while trying to view locally served web content - &lt;br /&gt;&lt;br /&gt;90% of all page views directed to http://localhost/ in any subdir or extension - &lt;br /&gt;you would recieve corrupt content from your own IIS - html pages seemed screwed up, javascript errors all over the place, and sometimes even image content would seem, ahm, well, corrupt...&lt;br /&gt;&lt;br /&gt;The corruption manifests itself in a completely inconsist manner - sometimes you would see everything fine, (after about 20 refresh attempts of the page), sometimes the entire page would seem like it waswritten by someone on LSD... &lt;br /&gt;&lt;br /&gt;After many attempts to detect the source of the problem, we were totally lost. &lt;br /&gt;Some of us even formatted their computers, and after a short while - the *** would hit the fan and the same experience would repeat itself.&lt;br /&gt;&lt;br /&gt;Well, we (well, I - ) finally found the source of this evil - Citrix Netscaler VPN client !&lt;br /&gt;&lt;br /&gt;Yes. It sounds wierd. It is wierd. Even when it is not running. Even when you remove it from the startup process list. Nothing helps but to uninstall it completely.&lt;br /&gt;&lt;br /&gt;I have a suspicion, due to the inconsitent nature of the problem, that this is a dual core software incompatibility issue.&lt;br /&gt;&lt;br /&gt;This is strengthened by the fact that the only programmer not to be affected by this issue was working on a single core machine.&lt;br /&gt;&lt;br /&gt;I hope this helps some poor programming team out there using the Citrix VPN client and loosing their minds over impossible local debugging...&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=43997" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/silver83/archive/tags/Imported/default.aspx">Imported</category></item></channel></rss>
