<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Serge&#039;s Technology View &#187; Technology</title>
	<atom:link href="http://blog.dragonsoft.us/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dragonsoft.us</link>
	<description>Talk about Technologies, Software Architecture and Management</description>
	<lastBuildDate>Tue, 31 Jan 2012 01:43:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Scrath Pad: Sony BDP-S350 : network connection problem</title>
		<link>http://blog.dragonsoft.us/2011/10/16/sony-bdp-s350-network-connection-problem/</link>
		<comments>http://blog.dragonsoft.us/2011/10/16/sony-bdp-s350-network-connection-problem/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 05:49:45 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Scratch Pad]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[BDP-S350]]></category>
		<category><![CDATA[E4200]]></category>
		<category><![CDATA[Linksys]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[static ip]]></category>
		<category><![CDATA[Wii]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1350</guid>
		<description><![CDATA[It comes time when we need to replace network router in the house&#8230; And it was time for me to do just that&#8230; I went with Linksys E4200 &#8211; nice piece of machinery. Everything now is flying! I am using &#8230; <a href="http://blog.dragonsoft.us/2011/10/16/sony-bdp-s350-network-connection-problem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It comes time when we need to replace network router in the house&#8230; And it was time for me to do just that&#8230;</p>
<p>I went with Linksys E4200 &#8211; nice piece of machinery. Everything now is flying! I am using Linksys products for many years and this upgrade did not disappoint me, setup was a easy, my network is now on true gigabit speed and wireless with dual band and much stronger signal.</p>
<p>Well, not everything is happy about the change at first&#8230;</p>
<p>My good old Wii refused to stay connected via WiFi loosing signal at random. I think it may be something to do with dual band wireless. I could have made two network on different bands, but I went with simple hardware solution &#8211; wired USB adapter &#8211; and this problem was solved.</p>
<p>Second problem was Sony BDP-S350 player not seeing network.<br />
On the surface everything is OK and there is proper address and all, but no BD content or updates could be loaded.<br />
Solution is simple though &#8211; static IP address &#8211; as described <a title="Sony BDP-S350 – solving network connection problem" href="http://www.zepellipsis.com/?p=32" target="_blank">here</a>.</p>
<p>Please note that for me just assigning static IP address at BDP level helped resolve the issue.</p>
<p>After this last issue, everything back to normal and adoption of the new router is complete!</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/10/16/sony-bdp-s350-network-connection-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing Custom Security Extensions for SQL Server 2008 R2</title>
		<link>http://blog.dragonsoft.us/2011/10/14/installing-custom-security-extensions-for-ssrs/</link>
		<comments>http://blog.dragonsoft.us/2011/10/14/installing-custom-security-extensions-for-ssrs/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 00:21:23 +0000</pubDate>
		<dc:creator>Dánechka</dc:creator>
				<category><![CDATA[Fun stuff with SQL Server]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[2008 R2]]></category>
		<category><![CDATA[custom forms authentication]]></category>
		<category><![CDATA[Custom Security Extension]]></category>
		<category><![CDATA[Error 503]]></category>
		<category><![CDATA[form authentication]]></category>
		<category><![CDATA[HTTP Error 503]]></category>
		<category><![CDATA[R2]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[Security Extension]]></category>
		<category><![CDATA[Service Unavailable]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<category><![CDATA[SSRS 2008 R2]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1332</guid>
		<description><![CDATA[Introduction This article has been contributed by Daniel Klionsky and based on the work we have done within our team allowing single sign-on integration of SQL Server Reporting Services within existing application. I want to mention and praise great help &#8230; <a href="http://blog.dragonsoft.us/2011/10/14/installing-custom-security-extensions-for-ssrs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2><strong>Introduction</strong></h2>
<p>This article has been contributed by Daniel Klionsky and based on the work we have done within our team allowing single sign-on integration of SQL Server Reporting Services within existing application.</p>
<p>I want to mention and praise great help provided by Carlos Sereno who was able to clarify many questions for us.</p>
<p>Please enjoy the reading and let us know if it did indeed work for you as well.</p>
<h2><strong>SSRS</strong></h2>
<p>SQL Server Reporting Services provides a full range of ready-to-use tools and services to help you create, deploy, and manage reports for your organization, as well as programming features that enable you to extend and customize your reporting functionality.</p>
<p>Reporting Services is a server-based reporting platform that provides comprehensive reporting functionality for a variety of data sources. Reporting Services includes a complete set of tools for you to create, manage, and deliver reports, and APIs that enable developers to integrate or extend data and report processing in custom applications.</p>
<p>Reporting Services tools work within the Microsoft Visual Studio environment and are fully integrated with SQL Server tools and components.</p>
<p><span id="more-1332"></span></p>
<h2><strong>SSRS Security Models</strong></h2>
<p>To effectively secure a Reporting Services installation, you must evaluate your security needs from end-to-end, taking into account the environment in which the server is deployed, the types of reports you are hosting, user access requirements, and distribution.</p>
<p>Reporting Services provides an authentication subsystem and a role-based authorization model that determines access to the report server and to items that are managed by the report server. Authentication is based on Windows Authentication or a custom authentication module that you provide. Authorization is based on roles that you assign to users or groups in your organization.</p>
<p>Reporting Services handles all authentication functions for HTTP requests through either the Windows Authentication extension that is installed with the server or a custom authentication extension that you deploy.</p>
<p>By default, Reporting Services uses a Windows-based security extension to authenticate the identities of users on the system. You have to replace the default security to accommodate custom security in your enterprise.</p>
<p>In addition, there is no native support for single sign-on technologies (SSO) in Reporting Services. If you want to use a single sign-on technology, you must create a custom authentication extension.</p>
<h2><strong>Custom Security Extension</strong></h2>
<p>Reporting Services provides architecture that allows you to plug in custom or forms-based authentication modules. You might consider implementing a custom authentication extension if deployment requirements do not include Windows integrated security.</p>
<p>The most common scenario for using custom authentication is to support Internet or extranet access to a Web application. Replacing the default Windows Authentication extension with a custom authentication extension gives you more control over how external users are granted access to the report server.</p>
<p>In practice, deploying a custom authentication extension requires multiple steps that include copying assemblies and application files, modifying configuration files, and testing.</p>
<p>Per Microsoft, creating a custom authentication extension requires custom code and expertise in ASP.NET security. For more information about custom authentication architecture, see <a href="http://msdn.microsoft.com/en-us/library/ms155029.aspx" target="_blank">Implementing a Security Extension</a>.</p>
<h2><strong>Custom Security Extension on SSRS 2008 R2</strong></h2>
<p>For this article, the system configuration consisted of SQL Server 2008 R2 (SP1) &#8211; 10.50.2500.0 (X64) Developer Edition installed on Windows 7.</p>
<p>A sample of Custom Security Extension, is readily available on codeplex.com [2] .</p>
<p>Unfortunately, the above code sample seems to work for the versions up to 2008 and not for sql 2008 r2. Several install attempts ended up with the same error:</p>
<blockquote><p>‘Service Unavailable’ &#8211; HTTP Error 503. The service is unavailable.</p></blockquote>
<p>Posting the message in the <a href="http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/threads/" target="_blank">SQL Server Reporting Services Forum</a>, Thread Title <a href="http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/5a8af9f4-7ae1-4513-9a84-d727e2150596/" target="_blank">`Service Unavailable` Error while installing Custom Security Ext on sql 2008 r2</a> did not help to resolve the issue, as moderator informed that there were no official sample for sql 2008 R2. It was very discouraging since sql 2008 r2 contains some very handy features such as Report Writer 3.0 and going back to SQL Server 2008 was very undesirable.</p>
<p>While checking out for other reporting solutions on the market, Carlos Sereno posted a message forum indicating that, after all, it was possible to have Custom Security Extension on ssrs 2008 R2 and Carlos has already done that. So after plugging in his tips and after several attempts, it finally started to work.</p>
<h2><strong>Steps</strong></h2>
<ol>
<li>Compiling the sample project in Visual Studio 2010
<ul>
<li>The codeplex example is using ReportService2005 endpoint. In 2008 R2, however, the Report Server Web service provides a new ReportService2010 endpoint which includes functionality of the ReportService2005 endpoint. You will need to use ReportService2010 endpoint in your .net project. You can add a reference to 2010.asmx either by adding ReportingServices2010.cs, a proxy class provided here [5] or by adding a webService reference to <strong>http:///reportserver/reportexecution2005.asmx?wsdl</strong> (though a resulting file will be larger). Instructions can be found at [6]</li>
<li>You will need to remove ReportingServices2005.cs that is included with Custom Security Extension project by default.<br />
With the use of ReportService2010.asmx, in your .net project, AuthenticationUtilities.cs module don’t forget to replace</p>
<pre class="brush: csharp; title: ; notranslate">private const string rsAsmx = @&quot;/ReportService2005.asmx&quot;;
 with
 private const string rsAsmx = @&quot;/ReportService2010.asmx&quot;;
</pre>
</li>
</ul>
</li>
<li>After the sample is compiled, copy the DLLs and the ASPX pages to the appropriate subdirectories for your Report Server installation.
<ul>
<li>Copy Microsoft.Samples.ReportingServices.CustomSecurity.dll and Microsoft.Samples.ReportingServices.CustomSecurity.pdb to the \ReportServer\bin directory.</li>
<li>Copy Microsoft.Samples.ReportingServices.CustomSecurity.dll and Microsoft.Samples.ReportingServices.CustomSecurity.pdb to the \ReportManager\bin directory.</li>
<li>Copy the Logon.aspx page to the \ReportServer directory.</li>
<li>Copy the UILogon.aspx page to the \ReportManager\Pages directory.</li>
</ul>
</li>
</ol>
<h2>Modify the RSReportServer.config file</h2>
<ol>
<li>Open the RSReportServer.config file with Visual Studio 2010 or a simple text editor such as Notepad. RSReportServer.config is located in the \ReportServer directory.</li>
<li>Locate the &lt;<strong>AuthenticationTypes</strong>&gt; element and modify the settings as follows:
<pre class="brush: xml; title: ; notranslate">&lt;Authentication&gt;
  &lt;AuthenticationTypes&gt;&lt;Custom/&gt;&lt;/AuthenticationTypes&gt;
  &lt;EnableAuthPersistence&gt;true&lt;/EnableAuthPersistence&gt;
  &lt;RSWindowsExtendedProtectionLevel&gt;Off&lt;/RSWindowsExtendedProtectionLevel&gt;
  &lt;RSWindowsExtendedProtectionScenario&gt;Proxy&lt;/RSWindowsExtendedProtectionScenario&gt;
  &lt;EnableAuthPersistence&gt;true&lt;/EnableAuthPersistence&gt;
&lt;/Authentication&gt;</pre>
</li>
</ol>
<p>Both RSWindowsExtendedProtectionLevel and RSWindowsExtendedProtectionScenario are required entries for SSRS 2008 R2 [3].</p>
<ol>
<li>Locate the <strong>&lt;Security&gt;</strong> and <strong>&lt;Authentication&gt;</strong> elements, within the <strong>&lt;Extensions&gt;</strong>, and modify the settings as follows:
<pre class="brush: xml; title: ; notranslate">&lt;Security&gt;
  &lt;Extension Name=&quot;Forms&quot;
Type=&quot;Microsoft.Samples.ReportingServices.CustomSecurity.Authorization,
Microsoft.Samples.ReportingServices.CustomSecurity&quot; &gt;
&lt;Configuration&gt;
&lt;AdminConfiguration&gt;
&lt;UserName&gt;username&lt;/UserName&gt;
      &lt;/AdminConfiguration&gt;
    &lt;/Configuration&gt;
  &lt;/Extension&gt;
&lt;/Security&gt;
&lt;Authentication&gt;
  &lt;Extension Name=&quot;Forms&quot;
Type=&quot;Microsoft.Samples.ReportingServices.CustomSecurity.AuthenticationExtension,
Microsoft.Samples.ReportingServices.CustomSecurity&quot; /&gt;
&lt;/Authentication&gt;
</pre>
</li>
<li>Locate the <strong>&lt;UI&gt;</strong> element and update it as follows:
<pre class="brush: xml; title: ; notranslate">&lt;UI&gt;
&lt;CustomAuthenticationUI&gt;
&lt;loginUrl&gt;/Pages/UILogon.aspx&lt;/loginUrl&gt;
&lt;UseSSL&gt;True&lt;/UseSSL&gt;
&lt;/CustomAuthenticationUI&gt;
&lt;ReportServerUrl&gt;http://&lt;server&gt;/ReportServer&lt;/ReportServerUrl&gt;
&lt;/UI&gt;
</pre>
</li>
</ol>
<h2>Modify the RSSrvPolicy.config file</h2>
<ol>
<li>Open the RSSrvPolicy.config file located in the \ReportServer directory.</li>
<li>Add the following element after the existing code group in the security policy file that has a URL membership of $CodeGen as indicated below and then add an entry as follows to RSSrvPolicy.config:
<pre class="brush: xml; title: ; notranslate">&lt;CodeGroup class=&quot;UnionCodeGroup&quot; version=&quot;1&quot; Name=&quot;SecurityExtensionCodeGroup&quot; Description=&quot;Code group for the sample security extension&quot; PermissionSetName=&quot;FullTrust&quot;&gt;
&lt;IMembershipCondition class=&quot;UrlMembershipCondition&quot; version=&quot;1&quot; Url=&quot;C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.CustomSecurity.dll&quot;
/&gt;
&lt;/CodeGroup&gt;
</pre>
</li>
</ol>
<h2>Modify the Web.config file for Report Server</h2>
<ol>
<li>Open the Web.config file in a text editor. By default, the file is located in the &lt;install&gt;\ReportServer directory.</li>
<li>Locate the <strong>&lt;identity&gt;</strong> element and set the <strong>Impersonate</strong> attribute to <strong>false</strong>.
<pre class="brush: xml; title: ; notranslate">&lt;identity impersonate=&quot;false&quot; /&gt;</pre>
</li>
<li>Locate the <strong>&lt;authentication&gt;</strong> element and change the <strong>Mode</strong> attribute to <strong>Forms</strong>.</li>
<li>Add the following <strong>&lt;forms&gt;</strong> element as a child of the <strong>&lt;authentication&gt;</strong> element and set the <strong>loginUrl</strong>, <strong>name</strong>, <strong>timeout</strong>, and <strong>path</strong> attributes as follows:
<pre class="brush: xml; title: ; notranslate">&lt;authentication mode=&quot;Forms&quot;&gt;
&lt;forms loginUrl=&quot;logon.aspx&quot; name=&quot;sqlAuthCookie&quot; timeout=&quot;60&quot; path=&quot;/&quot;&gt;&lt;/forms&gt;
&lt;/authentication&gt;
</pre>
</li>
<li>Add the following <strong>&lt;authorization&gt;</strong> element directly after the <strong>&lt;authentication&gt;</strong> element.
<pre class="brush: xml; title: ; notranslate">&lt;authorization&gt;
&lt;deny users=&quot;?&quot; /&gt;
&lt;/authorization&gt;</pre>
<p><strong>This will deny unauthenticated users the right to access the report server.<br />
</strong> The previously established <strong>loginUrl</strong> attribute of the <strong>&lt;authentication&gt;</strong> element will redirect unauthenticated requests to the Logon.aspx page.</li>
</ol>
<h2>Modify the Web.config file for Report Manager</h2>
<ol>
<li>Open the Web.config for Report Manager. It is located in the &lt;install&gt;\ReportManager directory.</li>
<li>Disable impersonation by locating the section <strong>&lt;identity impersonate= &#8220;true&#8221; /&gt;</strong> and changing it to the following <strong>&lt;identity impersonate=&#8221;false&#8221; /&gt;</strong></li>
<li>Add the following keys to the <strong>&lt;appSettings&gt;</strong> element.
<pre class="brush: xml; title: ; notranslate">&lt;add key=&quot;ReportServer&quot; value=&quot;&lt;Server Name&gt;&quot;/&gt;
&lt;add key=&quot;ReportServerInstance&quot; value=&quot;&lt;Instance Name&gt;&quot;/&gt;
</pre>
<p>Change the <strong>&lt;Server Name&gt; </strong>value to the name of the report server and the <strong>&lt;Instance Name&gt;</strong> value to the name of the instance the report server is associated with.</li>
</ol>
<h2>Creating the UserAccounts Database</h2>
<p>The sample includes a database script, Createuserstore.sql, that enables you to set up a user store for the Forms sample in a SQL Server database.</p>
<h3>To test the sample</h3>
<ol>
<li>Restart the Reporting Services service by running the following commands at the command prompt:
<pre class="brush: plain; title: ; notranslate">net stop &quot;SQL Server Reporting Services ()&quot;
 net start &quot;SQL Server Reporting Services ()&quot;
</pre>
</li>
<li>Open Report Manager. You can do this from the Reporting Services program menu or by accessing the Reports virtual directory from your browser.</li>
<li>Enter a user name and password and click <strong>Register User</strong> to add the user to the accounts database.</li>
<li>Open the RSReportServer.config file. Locate the <strong>&lt;Security&gt;</strong> element and add the previously registered user name as follows:
<pre class="brush: xml; title: ; notranslate">
&lt;Security&gt;
&lt;Extension Name=&quot;Forms&quot; Type=&quot;Microsoft.Samples.ReportingServices.CustomSecurity.Authorization, Microsoft.Samples.ReportingServices.CustomSecurity&quot; &gt;
&lt;Configuration&gt;
&lt;AdminConfiguration&gt;
&lt;UserName&gt;username&lt;/UserName&gt;
&lt;/AdminConfiguration&gt;
&lt;/Configuration&gt;
&lt;/Extension&gt;
&lt;/Security&gt;
</pre>
</li>
<li>Return to the UILogon.aspx page, re-enter the user name and password, and then click <strong>Logon</strong>. You should have access to Report Manager and the report server with no restrictions. The administrator user that you create has equivalent permissions on the report server to those of a built-in administrator account on the local computer. For the purpose of this sample, you can only have one user designated as an administrator. After you have a built-in administrator account, you can register additional users and assign them roles on the report server.</li>
</ol>
<h2>Links</h2>
<p>[2]. <a href="http://msftrsprodsamples.codeplex.com/wikipage?title=SS2008%21Security%20Extension%20Sample&amp;referringTitle=Home" target="_blank">Readme_Security Extension Sample</a><br />
[3]. <a href="http://support.microsoft.com/kb/2146062" target="_blank">Required configuration for Extended Protection in Reporting Services</a><br />
<a href="http://msdn.microsoft.com/en-us/library/ff487481.aspx" target="_blank">Extended Protection for Authentication with Reporting Services</a><br />
<a href="http://msdn.microsoft.com/en-us/library/cc281253.aspx" target="_blank">How to: Configure Windows Authentication in Reporting Services</a><br />
[4]. <a href="http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/5a8af9f4-7ae1-4513-9a84-d727e2150596/" target="_blank">Service Unavailable` Error while installing Custom Security Ext on sql 2008 r2</a><br />
[5]. <a href="http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/cef0738d-14bb-43d5-a82f-74b485e10a82" target="_blank">Create a Web Service Proxy for ReportingService 2010</a><br />
[6]. <a href="http://msdn.microsoft.com/en-us/library/ms155134.aspx" target="_blank">Creating the Web Service Proxy</a></p>
<h2>Further reading</h2>
<ul>
<li><a href="http://blogs.msdn.com/b/cliffgreen/archive/2011/03/29/reporting-services-single-sign-on-sso-authentication-part-1.aspx" target="_blank">Reporting Services Single Sign On (SSO) Authentication</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ms152825.aspx" target="_blank">Security Extensions Overview</a></li>
</ul>
<p>Enjoy.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/10/14/installing-custom-security-extensions-for-ssrs/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Trader Joe&#8217;s commercial &#8211; never made official</title>
		<link>http://blog.dragonsoft.us/2011/09/09/trader-joes-commercial-never-made-official/</link>
		<comments>http://blog.dragonsoft.us/2011/09/09/trader-joes-commercial-never-made-official/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 18:00:41 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1328</guid>
		<description><![CDATA[Being TJ&#8217;s fan, I must resurface this video Trader Joe&#8217;s need to make it official Copyright &#169; 2012 Serge&#039;s Technology View. This Feed is for personal non-commercial use only.]]></description>
			<content:encoded><![CDATA[<p>Being TJ&#8217;s fan, I must resurface this video</p>
<p>Trader Joe&#8217;s need to make it official</p>
<p><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/OdB7GDZY3Pk?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/OdB7GDZY3Pk?version=3" type="application/x-shockwave-flash" width="640" height="505" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/09/09/trader-joes-commercial-never-made-official/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPad, web and developers</title>
		<link>http://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/</link>
		<comments>http://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 02:57:18 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[page source]]></category>
		<category><![CDATA[safari]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1312</guid>
		<description><![CDATA[When we use something for long time we are used to some things. When looking at web sites and think about how they are built, development tools are of big help. We can look at source, explore styles and java &#8230; <a href="http://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When we use something for long time we are used to some things.<br />
When looking at web sites and think about how they are built, development tools are of big help.<br />
We can look at source, explore styles and java script behind any page.<br />
So it is just &#8220;Wow&#8221; kind of situation when you try to do the same on iPad and there are no similar tools at your disposal&#8230;<br />
Luckily there are people around and they share their infinite wisdom.<br />
So if you are looking for the way to see page source try method discussed <a href="http://banagale.com/view-source-from-safari-on-ipad.htm" target="_blank">here</a></p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/08/02/ipad-web-and-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server 2008 R2 : install mess</title>
		<link>http://blog.dragonsoft.us/2011/04/29/sql-server-2008-r2-install-mess/</link>
		<comments>http://blog.dragonsoft.us/2011/04/29/sql-server-2008-r2-install-mess/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 23:47:20 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Fun stuff with SQL Server]]></category>
		<category><![CDATA[install problem]]></category>
		<category><![CDATA[R2]]></category>
		<category><![CDATA[registry permissions]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1271</guid>
		<description><![CDATA[Back in 2008 I wrote an article about &#8220;reboot check&#8221; error with installer. Now it is time to mention another situation &#8211; total failure of installing SQL Server 2008 R2 on the machine with prior installation of SQL Server 2008. &#8230; <a href="http://blog.dragonsoft.us/2011/04/29/sql-server-2008-r2-install-mess/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Back in 2008 I wrote an article about &#8220;<a href="/2008/11/08/tip-installing-sql-server-2008-reboot-required-check-fails/" target="_blank">reboot check</a>&#8221; error with installer.</p>
<p>Now it is time to mention another situation &#8211; total failure of installing SQL Server 2008 R2 on the machine with prior installation of SQL Server 2008. Please note that if you work with Visual Studio 2010 you would most likely get express edition unless declined during install. I do not know for sure if it is related but&#8230; just happened to be that after doing unrelated reinstall of VS 2010 I have to reinstall SQL Server 2008 R2 Dev build on the same machine as well.</p>
<p>Fan started when installer refused to be applied on top of existing installation, nice and very informative error about with 2 pages of debug data would appear&#8230;</p>
<blockquote><p>An error occurred creating the configuration section handler for &#8230;</p></blockquote>
<p>Per MSDN Blog, the following solution was suggested &#8211; <a href="http://blogs.msdn.com/b/vsnetsetup/archive/2009/10/29/sql-server-2008-setup-fails-with-a-microsoft-net-framework-exception.aspx" target="_blank">Delete Microsoft Folder in user&#8217;s Application Data Folder</a>.</p>
<blockquote><p><em><strong>PS: Do not forget to make a registry backup before the doing anything suggested below</strong></em></p></blockquote>
<p>OK, then we get to the next hurdle and this is actually more complex&#8230; During deployment of actual components error dialog pops up similar to this</p>
<p><img src="http://blog.dragonsoft.us/wp-content/uploads/2011/04/image23.png" alt="" title="image23" width="616" height="177" class="alignnone size-full wp-image-1281" alt="The following error has occurred: Could not open key: UNKNOWN\Components\CBFF54E0ED12B0946A1C52E5E82ABC38\E7BEEF5F746F8AB9076051A5574.  Verify that you have sufficient access to that key, or contact your support personnel."/></p>
<p>After few attempts to fix it, I have stumbled on <a href="http://www.intellitechture.com/SQL-Server-2008-Install-Nightmare/" target="_blank">this nice article</a>. Brace yourself to a long read, attempts to solve errors one by one, or just scroll to the end and just restore registry to its default state for permissions with</p>
<p>If this still fails, consider resetting registry permissions back to the<br />
default settings using the following command:</p>
<pre class="brush: bash; title: ; notranslate">secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose /areas REGKEYS</pre>
<p>This nice little thing will solve all the mysteries&#8230;</p>
<p>Enjoy</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/04/29/sql-server-2008-r2-install-mess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Which came first &#8211; the chicken or the egg &#8211; WPF, Developers and Designers &#8211; old tale</title>
		<link>http://blog.dragonsoft.us/2011/03/17/which-came-first-the-chicken-or-the-egg-wpf-developers-and-designers-old-tale/</link>
		<comments>http://blog.dragonsoft.us/2011/03/17/which-came-first-the-chicken-or-the-egg-wpf-developers-and-designers-old-tale/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 02:11:27 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Fun stuff with C#]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1234</guid>
		<description><![CDATA[Nothing is more of the truth then old tales. Some long time ago Sean Sexton said If you’re a developer doing WPF development, you really need to be using Expression Blend. Yes, I know the party line on WPF development &#8230; <a href="http://blog.dragonsoft.us/2011/03/17/which-came-first-the-chicken-or-the-egg-wpf-developers-and-designers-old-tale/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nothing is more of the truth then old tales. Some long time ago <a href="http://stuff.seans.com/" target="_blank">Sean Sexton</a> said</p>
<blockquote><p>If you’re a developer doing WPF development, you really need to be using Expression Blend.</p>
<p>Yes, I know the party line on WPF development runs something like this:</p>
<ul>
<li>Every Dev team should have at least 1 developer and 1 designer</li>
<li>Developers can’t design decent-looking GUIs to save their soul</li>
<li>Designers can’t be trusted with code, or anything close to code (excepting XAML)</li>
<li>Devs will open a project in Visual Studio and do all of their work there</li>
<li>Designers will open the same project in Blend and do all of their work there</li>
<li>Devs wear button-up shirts that don’t match their Dockers</li>
<li>Designers wear brand-name labels and artsy little berets</li>
</ul>
</blockquote>
<p>While much has changed since - language and controls evolved, iEverything is the mantra, Visual Studio got decent UI designer for WPF/Silverlight - but our mentality never changes once set - developers are all about code, and would use XAML editor rather than any UI tools, and UX folks would scream and bash them for not using proper tools.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/03/17/which-came-first-the-chicken-or-the-egg-wpf-developers-and-designers-old-tale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Japan Disaster. Red Cross</title>
		<link>http://blog.dragonsoft.us/2011/03/11/japan-disaster-red-cross/</link>
		<comments>http://blog.dragonsoft.us/2011/03/11/japan-disaster-red-cross/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 17:46:38 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1226</guid>
		<description><![CDATA[Japan was hit by horrific earthquake and tsunami. If you&#8217;d like to help those affected visit Red Cross&#8217; web-site Copyright &#169; 2012 Serge&#039;s Technology View. This Feed is for personal non-commercial use only.]]></description>
			<content:encoded><![CDATA[<p>Japan was hit by horrific earthquake and tsunami.</p>
<p>If you&#8217;d like to help those affected visit <a href="http://www.redcross.org/" target="_blank">Red Cross&#8217; web-site</a></p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/03/11/japan-disaster-red-cross/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UI prototypes and iPad/iPhone wireframes</title>
		<link>http://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/</link>
		<comments>http://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 21:42:07 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[stencil]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[visio]]></category>
		<category><![CDATA[wireframing]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1220</guid>
		<description><![CDATA[Working on earlier design of the new system there are different ways in approaching UI design &#8211; from white board, favorite piece of napkin to modeling tools. Well, one can skeep it all together and jump into Visual Studio or Eclipse and &#8230; <a href="http://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Working on earlier design of the new system there are different ways in approaching UI design &#8211; from white board, favorite piece of napkin to modeling tools. Well, one can skeep it all together and jump into Visual Studio or Eclipse and start jamming together some nice forms.</p>
<p>Experience shows again and again that using prototyping in software development allows shaving hours, days or even months from release schedule.<br />
From various types of concepts and prototypes UI prototypes are most difficult and if missed could kill any project down the road.</p>
<p>Setting proper UI expectations, creating reference materials for your project plan, getting earlier feedback from potential or existing customers &#8211; benefits are many.</p>
<p>How elements are placed on the screen? What themes/colors/styles are to be used? How screen is changed following workflow? How dialogs are organized?<br />
Questions asked and answered earlier can become crucial for the project as early as getting a &#8220;GO&#8221; and as late as releasing version 1.0 and being forced to roll it back.</p>
<p>Do not underestimate power of the visualization!</p>
<p><strong>Designing UI</strong></p>
<p>There are plenty of tools around which give you some infrastructure to do UI prototypes.<br />
To mention few:</p>
<ul>
<li>Microsoft Visio &#8211; among others there is a Wireframe Diagram, Storyboards, workflow diagrams</li>
<li>FrameMaker</li>
<li>PowerPoint</li>
<li>Photoshop</li>
<li>OmniGraffle for Mac or iPad</li>
<li><a href="http://wireframesketcher.com/" target="_blank">WireframeSketcher</a> plugin for Eclipse &#8211; basic wireframes with sequencing</li>
<li><a href="http://balsamiq.com/products/mockups" target="_blank">Balsamiq</a> Mockups &#8211; cross platform, community supported device elements library</li>
<li><a href="http://www.axure.com" target="_blank">Axure</a> - web-oriented, interactive</li>
<li><a href="http://www.mockupscreens.com" target="_blank">MockupScreens </a>- slightly outdated</li>
<li>Remember PVCS? Serena offers <a href="http://www.serena.com/products/prototype-composer/index.html" target="_blank">Serena Prototype Composer</a> - activity flow and UI elements integration</li>
</ul>
<p><strong>Stick with what you have or Visio stencils</strong></p>
<p>There could be many options, but I like to stick with what I am most familiar or have in my reach. So I choose Visio 2010 (part of MSDN).</p>
<p>By default however, Visio provides only with basic controls, toolbars, dialogs. What missing are actual stencils (collection of shapes) to be used to do UI design for the target platform.</p>
<p>Designing for Windows is different from designing for Android, iPhone or iPad and availability proper UI elements in our disposal is important.</p>
<p><strong>No One is Left Behind</strong></p>
<p>Internet is powerful thing and most of the time someone already went on the journey of helping others.<br />
Problem is that it is difficult to find libraries for Visio. There is an option though &#8211; exporting from OMNIGRAFFLE in XML format for Visio.</p>
<p>Let&#8217;s list some:</p>
<ul>
<li><a href="http://www.vaiman.com/YDesignStencil/" target="_blank">Y! Design Stencil</a>- Enabled for Visio 2010 redesigned from <a href="http://developer.yahoo.com/ypatterns/about/stencils/" target="_blank">Yahoo Stencil Kit</a></li>
<li>Nice <a href="http://graffletopia.com/stencils/570" target="_blank">iPad styled stencils</a> for OMNIGRAFFLE</li>
<li>Long list of <a href="http://speckyboy.com/2010/04/30/iphone-and-ipad-development-gui-kits-stencils-and-icons/" target="_blank">different libraries</a> available in different formats which is useful and starting point</li>
</ul>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2011/03/01/ui-prototypes-and-ipadiphone-wireframes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello again or returning to old self</title>
		<link>http://blog.dragonsoft.us/2010/12/25/hello-again-or-returning-to-old-self/</link>
		<comments>http://blog.dragonsoft.us/2010/12/25/hello-again-or-returning-to-old-self/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 19:11:33 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1207</guid>
		<description><![CDATA[Merry Christmas!!! It has been a while since my last post. Many things has changed &#8211; I have took on a new challenge changing the job and moving back to California. And wasn&#8217;t it a great decision! With new job &#8230; <a href="http://blog.dragonsoft.us/2010/12/25/hello-again-or-returning-to-old-self/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Merry Christmas!!!</p>
<p>It has been a while since my last post. Many things has changed &#8211; I have took on a new challenge changing the job and moving back to California. And wasn&#8217;t it a great decision!</p>
<p>With new job I have moved away from Delphi. In fact, I probably now do more in PHP then in Delphi. Yet, it is a C# which is main Dev language for me now.</p>
<p>Do I regret using Delphi for many years? No. It was a great ride. But, at some point it is coming to what is more relevant for the projects you are taking on.</p>
<p>So, what do I do? Silverlight/WCF/WPF/SQL Server/Reporting Services even developing for iPad/iPhone/Mac - anything what delivers what I need for projects at hand.</p>
<p>Being in more management role then ever before, I still remain a developer inside and like to explore all new things.</p>
<p>PDC2010 was great. Do you love this HTML5/Silverlight controversy, don&#8217;t you?</p>
<p>Year comes to the end and as I look back, I recognize all the greatness of past moments.</p>
<p>Past experience give us means of moving forward in life and I want to praise not just one but my last 5 years. They gave me more &#8220;food for thoughts&#8221; then ever. How to be a great leader and how not to be a not-so-great one. It is always nice to look at someone else for inspiration. These years taught me a great deal about leadership and what it means to be an effective leader. We see a lot discussions on rule of thumb on how to be a great leader, but it is bad leader examples which make us empowered with experience in life.</p>
<p>So let&#8217;s be better, make our life and life of people around us better as well. </p>
<p>Merry Christmas and Happy New Year.</p>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2010/12/25/hello-again-or-returning-to-old-self/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add key navigation to your web-site</title>
		<link>http://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/</link>
		<comments>http://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 05:41:46 +0000</pubDate>
		<dc:creator>Serguei Dosyukov</dc:creator>
				<category><![CDATA[Web-design]]></category>
		<category><![CDATA[Gallery 3]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[keyboard navigation]]></category>
		<category><![CDATA[keydown]]></category>
		<category><![CDATA[keydown event]]></category>
		<category><![CDATA[menalto]]></category>
		<guid isPermaLink="false">http://blog.dragonsoft.us/?p=1134</guid>
		<description><![CDATA[This is probably an old topic which still raises here and there. Day ago while waiting for delayed flight on United, I was doing some follow up on the discussion about my Theme for Gallery 3 and was asked if I &#8230; <a href="http://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is probably an old topic which still raises here and there.</p>
<p>Day ago while waiting for delayed flight on United, I was doing some follow up on the discussion about <a href="http://gallery.menalto.com/node/91519">my Theme for Gallery 3</a> and was asked if I could add support for Keyboard navigation.</p>
<p>In general, it is easy topic, especially when jQuery is supported for the web-site.</p>
<p>An objective is to allow visitor use keyboard to navigate. In my case it is applied to Gallery pagination enabling use of Left/Right/Up keys to move between photos or album pages.</p>
<p>While being simple in implementation, it adds a convenience for the end user enabling keyboard navigation versus mouse clicks.</p>
<p>So let&#8217;s add it&#8230;</p>
<p>First, we need some &#8220;anchors&#8221; on the page to find dynamically what our keys would do when pressed.</p>
<p>In case of my theme, I have paginator control allowing user navigate first/prev/next/last or go level up in the gallery structure (small arrow buttons/links), but it could be anything.</p>
<p>If we are to be W3C-friendly, then &lt;link&gt; tag in the header is more appropriate, but I am not going to use it in the example below. So let&#8217;s assume we have 5 links as following</p>
<pre class="brush: xml; title: ; notranslate">&lt;a title=&quot;First (Ctrl+Left)&quot; id=&quot;g-navi-first&quot; href=&quot;/first.html&quot;&gt;First&lt;/a&gt;
&lt;a title=&quot;Prev (Left)&quot; id=&quot;g-navi-prev&quot; href=&quot;/prev.html&quot;&gt;Prev&lt;/a&gt;
&lt;a title=&quot;Parent (Ctrl+Up)&quot; id=&quot;g-navi-parent&quot; href=&quot;/parent.html&quot;&gt;Parent&lt;/a&gt;
&lt;a title=&quot;Next (Right)&quot; id=&quot;g-navi-next&quot; href=&quot;/next.html&quot;&gt;Next&lt;/a&gt;
&lt;a title=&quot;Last (Ctrl+Right)&quot; id=&quot;g-navi-last&quot; href=&quot;/last.html&quot;&gt;Last&lt;/a&gt;</pre>
<p>As you can see we have 5 different actions to take and we have selected key combinations we are going to use.<br />
Code above by itself, would only work with mouse click.<br />
What we need next is very small jQuery code to bring life into it and add desired keyboard sensitivity.<br />
<em>Please notice that it would override default arrow key based scroll support of the browser. So if you want to keep both then simply adjust code below to your liking.</em></p>
<p>There goes the code. Simply dump it into JS file and add reference in your page:</p>
<pre class="brush: jscript; title: ; notranslate">/**
*
* Copyright (c) 2010 Serguei Dosyukov, http://blog.dragonsoft.us
*
*/
$.fn.KbdNavigation = function() {
  $(this).bind(&quot;keydown&quot;, function(event) {
    var lnk = &quot;&quot;;
    var lnk_first, lnk_prev, lnk_parent, lnk_next, lnk_last;
    lnk_first  = $(&quot;#g-navi-first&quot;).attr(&quot;href&quot;);
    lnk_prev   = $(&quot;#g-navi-prev&quot;).attr(&quot;href&quot;);
    lnk_parent = $(&quot;#g-navi-parent&quot;).attr(&quot;href&quot;);
    lnk_next   = $(&quot;#g-navi-next&quot;).attr(&quot;href&quot;);
    lnk_last   = $(&quot;#g-navi-last&quot;).attr(&quot;href&quot;);
   
    switch(event.keyCode) {
      case 0x25: // Ctr+Left/Left
        if(event.ctrlKey) { lnk = lnk_first; } else { lnk = lnk_prev; }
        break; 
      case 0x26: // Ctrl+Up
        if(event.ctrlKey) { lnk = lnk_parent; }
        break;
      case 0x27: // Ctrl+Right/Right
        if(event.ctrlKey) { lnk = lnk_last; } else { lnk = lnk_next; }
        break; 
    }
   
    if(lnk) {
      window.location = lnk;
      return true;
    }
   
    return true;
  });
}
$(document).ready( function() {
  $(document).KbdNavigation({});
});</pre>
<hr/><span style="font-size: 7pt">Copyright &copy; 2012 <strong><a href="http://blog.dragonsoft.us">Serge&#039;s Technology View</a></strong>. This Feed is for personal non-commercial use only.</span>]]></content:encoded>
			<wfw:commentRss>http://blog.dragonsoft.us/2010/04/08/how-to-add-key-navigation-to-your-web-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

