<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tomato Blog</title>
	<atom:link href="http://www.tomatosoft.biz/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tomatosoft.biz/blog</link>
	<description>programming and life</description>
	<lastBuildDate>Sun, 13 May 2012 07:52:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>why do we need to explore the universe</title>
		<link>http://www.tomatosoft.biz/blog/2012/05/12/why-do-we-need-to-explore-the-universe/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/05/12/why-do-we-need-to-explore-the-universe/#comments</comments>
		<pubDate>Sun, 13 May 2012 07:52:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[the universe]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=668</guid>
		<description><![CDATA[curiosity fun, expand the human ability. the universe and of course even the solar system is in constant moving. If without the spirit of adventure, will in a situation of failed adapt to the changing environment or get wiped out.]]></description>
			<content:encoded><![CDATA[<ol>
<li>curiosity</li>
<li>fun, expand the human ability.</li>
<li>the universe and of course even the solar system is in constant moving. If without the spirit of adventure, will in a situation of failed adapt to the changing environment or get wiped out.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/05/12/why-do-we-need-to-explore-the-universe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enable user login from restored database backup &#8211; ms sql</title>
		<link>http://www.tomatosoft.biz/blog/2012/04/18/enable-user-login-from-restored-database-backup-ms-sql/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/04/18/enable-user-login-from-restored-database-backup-ms-sql/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 20:47:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[account]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[mssql]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=663</guid>
		<description><![CDATA[To re-enable user login from restored database backup, this is useful:  http://support.microsoft.com/kb/918992 only 2 steps needed, open a query window in DBMS: Step 1: USE master GO IF OBJECT_ID (&#8216;sp_hexadecimal&#8217;) IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PROCEDURE sp_hexadecimal &#8230; <a href="http://www.tomatosoft.biz/blog/2012/04/18/enable-user-login-from-restored-database-backup-ms-sql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>To re-enable user login from restored database backup, this is useful:  <a href="http://support.microsoft.com/kb/918992" target="_blank">http://support.microsoft.com/kb/918992</a></p>
<p>only 2 steps needed, open a query window in DBMS:</p>
<p><strong>Step 1:</strong></p>
<p>USE master<br />
GO<br />
IF OBJECT_ID (&#8216;sp_hexadecimal&#8217;) IS NOT NULL<br />
DROP PROCEDURE sp_hexadecimal<br />
GO<br />
CREATE PROCEDURE sp_hexadecimal<br />
@binvalue varbinary(256),<br />
@hexvalue varchar (514) OUTPUT<br />
AS<br />
DECLARE @charvalue varchar (514)<br />
DECLARE @i int<br />
DECLARE @length int<br />
DECLARE @hexstring char(16)<br />
SELECT @charvalue = &#8217;0x&#8217;<br />
SELECT @i = 1<br />
SELECT @length = DATALENGTH (@binvalue)<br />
SELECT @hexstring = &#8217;0123456789ABCDEF&#8217;<br />
WHILE (@i &lt;= @length)<br />
BEGIN<br />
DECLARE @tempint int<br />
DECLARE @firstint int<br />
DECLARE @secondint int<br />
SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))<br />
SELECT @firstint = FLOOR(@tempint/16)<br />
SELECT @secondint = @tempint &#8211; (@firstint*16)<br />
SELECT @charvalue = @charvalue +<br />
SUBSTRING(@hexstring, @firstint+1, 1) +<br />
SUBSTRING(@hexstring, @secondint+1, 1)<br />
SELECT @i = @i + 1<br />
END</p>
<p>SELECT @hexvalue = @charvalue<br />
GO</p>
<p>IF OBJECT_ID (&#8216;sp_help_revlogin&#8217;) IS NOT NULL<br />
DROP PROCEDURE sp_help_revlogin<br />
GO<br />
CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS<br />
DECLARE @name sysname<br />
DECLARE @type varchar (1)<br />
DECLARE @hasaccess int<br />
DECLARE @denylogin int<br />
DECLARE @is_disabled int<br />
DECLARE @PWD_varbinary  varbinary (256)<br />
DECLARE @PWD_string  varchar (514)<br />
DECLARE @SID_varbinary varbinary (85)<br />
DECLARE @SID_string varchar (514)<br />
DECLARE @tmpstr  varchar (1024)<br />
DECLARE @is_policy_checked varchar (3)<br />
DECLARE @is_expiration_checked varchar (3)</p>
<p>DECLARE @defaultdb sysname</p>
<p>IF (@login_name IS NULL)<br />
DECLARE login_curs CURSOR FOR</p>
<p>SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM<br />
sys.server_principals p LEFT JOIN sys.syslogins l<br />
ON ( l.name = p.name ) WHERE p.type IN ( &#8216;S&#8217;, &#8216;G&#8217;, &#8216;U&#8217; ) AND p.name &lt;&gt; &#8216;sa&#8217;<br />
ELSE<br />
DECLARE login_curs CURSOR FOR</p>
<p>SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM<br />
sys.server_principals p LEFT JOIN sys.syslogins l<br />
ON ( l.name = p.name ) WHERE p.type IN ( &#8216;S&#8217;, &#8216;G&#8217;, &#8216;U&#8217; ) AND p.name = @login_name<br />
OPEN login_curs</p>
<p>FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin<br />
IF (@@fetch_status = -1)<br />
BEGIN<br />
PRINT &#8216;No login(s) found.&#8217;<br />
CLOSE login_curs<br />
DEALLOCATE login_curs<br />
RETURN -1<br />
END<br />
SET @tmpstr = &#8216;/* sp_help_revlogin script &#8216;<br />
PRINT @tmpstr<br />
SET @tmpstr = &#8216;** Generated &#8216; + CONVERT (varchar, GETDATE()) + &#8216; on &#8216; + @@SERVERNAME + &#8216; */&#8217;<br />
PRINT @tmpstr<br />
PRINT &#8221;<br />
WHILE (@@fetch_status &lt;&gt; -1)<br />
BEGIN<br />
IF (@@fetch_status &lt;&gt; -2)<br />
BEGIN<br />
PRINT &#8221;<br />
SET @tmpstr = &#8216;&#8211; Login: &#8216; + @name<br />
PRINT @tmpstr<br />
IF (@type IN ( &#8216;G&#8217;, &#8216;U&#8217;))<br />
BEGIN &#8212; NT authenticated account/group</p>
<p>SET @tmpstr = &#8216;CREATE LOGIN &#8216; + QUOTENAME( @name ) + &#8216; FROM WINDOWS WITH DEFAULT_DATABASE = [' + @defaultdb + ']&#8216;<br />
END<br />
ELSE BEGIN &#8212; SQL Server authentication<br />
&#8211; obtain password and sid<br />
SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, &#8216;PasswordHash&#8217; ) AS varbinary (256) )<br />
EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT<br />
EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT</p>
<p>&#8211; obtain password policy state<br />
SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN &#8216;ON&#8217; WHEN 0 THEN &#8216;OFF&#8217; ELSE NULL END FROM sys.sql_logins WHERE name = @name<br />
SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN &#8216;ON&#8217; WHEN 0 THEN &#8216;OFF&#8217; ELSE NULL END FROM sys.sql_logins WHERE name = @name</p>
<p>SET @tmpstr = &#8216;CREATE LOGIN &#8216; + QUOTENAME( @name ) + &#8216; WITH PASSWORD = &#8216; + @PWD_string + &#8216; HASHED, SID = &#8216; + @SID_string + &#8216;, DEFAULT_DATABASE = [' + @defaultdb + ']&#8216;</p>
<p>IF ( @is_policy_checked IS NOT NULL )<br />
BEGIN<br />
SET @tmpstr = @tmpstr + &#8216;, CHECK_POLICY = &#8216; + @is_policy_checked<br />
END<br />
IF ( @is_expiration_checked IS NOT NULL )<br />
BEGIN<br />
SET @tmpstr = @tmpstr + &#8216;, CHECK_EXPIRATION = &#8216; + @is_expiration_checked<br />
END<br />
END<br />
IF (@denylogin = 1)<br />
BEGIN &#8212; login is denied access<br />
SET @tmpstr = @tmpstr + &#8216;; DENY CONNECT SQL TO &#8216; + QUOTENAME( @name )<br />
END<br />
ELSE IF (@hasaccess = 0)<br />
BEGIN &#8212; login exists but does not have access<br />
SET @tmpstr = @tmpstr + &#8216;; REVOKE CONNECT SQL TO &#8216; + QUOTENAME( @name )<br />
END<br />
IF (@is_disabled = 1)<br />
BEGIN &#8212; login is disabled<br />
SET @tmpstr = @tmpstr + &#8216;; ALTER LOGIN &#8216; + QUOTENAME( @name ) + &#8216; DISABLE&#8217;<br />
END<br />
PRINT @tmpstr<br />
END</p>
<p>FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin<br />
END<br />
CLOSE login_curs<br />
DEALLOCATE login_curs<br />
RETURN 0<br />
GO</p>
<p><strong>Step2:</strong></p>
<p>EXEC sp_help_revlogin</p>
<p>&nbsp;</p>
<p>USE master<br />
GO<br />
IF OBJECT_ID (&#8216;sp_hexadecimal&#8217;) IS NOT NULL<br />
DROP PROCEDURE sp_hexadecimal<br />
GO<br />
CREATE PROCEDURE sp_hexadecimal<br />
@binvalue varbinary(256),<br />
@hexvalue varchar (514) OUTPUT<br />
AS<br />
DECLARE @charvalue varchar (514)<br />
DECLARE @i int<br />
DECLARE @length int<br />
DECLARE @hexstring char(16)<br />
SELECT @charvalue = &#8217;0x&#8217;<br />
SELECT @i = 1<br />
SELECT @length = DATALENGTH (@binvalue)<br />
SELECT @hexstring = &#8217;0123456789ABCDEF&#8217;<br />
WHILE (@i &lt;= @length)<br />
BEGIN<br />
DECLARE @tempint int<br />
DECLARE @firstint int<br />
DECLARE @secondint int<br />
SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))<br />
SELECT @firstint = FLOOR(@tempint/16)<br />
SELECT @secondint = @tempint &#8211; (@firstint*16)<br />
SELECT @charvalue = @charvalue +<br />
SUBSTRING(@hexstring, @firstint+1, 1) +<br />
SUBSTRING(@hexstring, @secondint+1, 1)<br />
SELECT @i = @i + 1<br />
END</p>
<p>SELECT @hexvalue = @charvalue<br />
GO</p>
<p>IF OBJECT_ID (&#8216;sp_help_revlogin&#8217;) IS NOT NULL<br />
DROP PROCEDURE sp_help_revlogin<br />
GO<br />
CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS<br />
DECLARE @name sysname<br />
DECLARE @type varchar (1)<br />
DECLARE @hasaccess int<br />
DECLARE @denylogin int<br />
DECLARE @is_disabled int<br />
DECLARE @PWD_varbinary  varbinary (256)<br />
DECLARE @PWD_string  varchar (514)<br />
DECLARE @SID_varbinary varbinary (85)<br />
DECLARE @SID_string varchar (514)<br />
DECLARE @tmpstr  varchar (1024)<br />
DECLARE @is_policy_checked varchar (3)<br />
DECLARE @is_expiration_checked varchar (3)</p>
<p>DECLARE @defaultdb sysname</p>
<p>IF (@login_name IS NULL)<br />
DECLARE login_curs CURSOR FOR</p>
<p>SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM<br />
sys.server_principals p LEFT JOIN sys.syslogins l<br />
ON ( l.name = p.name ) WHERE p.type IN ( &#8216;S&#8217;, &#8216;G&#8217;, &#8216;U&#8217; ) AND p.name &lt;&gt; &#8216;sa&#8217;<br />
ELSE<br />
DECLARE login_curs CURSOR FOR</p>
<p>SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM<br />
sys.server_principals p LEFT JOIN sys.syslogins l<br />
ON ( l.name = p.name ) WHERE p.type IN ( &#8216;S&#8217;, &#8216;G&#8217;, &#8216;U&#8217; ) AND p.name = @login_name<br />
OPEN login_curs</p>
<p>FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin<br />
IF (@@fetch_status = -1)<br />
BEGIN<br />
PRINT &#8216;No login(s) found.&#8217;<br />
CLOSE login_curs<br />
DEALLOCATE login_curs<br />
RETURN -1<br />
END<br />
SET @tmpstr = &#8216;/* sp_help_revlogin script &#8216;<br />
PRINT @tmpstr<br />
SET @tmpstr = &#8216;** Generated &#8216; + CONVERT (varchar, GETDATE()) + &#8216; on &#8216; + @@SERVERNAME + &#8216; */&#8217;<br />
PRINT @tmpstr<br />
PRINT &#8221;<br />
WHILE (@@fetch_status &lt;&gt; -1)<br />
BEGIN<br />
IF (@@fetch_status &lt;&gt; -2)<br />
BEGIN<br />
PRINT &#8221;<br />
SET @tmpstr = &#8216;&#8211; Login: &#8216; + @name<br />
PRINT @tmpstr<br />
IF (@type IN ( &#8216;G&#8217;, &#8216;U&#8217;))<br />
BEGIN &#8212; NT authenticated account/group</p>
<p>SET @tmpstr = &#8216;CREATE LOGIN &#8216; + QUOTENAME( @name ) + &#8216; FROM WINDOWS WITH DEFAULT_DATABASE = [' + @defaultdb + ']&#8216;<br />
END<br />
ELSE BEGIN &#8212; SQL Server authentication<br />
&#8211; obtain password and sid<br />
SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, &#8216;PasswordHash&#8217; ) AS varbinary (256) )<br />
EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT<br />
EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT</p>
<p>&#8211; obtain password policy state<br />
SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN &#8216;ON&#8217; WHEN 0 THEN &#8216;OFF&#8217; ELSE NULL END FROM sys.sql_logins WHERE name = @name<br />
SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN &#8216;ON&#8217; WHEN 0 THEN &#8216;OFF&#8217; ELSE NULL END FROM sys.sql_logins WHERE name = @name</p>
<p>SET @tmpstr = &#8216;CREATE LOGIN &#8216; + QUOTENAME( @name ) + &#8216; WITH PASSWORD = &#8216; + @PWD_string + &#8216; HASHED, SID = &#8216; + @SID_string + &#8216;, DEFAULT_DATABASE = [' + @defaultdb + ']&#8216;</p>
<p>IF ( @is_policy_checked IS NOT NULL )<br />
BEGIN<br />
SET @tmpstr = @tmpstr + &#8216;, CHECK_POLICY = &#8216; + @is_policy_checked<br />
END<br />
IF ( @is_expiration_checked IS NOT NULL )<br />
BEGIN<br />
SET @tmpstr = @tmpstr + &#8216;, CHECK_EXPIRATION = &#8216; + @is_expiration_checked<br />
END<br />
END<br />
IF (@denylogin = 1)<br />
BEGIN &#8212; login is denied access<br />
SET @tmpstr = @tmpstr + &#8216;; DENY CONNECT SQL TO &#8216; + QUOTENAME( @name )<br />
END<br />
ELSE IF (@hasaccess = 0)<br />
BEGIN &#8212; login exists but does not have access<br />
SET @tmpstr = @tmpstr + &#8216;; REVOKE CONNECT SQL TO &#8216; + QUOTENAME( @name )<br />
END<br />
IF (@is_disabled = 1)<br />
BEGIN &#8212; login is disabled<br />
SET @tmpstr = @tmpstr + &#8216;; ALTER LOGIN &#8216; + QUOTENAME( @name ) + &#8216; DISABLE&#8217;<br />
END<br />
PRINT @tmpstr<br />
END</p>
<p>FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin<br />
END<br />
CLOSE login_curs<br />
DEALLOCATE login_curs<br />
RETURN 0<br />
GO</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/04/18/enable-user-login-from-restored-database-backup-ms-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>url of msdn subscription</title>
		<link>http://www.tomatosoft.biz/blog/2012/04/18/url-of-msdn-subscription/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/04/18/url-of-msdn-subscription/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 11:28:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=659</guid>
		<description><![CDATA[https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx]]></description>
			<content:encoded><![CDATA[<p>https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/04/18/url-of-msdn-subscription/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php generated file https downloaded from ie pop up an error dialog</title>
		<link>http://www.tomatosoft.biz/blog/2012/04/09/php-generated-file-https-downloaded-from-ie-pop-up-an-error-dialog/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/04/09/php-generated-file-https-downloaded-from-ie-pop-up-an-error-dialog/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 01:51:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[error dialog]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=655</guid>
		<description><![CDATA[When php generates a file to download from ie in a https connection, by default it will pop up an error dialog box saying: unable to open this internet site. the requested site is either unavailable or cannot be found. &#8230; <a href="http://www.tomatosoft.biz/blog/2012/04/09/php-generated-file-https-downloaded-from-ie-pop-up-an-error-dialog/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When php generates a file to download from ie in a https connection, by default it will pop up an error dialog box saying:</p>
<p><em><strong>unable to open this internet site. the requested site is either unavailable or cannot be found. please try again later.</strong> </em></p>
<p>This is pretty confusing if you suddenly run into this case while it&#8217;s totally fine in firefox, and with no problem download from http both in ie &amp; firefox.<br />
To fix the problem, simple add this line of code to your php script:</p>
<p><code>header("Pragma: ");</code></p>
<p>Thanks Mark point this out <a href="http://mark.koli.ch/2009/10/internet-explorer-cant-open-file-via-https-try-removing-the-pragma-header.html" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/04/09/php-generated-file-https-downloaded-from-ie-pop-up-an-error-dialog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>path of signtool on win7 x64 for quick paste use</title>
		<link>http://www.tomatosoft.biz/blog/2012/04/07/path-of-signtool-on-win7-x64-for-quick-paste-use/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/04/07/path-of-signtool-on-win7-x64-for-quick-paste-use/#comments</comments>
		<pubDate>Sat, 07 Apr 2012 23:37:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[signtool path]]></category>
		<category><![CDATA[win7]]></category>
		<category><![CDATA[x64]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=652</guid>
		<description><![CDATA[Paste this in hurry, quick fix: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe]]></description>
			<content:encoded><![CDATA[<p>Paste this in hurry, quick fix:<br />
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/04/07/path-of-signtool-on-win7-x64-for-quick-paste-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>what&#8217;s going on with the pc sound playback and recording</title>
		<link>http://www.tomatosoft.biz/blog/2012/03/31/whats-going-on-with-the-pc-sound-playback-and-recording/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/03/31/whats-going-on-with-the-pc-sound-playback-and-recording/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 23:42:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[pc mixer]]></category>
		<category><![CDATA[recording]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=648</guid>
		<description><![CDATA[Here is a nice graph showing how all the sound sources are take in and mixed, and recorded on the pc: For more details, can dig in here: http://en.wikipedia.org/wiki/Sound_card_mixer The article also mentioned this: Starting from Windows Vista and 7 &#8230; <a href="http://www.tomatosoft.biz/blog/2012/03/31/whats-going-on-with-the-pc-sound-playback-and-recording/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is a nice graph showing how all the sound sources are take in and mixed, and recorded on the pc:<br />
<img class="alignnone" title="sound mixer" src="http://upload.wikimedia.org/wikipedia/commons/f/f9/Soundcard_mixing_schema.png" alt="" width="565" height="330" /></p>
<p>For more details, can dig in here: <a href="http://en.wikipedia.org/wiki/Sound_card_mixer" target="_blank">http://en.wikipedia.org/wiki/Sound_card_mixer</a></p>
<p>The article also mentioned this:</p>
<p><em>Starting from Windows Vista and 7 new sound API model was introduced. There is no <em>stereo mix</em> or <em>mono mix</em>. Instead every playback device can be opened in <em>loopback recording mode</em>, so you can record what you hear from your speakers, headphones, digital output etc. Even if your audio card does not support it, Windows will emulate this functionality.</em></p>
<p>Seems like can record without a mixer, need some test to confirm this. And it does mention a list of software can recorder the sound without a sound card mixer:</p>
<p>Software for recording without Sound card mixer on Windows</p>
<p>    * Freecorder 4 (freeware)<br />
    * Replay Music,<br />
    * Replay Media Catcher,<br />
    * Replay AV,<br />
    * Replay Video Capture,<br />
    * WM Capture<br />
    * VirtualAudioCable</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/03/31/whats-going-on-with-the-pc-sound-playback-and-recording/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>find out number of lines of programming code under current directory</title>
		<link>http://www.tomatosoft.biz/blog/2012/03/30/find-out-number-of-lines-of-programming-code-under-current-directory/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/03/30/find-out-number-of-lines-of-programming-code-under-current-directory/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 22:22:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer Tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[line of code]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[wc]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=645</guid>
		<description><![CDATA[Doubt how many lines of code you have written? If you don&#8217;t have an existing tool to do this, you can make use of linux command based tools to achieve this: wc -l `find ./ -type f` This command will &#8230; <a href="http://www.tomatosoft.biz/blog/2012/03/30/find-out-number-of-lines-of-programming-code-under-current-directory/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Doubt how many lines of code you have written? If you don&#8217;t have an existing tool to do this, you can make use of linux command based tools to achieve this:</p>
<p><code>wc -l `find ./ -type f`</code></p>
<p>This command will show the lines of programming code under current directory, inclusive.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/03/30/find-out-number-of-lines-of-programming-code-under-current-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>keep linux server time auto updated with the ntp server</title>
		<link>http://www.tomatosoft.biz/blog/2012/03/29/keep-linux-server-time-auto-updated-with-the-ntp-server/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/03/29/keep-linux-server-time-auto-updated-with-the-ntp-server/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 14:19:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer Tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ntp]]></category>
		<category><![CDATA[ntpdate]]></category>
		<category><![CDATA[time sync]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=641</guid>
		<description><![CDATA[On debian, there is a nice tool to keep server time auto updated with the ntp time server. The package we are to use is ntp. After install, it will run as a daemon and keep the time auto updated. &#8230; <a href="http://www.tomatosoft.biz/blog/2012/03/29/keep-linux-server-time-auto-updated-with-the-ntp-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On debian, there is a nice tool to keep server time auto updated with the ntp time server. The package we are to use is <strong>ntp</strong>. After install, it will run as a daemon and keep the time auto updated.<br />
<code>apt-get install ntp</code></p>
<p>For another way, you can use <strong>ntpdate</strong>, after install, it won&#8217;t run as a daemon, and will only be able to sync the time when you specifically run it as:<br />
<code>ntpdate time.nist.gov</code><br />
Or you can setup a crontab or boot time runner to keep sync when you are booting server.<br />
And of course, to intall it, run the command:<br />
<code>apt-get install ntpdate</code></p>
<p>Conclusion:<br />
<strong>ntp</strong> is an easy way to run time sync, it will sync gracefully, no extra worry beyond apt-get install.<br />
<strong>ntpdate</strong> is a light weight solution, it won&#8217;t install as a daemon, and save the system resource. But it only gets to be synced when you run it: either boot time or from crontab or from command line.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/03/29/keep-linux-server-time-auto-updated-with-the-ntp-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>firefox 11 available</title>
		<link>http://www.tomatosoft.biz/blog/2012/03/18/firefox-11-available/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/03/18/firefox-11-available/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 13:37:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer Tips]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[firefox 11]]></category>
		<category><![CDATA[new version]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=636</guid>
		<description><![CDATA[I have just promoted that firefox 11 is available for download &#038; install. It&#8217;s amazing that they have made such quick version growth. Meanwhile, wish they are still keeping the quality bar high.]]></description>
			<content:encoded><![CDATA[<p>I have just promoted that firefox 11 is available for download &#038; install.<br />
It&#8217;s amazing that they have made such quick version growth. Meanwhile, wish they are still keeping the quality bar high.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/03/18/firefox-11-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good background pattern resource can be use of when design a website</title>
		<link>http://www.tomatosoft.biz/blog/2012/03/18/good-background-pattern-resource-can-be-use-of-when-design-a-website/</link>
		<comments>http://www.tomatosoft.biz/blog/2012/03/18/good-background-pattern-resource-can-be-use-of-when-design-a-website/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 11:28:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computer Tips]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[pattern]]></category>

		<guid isPermaLink="false">http://www.tomatosoft.biz/blog/?p=634</guid>
		<description><![CDATA[Yesterday, when I was trying to do something to the always background of my website, I tried to google about the background patterns, I come across these 2 nice sites. They have some pattern design really appealing, check it out &#8230; <a href="http://www.tomatosoft.biz/blog/2012/03/18/good-background-pattern-resource-can-be-use-of-when-design-a-website/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, when I was trying to do something to the always background of my website, I tried to google about the background patterns, I come across these 2 nice sites. They have some pattern design really appealing, check it out if you under some circumstance want to have some good pattern like me:</p>
<ul>
<li>backgroundlabs: <a href="http://www.backgroundlabs.com/" target="_blank">http://www.backgroundlabs.com/</a></li>
<li><a href="http://www.smashingmagazine.com/2008/07/09/textures-and-patterns-design-showcase/" target="_blank">http://www.smashingmagazine.com/2008/07/09/textures-and-patterns-design-showcase/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tomatosoft.biz/blog/2012/03/18/good-background-pattern-resource-can-be-use-of-when-design-a-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

