<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7486912</id><updated>2024-08-29T21:15:42.527+02:00</updated><category term="Microsoft"/><category term="SQL Server"/><category term="Linux"/><category term="Ubuntu"/><category term="programming"/><category term=".NET"/><category term="Visual Studio"/><category term="music"/><category term="bugs"/><category term="Integration Services"/><category term="SSIS"/><category term="C#"/><category term="SQL Server Agent"/><category term="Windows"/><category term="security"/><category term="ASUS"/><category term="notebook"/><category term="VMware"/><category term="Visual Basic"/><category term="fonts"/><category term="networking"/><category term="virtualization"/><category term="Firefox"/><category term="humour"/><category term="video"/><category term="Google"/><category term="Greasemonkey"/><category term="Polish characters"/><category term="RDP"/><category term="SharePoint"/><category term="debugging"/><category term="e-mail"/><category term="unstable"/><category term="ASP.NET"/><category term="CLR integration"/><category term="Delicious"/><category term="Oracle"/><category term="SVN"/><category term="Spotify"/><category term="performance"/><category term="regular expressions"/><category term="web hosting"/><title type='text'>chopeen&#39;s notes</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/posts/full'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/full'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/full?start-index=26&amp;max-results=25'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>110</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7486912.post-3844336441756917857</id><published>2012-09-02T13:20:00.000+02:00</published><updated>2012-09-02T13:29:14.062+02:00</updated><title type='text'>This station is non-operational</title><content type='html'>I realized that I hadn&#39;t posted anything new in a long time and I don&#39;t think this will change anytime soon. That doesn&#39;t mean that Informatica PowerCenter is a perfect piece of software, so there are no discoveries or tricks I could write about. There are and I ofter post articles about them to an internal knowledge base at work. For legal reasons, I cannot re-post them here.&lt;br /&gt;
&lt;br /&gt;
Also, since the arrival of StackOverflow, I am a regular &lt;a href=&quot;http://stackoverflow.com/users/95/marek-grzenkowicz&quot;&gt;there&lt;/a&gt; and at &lt;a href=&quot;http://stackexchange.com/users/79/marek-grzenkowicz&quot;&gt;other StackExchange sites&lt;/a&gt;, so it eats up quite a lot of the time I spend online.&lt;br /&gt;
&lt;br /&gt;
I am not going to delete the blog, since some posts are still quite popular and they&#39;re getting a considerable number of visits every month.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/3844336441756917857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2012/09/this-blog-is-non-operational.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/3844336441756917857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/3844336441756917857'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2012/09/this-blog-is-non-operational.html' title='This station is non-operational'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-5436393964438811408</id><published>2011-02-25T14:41:00.002+01:00</published><updated>2011-02-25T14:43:52.278+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>Names of custom content types cannot contain slashes</title><content type='html'>This is a definition of a custom content type generated in Visual Studio. The only thing I changed is the &lt;i&gt;Name&lt;/i&gt; attribute.&lt;br /&gt;
&lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;html&quot;&gt;xml&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;1.0&quot;&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;encoding&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;utf-8&quot;&lt;/span&gt;?&lt;span class=&quot;kwrd&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;kwrd&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;html&quot;&gt;Elements&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;xmlns&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;http://schemas.microsoft.com/sharepoint/&quot;&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;rem&quot;&gt;&amp;lt;!-- Parent ContentType: Task (0x0108) --&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;kwrd&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;html&quot;&gt;ContentType&lt;/span&gt; &lt;span class=&quot;attr&quot;&gt;ID&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;0x010800096b8767b29a4191929d5cc2d50e094e&quot;&lt;/span&gt;
               &lt;span class=&quot;attr&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;Yes/No Task&quot;&lt;/span&gt;
               &lt;span class=&quot;attr&quot;&gt;Group&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;Custom Content Types&quot;&lt;/span&gt;
               &lt;span class=&quot;attr&quot;&gt;Description&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;My Content Type&quot;&lt;/span&gt;
               &lt;span class=&quot;attr&quot;&gt;Inherits&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;TRUE&quot;&lt;/span&gt;
               &lt;span class=&quot;attr&quot;&gt;Version&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;=&quot;0&quot;&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;kwrd&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;html&quot;&gt;FieldRefs&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;kwrd&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;html&quot;&gt;FieldRefs&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;kwrd&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;html&quot;&gt;ContentType&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;kwrd&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;html&quot;&gt;Elements&lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;It seems to be perfectly valid. The package can be built and deployed to SharePoint without any errors or warnings. However, the new content type &lt;b&gt;does not show up&lt;/b&gt; on the &lt;i&gt;Site content types&lt;/i&gt; page (&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;/_layouts/mngctype.aspx&lt;/span&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The problem is caused by the &#39;/&#39; character in content type&#39;s name&lt;/b&gt; - remove the slash, re-deploy the package and now the new content type will be visible on the &lt;i&gt;Site content types&lt;/i&gt; page.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/5436393964438811408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2011/02/names-of-custom-content-types-should.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5436393964438811408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5436393964438811408'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2011/02/names-of-custom-content-types-should.html' title='Names of custom content types cannot contain slashes'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-2946368984122210406</id><published>2010-08-30T23:24:00.001+02:00</published><updated>2010-08-30T23:26:32.885+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Error &quot;Violation of PRIMARY KEY constraint &#39;PK_Name&#39;. Cannot insert duplicate key in object &#39;dbo.Table&#39;&quot; when applying snapshot to the Subscriber database</title><content type='html'>When setting up merge replication, you may get the following error:&lt;br /&gt;
&lt;blockquote style=&quot;color: red;&quot;&gt;Violation of PRIMARY KEY constraint &#39;PK_Name&#39;. Cannot insert duplicate key in object &#39;dbo.Table&#39;&lt;/blockquote&gt;while the initial snapshot is applied to the Subscriber database.&lt;br /&gt;
&lt;br /&gt;
How can data that violates no primary key constraints at the Publisher cause such an error at the Subscriber? This can be caused by &lt;b&gt;different collations used by the Publisher and Subscriber&lt;/b&gt; (at the database, table or column level).&lt;br /&gt;
&lt;br /&gt;
If the Publisher database has a case-sensitive collation (e.g. SQL_Latin1_General_CP1_&lt;b&gt;CS&lt;/b&gt;_AS ), the following data is correct (columns &lt;i&gt;Type&lt;/i&gt; and &lt;i&gt;Code&lt;/i&gt; are a primary key):&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Type&amp;nbsp; Code&amp;nbsp; Column1 &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;024&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;024&amp;nbsp;&amp;nbsp; n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;024&amp;nbsp;&amp;nbsp; g&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
However, an attempt to insert these rows into a table with case-insensitive collation (e.g. Latin1_General_&lt;b&gt;CI&lt;/b&gt;_AI) will cause a primary key violation.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/2946368984122210406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2010/08/error-violation-of-primary-key.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2946368984122210406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2946368984122210406'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2010/08/error-violation-of-primary-key.html' title='Error &quot;Violation of PRIMARY KEY constraint &#39;PK_Name&#39;. Cannot insert duplicate key in object &#39;dbo.Table&#39;&quot; when applying snapshot to the Subscriber database'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-6522681742356077354</id><published>2010-08-23T13:25:00.004+02:00</published><updated>2010-08-30T23:48:14.980+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Filter results in SQL Server Management Studio may be case-sensitive</title><content type='html'>If you are working with a database that has a case-sensitive collation (e.g. Latin1_General_&lt;b&gt;CS&lt;/b&gt;_AS), the filter function in SQL Server Management Studio will use this setting and the results will be case-sensitive.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Filter showing tables with &lt;i&gt;Bitmap&lt;/i&gt; in the name:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuODJLFttPzW_AXxkduHR6AKkeFcOnc5odTAmb5vrhAuhJweNyejGIc134bgf6k5jWdJqog_Ltvqg_ZErdKyvuHEu3iBoNRZcH4fViEiaf2A694YoF9MTTqYCGvoiGtCVpUh7Qvg/s1600/pic_2010-08-20_14-35-17.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;574&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuODJLFttPzW_AXxkduHR6AKkeFcOnc5odTAmb5vrhAuhJweNyejGIc134bgf6k5jWdJqog_Ltvqg_ZErdKyvuHEu3iBoNRZcH4fViEiaf2A694YoF9MTTqYCGvoiGtCVpUh7Qvg/s640/pic_2010-08-20_14-35-17.png&quot; width=&quot;575&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDdRzhe3vH3FrtFdFEpCv_t8VNS3bRgKX3NaTg_-kd4xx3HgvDb_w7A44efQqBOYDHhSjitq_3X4PzGTmv3xWdp04aRX9Nbtqchg_hyaFGTQKG-vXaUEAfinAA66HH0-QKcG_GCA/s1600/pic_2010-08-20_14-35-25.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDdRzhe3vH3FrtFdFEpCv_t8VNS3bRgKX3NaTg_-kd4xx3HgvDb_w7A44efQqBOYDHhSjitq_3X4PzGTmv3xWdp04aRX9Nbtqchg_hyaFGTQKG-vXaUEAfinAA66HH0-QKcG_GCA/s640/pic_2010-08-20_14-35-25.png&quot; width=&quot;575&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Filter showing tables with &lt;i&gt;bitmap&lt;/i&gt; in the name:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_GAl-nh_FCXzhyphenhyphen0dLNmoVojnSiu8g84e4M72acaE6UmSW9R7YiBaUL7GHz5s9VJEbOJDDikVLA-U1zORdB2a7TFpU0y4CODswZmOnFajMX9GIeMytXiPWfSvXI6ydUq2UsPTJzQ/s1600/pic_2010-08-20_14-33-26.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;574&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_GAl-nh_FCXzhyphenhyphen0dLNmoVojnSiu8g84e4M72acaE6UmSW9R7YiBaUL7GHz5s9VJEbOJDDikVLA-U1zORdB2a7TFpU0y4CODswZmOnFajMX9GIeMytXiPWfSvXI6ydUq2UsPTJzQ/s640/pic_2010-08-20_14-33-26.png&quot; width=&quot;575&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggwLu9ddJT76TyiMxSAGtioSVD-5LGXXYdMVStmGxu2JlyLoRwTp-vykzLQZJ8JjibYVJjGwzVksj8EMLPPsKhSLtPoigPYATQJqTLKtME-dBuKjXPMhX15Pmj0kxgRa7sLEQF9g/s1600/pic_2010-08-20_14-33-37.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggwLu9ddJT76TyiMxSAGtioSVD-5LGXXYdMVStmGxu2JlyLoRwTp-vykzLQZJ8JjibYVJjGwzVksj8EMLPPsKhSLtPoigPYATQJqTLKtME-dBuKjXPMhX15Pmj0kxgRa7sLEQF9g/s640/pic_2010-08-20_14-33-37.png&quot; width=&quot;575&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
If this database had a case-insensitive collation, filter results for &lt;i&gt;Bitmap&lt;/i&gt; and &lt;i&gt;bitmap&lt;/i&gt; would be identical and would contain all four tables.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/6522681742356077354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2010/08/filter-results-in-sql-server-management.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/6522681742356077354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/6522681742356077354'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2010/08/filter-results-in-sql-server-management.html' title='Filter results in SQL Server Management Studio may be case-sensitive'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuODJLFttPzW_AXxkduHR6AKkeFcOnc5odTAmb5vrhAuhJweNyejGIc134bgf6k5jWdJqog_Ltvqg_ZErdKyvuHEu3iBoNRZcH4fViEiaf2A694YoF9MTTqYCGvoiGtCVpUh7Qvg/s72-c/pic_2010-08-20_14-35-17.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-5270494482161023179</id><published>2010-03-10T14:40:00.000+01:00</published><updated>2010-03-10T14:40:51.008+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="music"/><category scheme="http://www.blogger.com/atom/ns#" term="Spotify"/><title type='text'>Spotify global hotkeys - AutoHotkey script</title><content type='html'>My script is based on one I found &lt;a href=&quot;http://getsatisfaction.com/spotify/topics/global_hotkeys#reply_708213&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hotkeys:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tr&gt;&lt;td width=&quot;120px&quot;&gt;Previous track&lt;/td&gt;&lt;td&gt;Win+1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td width=&quot;120px&quot;&gt;Play/pause&lt;/td&gt;&lt;td&gt;Win+2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td width=&quot;120px&quot;&gt;Next track&lt;/td&gt;&lt;td&gt;Win+3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td width=&quot;120px&quot;&gt;Volume down&lt;/td&gt;&lt;td&gt;Win+Q&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td width=&quot;120px&quot;&gt;Volume up&lt;/td&gt;&lt;td&gt;Win+W&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;Script:&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;#1::
; Previous track
ControlSend, ahk_parent, ^{Left}, ahk_class SpotifyMainWindow
return

#2::
; Play/pause
ControlSend, ahk_parent, {Space}, ahk_class SpotifyMainWindow
return

#3::
; Next track
ControlSend, ahk_parent, ^{Right}, ahk_class SpotifyMainWindow
return

#q::
; Volume down
ControlSend, ahk_parent, ^{Down}, ahk_class SpotifyMainWindow
return

#w::
; Volume up
ControlSend, ahk_parent, ^{Up}, ahk_class SpotifyMainWindow
return&lt;/pre&gt;&lt;b&gt;How does it work:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It&#39;s very simple - I just mapped my favourite audio player hotkeys to &lt;a href=&quot;http://www.spotify.com/en/help/keyboard-shortcuts/&quot;&gt;default Spotify keyboard shortcuts&lt;/a&gt;, e.g. &lt;i&gt;#1&lt;/i&gt; means &lt;i&gt;Win+1&lt;/i&gt; in &lt;a href=&quot;http://www.autohotkey.com/&quot;&gt;AutoHotkey&lt;/a&gt; syntax and pressing this hotkey sends &lt;i&gt;^{Left}&lt;/i&gt; (i.e. &lt;i&gt;Crtl+Left&lt;/i&gt;) to main window of Spotify application.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/5270494482161023179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2010/03/spotify-global-hotkeys-autohotkey.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5270494482161023179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5270494482161023179'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2010/03/spotify-global-hotkeys-autohotkey.html' title='Spotify global hotkeys - AutoHotkey script'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-2821003456785874313</id><published>2010-01-12T16:12:00.006+01:00</published><updated>2010-08-30T23:36:10.651+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint"/><title type='text'>Web Parts Maintenance Page - fixing a SharePoint page with faulty Web Parts configuration</title><content type='html'>If you ever use Site Aggregator Web Part on the &lt;i&gt;default.aspx&lt;/i&gt; page of a site and configure it in a way that redirects users to some other website (specified when adding Site Aggregator) every time they try to open the SharePoint site (I have no idea how I managed to do it), you can use the &lt;b&gt;Web Parts Maintenance Page&lt;/b&gt; to resolve this problem. Of course, you can use this page to troubleshoot all other kinds of problems caused by Web Parts misconfiguration.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr3FGBJAfHhtQt0MzguTv8KOMTi42ZrBCPAOK2DUh-SIHiiSMSuSyJWBKsYAbaeLVpANX7OzzILUrmxYODLWIiKwHgChvRnahXL-nmu5rGEPdjhPUQ5nsGiwSwsi50YN4Ip0r_OA/s1600-h/screenshot_0000007.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;579&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr3FGBJAfHhtQt0MzguTv8KOMTi42ZrBCPAOK2DUh-SIHiiSMSuSyJWBKsYAbaeLVpANX7OzzILUrmxYODLWIiKwHgChvRnahXL-nmu5rGEPdjhPUQ5nsGiwSwsi50YN4Ip0r_OA/s640/screenshot_0000007.png&quot; title=&quot;Click to view larger image&quot; width=&quot;492&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The URL of the Web Parts Maintenance Page is:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;http://&lt;b style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;SITE-URL&lt;/span&gt;&lt;/b&gt;/_layouts/spcontnt.aspx?&amp;amp;url=%2f&lt;b style=&quot;color: blue;&quot;&gt;PAGE-WITH-WEB-PARTS&lt;/b&gt;.aspx&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/2821003456785874313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2010/01/web-parts-maintenance-page-fixing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2821003456785874313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2821003456785874313'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2010/01/web-parts-maintenance-page-fixing.html' title='Web Parts Maintenance Page - fixing a SharePoint page with faulty Web Parts configuration'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr3FGBJAfHhtQt0MzguTv8KOMTi42ZrBCPAOK2DUh-SIHiiSMSuSyJWBKsYAbaeLVpANX7OzzILUrmxYODLWIiKwHgChvRnahXL-nmu5rGEPdjhPUQ5nsGiwSwsi50YN4Ip0r_OA/s72-c/screenshot_0000007.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-2762116863161305529</id><published>2010-01-02T21:15:00.002+01:00</published><updated>2010-03-12T15:18:40.384+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASUS"/><category scheme="http://www.blogger.com/atom/ns#" term="bugs"/><category scheme="http://www.blogger.com/atom/ns#" term="notebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>BSoD when installing Windows XP on ASUS K61IC notebook</title><content type='html'>If a bluescreen (Blue Screen of Death) occurs during Windows XP installation and the error message contains the &lt;b&gt;0x0000007B&lt;/b&gt; code, try to do the following:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;restart the notebook,&lt;/li&gt;
&lt;li&gt;press F2 to enter the BIOS setup,&lt;/li&gt;
&lt;li&gt;go to &lt;b&gt;Advanced&lt;/b&gt; and then &lt;b&gt;IDE Configuration&lt;/b&gt;,&lt;/li&gt;
&lt;li&gt;change the &lt;b&gt;SATA Operation Mode&lt;/b&gt; setting to &lt;b&gt;Compatible&lt;/b&gt; (the default setting is &lt;b&gt;Enhanced&lt;/b&gt;).&lt;/li&gt;
&lt;/ol&gt;Some information about the &lt;b&gt;STOP: 0x0000007B&lt;/b&gt; error can be found &lt;a href=&quot;http://support.microsoft.com/kb/324103&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/2762116863161305529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2010/01/bsod-when-installing-windows-xp-on-asus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2762116863161305529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2762116863161305529'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2010/01/bsod-when-installing-windows-xp-on-asus.html' title='BSoD when installing Windows XP on ASUS K61IC notebook'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-137594266238895908</id><published>2009-10-21T11:05:00.006+02:00</published><updated>2010-08-30T23:50:01.210+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Error &quot;The remote debugger is not an acceptable version&quot;</title><content type='html'>If you try to &lt;a href=&quot;http://www.codeproject.com/KB/aspnet/IISRemoteDebugging.aspx&quot;&gt;debug an ASP.NET application remotely&lt;/a&gt; using Remote Debugging Monitor (msvsmon.exe) and you get the following error:&lt;br /&gt;
&lt;blockquote style=&quot;color: red;&quot;&gt;The remote debugger is not an acceptable version&lt;/blockquote&gt;it means that the versions of Visual Studio and Msvsmon are different (e.g. Visual Studio 2005 + Msvsmon 2008).</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/137594266238895908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2009/10/error-remote-debugger-is-not-acceptable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/137594266238895908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/137594266238895908'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2009/10/error-remote-debugger-is-not-acceptable.html' title='Error &quot;The remote debugger is not an acceptable version&quot;'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-2276463852123623265</id><published>2009-09-10T12:38:00.005+02:00</published><updated>2010-03-01T10:53:15.296+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Greasemonkey"/><title type='text'>Google Search S-U-P-E-R-sized - how to make it normal again</title><content type='html'>If you don&#39;t like the latest Google Search modification (&lt;a href=&quot;http://googleblog.blogspot.com/2009/09/now-s-u-p-e-r-sized.html&quot;&gt;larger search box features + larger suggestion text&lt;/a&gt;), here&#39;s a &lt;a href=&quot;http://userscripts.org/scripts/show/57449&quot;&gt;Google Search - un-S-U-P-E-R-sized&lt;/a&gt; Greasemonkey script.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/2276463852123623265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2009/09/google-search-s-u-p-e-r-sized-how-to.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2276463852123623265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2276463852123623265'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2009/09/google-search-s-u-p-e-r-sized-how-to.html' title='Google Search S-U-P-E-R-sized - how to make it normal again'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-4093442344828186856</id><published>2009-05-15T11:40:00.010+02:00</published><updated>2010-03-01T10:54:06.360+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Missing auto-generated Resources.Designer.cs file</title><content type='html'>If the &lt;span style=&quot;font-style:italic;&quot;&gt;Resources.Designer.cs&lt;/span&gt; file is missing and there is no &lt;span style=&quot;font-style:italic;&quot;&gt;Run Custom Tool&lt;/span&gt; option in the context menu for the &lt;span style=&quot;font-style:italic;&quot;&gt;Resources.cs&lt;/span&gt; file (or, of course, any other resources file), it probably means that the &lt;span style=&quot;font-style:italic;&quot;&gt;Custom Tool&lt;/span&gt; property of the &lt;span style=&quot;font-style:italic;&quot;&gt;Resources.cs&lt;/span&gt; file is empty:&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhakO2em1XgEIwyUmog51jts4EGXcMzVBDbWaTbwDYDlOV7WHxREkA7nJ76QJnTNW_eHEa_G3GEryJ8lgrQfS1m5-j-LmGs1f0_svsbiTFTuu75D3MyhX2K8DQU_NyjxPR6QfKaGg/s1600-h/custom-tool.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 359px; height: 202px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhakO2em1XgEIwyUmog51jts4EGXcMzVBDbWaTbwDYDlOV7WHxREkA7nJ76QJnTNW_eHEa_G3GEryJ8lgrQfS1m5-j-LmGs1f0_svsbiTFTuu75D3MyhX2K8DQU_NyjxPR6QfKaGg/s400/custom-tool.png&quot; border=&quot;0&quot; alt=&quot;&quot; title=&quot;Click to view larger image&quot; id=&quot;BLOGGER_PHOTO_ID_5335984625463948706&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
This is what &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx&quot;&gt;MSDN says about the &lt;span style=&quot;font-style:italic;&quot;&gt;Custom Tool&lt;/span&gt; property&lt;/a&gt;:&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Custom tools are components that can be used to transform files from one type to another at design time. For example, a custom tool might be a dataset code generator that reads in an XML Schema (.xsd) file and generates classes in a code file that programmatically exposes its tables and columns. There is a predefined list of custom tools available in the product; this property enables you to see which custom tool is applied to a file. In rare circumstances, you might have to change the value of this property. The value of this property must be either blank or one of the built-in custom tools.&lt;/span&gt;&lt;/blockquote&gt;In case of Visual Studio 2008 the default tool generating the &lt;span style=&quot;font-style:italic;&quot;&gt;*.Designer.cs files&lt;/span&gt; is &lt;span style=&quot;font-style:italic;&quot;&gt;ResXFileCodeGenerator&lt;/span&gt; - type it in the property and the problem should be solved:&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaJF27k1wu3RYnBuKoZS2r3hs4IJEvisgRcAcSV6L65c1VX9dwZi1LHsMsLQnj3ublEN2GS74SNiSBIaIlOFr2LtyHZnHOhoODb9yv5BJ-4tB9NWhNadmqxzKEGqgIGC4wuC5Vw/s1600-h/custom-tool-1.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 219px; height: 229px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaJF27k1wu3RYnBuKoZS2r3hs4IJEvisgRcAcSV6L65c1VX9dwZi1LHsMsLQnj3ublEN2GS74SNiSBIaIlOFr2LtyHZnHOhoODb9yv5BJ-4tB9NWhNadmqxzKEGqgIGC4wuC5Vw/s400/custom-tool-1.png&quot; border=&quot;0&quot; alt=&quot;&quot; title=&quot;Click to view larger image&quot; id=&quot;BLOGGER_PHOTO_ID_5335986938253035554&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight:bold;&quot;&gt;UPDATE:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I found an easier way to do it:&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI2qASgeYa9xY2kD9X32rAPCR4LSmnf-nR35_SWXjM5UrHqr0Pxm2Thq9Yun86u-MXD-OSf-FDIWvtiDBmYZIZCDzdmDRsdOJ5AKOKQFk8ToBWIr15ZEC41FXruqnVdHWiAJRpWA/s1600-h/resources-access-modifier.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 79px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI2qASgeYa9xY2kD9X32rAPCR4LSmnf-nR35_SWXjM5UrHqr0Pxm2Thq9Yun86u-MXD-OSf-FDIWvtiDBmYZIZCDzdmDRsdOJ5AKOKQFk8ToBWIr15ZEC41FXruqnVdHWiAJRpWA/s400/resources-access-modifier.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5337554270414246402&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/4093442344828186856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2009/05/missing-auto-generated.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4093442344828186856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4093442344828186856'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2009/05/missing-auto-generated.html' title='Missing auto-generated Resources.Designer.cs file'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhakO2em1XgEIwyUmog51jts4EGXcMzVBDbWaTbwDYDlOV7WHxREkA7nJ76QJnTNW_eHEa_G3GEryJ8lgrQfS1m5-j-LmGs1f0_svsbiTFTuu75D3MyhX2K8DQU_NyjxPR6QfKaGg/s72-c/custom-tool.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-8044062136021245678</id><published>2009-01-25T21:26:00.011+01:00</published><updated>2010-08-30T23:54:17.113+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Delicious"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>furl2delicious - a tool to import bookmarks from Furl to Delicious (with tags!)</title><content type='html'>I decided to switch from &lt;a href=&quot;http://www.furl.net/&quot;&gt;Furl&lt;/a&gt; to &lt;a href=&quot;http://delicious.com/&quot;&gt;Delicious&lt;/a&gt;. Furl is a good bookmarking service, it has a unique feature that I think is very useful - it saves a copy of every bookmarked page. But recently it&#39;s been very slow, sometimes I couldn&#39;t even log in. Moreover, I like new Delicious design and Firefox integration so much better!&lt;br /&gt;
&lt;br /&gt;
So I decided to switch. But I didn&#39;t want to lose more than 500 bookmarks. I tried to use the Delicious import feature - everything went smoothly but all my tags were lost. I looked for a solution on the Internet but I didn&#39;t find a working one, so I wrote my own tool.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFvlYp5a385Eu087YObLtnztycKKwfviaQrrjRVJEFsZsJrPCCqTT6Zx8TlBEE8JfICikUfjaAof7YYb1yZe4-bE6eYJJlpECZMGDK9bm8NUd1pu5mUEMenai0idKg-h4HnLkifg/s1600/f2d.PNG&quot; /&gt;&lt;/div&gt;&lt;br /&gt;
It imports the following data:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;the URL,&lt;/li&gt;
&lt;li&gt;the title,&lt;/li&gt;
&lt;li&gt;the comments (if there were any),&lt;/li&gt;
&lt;li&gt;the tags (&lt;span style=&quot;color: red; font-weight: bold;&quot;&gt;!&lt;/span&gt;),&lt;/li&gt;
&lt;li&gt;the date when the bookmark was created (&lt;span style=&quot;color: red; font-weight: bold;&quot;&gt;!&lt;/span&gt;).&lt;/li&gt;
&lt;/ul&gt;I imported my bookmarks - it took about 20 minutes; out of 515 bookmarks that left Furl 501 arrived at Delicious, I didn&#39;t investigate why 14 bookmarks were lost.&lt;br /&gt;
&lt;br /&gt;
I used the &lt;a href=&quot;http://netlicious.sourceforge.net/&quot;&gt;Delicious.Net&lt;/a&gt; library and &lt;a href=&quot;http://www.microsoft.com/express/2005/&quot;&gt;Visual C# 2005 Express Edition&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Downloads:&lt;br /&gt;
&lt;a href=&quot;http://dl.getdropbox.com/u/88038/blog-download/furl2delicious.zip&quot;&gt;furl2delicious - executables&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://dl.getdropbox.com/u/88038/blog-download/furl2delicious-src.zip&quot;&gt;furl2delicious - source code&lt;/a&gt; (.NET, C#)</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/8044062136021245678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2009/01/furl2delicious-tool-to-import-bookmarks.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/8044062136021245678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/8044062136021245678'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2009/01/furl2delicious-tool-to-import-bookmarks.html' title='furl2delicious - a tool to import bookmarks from Furl to Delicious (with tags!)'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFvlYp5a385Eu087YObLtnztycKKwfviaQrrjRVJEFsZsJrPCCqTT6Zx8TlBEE8JfICikUfjaAof7YYb1yZe4-bE6eYJJlpECZMGDK9bm8NUd1pu5mUEMenai0idKg-h4HnLkifg/s72-c/f2d.PNG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-2771355330965891662</id><published>2008-06-14T23:35:00.007+02:00</published><updated>2010-03-01T10:58:04.215+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="Greasemonkey"/><category scheme="http://www.blogger.com/atom/ns#" term="music"/><title type='text'>Last.fm event shoutbox feed - my first Greasemonkey script</title><content type='html'>I&#39;ve just uploaded my first &lt;a href=&quot;http://www.greasespot.net/&quot;&gt;Greasemonkey&lt;/a&gt; script to &lt;a href=&quot;http://userscripts.org/&quot;&gt;userscripts.org&lt;/a&gt;. It is called &lt;i&gt;Last.fm event shoutbox feed&lt;/i&gt; and can be downloaded from &lt;a href=&quot;http://userscripts.org/scripts/show/28453&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
It allows to follow the conversations in Last.fm event shoutboxes easily by subscribing to feeds created for them (&#39;out of the box&#39; Last.fm does not provide feeds for shoutboxes, my script uses &lt;a href=&quot;http://tools.microformatic.com/help/xhtml/hatom/&quot;&gt;hAtom to Atom/RSS transcoder&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Below you can see how it works.&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxnKb8NtBz9t-_7df6nR2nDQP9Qz-1NRkvowDHNCuORCaudFWbb79gvxuKUGvnT1VzGxJIoiDBmzjRQqzN8o9ONlmFQrDN_w7fv_zbbqDeaKLKC4vXT7c3-gq0GZ5OhDNVCNSDpA/s1600-h/Last.fm_event_Shoutbox_feed_script_in_action.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxnKb8NtBz9t-_7df6nR2nDQP9Qz-1NRkvowDHNCuORCaudFWbb79gvxuKUGvnT1VzGxJIoiDBmzjRQqzN8o9ONlmFQrDN_w7fv_zbbqDeaKLKC4vXT7c3-gq0GZ5OhDNVCNSDpA/s400/Last.fm_event_Shoutbox_feed_script_in_action.png&quot; border=&quot;0&quot; alt=&quot;&quot; title=&quot;Click to view larger image&quot; id=&quot;BLOGGER_PHOTO_ID_5211857649330056018&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight:bold;&quot;&gt;UPDATE:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The script &lt;span style=&quot;font-weight:bold;&quot;&gt;does not work&lt;/span&gt; with the new Last.fm, because &lt;a href=&quot;http://www.last.fm/forum/21717/_/440523&quot;&gt;the microformats were dropped during the re-design&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/2771355330965891662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/06/lastfm-event-shoutbox-feed-my-first.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2771355330965891662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/2771355330965891662'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/06/lastfm-event-shoutbox-feed-my-first.html' title='Last.fm event shoutbox feed - my first Greasemonkey script'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxnKb8NtBz9t-_7df6nR2nDQP9Qz-1NRkvowDHNCuORCaudFWbb79gvxuKUGvnT1VzGxJIoiDBmzjRQqzN8o9ONlmFQrDN_w7fv_zbbqDeaKLKC4vXT7c3-gq0GZ5OhDNVCNSDpA/s72-c/Last.fm_event_Shoutbox_feed_script_in_action.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-1447233804965100837</id><published>2008-05-01T17:09:00.004+02:00</published><updated>2010-03-01T10:59:06.055+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Basic"/><title type='text'>Calling a .NET library from a VB6 application</title><content type='html'>Calling a .NET library from a VB6 application is pretty easy. There are many resources explaining how to do it (e.g. &lt;a href=&quot;http://www.15seconds.com/issue/040721.htm&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://www.codeproject.com/KB/COM/nettocom.aspx&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/c3fd4a20.aspx&quot;&gt;3&lt;/a&gt;, &lt;a href=&quot;http://support.microsoft.com/kb/817248&quot;&gt;4&lt;/a&gt;). However, all of the (or at least the ones that I have read) forget to mention that, if you are using C#, there is a catch - the assemblies created in C# have a &lt;span style=&quot;font-family: courier new, monospace;&quot;&gt;ComVisible&lt;/span&gt; attribute set to &lt;span style=&quot;font-family: courier new, monospace;&quot;&gt;false&lt;/span&gt; by default. This simply means that they cannot be called from a VB6 application.&lt;br /&gt;
&lt;br /&gt;
To change it open the &lt;span style=&quot;font-family: courier new, monospace;&quot;&gt;AssemblyInfo.cs&lt;/span&gt; file, find the following line: &lt;pre class=&quot;csharpcode&quot;&gt;[assembly: ComVisible(&lt;span class=&quot;kwrd&quot;&gt;false&lt;/span&gt;)]&lt;/pre&gt;and change it to: &lt;pre class=&quot;csharpcode&quot;&gt;[assembly: ComVisible(&lt;span class=&quot;kwrd&quot;&gt;true&lt;/span&gt;)]&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/1447233804965100837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/05/calling-net-library-from-vb6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/1447233804965100837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/1447233804965100837'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/05/calling-net-library-from-vb6.html' title='Calling a .NET library from a VB6 application'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-45646623607074187</id><published>2008-04-29T18:54:00.004+02:00</published><updated>2012-02-29T22:29:49.433+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server Agent"/><title type='text'>Error &quot;Unable to connect to SQL Server &#39;(local)&#39;.  The step failed.&quot;</title><content type='html'>If you are using SQL Server 2000 and you have a job with a step that fails with the following error message:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: courier new,monospace;&quot;&gt;Unable to connect to SQL Server &#39;(local)&#39;.  The step failed.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
it may mean that this step is configured to use a database that existed when the step was created but has later been dropped.&lt;br /&gt;
&lt;br /&gt;
Moreover, if you don&#39;t remember what database this step should use, checking the step definition in Enterprise Manager won&#39;t reveal the cause of the problem, because there will be some database selected in the &lt;span style=&quot;font-style: italic;&quot;&gt;Database&lt;/span&gt; combo box (it cannot be empty) but it won&#39;t be the same database that the step is really configured to use (this database does not exist so it is not in the combo box).&lt;br /&gt;
&lt;br /&gt;
To fix the problem select a new database for each failing step and save the changes.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/45646623607074187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/04/error-unable-to-connect-to-sql-server.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/45646623607074187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/45646623607074187'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/04/error-unable-to-connect-to-sql-server.html' title='Error &quot;Unable to connect to SQL Server &#39;(local)&#39;.  The step failed.&quot;'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-7327157282501930589</id><published>2008-04-28T14:43:00.006+02:00</published><updated>2010-03-01T17:05:57.328+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><title type='text'>No Back and Forward buttons in Firefox 3</title><content type='html'>If you use as minimalistic version of Firefox as I do (which means that the &lt;span style=&quot;font-style:italic;&quot;&gt;Navigation Toolbar&lt;/span&gt; is hidden and all the buttons are moved from it to the space next to the address bar), after installing Firefox 3 you will notice that not only are the &lt;span style=&quot;font-style:italic;&quot;&gt;Back&lt;/span&gt; and &lt;span style=&quot;font-style:italic;&quot;&gt;Forward&lt;/span&gt; buttons missing but also you cannot add them from the &lt;span style=&quot;font-style:italic;&quot;&gt;Customize Toolbar&lt;/span&gt; window.&lt;br /&gt;
&lt;br /&gt;
This is because the buttons are already added to the interface but they are not visible because the &lt;span style=&quot;font-style:italic;&quot;&gt;Navigation Toolbar&lt;/span&gt; is hidden.&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglwEtQ8w0gUmLgQIdgPOH0D28mFqjbyxfAO2GOKPRV0aNmY5QNbJml_V632WRfiNu9EzFYAhMZfo7CGRpzS6Mc3SGR2_qKf79rsnhCf948sFgwGJKWuE310ekAbR6nnGZOQvnh-g/s1600-h/pic02913.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglwEtQ8w0gUmLgQIdgPOH0D28mFqjbyxfAO2GOKPRV0aNmY5QNbJml_V632WRfiNu9EzFYAhMZfo7CGRpzS6Mc3SGR2_qKf79rsnhCf948sFgwGJKWuE310ekAbR6nnGZOQvnh-g/s400/pic02913.png&quot; border=&quot;0&quot; alt=&quot;&quot; title=&quot;Click to view larger image&quot; id=&quot;BLOGGER_PHOTO_ID_5194277580467854674&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Of course, the a &lt;span style=&quot;font-style:italic;&quot;&gt;Back/Forward&lt;/span&gt; button (two separate buttons from previous versions have been replaced with a single one) can be moved from the &lt;span style=&quot;font-style:italic;&quot;&gt;Navigation Toolbar&lt;/span&gt; to the place of your choice.&lt;br /&gt;
&lt;br /&gt;
I encountered this problem after upgrading Ubuntu 7.10 (Gutsy Gibbon) to Ubuntu 8.04 (Hardy Heron), but it has nothing to do with Ubuntu. It is caused only by the fact that old &lt;span style=&quot;font-style:italic;&quot;&gt;Back&lt;/span&gt; and &lt;span style=&quot;font-style:italic;&quot;&gt;Forward&lt;/span&gt; buttons have been removed and a new &lt;span style=&quot;font-style:italic;&quot;&gt;Back/Forward&lt;/span&gt; one has been added. And it is placed in its default location (which is the &lt;span style=&quot;font-style:italic;&quot;&gt;Navigation Toolbar&lt;/span&gt;).</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/7327157282501930589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/04/no-back-and-forward-buttons-in-firefox.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/7327157282501930589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/7327157282501930589'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/04/no-back-and-forward-buttons-in-firefox.html' title='No Back and Forward buttons in Firefox 3'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglwEtQ8w0gUmLgQIdgPOH0D28mFqjbyxfAO2GOKPRV0aNmY5QNbJml_V632WRfiNu9EzFYAhMZfo7CGRpzS6Mc3SGR2_qKf79rsnhCf948sFgwGJKWuE310ekAbR6nnGZOQvnh-g/s72-c/pic02913.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-5507506524377805350</id><published>2008-03-27T18:05:00.011+01:00</published><updated>2010-03-01T17:07:04.646+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bugs"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>Shrinking an outsized KeePassX/KeePass database</title><content type='html'>There is an error in &lt;a href=&quot;http://www.keepassx.org/&quot;&gt;KeePassX&lt;/a&gt; (and there was &lt;a href=&quot;http://sourceforge.net/forum/message.php?msg_id=4693029&quot;&gt;a similar bug&lt;/a&gt; in &lt;a href=&quot;http://keepass.info/&quot;&gt;KeePass&lt;/a&gt;, too) that can cause the database file to grow at a very rapid pace (I don&#39;t know what triggers this growth). To be precise, the database size doubles every time it is saved even if a very small change is made.&lt;br /&gt;
&lt;br /&gt;
My database reached 256 MB. KeePass running on Windows XP could not open it (because of an &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Out of memory&lt;/span&gt;&lt;/span&gt; error) while KeePassX on Ubuntu could open it but it was taking a few minutes. But the main problem anyway was the fact that I couldn&#39;t add new entries or make any changes because the file would grow again.&lt;br /&gt;
&lt;br /&gt;
I tried to shrink the file by saving it as a new database or exporting and then importing it, but it didn&#39;t work. I also tried to find a solution on the Internet, but I only found an information that there was such a bug and it was fixed in Windows version. So after a few days I downloaded the KeePass sources, spent half a day (it&#39;s been a long time since I last saw a C++ code :) first trying to make them compile (I didn&#39;t have a &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;libboost_regex-vc80-mt-sgd-1_34_1.lib&lt;/span&gt; library file; I installed it with &lt;a href=&quot;http://www.boost-consulting.com/products/free&quot;&gt;BoostPro Binary Installer for Visual C++&lt;/a&gt; - take a look &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHi70NrayQlxcM0-Hd6q9O7nEXAMRYzvam00Hu4fZCBLmzTq0dQTTIHjEwah0US4x5meUuvtHFE-sussv2BpcR87oIi44wPTgQfahz57zOLFjro4OFaQtLxDtKblYxd5OfR8OdsQ/s1600-h/pic2879.png&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8018fxzz0e57MMaKq5Bjg9Mkos3bq1KlACUean2Up2YX-4Cx1orTWShoUYfuyi-OJbCM5Ogd7SdFcsyfyITHRJjrReaR_km-XzZXGi5_oG9OVRB3kVS8hCOefBz-PdAG9ybyoiA/s1600-h/pic2881.png&quot;&gt;here&lt;/a&gt;) and then trying to find a place in the code where the individual entries get loaded. :)&lt;br /&gt;
&lt;br /&gt;
Finally, it turned out that the problem was caused by an attachment which was taking almost all space in the database file (it had a few KB when I attached it some time ago).&lt;br /&gt;
&lt;br /&gt;
So I placed a line responsible for loading the attachment inside a &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;try... catch...&lt;/span&gt; block and added a message box.&lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;try&lt;/span&gt;
{
pEntry-&amp;gt;pszBinaryDesc = _UTF8ToString((UTF8_BYTE *)pData);
}
&lt;span class=&quot;kwrd&quot;&gt;catch&lt;/span&gt; (...)
{
AfxMessageBox((CString)&lt;span class=&quot;str&quot;&gt;&quot;There was a problem with reading pszBinaryDesc &quot;&lt;/span&gt; 
+ (CString)&lt;span class=&quot;str&quot;&gt;&quot;field of &quot;&lt;/span&gt; + pEntry-&amp;gt;pszTitle + (CString)&lt;span class=&quot;str&quot;&gt;&quot; entry.\n&quot;&lt;/span&gt;
+ (CString)&lt;span class=&quot;str&quot;&gt;&quot;This data has been LOST. However, you can now save the &quot;&lt;/span&gt;
+ (CString)&lt;span class=&quot;str&quot;&gt;&quot;database as a new file and its size should be normal again.&quot;&lt;/span&gt;, 
MB_ICONEXCLAMATION);
}&lt;/pre&gt;Thanks to this if there is a broken (outsized) attachment in some entry, an exception is thrown (&lt;span style=&quot;font-weight:bold;&quot;&gt;important:&lt;/span&gt; if you try to run KeePass on Linux using WINE, this exception will &lt;span style=&quot;font-weight:bold;&quot;&gt;not&lt;/span&gt; be thrown) and KeePass skips loading it and informs the user that such a problem occurred. Be aware that I didn&#39;t find a way to restore a broken attachment so some data is lost, but the database can be opened and saved as a new database. The new database has a normal size.&lt;br /&gt;
&lt;br /&gt;
If anyone has a similar problem, let me know - I can e-mail modified sources or a compiled EXE file.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight:bold;&quot;&gt;UPDATE:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
A tip from an anonymous reader:&lt;br /&gt;
&lt;blockquote&gt;I was able to get around the same issue and shrink my keepass database via &quot;File&quot; -&gt; &quot;Export To&quot; -&gt; &quot;KeePass Database&quot; in v1.14. Using &quot;Save As&quot; wouldn&#39;t do it, but exporting did the trick!&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/5507506524377805350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/03/shrinking-outsized-keepassxkeepass.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5507506524377805350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5507506524377805350'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/03/shrinking-outsized-keepassxkeepass.html' title='Shrinking an outsized KeePassX/KeePass database'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-4779432723344510141</id><published>2008-03-03T23:30:00.005+01:00</published><updated>2010-03-12T15:15:10.789+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Invalid &#39;Remote table-valued function calls are not allowed&#39; message error</title><content type='html'>Assuming that &lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;[11.99.120.12]&lt;/span&gt; is a linked server created on a SQL Server 2005 computer and pointing to a SQL Server 2000 computer, executing a simple query like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;SELECT *&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;FROM [11.99.120.12].SALES_DB.dbo.ORDERS (nolock)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
will fail with the following error message:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255, 0, 0);font-family:courier new,monospace;&quot; &gt;&amp;nbsp;&amp;nbsp;Server: Msg 4122, Level 16, State 1, Line 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(255, 0, 0);font-family:courier new,monospace;&quot; &gt;&amp;nbsp;&amp;nbsp;Remote table-valued function calls are not allowed.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;This error message is not correct&lt;/span&gt;, since &lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;ORDERS&lt;/span&gt; is a table and not a function.&lt;br /&gt;
&lt;br /&gt;
This query will run correctly only if the &lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;WITH&lt;/span&gt; keyword is used before the &lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;(nolock)&lt;/span&gt; hint:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;SELECT *&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;FROM [11.99.120.12].SALES_DB.dbo.ORDERS &lt;span style=&quot;font-weight: bold;&quot;&gt;WITH&lt;/span&gt; (nolock)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This problem is also discussed &lt;a href=&quot;https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=126162&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/4779432723344510141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/03/invalid-remote-table-valued-function.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4779432723344510141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4779432723344510141'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/03/invalid-remote-table-valued-function.html' title='Invalid &#39;Remote table-valued function calls are not allowed&#39; message error'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-4854992528316513363</id><published>2008-02-03T12:45:00.001+01:00</published><updated>2010-03-12T15:15:10.790+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>What I recently learned about casting an empty string (T-SQL)</title><content type='html'>&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;SELECT CAST(&#39;&#39; AS &lt;span style=&quot;font-weight: bold;&quot;&gt;money&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;-- &lt;span style=&quot;color: rgb(0, 153, 0); font-weight: bold;&quot;&gt;.0000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;SELECT CAST(&#39;&#39; AS &lt;span style=&quot;font-weight: bold;&quot;&gt;decimal(19,4)&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;-- &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;Server: Msg 8114, Level 16, State 5, Line 1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;-- &lt;span style=&quot;color: rgb(255, 0, 0); font-weight: bold;&quot;&gt;Error converting data type varchar to numeric.&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/4854992528316513363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/02/what-i-recently-learned-about-casting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4854992528316513363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4854992528316513363'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/02/what-i-recently-learned-about-casting.html' title='What I recently learned about casting an empty string (T-SQL)'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-7247487427272526851</id><published>2008-01-10T21:45:00.005+01:00</published><updated>2010-08-25T10:46:39.844+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN"/><title type='text'>Error when attempting to change a revision description (Subversion)</title><content type='html'>If you cannot modify a revision description in Subversion (SVN) because of the following error:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: courier new,monospace;&quot;&gt;Repository has not been enabled to accept revision propchanges;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: courier new,monospace;&quot;&gt;ask the administrator to create a pre-revprop-change hook&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
(or &#39;&lt;span style=&quot;font-style: italic;&quot;&gt;almost&lt;/span&gt; in Polish&#39; ;)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: courier new,monospace;&quot;&gt;Repozytorium nie ma włączone możliwości zmieniania atrybutów;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: courier new,monospace;&quot;&gt;poproś administratora o utworzenie skryptu hook pre-revprop-change&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
it can be solved by creating an &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;pre-revprop-change.bat&lt;/span&gt; file (in case you are using Windows) in the &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;hooks&lt;/span&gt; directory of the repository. Of course the file does not have to be empty, it can do something like logging information about changes being made (because Subversion&#39;s revision properties are not versioned).&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;UPDATE:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
On Windows 2003 BAT files &lt;span style=&quot;font-weight: bold;&quot;&gt;cannot be empty&lt;/span&gt; - &lt;a href=&quot;http://forums.asmallorange.com/lofiversion/index.php/t8882.html&quot;&gt;see here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/7247487427272526851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2008/01/error-when-attempting-to-change.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/7247487427272526851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/7247487427272526851'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2008/01/error-when-attempting-to-change.html' title='Error when attempting to change a revision description (Subversion)'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-1749557325088065927</id><published>2007-09-30T19:22:00.002+02:00</published><updated>2010-03-02T09:21:44.901+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="networking"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Shorewall does not start at boot time</title><content type='html'>I am neither shell scripting nor security guru, but I think that there is an error in the &lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;/etc/init.d/shorewall&lt;/span&gt; script that installs with the version 3.2.6-2 of &lt;a href=&quot;http://www.shorewall.net/&quot;&gt;Shorewall&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I installed Shorewall using Synaptic today, configured it and tested that I can start it manually. Then I restarted the computer and found out that there are no rules defined in any iptables chain (&lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;sudo iptables -L&lt;/span&gt;). I used the &lt;span style=&quot;font-family:courier new,monospace;&quot;&gt;sudo invoke-rc.d shorewall start&lt;/span&gt; command to check what&#39;s happening during boot time and I saw the following error:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255, 0, 0); font-family: courier new,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;Please read about Debian specific customization in&lt;br /&gt;
&amp;nbsp;&amp;nbsp;/usr/share/doc/shorewall/README.Debian.gz.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After a few minutes of checking by trial and error I knew there was a problem with a piece of code right after the &lt;span style=&quot;font-style:italic;&quot;&gt;# check if shorewall is configured or not&lt;/span&gt; comment and after a few more minutes I modified it and the problem was solved. Below is the modified version - the script was looking for a wrong file and checking a non-existent variable.&lt;pre&gt;# check if shorewall is configured or not
if [ -f &quot;/etc/shorewall/shorewall.conf&quot; ]
then
. /etc/shorewall/shorewall.conf
if [ &quot;$STARTUP_ENABLED&quot; != &quot;Yes&quot; ]
then
not_configured
fi
else
not_configured
fi&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/1749557325088065927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2007/09/shorewall-does-not-start-at-boot-time.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/1749557325088065927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/1749557325088065927'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2007/09/shorewall-does-not-start-at-boot-time.html' title='Shorewall does not start at boot time'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-1384959550677216066</id><published>2007-09-28T18:56:00.002+02:00</published><updated>2010-03-12T15:15:10.791+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Listing users and all roles they&#39;re members of (SQL Server 2005)</title><content type='html'>I admit it&#39;s trivial but it took me awhile today to understand what data is shown in the &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/ms189780.aspx&quot;&gt;sys.database_role_members&lt;/a&gt;&lt;/span&gt; catalog view, so I am posting this in case I forget.&lt;br /&gt;
&lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;SELECT&lt;/span&gt;
  DP1.name &lt;span class=&quot;kwrd&quot;&gt;as&lt;/span&gt; ROLE_NAME
, DP2.name &lt;span class=&quot;kwrd&quot;&gt;as&lt;/span&gt; [USER_NAME]
&lt;span class=&quot;kwrd&quot;&gt;FROM&lt;/span&gt; sys.database_role_members DRM
&lt;span class=&quot;kwrd&quot;&gt;INNER&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;JOIN&lt;/span&gt; sys.database_principals DP1
  &lt;span class=&quot;kwrd&quot;&gt;ON&lt;/span&gt; DRM.role_principal_id = DP1.principal_id
&lt;span class=&quot;kwrd&quot;&gt;INNER&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;JOIN&lt;/span&gt; sys.database_principals DP2
  &lt;span class=&quot;kwrd&quot;&gt;ON&lt;/span&gt; DRM.member_principal_id = DP2.principal_id&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/1384959550677216066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2007/09/listing-users-and-all-roles-theyre.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/1384959550677216066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/1384959550677216066'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2007/09/listing-users-and-all-roles-theyre.html' title='Listing users and all roles they&#39;re members of (SQL Server 2005)'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-4924223261467360429</id><published>2007-09-05T23:21:00.002+02:00</published><updated>2010-03-12T15:15:10.793+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server Agent"/><title type='text'>Disabling or enabling multiple jobs with a single click</title><content type='html'>If you navigate to &lt;span style=&quot;font-style:italic;&quot;&gt;&amp;lt;SQL Server instance&amp;gt;\SQL Server Agent\Jobs&lt;/span&gt; in &lt;span style=&quot;font-style:italic;&quot;&gt;SQL Server Management Studio&lt;/span&gt; and then right-click on some job, you&#39;ll see a context menu with &lt;span style=&quot;font-style:italic;&quot;&gt;Enable&lt;/span&gt; and &lt;span style=&quot;font-style:italic;&quot;&gt;Disable&lt;/span&gt; commands.&lt;br /&gt;
&lt;br /&gt;
However, when you select &lt;span style=&quot;font-weight:bold;&quot;&gt;more than one job&lt;/span&gt; and then right-click on the selection, a different menu shows and, of course &lt;span style=&quot;font-style:italic;&quot;&gt;[sic]&lt;/span&gt;, it does &lt;span style=&quot;font-weight:bold;&quot;&gt;not&lt;/span&gt; contain these commands.&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUxdj4StenUxau44BoYEruRl-UfUHAVtvuCGdwpVx0G_B9mEpQ19J1xImsgB5r27j6Uv9ZR0kwIoVB3hAuPOEhtcSStWFHlsnRC07r_-8u6tYSm2QdPnXcTCDrT0xWOm4ICLEjzA/s1600-h/pic2746.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUxdj4StenUxau44BoYEruRl-UfUHAVtvuCGdwpVx0G_B9mEpQ19J1xImsgB5r27j6Uv9ZR0kwIoVB3hAuPOEhtcSStWFHlsnRC07r_-8u6tYSm2QdPnXcTCDrT0xWOm4ICLEjzA/s400/pic2746.png&quot; border=&quot;0&quot; alt=&quot;No Enable/Disable command in the context menu&quot; title=&quot;Click to view larger image&quot; id=&quot;BLOGGER_PHOTO_ID_5106835878497180610&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Luckily there is another way to do it - you can use &lt;span style=&quot;font-style:italic;&quot;&gt;Job Activity Monitor&lt;/span&gt; which uses the same context menu for a single job as well as multiple jobs.&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDQX34emSmG0MBCNtRuiu7AZJ_LyVeW4kvEg7q9xrrSMSbPLBQEl18CFF07iNWTiK0urnNJKJ_Wa6OLhYeC0GptseI762KYnHLxlmAHJWP-l2X7n2Mg2v1vBbWoB_59XyEDfjfsg/s1600-h/pic2747.png&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDQX34emSmG0MBCNtRuiu7AZJ_LyVeW4kvEg7q9xrrSMSbPLBQEl18CFF07iNWTiK0urnNJKJ_Wa6OLhYeC0GptseI762KYnHLxlmAHJWP-l2X7n2Mg2v1vBbWoB_59XyEDfjfsg/s400/pic2747.png&quot; border=&quot;0&quot; alt=&quot;Enable/Disable command in Job Activity Monitor&quot; title=&quot;Click to view larger image&quot; id=&quot;BLOGGER_PHOTO_ID_5106836578576849874&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/4924223261467360429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2007/09/disabling-or-enabling-multiple-jobs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4924223261467360429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/4924223261467360429'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2007/09/disabling-or-enabling-multiple-jobs.html' title='Disabling or enabling multiple jobs with a single click'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUxdj4StenUxau44BoYEruRl-UfUHAVtvuCGdwpVx0G_B9mEpQ19J1xImsgB5r27j6Uv9ZR0kwIoVB3hAuPOEhtcSStWFHlsnRC07r_-8u6tYSm2QdPnXcTCDrT0xWOm4ICLEjzA/s72-c/pic2746.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-3843806991482061742</id><published>2007-09-04T15:18:00.001+02:00</published><updated>2010-03-12T15:15:10.794+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Integration Services"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SSIS"/><title type='text'>SSIS imports NULLs instead of numeric values from an Excel file</title><content type='html'>Let&#39;s imagine that you have been assigned a task to import some kind of parts catalogue from an Excel file to SQL Server table. You decided to use Integration Services. One of the columns in the Excel file contains catalogue numbers. Most of them look like this &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;XYZ123456&lt;/span&gt; but some of them are plain numeric values.&lt;br /&gt;
&lt;br /&gt;
This is what can happen:&lt;br /&gt;
&lt;pre&gt;Excel          SQL Server
CAT_NO         CAT_NO
---------      ---------
XYZ121156      XYZ121156
XYZ654321      XYZ654321
ABC120456  =&gt;  ABC120456
CBA183456      CBA183456
ZYX123416      ZYX123416
123            NULL       (!)
ZXV654521      ZXV654521&lt;/pre&gt;This &lt;a href=&quot;http://technet.microsoft.com/en-us/library/ms141683.aspx&quot;&gt;article&lt;/a&gt; from SQL Server 2005 Books Online explains this weird behaviour:&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Missing values&lt;/span&gt;&lt;br /&gt;
The Excel driver reads a certain number of rows (by default, 8 rows) in the specified source to guess at the data type of each column. When a column appears to contain mixed data types, especially numeric data mixed with text data, the driver decides in favor of the majority data type, and returns null values for cells that contain data of the other type. (In a tie, the numeric type wins.) Most cell formatting options in the Excel worksheet do not seem to affect this data type determination. You can modify this behavior of the Excel driver by specifying Import Mode. To specify Import Mode, add IMEX=1 to the value of Extended Properties in the connection string of the Excel connection manager in the Properties window.&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/3843806991482061742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2007/09/ssis-imports-nulls-instead-of-numeric.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/3843806991482061742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/3843806991482061742'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2007/09/ssis-imports-nulls-instead-of-numeric.html' title='SSIS imports NULLs instead of numeric values from an Excel file'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-5270760174410722752</id><published>2007-07-27T22:50:00.002+02:00</published><updated>2010-03-12T10:25:44.035+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Preventing code from being generated in InitializeComponent() method for a property</title><content type='html'>When you place controls on a form, Visual Studio generates code in the &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;InitializeComponent()&lt;/span&gt; method  that sets values of their properties.&lt;br /&gt;
&lt;br /&gt;
If you are developing a custom control and you don&#39;t want Visual Studio to generate such code for some of its properties, you should apply the &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/system.componentmodel.designerserializationvisibilityattribute.aspx&quot;&gt;DesignerSerializationVisiblityAttribute&lt;/a&gt;&lt;/span&gt; to such properties and place &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;DesignerSerializationVisiblity.Hidden&lt;/span&gt; value on them.&lt;br /&gt;
&lt;pre class=&quot;csharpcode&quot;&gt;[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
&lt;span class=&quot;kwrd&quot;&gt;public&lt;/span&gt; DateTime Value
{
    get { &lt;span class=&quot;rem&quot;&gt;/* ... */&lt;/span&gt; }
    set { &lt;span class=&quot;rem&quot;&gt;/* ... */&lt;/span&gt; }
}&lt;/pre&gt;More information about customizing the code generated by Visual Studio can be found &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/ms973818.aspx&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/5270760174410722752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2007/07/preventing-code-from-being-generated-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5270760174410722752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/5270760174410722752'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2007/07/preventing-code-from-being-generated-in.html' title='Preventing code from being generated in InitializeComponent() method for a property'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7486912.post-644310618036588189</id><published>2007-07-26T00:07:00.002+02:00</published><updated>2010-03-12T15:22:36.046+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><category scheme="http://www.blogger.com/atom/ns#" term="web hosting"/><title type='text'>Changing file permissions (chmod) without SSH/telnet access</title><content type='html'>If you need to change file permissions (&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;chmod&lt;/span&gt;) for more than just a few files and your web hosting provider gives you only FTP access to your account (neither SSH/telnet nor a good web hosting control panel system), you can use the &lt;a href=&quot;http://docs.php.net/chmod&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;chmod&lt;/span&gt; function&lt;/a&gt; available in PHP.&lt;br /&gt;
&lt;br /&gt;
You can either write a PHP script that calls &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;chmod&lt;/span&gt; for each file that needs its permissions to be changed or use &lt;a href=&quot;http://docs.php.net/manual/en/function.chmod.php#47744&quot;&gt;this snippet&lt;/a&gt; to call &lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;chmod&lt;/span&gt; recursively and change permissions for an entire folder tree.</content><link rel='replies' type='application/atom+xml' href='http://chopeen.blogspot.com/feeds/644310618036588189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chopeen.blogspot.com/2007/07/changing-file-permissions-chmod-without.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/644310618036588189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7486912/posts/default/644310618036588189'/><link rel='alternate' type='text/html' href='http://chopeen.blogspot.com/2007/07/changing-file-permissions-chmod-without.html' title='Changing file permissions (chmod) without SSH/telnet access'/><author><name>Marek Grzenkowicz</name><uri>http://www.blogger.com/profile/02751884020763740836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4c41LHJXDeTC7PugNbXtWBuW4WMCMnLa4-XCWKcaCdcow1I5w2YNf-AnNVQwVafd-so0tfyOfP2YidblXwY1C11d8wZ4qHEA7EIdNvm6aCSNI5YtBeqVy3dvi3vLb1A/s220/avatar_south_park_marek.png'/></author><thr:total>1</thr:total></entry></feed>