<?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-3013272357947121026</id><updated>2026-11-12T22:26:37.872+11:00</updated><category term="c#"/><category term="中文"/><category term="程序员之路"/><category term="创业"/><category term="回忆录"/><category term=".Net"/><category term="sql"/><category term="tips"/><category term="windows from"/><category term="interview"/><category term="excel"/><category term="how to"/><category term="java"/><category term="澳洲"/><category term="algorithm"/><category term="c++"/><category term="xml"/><category term="小程序"/><category term="技术移民"/><category term="hibernate"/><category term="shell"/><category term="svn"/><category term="unix"/><category term="web service"/><category term="Australia"/><category term="Life"/><category term="SMEServer"/><category term="datagridview"/><category term="file"/><category term="ipod touch"/><category term="jailbreak"/><category term="jax-ws"/><category term="research"/><category term="resume"/><category term="script"/><category term="serial port"/><category term="动态域名解析"/><category term="BCI"/><category term="Beijing"/><category term="CRC"/><category term="Dictionary"/><category term="GDI"/><category term="HashTable"/><category term="Olympic"/><category term="android"/><category term="asynchronous"/><category term="backup"/><category term="custom control"/><category term="cv"/><category term="data structure"/><category term="design pattern"/><category term="ebook"/><category term="finance"/><category term="google"/><category term="matlab filter"/><category term="myeclipse"/><category term="mysql"/><category term="network"/><category term="news"/><category term="powershell"/><category term="python"/><category term="schema"/><category term="scrum"/><category term="tcp"/><category term="tomcat"/><category term="trac"/><category term="vi"/><category term="video"/><category term="windows azure"/><category term="winsock"/><category term="xsd"/><category term="无语"/><category term="面试题"/><title type='text'>NXT Digital</title><subtitle type='html'>Ready to future-proof your business? Meet NXT Digital, your all-in-one partner for complete digital transformation. We specialise in building custom digital solutions, and support your applications. Don&#39;t get left behind—experience the next level of innovation and let NXT Digital transform your vision.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.idothink.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default?alt=atom&amp;redirect=false'/><link rel='alternate' type='text/html' href='http://www.idothink.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default?alt=atom&amp;start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>150</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-7213190880753226911</id><published>2019-07-08T21:34:00.002+10:00</published><updated>2019-07-08T21:34:20.016+10:00</updated><title type='text'>Docker inspect image content tricks</title><content type='html'>&lt;span style=&quot;font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; font-size: x-small;&quot;&gt;Sometimes one might wonder what exactly the image looks like once run as a container. This is particularly useful for debugging.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; font-size: x-small;&quot;&gt;Docker run command help us solve this problem.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;code style=&quot;border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: inherit; direction: ltr; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.600001335144043px; padding: 0.1em 0.2em; word-wrap: break-word;&quot;&gt;docker run -it --rm&lt;/code&gt;&lt;span style=&quot;background-color: white; font-family: &amp;quot;Segoe UI&amp;quot;, SegoeUI, &amp;quot;Segoe WP&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Tahoma, Arial, sans-serif; font-size: 16px;&quot;&gt;&amp;nbsp;to do two things, first, automatically use the current terminal to connect to the container, and then when the container finishes, remove it. &amp;nbsp;Now we change the entry point to use bash (or cmd.exe for windows containers).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
c:\Docker&amp;gt;docker run -it --rm --entrypoint &quot;bash&quot; reposit:v4&lt;br /&gt;
root@35b518b7b518:/home/reposit# ls&lt;br /&gt;
data &amp;nbsp;node_modules &amp;nbsp;package-lock.json &amp;nbsp;package.json &amp;nbsp;repositConnector.js&lt;br /&gt;
root@35b518b7b518:/home/reposit#</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/7213190880753226911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/7213190880753226911' title='22 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7213190880753226911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7213190880753226911'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2019/07/docker-inspect-image-content-tricks.html' title='Docker inspect image content tricks'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-5226516875373184311</id><published>2019-06-09T21:55:00.001+10:00</published><updated>2019-06-09T21:55:16.257+10:00</updated><title type='text'>Export Azure DevOps TFVC repo to Github</title><content type='html'>&lt;div&gt;
Step 1:&lt;/div&gt;
Azure TFVC Repo -&amp;gt; Azure Git Repo&amp;nbsp;&lt;div&gt;
https://docs.microsoft.com/en-us/azure/devops/learn/git/migrate-from-tfvc-to-git&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Step 2:&lt;/div&gt;
&lt;div&gt;
Azure Git Repo -&amp;gt; GitHub&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.6; margin-bottom: 10px; overflow-wrap: break-word;&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; margin: 0px 0px 10px 25px; padding: 0px;&quot;&gt;
&lt;li style=&quot;box-sizing: border-box; line-height: 20px;&quot;&gt;Enable alternate authentication credentials and specify user name and password&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; line-height: 20px;&quot;&gt;Go to a repository of your project (Code=&amp;gt;Files), click Clone to get the HTTPS URL.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; line-height: 20px;&quot;&gt;Go to Github=&amp;gt;Import repository&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; line-height: 20px;&quot;&gt;Type repository URL (step 2)&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box; line-height: 20px;&quot;&gt;Type alternate authentication credentials (step 1) when it asks for credential&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.6; margin-bottom: 10px; overflow-wrap: break-word;&quot;&gt;
&lt;img src=&quot;https://developercommunity.visualstudio.com/storage/attachments/59091-021207.png&quot; style=&quot;border-style: none; box-sizing: border-box; max-width: 100%;&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.6; margin-bottom: 10px; overflow-wrap: break-word;&quot;&gt;
https://developercommunity.visualstudio.com/content/problem/449985/export-devops-repos-to-github.html&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/5226516875373184311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/5226516875373184311' title='93 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/5226516875373184311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/5226516875373184311'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2019/06/export-azure-devops-tfvc-repo-to-github.html' title='Export Azure DevOps TFVC repo to Github'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>93</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-36258376909677384</id><published>2014-02-26T14:38:00.002+11:00</published><updated>2014-02-26T14:38:25.304+11: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="sql"/><title type='text'>Microsoft.SqlServer.Management.SMO</title><content type='html'>&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;Hi All, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;I’ve been using SMO heavily in
my OSR data migration piece of work, and I’d like to share that with you.
&amp;nbsp;To put SMO into context, I consider it as a programmatic way to interact
with SSMS. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;For CRUD actions, SqlClient is
still very good. Very flexible compared to entity framework. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;However, when we need extra
flexibility, e.g., create/backup database, create/alter tables, especially
running SQL with GO statement, SMO is the way to go. &amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;I’ve attached a Util class that
demonstrates how it can be wrapped, and the dynamic SQL that gets generated by
my program and executed via the Util class. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;If you would like to know more,
plenty of articles on MSND:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9.5pt;&quot;&gt;SQL Server Management Objects (SMO) is a collection of objects
that are designed for programming all aspects of managing Microsoft&amp;nbsp;SQL
Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms162169.aspx&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black;&quot;&gt;http://msdn.microsoft.com/en-us//library/ms162169.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #1f497d;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/36258376909677384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/36258376909677384' title='126 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/36258376909677384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/36258376909677384'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/microsoftsqlservermanagementsmo.html' title='Microsoft.SqlServer.Management.SMO'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>126</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-976684401608733045</id><published>2014-02-26T14:37:00.004+11:00</published><updated>2014-02-26T14:38:49.756+11: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="sql"/><title type='text'>Sqlserver nvarchar ntext difference</title><content type='html'>&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;Thanks to Graeme for asking an
interesting question about the difference between nvarchar and varchar. Since
my first language can’t be stored in ACSII, I know nvarchar is the way to go. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;Further reading on nvarchar(max)
prompted us to think the differences between nvarchar and ntext, and we found
the following in MSDN.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #1f497d;&quot;&gt;ntext , text, and image data types will be removed in a
future version of Microsoft SQL Server. Avoid using these data types in new
development work, and plan to modify applications that currently use them. Use
nvarchar(max), varchar(max), and varbinary(max) instead.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;Don’t panic, further version
doesn’t include SQLServer 2012.&amp;nbsp; Read
more here:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms187993.aspx&quot;&gt;&lt;span style=&quot;color: black; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black;&quot;&gt;http://msdn.microsoft.com/en-us/library/ms187993.aspx&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/976684401608733045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/976684401608733045' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/976684401608733045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/976684401608733045'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/sqlserver-nvarchar-ntext-difference.html' title='Sqlserver nvarchar ntext difference'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-2607855730974720343</id><published>2014-02-26T14:37:00.001+11:00</published><updated>2014-02-26T14:39:14.509+11: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="interview"/><title type='text'>.Net Entity Framework and DAL</title><content type='html'>&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: 9.0pt;&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;This
old post demonstrates some very interesting thoughts about DAL and Entity
Framework, and discussed the design pattern (pros and cons) in an architecture
point of view. At the last of this post, a ppt is embedded. &lt;a href=&quot;http://www.wadewegner.com/2009/06/architecting-your-data-access-layer-with-the-entity-framework/&quot;&gt;&lt;span style=&quot;color: black; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black;&quot;&gt;http://www.wadewegner.com/2009/06/architecting-your-data-access-layer-with-the-entity-framework/&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: #1f497d;&quot;&gt;Here are some highlights and my
understanding: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;color: #1f497d; font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1f497d; text-indent: -18pt;&quot;&gt;Use EF as DAL&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #1f497d; text-indent: -18pt;&quot;&gt;This is still a good option to replace the CRUD. See my
OpsLog comments below about EF.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f497d; font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1f497d; text-indent: -18pt;&quot;&gt;Full Encapsulation
of the Entity Framework.&amp;nbsp; This is the ideal
solution but we probably won’t get to the complexity. It reduces coupling and
make application testable.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f497d; font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #1f497d; text-indent: -18pt;&quot;&gt;Partial
Encapsulation of the Entity Framework.&amp;nbsp;
The author didn’t give an example, but I have some in EGMAN.&amp;nbsp; EGMAN uses MVC and MVVM (MVVM Model-View
ViewModel is similar to MVC, Model-View Controller).&amp;nbsp; I used EF to map db to model (M in MVC), but
sometimes lost the flexibility to add custom attribute and data access logic. I
adopted MVVM, which use VM to replace C, and VM is the encapsulation of EF that
extract data from the Model.&amp;nbsp;&lt;/span&gt;&lt;!--[if !supportLists]--&gt;&lt;br /&gt;








</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/2607855730974720343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/2607855730974720343' title='314 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2607855730974720343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2607855730974720343'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/net-entity-framework-and-dal.html' title='.Net Entity Framework and DAL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>314</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-1109519543571643060</id><published>2014-02-26T14:35:00.000+11:00</published><updated>2014-02-26T14:38:49.741+11: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="sql"/><title type='text'>Links of the month November</title><content type='html'>&lt;h1&gt;
Links of the Month November&lt;span style=&quot;color: #333333; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
OpenXML: New and easiest way to do handle MS Office document
on server (eg, mailmerge)&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Example: TFS $ActewAGL.MailMerge&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Download: &lt;/span&gt;&lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=5124&quot; style=&quot;text-indent: -18pt;&quot;&gt;http://www.microsoft.com/en-us/download/details.aspx?id=5124&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Read
More&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Asp.NET MVC: A mindset change to build testable website&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://www.asp.net/mvc&quot; style=&quot;text-indent: -18pt;&quot;&gt;Office Website
with very good tutorials&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Sample website with 200+ pages of step by step
guild on how to build the website,&lt;/span&gt;&lt;a href=&quot;http://mvcmusicstore.codeplex.com/&quot; style=&quot;text-indent: -18pt;&quot;&gt;
MVC Music Store&lt;/a&gt;&lt;br /&gt;
LINQ:&amp;nbsp; Jon Skeet &lt;a href=&quot;http://msmvps.com/blogs/jon_skeet/archive/tags/Edulinq/default.aspx&quot;&gt;re-implement
LINQ&lt;/a&gt; in 45 posts. Download the ebook and learn.&lt;br /&gt;
Tools&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://demos.telerik.com/aspnet-mvc/razor/grid&quot; style=&quot;text-indent: -18pt;&quot;&gt;Telerik Extensios for
ASP.NET MVC&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;: free open source controls for MVC. Every control come with full
sample code and demo.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://www.red-gate.com/products/dotnet-development/dotnet-demon/&quot; style=&quot;text-indent: -18pt;&quot;&gt;.Net
Demon&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;: Tool that build as you type&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://www.ncrunch.net/&quot; style=&quot;text-indent: -18pt;&quot;&gt;NCrunch&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;
similar to .Net Demon, but also do continuous testing.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Both tools Combine with &lt;/span&gt;&lt;a href=&quot;http://livereload.com/&quot; style=&quot;text-indent: -18pt;&quot;&gt;LiveReload&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; (and Chrome extension), No more F6
to build, and F5 to refresh&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://blogs.msdn.com/b/bharry/archive/2012/11/26/visual-studio-2012-update-1-is-available.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;VS
2012 &amp;amp; TFS 2012 update 1 released&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;a href=&quot;http://cot.ag/QnV85g&quot; style=&quot;text-indent: -18pt;&quot; target=&quot;_blank&quot;&gt;Visual Studio 2012 Update
1 focuses on enhancements to SharePoint development, Windows development,
continuous quality enablement, and tools for agile teams.&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Together with update 1 release, MS also released
&lt;/span&gt;&lt;a href=&quot;http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;VS2010
Application Lifecycle Management Virtual Machine&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; and Hands-on-Labs.&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;It’s really time to upgrade!&lt;/span&gt;&lt;br /&gt;
Latest&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;I won’t tell you what this is, you so have to
click to find out. &lt;/span&gt;&lt;a href=&quot;http://www.microsoft.com/australia/ws2012xbox/&quot; style=&quot;text-indent: -18pt;&quot;&gt;http://www.microsoft.com/australia/ws2012xbox/&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://blogs.msdn.com/b/officeapps/archive/2012/11/12/announcing-the-latest-release-of-office-developer-tools.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Announcing
the Latest Release of Office Developer Tools&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Video:&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;a href=&quot;http://channel9.msdn.com/Events/Build/2012/3-028&quot; style=&quot;text-indent: -18pt;&quot;&gt;Bleeding edge ASP.NET:
See what is next for MVC, Web API, SignalR and more…&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;MsoHyperlink&quot; style=&quot;text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://cot.ag/TbYgyg&quot; style=&quot;text-indent: -18pt;&quot; target=&quot;_blank&quot;&gt;Microsoft Releases SkyDrive SDKs for .NET, Windows Phone 8&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://www.infragistics.com/community/blogs/marketing/archive/2012/11/27/infographic-html5-and-why-developers-need-it.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;HTML5
and Why Developers Need It&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; (IE8 support 0% of its’ feature)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; font-size: 18pt; line-height: 115%; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 18pt; line-height: 115%; text-indent: -18pt;&quot;&gt;Finally: Windows (Phone/Tablet) 8 :
Too many posts out there&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/1109519543571643060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/1109519543571643060' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1109519543571643060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1109519543571643060'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/links-of-month-november.html' title='Links of the month November'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-1148381090994598794</id><published>2014-02-26T14:32:00.003+11:00</published><updated>2014-02-26T14:38:49.744+11: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="scrum"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>scrum</title><content type='html'>&lt;div class=&quot;MsoPlainText&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;After three
days of training on scrum, I&#39;d like to share few tips and materials. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoPlainText&quot;&gt;
Scrum is simple to understand, hard to implement. It is
the most popular agile methodology. Few things I like about it:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoPlainText&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoPlainText&quot;&gt;
* Daily Scrum (also referred as daily stand-up, but what
if Zhen broke his knee and can&#39;t stand):&amp;nbsp;
is a good way to synchronise between team members. It is not a free
form, and 3 questions are answered by every team member.&amp;nbsp; (was working, plan to work, any impediment)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoPlainText&quot;&gt;
* Retrospective: is the best part in my opinion. Every
team member answer three questions, what went well, want went wrong, how to
improve. The lecture said he used this to coach his kids soccer team :) &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoPlainText&quot;&gt;
* Working in the order of priority, and deliver business
value in each sprint.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/1148381090994598794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/1148381090994598794' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1148381090994598794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1148381090994598794'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/scrum.html' title='scrum'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-341537473188427402</id><published>2014-02-26T14:32:00.000+11:00</published><updated>2014-02-26T14:38:49.749+11: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="sql"/><title type='text'>links of the month October</title><content type='html'>&lt;h1&gt;
Links of the Month October&lt;span style=&quot;color: #333333; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
MEF&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd460648.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Managed
Extensibility Framework (MEF)&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://mef.codeplex.com/wikipage?title=ProgrammingModelExtensions&amp;amp;referringTitle=Documentation&quot; style=&quot;text-indent: -18pt;&quot;&gt;MEF&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;
An interesting documentation with examples&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd460693.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;MEF vs IoC&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Working with Data&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/ff770157.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Overview of Data
Development platform in .Net&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Tools&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://www.linqpad.net/&quot; style=&quot;text-indent: -18pt;&quot;&gt;LinqPad&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; A
combination of c# and SMSS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Database Comparison Tool:&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;a href=&quot;http://dbcomparer.com/&quot; style=&quot;text-indent: -18pt;&quot;&gt;DBComparer&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://granetsystems.files.wordpress.com/2012/10/tfs2012upgradeblog1.pptx&quot; style=&quot;text-indent: -18pt;&quot;&gt;TFS2012
Reasons to Upgrade&lt;/a&gt;&lt;br /&gt;
Latest&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://cot.ag/Pm4u0R&quot; style=&quot;text-indent: -18pt;&quot; target=&quot;_blank&quot;&gt;Team
Foundation Service is Released&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;A
version of Team Foundation Server hosted on Windows Azure. Free for MSDN
subscribers!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;When JavaScript is unmanageable: Introducing &lt;/span&gt;&lt;a href=&quot;http://www.typescriptlang.org/&quot; style=&quot;text-indent: -18pt;&quot;&gt;Typescript&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://blogs.msdn.com/b/bharry/archive/2012/10/24/typescript-a-real-world-story-of-adoption-in-tfs.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Typescript
- a real world story of adoption in TFS&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; 160K line of JavaScript&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://cot.ag/Scf8Ew&quot; style=&quot;text-indent: -18pt;&quot; target=&quot;_blank&quot;&gt;Key
Windows 8 Developer Tenets and Skills&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/341537473188427402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/341537473188427402' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/341537473188427402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/341537473188427402'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/links-of-month-october.html' title='links of the month October'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-7961444541522641951</id><published>2014-02-26T14:29:00.001+11:00</published><updated>2014-02-26T14:38:49.754+11: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="sql"/><title type='text'>.Net tools</title><content type='html'>&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;NuGet Package Manager: NuGet is a Visual Studio
extension that makes it easy to install and update third-party libraries and
tools in Visual Studio. You can install all of the library discussed here from
within NuGet&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;AjaxControlToolkit:&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;a href=&quot;http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/&quot; style=&quot;text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: black; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black;&quot;&gt;http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;
An open-source project built on top of the Ms ASP.NET AJAX framework. It
contains more than 30 controls that enable you to easily create rich,
interactive web pages. Eg, Calendar, ModalPopup, AsyncFileUpload&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;ELMAH: Error Logging Modules and Handlers is an
application-wide error logging facility that is completely pluggable. Tutorial:
&lt;/span&gt;&lt;a href=&quot;http://www.asp.net/web-forms/tutorials/deployment/deploying-web-site-projects/Logging-Error-Details-with-ELMAH-cs&quot; style=&quot;text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: black; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black;&quot;&gt;http://www.asp.net/web-forms/tutorials/deployment/deploying-web-site-projects/Logging-Error-Details-with-ELMAH-cs&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;JQuery, JQuery UI &amp;amp; plugins,: More than 55%
of the world most visited 10000 website use JQuery. Why shouldn’t we use it?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Json: JavaScript Object Notation is a text
format, lightweight data-interchange format. A Fat-Free Alternative to XML.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Json.NET: Json.NET is a popular high-performance
JSON framework for .NET. see &lt;/span&gt;&lt;a href=&quot;http://james.newtonking.com/pages/json-net.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: black; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black;&quot;&gt;http://james.newtonking.com/pages/json-net.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; for
details.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;EF:&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Microsoft product, we know what is means.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Highly Supported and plenty of resources online,
with fairly strong communities online. Evolving very fast, fixes was coming out
very fast and it was getting better day by day.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;LINQ.&amp;nbsp; No
more CRUD.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Lower learning curve than Nhibernate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Desired features listed here&amp;nbsp; &lt;a href=&quot;http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions&quot;&gt;&lt;span style=&quot;color: black; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: black;&quot;&gt;http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Database Frist has more features than Code First
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Easy to code and maintain compared to Dataset&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/7961444541522641951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/7961444541522641951' title='62 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7961444541522641951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7961444541522641951'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/net-tools.html' title='.Net tools'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>62</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-272180110488376554</id><published>2014-02-26T14:27:00.004+11:00</published><updated>2014-02-26T14:38:49.746+11: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="sql"/><category scheme="http://www.blogger.com/atom/ns#" term="windows azure"/><title type='text'>Links of the month September</title><content type='html'>&lt;h1&gt;
Microsoft Developer Links of the Month&lt;span style=&quot;color: #333333; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Debug production system: &lt;/span&gt;&lt;a href=&quot;http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-Collecting-and-analyzing-data-in-production&quot; style=&quot;text-indent: -18pt;&quot;&gt;Visual
Studio Ultimate 2012: Collecting and analyzing data in production&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;TFS put into good use: &lt;/span&gt;&lt;a href=&quot;http://blogs.msdn.com/b/mvpawardprogram/archive/2012/09/04/automated-build-deploy-test-using-tfs-2012.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Automated
Build-Deploy-Test using TFS 2012&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Visual Studio New features: &lt;/span&gt;&lt;a href=&quot;http://msmvps.com/blogs/deborahk/archive/2012/09/03/visual-studio-2012-did-you-call-me.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Visual
Studio 2012: Did You Call Me?&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Reason not to test? None: &lt;/span&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/magazine/jj618302.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Testing for
Continuous Development&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;ASP.NET improvements continue: &lt;/span&gt;&lt;a href=&quot;http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Introducing
ASP.NET FriendlyUrls - cleaner URLs, easier Routing, and Mobile Views for
ASP.NET Web Forms&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; and &lt;/span&gt;&lt;a href=&quot;http://blogs.msdn.com/b/pranav_rastogi/archive/2012/09/21/asp-net-4-5-scriptmanager-improvements-in-webforms.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;ASP.NET
4.5 ScriptManager Improvements in WebForms&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Windows Azure new features: &lt;/span&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2012/06/07/meet-the-new-windows-azure.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Meet
the New Windows Azure&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; and a follow up article &lt;/span&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2012/09/17/announcing-great-improvements-to-windows-azure-web-sites.aspx&quot; style=&quot;text-indent: -18pt;&quot;&gt;Announcing:
Great Improvements to Windows Azure Web Sites&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Win8: &lt;/span&gt;&lt;a href=&quot;http://devhammer.net/blog/microsoft-devradio-reasons-why-you-should-develop-a-windows-8-app&quot; style=&quot;text-indent: -18pt;&quot;&gt;Reasons
Why You Should Develop a Windows 8 App&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Webcast: &lt;/span&gt;&lt;a href=&quot;http://www.infoq.com/vendorcontent/show.action?vcr=1984&quot; style=&quot;text-indent: -18pt;&quot;&gt;How Google Tests
Software&lt;/a&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt; &amp;amp; &lt;/span&gt;&lt;a href=&quot;http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Getting-Started-with-Windows-Azure&quot; style=&quot;text-indent: -18pt;&quot;&gt;Getting
Started with Windows Azure&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Want something Free?&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;a href=&quot;http://blogs.msdn.com/b/microsoft_press/archive/2012/08/20/free-ebook-programming-windows-8-apps-with-html-css-and-javascript-second-preview.aspx&quot;&gt;Programming
Windows 8 Apps with HTML, CSS, and JavaScript (Second Preview)&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=30325&amp;amp;ocid=aff-n-we-loc--ITPRO40886&quot;&gt;Building
Hybrid Applications in the Cloud on Windows Azure&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2012/09/11/great-free-courses-on-building-html5-apps-using-asp-net-web-api-knockout-js-and-jquery.aspx&quot;&gt;Great
Free Courses on Building HTML5 apps using ASP.NET Web API, Knockout.js and
jQuery&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/272180110488376554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/272180110488376554' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/272180110488376554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/272180110488376554'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/great-posts-serial-1.html' title='Links of the month September'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-6901626240378410824</id><published>2014-02-26T14:12:00.001+11:00</published><updated>2014-02-26T14:38:49.751+11: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="powershell"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>How to check a process or program is running via powershell script</title><content type='html'>Powershell script to check if a program is running or not&lt;br /&gt;
&lt;br /&gt;
$Prog = &quot;C:\Program Files (x86)\Mozilla Firefox\firefox.exe&quot;&lt;br /&gt;
$Running = Get-Process firefox -ErrorAction SilentlyContinue&lt;br /&gt;
$Start = {([wmiclass]&quot;win32_process&quot;).Create($Prog)}&lt;br /&gt;
if($Running -eq $null) # evaluating if the program is running&lt;br /&gt;
{&amp;amp; $Start} # the process is created on this line</content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/6901626240378410824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/6901626240378410824' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/6901626240378410824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/6901626240378410824'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2014/02/how-to-check-process-or-program-is.html' title='How to check a process or program is running via powershell script'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-1869070952804908124</id><published>2010-03-21T16:07:00.001+11:00</published><updated>2010-03-22T16:52:04.926+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="中文"/><category scheme="http://www.blogger.com/atom/ns#" term="创业"/><title type='text'>What is a successful project 何为成功的项目</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;When a client receives what he&#39;s been expecting, on time and for the estimated amount of money&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Project managers define this as: &lt;b&gt;On Time, On scope and On budget&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&amp;quot;A successful project is where everyone involved is happy with the final outcome.&amp;quot;&lt;/p&gt;  &lt;p&gt;以上讲的是对成功项目的定义，说白了就是客户满意，觉得钱花的值。那有些什么事情会让客户觉得不爽呢？ 没有按时，按量，按价把项目做出来，客户自然就不爽了。而速度、质量、价格三者本来就很难都保证，保证俩项，第三项势必就要有折扣，所以在谈项目的时候，应该充分考虑到三个基本要素，来报价。&lt;/p&gt;  &lt;p&gt;The promise of a successful project is something we all work harder to achieve, but working harder is not the answer. Software companies need to work smarter before, during, and after development, to ensure that the client gets not only what they want, but what they need.&lt;/p&gt;  &lt;p&gt;是不是死磕就能把项目搞好呢？ 死磕能加大成功的概率，但是大家都是聪明人，从小比咱们死磕的人多的去了，但大多没咱们屌，一个原因就是用的方法不对。事半功倍这个道理在软件开发中一样通行。 给客户做项目，不是你做的自己觉得多屌就好的，也许技术屌，但客户用不上；或者东西做的复杂，但客户希望简单明了。多和客户沟通，而不是一味闷头干，也许成功概率更大。&lt;/p&gt;  &lt;p&gt;讲回正题。没有规矩不能成方圆，开发软件也是一样。那么除了开发上的规矩，还有一些做项目上的规矩，大家又知道多少呢，等我一一道来。&lt;/p&gt;  &lt;h4&gt;1. Do you understand the value of consistency?&lt;/h4&gt;  &lt;p&gt;一致性，就是说做事情不要没事就换个花样。咱们如果今天开发用MFC，明天突然就改.Net了，后台就非要再玩玩Java，就过了。 一致性能保证产出，且每次质量不断提高。 从小一点的角度来看，程序里面也需要一致性。今天造个轮子，明天用一个库，都是不好的。不仅要自己的产品一致，公司内部一致，更要和高质量主流产品一致。例子我以后都拿.net说了。Microsoft Application Block，里面的轮子咱们如果常用，就可以提高效率，保持软件质量一致性。&lt;/p&gt;  &lt;h4&gt;2. Do you know that Rules are made for the guidance of wise men and the obedience of fools?&lt;/h4&gt;  &lt;p&gt;规矩是给聪明人用的，如果你觉得规矩不对，可以提出更好的改进。&lt;/p&gt;  &lt;h4&gt;3. Do you manage clients expectations?&lt;/h4&gt;  &lt;p&gt;客户的期望是需要我们提前打预防针的。 有几点需要注意的&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;谈价钱的时候不要给区间。 你跟我说20-30w，也许客户的期望就奔着20w去了，30w就变耳边风了。而我们自己是啥意思呢，也许20w压根就没戏。 &lt;/li&gt;    &lt;li&gt;软件是会有bug的，所以见下一条 &lt;/li&gt;    &lt;li&gt;不要签固定价格的合同。 固定价格，保证没有bug?没可能嘛。所以得有个事后维护的费用，比如小时收费。开始额外收费钱，得让客户签收已有的成果。 &lt;/li&gt;    &lt;li&gt;早点开始谈钱。谈完了客户就有预期了。收钱也得勤快。阶段性的收，阶段可以小一点。客户给钱总归都是不爽快的，收的勤快一点，客户还知道你在干活，达到了一个里程碑。不然突然一次收一大笔，让人肉痛。 &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;4. Do you pursue short or long-term relationships with clients?&lt;/h4&gt;  &lt;p&gt;文中的建议是短期为妙。 对待客户，可以像对待一个长期的合作伙伴一样，但是做生意的时候，还是要步步为营。不要一次跟人说：“这个项目我们100w搞定”， 而是说：“你可以花5k，我们给你安排3个程序员一周时间来调查，给你做一个报告”。给客户以选择，也是给自己更大的机会。&lt;/p&gt;  &lt;h4&gt;5. Management - Is your client clear on how you manage projects?&lt;/h4&gt;  &lt;p&gt;这里讲的是和客户沟通项目管理方法。 以敏捷开发为例子，就需要客户的积极参与。这里面，由于管理方法的不同，会导致报价，合同方面的不同。 比如说客户想要一个软件，而我们告诉客户，我们用的是敏捷开发方式，所以你那边会派出人来参与项目，需求也可能会经常改变，我们可以估价一个到某一个阶段的价，然后后面根据进度来调整。 IT开发里面fix price的这种在鬼子这里真的很少见，除非合同额巨大，10M，20M，狮子大开口，不然都必然是会由于项目调整而进度资源调整。如果能尽量减少自身风险，同时让客户得到他们需要的软件，鬼子的这种分阶段报价方式可以值得参考。&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/1869070952804908124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/1869070952804908124' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1869070952804908124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1869070952804908124'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2010/03/what-is-successful-project.html' title='What is a successful project 何为成功的项目'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-2103486635214631548</id><published>2009-12-04T10:52:00.001+11:00</published><updated>2009-12-04T10:52:36.026+11:00</updated><title type='text'>bbs特色词汇</title><content type='html'>&lt;p&gt;小钻风   &lt;br /&gt;原是西游记里的巡山小妖的名字. 这里是为公共站务ID mitbbs起的外号。此ID刚刚由walklooktalk在sysop版公布时，大家决定叫它总钻风，因为其职能类似于总版主，但小钻风这个名字最后沿用了下来。这个ID由walklooktalk在北京的雇员轮流值班，为提高论坛流量而到各版挑选文章置顶，也经常越过各版版主处理版务，由此引起很多怨言。但由于是雇员，从不像其他站长一样耍态度。&lt;/p&gt;  &lt;p&gt;LD   &lt;br /&gt;领导，一般指配偶，引申出小LD，指家里的孩子。&lt;/p&gt;  &lt;p&gt;LP、LG   &lt;br /&gt;老婆、老公的简称。&lt;/p&gt;  &lt;p&gt;WSN   &lt;br /&gt;Family版经常出现的称呼.可男可女.猥琐男或者猥琐女的简称.特点是心理幼稚但是不阴暗, 行为诡异但是不偏激。&lt;/p&gt;  &lt;p&gt;外F女   &lt;br /&gt;外嫁女的贬义用法，F估计代表英文Fuck，原指海外华人中对洋人盲目推崇进而随便与其上床的女生，后泛指因为绿卡或金钱等不纯目的而找洋人做男友或老公的中国女子，通常在Dreamer版上出现。这个词应该是源于对一些外嫁女子在网上炫耀自己的涉外爱情和家庭经历，而引起某些人群的不平。 &lt;/p&gt;  &lt;p&gt;坑   &lt;br /&gt;意等同于英文词&amp;quot;TROLL&amp;quot;,泛指那些投人所好有争议/夸大其词/或者纯属编造的贴子,来引发网友讨论,这样的贴子常被人称为&amp;quot;坑&amp;quot;,发此类贴子的行为被称为&amp;quot;挖坑&amp;quot;。&lt;/p&gt;  &lt;p&gt;发包子   &lt;br /&gt;凡文章获得版主加精 (M上)，发文用户自动获得10元伪币。借此，网友们管发文章让版主加精为发包子行为，一个包子等于10伪币。&lt;/p&gt;  &lt;p&gt;毛上、搞上   &lt;br /&gt;毛上指的是版主将版面的文章mark以保留该文章，标记符号为m，故取其谐音称为毛上；而搞上是指版主将版面文章加入文摘区，标记符号为g，故取其谐音称为搞上。&lt;/p&gt;  &lt;p&gt;饭米粒   &lt;br /&gt;特指“我爱我家”版（FAMILY的谐音读法）。 &lt;/p&gt;  &lt;p&gt;离   &lt;br /&gt;饭米粒版对婚姻问题的标准回复，后来范围扩展至所有问题。很多id上来不看文章，照着原贴就是一个字“离”。后来版主StoryTeller试图令行禁止，成效不大。 &lt;/p&gt;  &lt;p&gt;八区   &lt;br /&gt;泛指&amp;quot;中国新闻&amp;quot;(CHINANEWS),&amp;quot;世界新闻&amp;quot;(WORLDNEWS),以及SALON,HISTORY,MILITARY等等版面,八区的叫法源于这些版面最初在TELNET界面下统属第8版块,该版块因涉及时事新闻较多,持不同见解的人言词激烈,很多时候八区版面火药味浓重,易引发争吵,&amp;quot;八区&amp;quot;在不少网友眼中常常被视为吵架的地方。 &lt;/p&gt;  &lt;p&gt;BT   &lt;br /&gt;源于拼音&amp;quot;变态&amp;quot;。起初用于自认为正常人类对被认为非正常人类的蔑称. 此称谓最初出现于mitbbs dreamer版2000年左右，那个时候dreamer风格转换,忧郁的文青正在被一些被称为新生代变态的新ID为首的新成员所代替。后来这个词逐渐在 MITBBS被泛化，现在已经变成英语里面&amp;quot;dude&amp;quot;一样的称呼。BT 也指 Balance Transfer 多用于Money版。 &lt;/p&gt;  &lt;p&gt;88一下   &lt;br /&gt;即八卦一下。 &lt;/p&gt;  &lt;p&gt;PENG   &lt;br /&gt;源于&amp;quot;肚皮舞运动&amp;quot;(Joke)版面,该用法源于大约1999年左右的一则新闻：英国陆军因为军费缺乏，打靶演习无法用实弹，只好在射击时口中发出射击声音。ID katy时任Joke斑竹，并转载了该新闻，建议今后见到老笑话就用&amp;quot;Peng&amp;quot;表示。&amp;quot;PENG&amp;quot;一词后扩散至整个BBS,涵盖面也扩大到任何性质的贴子,不仅仅只是笑话贴,包括贴子是重复的或者某人说过同样的话,都可以用PENG来表达。后来在 情爱幽幽（Love）版继续演化为 “BENG”。 &lt;/p&gt;  &lt;p&gt;奔   &lt;br /&gt;最初称为裸奔。一般是指网友在版面上帖出自己的照片供大家欣赏取乐，有时也有如交友等特殊目的。常用的口号有：某某奔一个！奔上十大！你小你先！ 等等. 2003-2004年度裸本成为mitbbs维护人气的一个重要节目,前著名女光棍，资深ID Janet曾制作并且不定期发布裸奔大全。 &lt;/p&gt;  &lt;p&gt;晒   &lt;br /&gt;指专门show东西物件的，照片里没有人物只有物品。 &lt;/p&gt;  &lt;p&gt;胖子   &lt;br /&gt;Shopping（购物版）的常用词汇，指购物的时候使用的折扣券。因为美国商店的折扣券，英文为“Coupon”和中文“酷胖”或“哭胖”谐音，久而久之网友就改称之为“胖子”，而且显得更加琅琅上口。 &lt;/p&gt;  &lt;p&gt;死呆婆   &lt;br /&gt;美国著名办公用品商Staples的中文谐音，源自Mitbbs人气大版Shopping。该店因良好的客户服务、遍及美国城乡的销售网络、以及诸多的促销活动而深受Shopping版网友的推崇，某些网友的第一桶金即出自Staples。Staples目前已进入中国市场，其中文官方译名为“史泰博”。 &lt;/p&gt;  &lt;p&gt;RenPinWenTi   &lt;br /&gt;人品问题（rpwt）的另类表达。mitbbs南来北往，网友众多，模糊拼音的使用受到广大网友的普遍好评。 &lt;/p&gt;  &lt;p&gt;医院   &lt;br /&gt;ebay, 鉴于购物天堂（Shopping)版版主禁止在版上讨论ebay买卖，所以大家用“医院”这词代替ebay。典故出自前任汽车版主，shopping版资深ID coven在shopping版用隐晦的语言讲述自己在ebay因做托被封杀id及株连马甲的故事。另外由于ebay鱼龙混杂，故又用厕所一称呼代替。 &lt;/p&gt;  &lt;p&gt;病人   &lt;br /&gt;ebay 购物者&lt;/p&gt;  &lt;p&gt;JHQ   &lt;br /&gt;精华区，多用于提示新手参考精华区，而不是一味问问题。 &lt;/p&gt;  &lt;p&gt;buffet deal (简称 buffet)    &lt;br /&gt;ebiz版 形容一笔交易的利润的量词。。。指获利，够享用一顿buffet...非常形象。&lt;/p&gt;  &lt;p&gt;BSO   &lt;br /&gt;Bloodly Show off 不管人说啥都可以re：bso!） &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/2103486635214631548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/2103486635214631548' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2103486635214631548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2103486635214631548'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/12/bbs.html' title='bbs特色词汇'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-1608495015964130136</id><published>2009-11-22T20:46:00.001+11:00</published><updated>2009-11-22T20:46:24.463+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="excel"/><title type='text'>c# create and write to excel file</title><content type='html'>&lt;p&gt;Following my previous post &lt;a href=&quot;http://www.idothink.com/2009/03/c-read-write-excel-spreedsheet.html&quot; target=&quot;_blank&quot;&gt;c# how to read write excel spreedsheet&lt;/a&gt; and &lt;a href=&quot;http://www.idothink.com/2009/05/c-quit-excel-appliction-after-using-com.html&quot; target=&quot;_blank&quot;&gt;C# quit excel appliction after using COM object&lt;/a&gt;I wanted to continue the topic with a focus on write to excel spreedsheet. &lt;/p&gt;  &lt;p&gt;Using Microsoft.Office.Interop.Excel is the easiest option and with Excel 2007 installed, you can get version 12 of this dll. It allows user to save files as Excel 2007 format, or the old 97-03 format. &lt;/p&gt;  &lt;p&gt;Firstly, Let’s look at some sample code.&lt;/p&gt;  &lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;        private&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;void&lt;/span&gt; NAR( &lt;span class=&quot;kwrd&quot;&gt;object&lt;/span&gt; o )&lt;br /&gt;        {&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                System.Runtime.InteropServices.Marshal.ReleaseComObject( o );&lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;catch&lt;/span&gt;( Exception ex )&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine( ex.ToString( ) );&lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                o = &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;void&lt;/span&gt; save( FileWriter writer )&lt;br /&gt;        {&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt; filename = writer.FileName;&lt;br /&gt;&lt;br /&gt;            TimeSeries[] series = checkCompatibleTimeSeries( (Data[])data.ToArray( &lt;span class=&quot;kwrd&quot;&gt;typeof&lt;/span&gt;( Data ) ) );&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; count = series[0].itemCount( );&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( count == 0 )&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; DataFileIOException( &lt;span class=&quot;kwrd&quot;&gt;this&lt;/span&gt;, &lt;span class=&quot;str&quot;&gt;&amp;quot;Time series to save to &amp;quot;&lt;/span&gt; + filename + &lt;span class=&quot;str&quot;&gt;&amp;quot; are empty&amp;quot;&lt;/span&gt; );&lt;br /&gt;&lt;br /&gt;            &lt;span class=&quot;rem&quot;&gt;// Instantiate Excel and start a new workbook.&lt;/span&gt;&lt;br /&gt;            Excel.Application objApp;&lt;br /&gt;            Excel._Workbook objBook;&lt;br /&gt;            Excel.Workbooks objBooks;&lt;br /&gt;            Excel.Sheets objSheets;&lt;br /&gt;            Excel._Worksheet objSheet;&lt;br /&gt;            Excel.Range range;&lt;br /&gt;&lt;br /&gt;            objApp = &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; Excel.Application( );&lt;br /&gt;            objBooks = objApp.Workbooks;&lt;br /&gt;            objBook = (Excel._Workbook)( objBooks.Add( Missing.Value ) );&lt;br /&gt;            objSheets = (Excel.Sheets)objBook.Worksheets;&lt;br /&gt;            objSheet = (Excel._Worksheet)( objSheets.get_Item( 1 ) );&lt;br /&gt;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( objSheet == &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt; )&lt;br /&gt;            {&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; Exception( &lt;span class=&quot;str&quot;&gt;&amp;quot;Worksheet could not be created. Check that your office installation and project references are correct.&amp;quot;&lt;/span&gt; );&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                ( (Excel.Range) objSheet.Cells[ 1, 1 ] ).set_Value( Missing.Value, &lt;span class=&quot;str&quot;&gt;&amp;quot;Date&amp;quot;&lt;/span&gt; );&lt;br /&gt;                ( (Excel.Range) objSheet.Cells[ 1, 2 ] ).set_Value( Missing.Value, filename );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt;( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; rowIndex = 0; rowIndex &amp;lt; count; rowIndex++ )&lt;br /&gt;                {&lt;br /&gt;                    ( (Excel.Range) objSheet.Cells[ rowIndex + 2, 1 ] ).set_Value( Missing.Value,&lt;br /&gt;                                                                                   series[ 0 ].timeForItem( rowIndex ) );&lt;br /&gt;&lt;br /&gt;                    &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt;( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; columnIndex = 0; columnIndex &amp;lt; data.Count; columnIndex++ )&lt;br /&gt;                    {&lt;br /&gt;                        ( (Excel.Range) objSheet.Cells[ rowIndex + 2, columnIndex + 2 ] ).set_Value( Missing.Value, &lt;br /&gt;                                                                                                     series[ columnIndex&lt;br /&gt;                                                                                                         ][ rowIndex ] );&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                objApp.DisplayAlerts = &lt;span class=&quot;kwrd&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;                objApp.AlertBeforeOverwriting = &lt;span class=&quot;kwrd&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;                objBook.SaveAs( filename, format , Missing.Value, Missing.Value, Missing.Value, Missing.Value,                              Excel.XlSaveAsAccessMode.xlShared, Excel.XlSaveConflictResolution.xlLocalSessionChanges, Missing.Value, Missing.Value,                               Missing.Value, Missing.Value );&lt;br /&gt;&lt;br /&gt;                objBooks.Close( );&lt;br /&gt;                objApp.Quit( );&lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;catch&lt;/span&gt;( Exception theException )&lt;br /&gt;            {&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;throw&lt;/span&gt; theException;&lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( objBooks != &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt; )&lt;br /&gt;                    objBooks.Close( );&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( objApp != &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt; )&lt;br /&gt;                    objApp.Quit( );&lt;br /&gt;                NAR( objSheet );&lt;br /&gt;                NAR( objSheets );&lt;br /&gt;                NAR( objBooks );&lt;br /&gt;                NAR( objBook );&lt;br /&gt;                NAR( objApp );&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            GC.Collect( );&lt;br /&gt;            GC.WaitForPendingFinalizers( );    &lt;br /&gt;&lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Some tricky part of the code is the SaveAs Method. In order to disable the pop up alert messagebox, you need to do few things. (I believe most people do want to disable it since this must have been handled in the GUI part). Excel.XlSaveAsAccessMode.xlShared is the essential key to solve this problem. If it is not used, then&amp;#160; Excel.XlSaveConflictResolution.xlLocalSessionChanges wouldn’t work. Both “objApp.DisplayAlerts = &lt;span class=&quot;kwrd&quot;&gt;false&lt;/span&gt;;” and “ objApp.AlertBeforeOverwriting = &lt;span class=&quot;kwrd&quot;&gt;false&lt;/span&gt;; ” are used in the Excel dll Version 11 and will be overwrite by the XlSaveConflictResolution.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The code is fairly straight forward, the please refer to my old post on how i clean up the resources before quit. &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/1608495015964130136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/1608495015964130136' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1608495015964130136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1608495015964130136'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/11/c-create-and-write-to-excel-file.html' title='c# create and write to excel file'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-6076654163135477403</id><published>2009-11-16T16:34:00.001+11:00</published><updated>2009-11-22T21:03:09.221+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="excel"/><title type='text'>c# detect excel install location in registry and open file</title><content type='html'>&lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;void&lt;/span&gt; OpenInExcel(string filename)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt; dir = &lt;span class=&quot;str&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;;&lt;br /&gt;            RegistryKey key = Registry.LocalMachine;&lt;br /&gt;            RegistryKey excelKey = key.OpenSubKey(&lt;span class=&quot;str&quot;&gt;@&amp;quot;SOFTWARE\MicroSoft\Office&amp;quot;&lt;/span&gt;);&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (excelKey != &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;foreach&lt;/span&gt; (&lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt; valuename &lt;span class=&quot;kwrd&quot;&gt;in&lt;/span&gt; excelKey.GetSubKeyNames())&lt;br /&gt;                {&lt;br /&gt;                    &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; version = 9;&lt;br /&gt;                    &lt;span class=&quot;kwrd&quot;&gt;double&lt;/span&gt; currentVersion=0;&lt;br /&gt;                    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (Double.TryParse(valuename, &lt;span class=&quot;kwrd&quot;&gt;out&lt;/span&gt; currentVersion) &amp;amp;&amp;amp; currentVersion &amp;gt;= version)&lt;br /&gt;                    {&lt;br /&gt;                        RegistryKey rootdir = excelKey.OpenSubKey(currentVersion + &lt;span class=&quot;str&quot;&gt;@&amp;quot;.0\Excel\InstallRoot&amp;quot;&lt;/span&gt;);&lt;br /&gt;                        &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (rootdir != &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;)&lt;br /&gt;                        {&lt;br /&gt;                            dir = rootdir.GetValue(rootdir.GetValueNames()[0]).ToString();&lt;br /&gt;                            &lt;span class=&quot;kwrd&quot;&gt;break&lt;/span&gt;;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }                &lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (dir != &lt;span class=&quot;str&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                ProcessStartInfo startInfo = &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; ProcessStartInfo();&lt;br /&gt;&lt;br /&gt;                startInfo.FileName = dir + &lt;span class=&quot;str&quot;&gt;@&amp;quot;Excel.exe&amp;quot;&lt;/span&gt;;&lt;br /&gt;                startInfo.Arguments = &lt;span class=&quot;str&quot;&gt;&amp;quot;\&amp;quot;&amp;quot;&lt;/span&gt; + fileName + &lt;span class=&quot;str&quot;&gt;&amp;quot;\&amp;quot;&amp;quot;&lt;/span&gt;;&lt;br /&gt;                startInfo.UseShellExecute = &lt;span class=&quot;kwrd&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;using&lt;/span&gt; (Process process = &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; Process())&lt;br /&gt;                {&lt;br /&gt;                    process.StartInfo = startInfo;&lt;br /&gt;                    &lt;span class=&quot;kwrd&quot;&gt;try&lt;/span&gt;&lt;br /&gt;                    {&lt;br /&gt;                        process.Start();&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span class=&quot;kwrd&quot;&gt;catch&lt;/span&gt; (Exception ex)&lt;br /&gt;                    {&lt;br /&gt;                        Console.WriteLine(&lt;span class=&quot;str&quot;&gt;&amp;quot;\n\nCould not start Excel process.&amp;quot;&lt;/span&gt;);&lt;br /&gt;                        Console.WriteLine(ex);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;else&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                MessageBox.Show(&lt;span class=&quot;str&quot;&gt;&amp;quot;Can&#39;t Open in excel because excel is not installed.&amp;quot;&lt;/span&gt;);&lt;br /&gt;            }&lt;br /&gt;        }     &lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/6076654163135477403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/6076654163135477403' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/6076654163135477403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/6076654163135477403'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/11/c-detect-excel-install-location-in.html' title='c# detect excel install location in registry and open file'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-2653076054412066651</id><published>2009-11-16T16:26:00.001+11:00</published><updated>2009-11-22T21:02:46.655+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="algorithm"/><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="interview"/><title type='text'>c# revert a LinkedList</title><content type='html'>&lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;void&lt;/span&gt; ReverseLinkedList(LinkedList ls)&lt;br /&gt;{&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; ( ls == &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt; || ls.Head == &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt; )&lt;br /&gt;        &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt;;&lt;br /&gt;    ListNode head = ls.Head;&lt;br /&gt;    ListNode current = head.Next;&lt;br /&gt;    &lt;span class=&quot;kwrd&quot;&gt;while&lt;/span&gt;(current!=&lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;)&lt;br /&gt;    {&lt;br /&gt;        ListNode tmp = current;&lt;br /&gt;        current = current.Next;&lt;br /&gt;        tmp.Next = head;&lt;br /&gt;        head = tmp;&lt;br /&gt;    }&lt;br /&gt;    ls.Head.Next = &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;;&lt;br /&gt;    ls.Head = head;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/2653076054412066651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/2653076054412066651' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2653076054412066651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2653076054412066651'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/11/c-revert-linkedlist.html' title='c# revert a LinkedList'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-380288080194418877</id><published>2009-11-16T16:22:00.001+11:00</published><updated>2009-11-22T21:02:46.657+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="algorithm"/><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="interview"/><title type='text'>c# merge sort algorithm implementation</title><content type='html'>&lt;pre class=&quot;csharpcode&quot;&gt;        &lt;span class=&quot;kwrd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[] MergeSort(&lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[] a)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; ( a.Length == 1)&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt; a;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; middle = a.Length / 2;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[] left = &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[middle];&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; i = 0 ; i &amp;lt; middle ; i ++)&lt;br /&gt;            {&lt;br /&gt;                left[ i ] = a[ i ];&lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[] right = &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[a.Length - middle];&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt;( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; i = 0; i &amp;lt; a.Length - middle; i++ )&lt;br /&gt;            {&lt;br /&gt;                right[i] = a[i+middle];&lt;br /&gt;            }&lt;br /&gt;            left = MergeSort( left );&lt;br /&gt;            right = MergeSort( right );&lt;br /&gt;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; leftptr = 0;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; rightptr = 0;&lt;br /&gt;&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[] sorted = &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[a.Length];&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; k = 0 ; k &amp;lt; a.Length; k++)&lt;br /&gt;            {&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; ( rightptr == right.Length || ((leftptr &amp;lt; left.Length ) &amp;amp;&amp;amp; (left[leftptr] &amp;lt;= right[rightptr])))&lt;br /&gt;                {&lt;br /&gt;                    sorted[ k ] = left[ leftptr ];&lt;br /&gt;                    leftptr++;&lt;br /&gt;                }&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( leftptr == left.Length || ((rightptr &amp;lt; right.Length ) &amp;amp;&amp;amp; (right[rightptr] &amp;lt;= left[leftptr] )))&lt;br /&gt;                {&lt;br /&gt;                    sorted[k] = right[rightptr];&lt;br /&gt;                    rightptr++;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt; sorted;            &lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/380288080194418877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/380288080194418877' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/380288080194418877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/380288080194418877'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/11/c-merge-sort-algorithm-implementation.html' title='c# merge sort algorithm implementation'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-6826818849259713211</id><published>2009-11-16T16:20:00.001+11:00</published><updated>2014-02-15T22:39:34.125+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="algorithm"/><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="interview"/><title type='text'>c# Quick Sort Algorithm Implementation</title><content type='html'>&lt;pre class=&quot;csharpcode&quot;&gt;&lt;span class=&quot;kwrd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;void&lt;/span&gt; QuickSort( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[] a, &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; left, &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; right ) 
        { 
            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( a == &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt; ) 
                &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt;; 
            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; i = left; 
            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; j = right; 
            &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; pivot = a[( left + right ) / 2]; 
            &lt;span class=&quot;kwrd&quot;&gt;while&lt;/span&gt;( i &amp;lt;= j ) 
            { 
                &lt;span class=&quot;kwrd&quot;&gt;while&lt;/span&gt;( a[i] &amp;lt; pivot ) 
                    i++; 
                &lt;span class=&quot;kwrd&quot;&gt;while&lt;/span&gt;( a[j] &amp;gt; pivot ) 
                    j--; 
                &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( i &amp;lt;= j ) 
                { 
                    &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; tmp = a[i]; 
                    a[i++] = a[j]; 
                    a[j--] = tmp; 
                } 
            } 
            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( j &amp;gt; left ) 
            { 
                QuickSort( a, left, j ); 
            } 
            &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( i &amp;lt; right ) 
            { 
                QuickSort( a, i, right ); 
            } 
        }&lt;/pre&gt;
&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/6826818849259713211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/6826818849259713211' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/6826818849259713211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/6826818849259713211'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/11/c-quick-sort-algorithm-implementation.html' title='c# Quick Sort Algorithm Implementation'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-4710403873424288239</id><published>2009-11-16T16:18:00.001+11:00</published><updated>2009-11-22T21:02:46.660+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="algorithm"/><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="interview"/><title type='text'>c# insert sort algorithm implementation</title><content type='html'>&lt;pre class=&quot;csharpcode&quot;&gt;        &lt;span class=&quot;kwrd&quot;&gt;private &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;void&lt;/span&gt; insert_sort( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt;[] s )&lt;br /&gt;        {&lt;br /&gt;            &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt;( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; k = 1; k &amp;lt; s.Length ; k++ )&lt;br /&gt;            {&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;value&lt;/span&gt; = s[k];&lt;br /&gt;                &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt;( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; i = 0; i &amp;lt;= k - 1; i++ )&lt;br /&gt;                {&lt;br /&gt;                    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt;( &lt;span class=&quot;kwrd&quot;&gt;value&lt;/span&gt; &amp;lt; s[i] )&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span class=&quot;kwrd&quot;&gt;for&lt;/span&gt;( &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; j = k - 1; j &amp;gt;= i; j-- )&lt;br /&gt;                            s[j + 1] = s[j];&lt;br /&gt;                        s[i] = &lt;span class=&quot;kwrd&quot;&gt;value&lt;/span&gt;;&lt;br /&gt;                        &lt;span class=&quot;kwrd&quot;&gt;break&lt;/span&gt;;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/4710403873424288239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/4710403873424288239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/4710403873424288239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/4710403873424288239'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/11/insert-sort-implementation-in-c.html' title='c# insert sort algorithm implementation'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-5269156818622692991</id><published>2009-10-31T16:52:00.001+11:00</published><updated>2009-11-22T21:02:16.359+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="interview"/><title type='text'>键盘上的符号发音</title><content type='html'>&lt;p&gt;~    &lt;br /&gt;tilde (sounds like til-da); be prepared to explain to computer-illiterate people saying &amp;quot;you know, the wave-shaped thingy&amp;quot;&lt;/p&gt;  &lt;p&gt;!    &lt;br /&gt;exclamation; commonly read as bang in case of #!/bin/sh&lt;/p&gt;  &lt;p&gt;@    &lt;br /&gt;at&lt;/p&gt;  &lt;p&gt;#    &lt;br /&gt;pound; but commonly read as shee in case of #!/bin/sh, not sure why&lt;/p&gt;  &lt;p&gt;$    &lt;br /&gt;dollar&lt;/p&gt;  &lt;p&gt;%    &lt;br /&gt;percent&lt;/p&gt;  &lt;p&gt;^    &lt;br /&gt;caret; not many people know this word so be prepared to say &amp;quot;no, not carrot; it&#39;s the character above 6, an arrow pointing up&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;amp;    &lt;br /&gt;ampersand&lt;/p&gt;  &lt;p&gt;*    &lt;br /&gt;star; some read asterisk&lt;/p&gt;  &lt;p&gt;(    &lt;br /&gt;opening parenthesis (some may shorten it saying paren)&lt;/p&gt;  &lt;p&gt;)    &lt;br /&gt;closing parenthesis&lt;/p&gt;  &lt;p&gt;_    &lt;br /&gt;underscore; once I heard people say underbar&lt;/p&gt;  &lt;p&gt;+    &lt;br /&gt;plus&lt;/p&gt;  &lt;p&gt;-    &lt;br /&gt;minus; as symbol before arguments in commands, some people including me read dash, easier to say one syllable&lt;/p&gt;  &lt;p&gt;=    &lt;br /&gt;equals&lt;/p&gt;  &lt;p&gt;`    &lt;br /&gt;backtick or backquote&lt;/p&gt;  &lt;p&gt;{    &lt;br /&gt;opening brace&lt;/p&gt;  &lt;p&gt;}    &lt;br /&gt;closing brace&lt;/p&gt;  &lt;p&gt;[    &lt;br /&gt;opening bracket&lt;/p&gt;  &lt;p&gt;]    &lt;br /&gt;closing bracket&lt;/p&gt;  &lt;p&gt;|    &lt;br /&gt;pipe or vertical bar&lt;/p&gt;  &lt;p&gt;\    &lt;br /&gt;backslash; be prepared to explain to some computer-illiterate people&lt;/p&gt;  &lt;p&gt;:    &lt;br /&gt;colon&lt;/p&gt;  &lt;p&gt;;    &lt;br /&gt;semicolon&lt;/p&gt;  &lt;p&gt;&amp;quot;    &lt;br /&gt;double quote&lt;/p&gt;  &lt;p&gt;&#39;    &lt;br /&gt;single quote&lt;/p&gt;  &lt;p&gt;&amp;lt;    &lt;br /&gt;less than; some may read left angle bracket&lt;/p&gt;  &lt;p&gt;&amp;gt;    &lt;br /&gt;greater than&lt;/p&gt;  &lt;p&gt;,    &lt;br /&gt;comma&lt;/p&gt;  &lt;p&gt;.    &lt;br /&gt;dot; period if in English text&lt;/p&gt;  &lt;p&gt;?    &lt;br /&gt;question mark&lt;/p&gt;  &lt;p&gt;/    &lt;br /&gt;slash or forward slash; some computer-illiterate people may be confused about / and \&lt;/p&gt;  &lt;p&gt;space&lt;/p&gt;  &lt;p&gt;(), [] and {}    &lt;br /&gt;may also be called brackets in general. In that case, they specifically call [] square brackets and {} curly brackets. I never like this. Open and Closing may also be called left and right.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/5269156818622692991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/5269156818622692991' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/5269156818622692991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/5269156818622692991'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/10/blog-post_31.html' title='键盘上的符号发音'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-7904607157500852513</id><published>2009-10-24T13:53:00.001+11:00</published><updated>2009-11-22T21:02:02.326+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="回忆录"/><title type='text'>决定是否海龟的流程图:归否,归否？肾脏虚否?</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF5wWCkaGvlL5h-V434xgRYP_hw0vGLDmjZ_DrVa7BxOMj5YVS9tIhlr9Fu7mIvjCcV0jwY4u2UzFqDWWo-pTmnwNe2AgizFLOX7HFPxF6F1_7PZh3hYFtc9bzrNh1ujTYbpgJkqGf56g/s1600-h/2q39m3n%5B9%5D.jpg&quot;&gt;&lt;img title=&quot;2q39m3n&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px&quot; height=&quot;578&quot; alt=&quot;2q39m3n&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiRbR7TZPU9xbeKc9Woo8_o3s5xHhvacLgsM9CRHPEPBjXTIQ3szjWM9_bnPhI61W57jgOgTrBKI3_CQxSI-_NbrZjwN19PKFLruksjbKvXUHP0MdnX0cGUD6UTg-9nEm8iiJNqcmvSRI/?imgmax=800&quot; width=&quot;762&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/7904607157500852513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/7904607157500852513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7904607157500852513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7904607157500852513'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/10/blog-post.html' title='决定是否海龟的流程图:归否,归否？肾脏虚否?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiRbR7TZPU9xbeKc9Woo8_o3s5xHhvacLgsM9CRHPEPBjXTIQ3szjWM9_bnPhI61W57jgOgTrBKI3_CQxSI-_NbrZjwN19PKFLruksjbKvXUHP0MdnX0cGUD6UTg-9nEm8iiJNqcmvSRI/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-2924309124123505093</id><published>2009-10-08T14:12:00.001+11:00</published><updated>2009-11-22T20:52:56.101+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="excel"/><title type='text'>c# copy excel data and paste into datagridview table</title><content type='html'>&lt;pre class=&quot;csharpcode&quot;&gt;This post is about managing the memory data object after ctrl+c is used in Excel. You will learn how data are organised in memory and should be able to apply it anywhere. The code example tries to read the data in DataObject out and paste it in datagridview.            &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;csharpcode&quot;&gt;DataObject o = (DataObject) Clipboard.GetDataObject(); &lt;br /&gt;           &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (o.GetDataPresent(DataFormats.Text)) &lt;br /&gt;           { &lt;br /&gt;               &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; rowOfInterest = DataGridView.CurrentCell.RowIndex; &lt;br /&gt;               &lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt;[] selectedRows = Regex.Split(o.GetData(DataFormats.Text).ToString(  ).TrimEnd( &lt;span class=&quot;str&quot;&gt;&amp;quot;\r\n&amp;quot;&lt;/span&gt;.ToCharArray() ), &lt;span class=&quot;str&quot;&gt;&amp;quot;\r\n&amp;quot;&lt;/span&gt;); &lt;br /&gt;&lt;br /&gt;               &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (selectedRows == &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt; || selectedRows.Length == 0) &lt;br /&gt;                   &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt;; &lt;br /&gt;&lt;br /&gt;               &lt;span class=&quot;kwrd&quot;&gt;foreach&lt;/span&gt; (&lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt; row &lt;span class=&quot;kwrd&quot;&gt;in&lt;/span&gt; selectedRows) &lt;br /&gt;               {                    &lt;br /&gt;                   &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (rowOfInterest &amp;gt;= DataGridView.Rows.Count) &lt;br /&gt;                       &lt;span class=&quot;kwrd&quot;&gt;break&lt;/span&gt;; &lt;br /&gt;&lt;br /&gt;                   &lt;span class=&quot;kwrd&quot;&gt;try&lt;/span&gt; &lt;br /&gt;                   { &lt;br /&gt;                       &lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt;[] data = Regex.Split(row, &lt;span class=&quot;str&quot;&gt;&amp;quot;\t&amp;quot;&lt;/span&gt;); &lt;br /&gt;                       &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; col = DataGridView.CurrentCell.ColumnIndex; &lt;br /&gt;&lt;br /&gt;                       &lt;span class=&quot;kwrd&quot;&gt;foreach&lt;/span&gt; (&lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt; ob &lt;span class=&quot;kwrd&quot;&gt;in&lt;/span&gt; data) &lt;br /&gt;                       { &lt;br /&gt;                           &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (col &amp;gt;= DataGridView.Columns.Count) &lt;br /&gt;                               &lt;span class=&quot;kwrd&quot;&gt;break&lt;/span&gt;; &lt;br /&gt;                           &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (ob!=&lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;) &lt;br /&gt;                               DataGridView[col, rowOfInterest].Value = Convert.ChangeType( ob, DataGridView[col,rowOfInterest].ValueType ); &lt;br /&gt;                           col++; &lt;br /&gt;                       } &lt;br /&gt;                   } &lt;br /&gt;                   &lt;span class=&quot;kwrd&quot;&gt;catch&lt;/span&gt; (Exception enterException) &lt;br /&gt;                   { &lt;br /&gt;                         &lt;span class=&quot;rem&quot;&gt;//do something here &lt;/span&gt;&lt;br /&gt;                   } &lt;br /&gt;                   rowOfInterest++; &lt;br /&gt;               } &lt;br /&gt;           }&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/2924309124123505093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/2924309124123505093' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2924309124123505093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/2924309124123505093'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/10/c-copy-excel-data-and-paste-into.html' title='c# copy excel data and paste into datagridview table'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-7656878307774632913</id><published>2009-09-06T09:46:00.001+10:00</published><updated>2009-09-06T09:46:59.611+10:00</updated><title type='text'>Microsoft Excel 2003 Shortcut Keys</title><content type='html'>&lt;p&gt;&lt;b&gt;General Shortcuts&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;New Workbook&lt;/i&gt;....................................................... &lt;b&gt;CTRL N&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Open Existing Workbook ....................................... &lt;/i&gt;&lt;b&gt;CTRL O&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Save Workbook ....................................................... &lt;/i&gt;&lt;b&gt;CTRL S&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Save Workbook As ..........................................................&lt;/i&gt;&lt;b&gt;F12&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Print Workbook.......................................................&lt;/i&gt;&lt;b&gt;CTRL P&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Print Preview ........................................................&lt;/i&gt;&lt;b&gt;CTRL F2&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Spell Check Workbook ......................................................&lt;/i&gt;&lt;b&gt;F7&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Excel Help menu ...............................................................&lt;/i&gt;&lt;b&gt;F1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;What’s This Help Tool .........................................&lt;/i&gt;&lt;b&gt;SHIFT F1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Moving Around Shortcuts&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Move to next cell down &amp;amp; accept data entry............&lt;/i&gt;&lt;b&gt;ENTER&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Move to prev cell up &amp;amp; accept data entry ...&lt;/i&gt;&lt;b&gt;SHIFT ENTER&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Move one cell right &amp;amp; accept data entry.......................&lt;/i&gt;&lt;b&gt;TAB&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Move one cell left &amp;amp; accept data entry ............ &lt;/i&gt;&lt;b&gt;SHIFT TAB&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Move one cell up, down, left, or right &lt;/i&gt;....................&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Move to edge of current data region&lt;/i&gt;..........&lt;b&gt;CTRL &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;beginning of row &lt;/i&gt;......................................................&lt;b&gt;HOME&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Beginning of worksheet&lt;/i&gt;.................................&lt;b&gt;CTRL HOME&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Last used cell on worksheet &lt;/i&gt;..............................&lt;b&gt;CTRL END&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Down one screen&lt;/i&gt;.......................................................&lt;b&gt;PG DN&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Up one screen &lt;/i&gt;............................................................&lt;b&gt;PG UP&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;One screen to right &lt;/i&gt;..........................................&lt;b&gt;ALT PG DN&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;One screen to left &lt;/i&gt;............................................. &lt;b&gt;ALT PG UP&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Next sheet in workbook &lt;/i&gt;.................................&lt;b&gt;CTRL PG DN&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Previous sheet in workbook &lt;/i&gt;.......................... &lt;b&gt;CTRL PG UP&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Move to next unlocked cell&lt;/i&gt;............................................ &lt;b&gt;TAB&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Go To &lt;/i&gt;................................................................................&lt;b&gt;F5&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Find&lt;/i&gt;......................................................................&lt;b&gt;SHIFT F5&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Find Next&lt;/i&gt;..............................................................&lt;b&gt;SHIFT F4&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Data Entry Shortcuts&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Start a new line in the same cell..................... &lt;/i&gt;&lt;b&gt;ALT ENTER&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Enter Array Formula...................... &lt;/i&gt;&lt;b&gt;CTRL SHIFT ENTER&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Display the Formula Palette .................................&lt;/i&gt;&lt;b&gt;CTRL A&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Insert Function arguments ....................... &lt;/i&gt;&lt;b&gt;CTRL SHIFT A&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Insert a hyperlink....................................................&lt;/i&gt;&lt;b&gt;CTRL K&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Edit the active cell ............................................................&lt;/i&gt;&lt;b&gt;F2&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Paste Function......................................................&lt;/i&gt;&lt;b&gt;SHIFT F3&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Calculate all workbooks....................................................&lt;/i&gt;&lt;b&gt;F9&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Calculate active workbook .......................... &lt;/i&gt;&lt;b&gt;CTRL ALT F9&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Calculate active worksheet..................................&lt;/i&gt;&lt;b&gt;SHIFT F9&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Start a formula ....................................................................&lt;/i&gt;&lt;b&gt;=&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Insert AutoSum formula..............................................&lt;/i&gt;&lt;b&gt;ALT =&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Enter date .................................................................&lt;/i&gt;&lt;b&gt;CTRL ;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Enter time ....................................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT :&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Cancel Data Entry&lt;/i&gt;......................................................... &lt;b&gt;ESC&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Fill down ................................................................&lt;/i&gt;&lt;b&gt;CTRL D&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Fill to the right .......................................................&lt;/i&gt;&lt;b&gt;CTRL R&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Fill range with current entry ....................... &lt;/i&gt;&lt;b&gt;CTRL ENTER&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Copy &lt;/i&gt;.......................................................................&lt;b&gt;CTRL C&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Copy formatting ........................................ &lt;/i&gt;&lt;b&gt;CTRL SHIFT C&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Copy value from cell above ........................&lt;/i&gt;&lt;b&gt;CTRL SHIFT &amp;quot;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Paste Once &lt;/i&gt;.............................................................. &lt;b&gt;ENTER&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Paste Multiple Times&lt;/i&gt;..............................................&lt;b&gt;CTRL V&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Paste formatting only ................................ &lt;/i&gt;&lt;b&gt;CTRL SHIFT V&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Cut..........................................................................&lt;/i&gt;&lt;b&gt;CTRL X&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Clear cell Contents................................................&lt;/i&gt;&lt;b&gt;DELETE&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Delete Selection........................................&lt;/i&gt;&lt;b&gt;CTRL HYPHEN&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Insert Blank Cells .......................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT +&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Edit a cell comment ..............................................&lt;/i&gt;&lt;b&gt;SHIFT F2&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Paste Range Names ...........................................................&lt;/i&gt;&lt;b&gt;F3&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Create Range Names ................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT F3&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Define Range Name...............................................&lt;/i&gt;&lt;b&gt;CTRL F3&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Delete selection .......................&lt;/i&gt;&lt;b&gt;BACKSPACE or DELETE&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Delete text to the end of the line ................&lt;/i&gt;&lt;b&gt;CTRL DELETE&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Redo &lt;/i&gt;....................................... &lt;b&gt;ALT SHIFT BACKSPACE&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Repeat Last Command &lt;/i&gt;......................................................&lt;b&gt;F4&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Insert a new worksheet &lt;/i&gt;.......................................&lt;b&gt;SHIFT F11&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Create a chart using selected range&lt;/i&gt;................................&lt;b&gt;F11&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Group sheets&lt;/i&gt;................... &lt;b&gt;SHIFT CTRL PG DN or PG UP&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Undo....................................................................... &lt;/i&gt;&lt;b&gt;CTRL Z&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Formatting Shortcuts&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;Style &lt;/i&gt;&lt;/b&gt;&lt;i&gt;dialog box ...................................&lt;/i&gt;&lt;b&gt;ALT &#39; (apostrophe)&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;Format Cells &lt;/i&gt;&lt;/b&gt;&lt;i&gt;dialog box.........................................&lt;/i&gt;&lt;b&gt;CTRL 1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;General number format ............................&lt;/i&gt;&lt;b&gt;CTRL SHIFT ~&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Currency Format ......................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT $&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Percentage Format .................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT %&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Date Format..............................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT #&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Time Format ...........................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT @&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Comma Format......................................... &lt;/i&gt;&lt;b&gt;CTRL SHIFT !&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Apply the outline border ......................... &lt;/i&gt;&lt;b&gt;CTRL SHIFT &amp;amp;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Remove outline borders ............................&lt;/i&gt;&lt;b&gt;CTRL SHIFT _&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Bold........................................................................&lt;/i&gt;&lt;b&gt;CTRL B&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Italics ...................................................................... &lt;/i&gt;&lt;b&gt;CTRL I&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Underlining............................................................&lt;/i&gt;&lt;b&gt;CTRL U&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Strikethrough ..........................................................&lt;/i&gt;&lt;b&gt;CTRL 5&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Hide rows................................................................&lt;/i&gt;&lt;b&gt;CTRL 9&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Unhide rows.............................................. &lt;/i&gt;&lt;b&gt;CTRL SHIFT (&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Hide columns ...............................................&lt;/i&gt;&lt;b&gt;CTRL 0 (zero)&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Unhide columns ........................................ &lt;/i&gt;&lt;b&gt;CTRL SHIFT )&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Toggle displaying values or formulas.....................&lt;/i&gt;&lt;b&gt;CTRL &lt;/b&gt;&lt;b&gt;`&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Display the AutoComplete list ...................................&lt;/i&gt;&lt;b&gt;ALT&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Selecting Ranges&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select current region ..................................&lt;/i&gt;&lt;b&gt;CTRL SHIFT *&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Extend selection one cell...........................&lt;/i&gt;&lt;b&gt;SHIFT &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Extend selection to last used cell ......... &lt;/i&gt;&lt;b&gt;CTRL SHIFT END&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select the entire column .......................&lt;/i&gt;&lt;b&gt;CTRL SPACEBAR&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select the entire row............................ &lt;/i&gt;&lt;b&gt;SHIFT SPACEBAR&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select the entire worksheet......................................&lt;/i&gt;&lt;b&gt;CTRL A&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select all objects on sheet ....... &lt;/i&gt;&lt;b&gt;CTRL SHIFT SPACEBAR&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select the current array ........................................... &lt;/i&gt;&lt;b&gt;CTRL /&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select all cells with comments....................&lt;/i&gt;&lt;b&gt;CTRL SHIFT O&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select unmatching values ........................................ &lt;/i&gt;&lt;b&gt;CTRL \&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select Direct Successors .......................................... &lt;/i&gt;&lt;b&gt;CTRL [&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select all Successors ................................... &lt;/i&gt;&lt;b&gt;CTRL SHIFT {&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select Direct Predecessors....................................... &lt;/i&gt;&lt;b&gt;CTRL ]&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select all Predecessors ............................... &lt;/i&gt;&lt;b&gt;CTRL SHIFT }&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Select visible cells in current selection ....................... &lt;/i&gt;&lt;b&gt;ALT ;&lt;/b&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/7656878307774632913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/7656878307774632913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7656878307774632913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/7656878307774632913'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/09/microsoft-excel-2003-shortcut-keys.html' title='Microsoft Excel 2003 Shortcut Keys'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-270865781817816357</id><published>2009-09-04T13:56:00.001+10:00</published><updated>2009-11-22T21:01:22.911+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="回忆录"/><title type='text'>南昌小吃，太屌！！</title><content type='html'>&lt;p&gt;1.南昌炒粉    &lt;br /&gt;品种：如猪肉炒粉、牛肉炒粉、肥肠炒粉、鸡蛋炒粉、豆芽菜炒粉、三鲜炒粉、黄花菜炒粉……    &lt;br /&gt;久负盛名的南昌米粉江西南昌生活论坛# n# C! o) o/ m8 E( o1 B+ d    &lt;br /&gt;具有洁白、细嫩、久漂不烂、久炒不碎的特点。南昌米粉历史悠久，主要制作原料是优质晚米。要经过浸米、磨浆、滤干、采浆等多道工序。吃法也方便、简洁，可以凉拌米粉、炒煮米粉，放入姜沫、蒜沫、麻油、酱油、猪油、葱花、咸菜沫，最不可少的是南昌人喜欢的辣椒和胡椒粉。那可真是肉嫩，粉韧、味鲜。所以来南昌不妨尝一下美味可口的南昌米粉，也会让您回味无穷。江西南昌生活论坛6 S$ H7 ]$ }5 l$ t+ p&lt;/p&gt; &lt;dl&gt;&lt;dd&gt;     &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;南昌炒粉.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_160e8cafb33efa1370adoUgWvjfCQp8W.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;&lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;2.藜蒿炒腊肉       &lt;br /&gt;“鄱阳湖的草，南昌人的宝”——说的就是这道菜。藜蒿是鄱阳湖区特有的一种水草，中医认为其味甘、性平、微毒，可清热、利湿、杀虫。藜蒿取其嫩茎与腊肉合炒，加些韭菜才能“衬”出藜蒿的“原香”。上桌时腊肉咸香柔软，藜蒿脆嫩香甜。湘菜中也有这道菜，但是取藜蒿根炒，且陆上藜蒿不够香脆。&lt;/p&gt;   &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;藜蒿炒腊肉.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_ce50eaedbdb284b32c4b5iL14ZTYj6Xp.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3.白糖糕江西南昌生活论坛# W# Q! C4 Z. p* o&amp;quot; t&amp;amp; ?- u$ Z&lt;/p&gt;  &lt;p&gt; Y4 W. e% 以前是街头的早点，现在多为酒店的特色主食。白色的糯米多层叠起，弯转成圈，入油炸至金黄，白糖、米粉混合撒于糕上，糯软香甜，表酥内嫩bbs.tiboo.cn% b; d2 o; u9 t# z&amp;amp; Q7 R: G9 S   &lt;br /&gt;原料 糯米粉，澄面粉，白糖，食用油，清水，猪油江西论坛,南昌论坛,南昌社区,南昌生活论坛,江西南昌论坛&#39; b5 W+ P/ {, [    &lt;br /&gt;做白糖糕最主要的原料就是糯米粉。和面的比例为500克糯米粉：50克澄面：25克白砂糖：200克开水，为了避免油炸时白糖糕发黏，可以适量加少许猪油。和好面后，将面团搓成30厘米左右的长条，将长条绕三圈且两端相连，一个白糖糕雏形就出来了！白糖糕先用小火炸上两分钟，此时的油温为30—40℃。再用高火炸两分钟，注意不要把它炸老了，起锅后将白糖糕粘糖装盘。掌握好火候的白糖糕显得色泽金黄、松软。&lt;/p&gt;  &lt;h6&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;白糖糕.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_eb6d852674317d0c40b5MiHDPDn4Y8ql.jpg&quot; /&gt;&lt;/a&gt;&lt;/h6&gt; &lt;dl&gt;&lt;dd&gt;     &lt;p&gt;4.牛舌头       &lt;br /&gt;原料        &lt;br /&gt;糯米粉、色拉油、红糖        &lt;br /&gt;做法        &lt;br /&gt;用白色和红色糯米粉相配，再用白、红糖搅芯子与糯米粉相配，中间成白色、红色(即加点红糖揉拌的粉)镶边。粉内要有糖料，制成后用70℃的油煎。        &lt;br /&gt;特点bbs.tiboo.cn4 t! k8 d8 s, Y) A&#39; \牛舌头又叫牛招财，味道香甜爽口。&lt;/p&gt;      &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;牛舌头.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_f026205ada84bdb1a18dkv9pUfGlDKik.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt; 5.芥菜团子   &lt;br /&gt;&amp;#160;&amp;#160; 原料：芥菜、大米    &lt;br /&gt;&amp;#160;&amp;#160; 做法：&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 用洗干净的大米、芥菜加少量水放在一起磨碎，再用白纱布进行过滤，然后蒸至半成熟，取出揉匀，再用模具做出团子的形状，大火蒸20分钟即可。_南昌论坛(江西论坛-吃喝玩乐在江西论坛)_地宝网论坛7 t&amp;quot; P8 b+ U5 |# C   &lt;br /&gt; 特点江西论坛,南昌论坛,南昌社区,南昌生活论坛,江西南昌论坛$ M; l1 }2 L. z$ ^6 }* T; l    &lt;br /&gt; 芥菜的维生素含量很丰富，用芥菜做成的团子美味营养。&lt;/p&gt; &lt;dl&gt;&lt;dd&gt;     &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;芥菜团子.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_ed423ef758313f612227lM7uTXMpyF7e.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt;6.木瓜凉粉bbs.tiboo.cn&amp;amp; U* f. I% A3 `&amp;#160; t, W, v$ w   &lt;br /&gt; 原料    &lt;br /&gt; 木瓜粉或力之粉    &lt;br /&gt; 做法    &lt;br /&gt;木瓜粉或力之粉和水调匀，煮熟成稀饭状，倒入木盆中冷却。冷却后的固体用竹片切成豆腐块状，再加入薄荷水、糖。    &lt;br /&gt; 特点bbs.tiboo.cn# L&amp;quot; k; Q&amp;#160; T&amp;quot; L$ p, M: Y( ?( v    &lt;br /&gt; 深受南昌民间欢迎的夏季防暑食品，俗称“力之豆腐”，吃起来凉爽可口·&lt;/p&gt; &lt;dl&gt;&lt;dd&gt;     &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;木瓜凉粉.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_e564d2fda60d9e6c44410ntdlal7EH3S.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt;7.南昌瓦罐汤、南昌煨汤&lt;/p&gt; &lt;dl&gt;   &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;南昌瓦罐汤、南昌煨汤.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_2352c5ca058d78b08326tUv7EQyOXW5q.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;8.米粉蒸肉1 V/ ~( O3 g5 ^     &lt;br /&gt;南昌人每年立夏前后都喜欢蒸上一碗米粉蒸肉，据说立夏日吃了不会生痱子。人们把大米加八角、桂皮等香料炒熟后研磨成粉，将五花肉切成厚片浸渍上辣椒油、酱油，再加白糖、料酒、味精等调味品，然后倒入米粉拌匀，再将粘满米粉的肉一片片叠在碗内，上笼蒸熟至烂，吃时将肉扣在盘内即可。有的在肉内又拌入适量豌豆，使菜有粉香，又有碗豆清香，荤素鲜腻，别有风味。&lt;/p&gt;   &lt;dl&gt;&lt;dd&gt;       &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;米粉蒸肉.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_110c0179aa627d0a4319D9b8JYumRcI4.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;     &lt;/dd&gt;&lt;/dl&gt;    &lt;p&gt;9.“品香斋” 蛋黄麻花江西论坛,南昌论坛,南昌社区,南昌生活论坛,江西南昌论坛- u; O) [1 e&#39; U( h/ q&amp;amp; a3 D&#39; P     &lt;br /&gt;提到麻花，很多人都会想到天津十八街麻花，其实南昌石头街麻花也曾赫赫有名。      &lt;br /&gt; 一百多年前，南昌市石头街有个闻名的“品香斋”麻花店，生产的蛋黄麻花精细小巧，状如双龙盘绕，颜色金黄油亮，味道酥香爽口，人们常常远道而来购买。后来店铺搬到了中山路闹市地段。      &lt;br /&gt; 如今尽管“品香斋”已经难觅踪迹，不过，蛋黄麻花已经成了最受南昌市民欢迎的小吃之一。记者在东南饼庄苏圃路店找到一位擅长做蛋黄麻花的师傅，他向我们介绍了蛋黄麻花的做法。9 V9 v: g% i; I; |! y# M&amp;amp; m; H+ Y( b      &lt;br /&gt; 原料      &lt;br /&gt; 面粉、鸡蛋、色拉油江西南昌论坛（江西论坛）,为南昌地宝网创办的南昌最大的生活论坛,为南昌百姓生活提供交流平台。力求做最好的江西论坛！# \4 ^3 Q9 `* K) N! d$ E5 S( w- Z; S      &lt;br /&gt; 做法江西南昌生活论坛1 g, u+ {; L2 p( e      &lt;br /&gt; 面粉和鸡蛋的比例设置为1：1，也就是500克鸡蛋搭配500克面粉。先将鸡蛋打匀，之后与面粉一起和，待面粉和鸡蛋充分融合，揉搓均匀后，切成每个长度为30厘米左右的面粉条，并从中间对折拧成麻花状。准备热锅放油，油温应控制在适中，既不能过热也不能过低。用色拉油将切好的面粉条炸4—5分钟，色拉油能使麻花变得松软、浓香无比。蛋黄麻花和普通麻花的区别是特别酥松、爽口，不像普通麻花那么结&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;“品香斋” 蛋黄麻花.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_e676680927f0c81e0cd3YVZrByiNYUYT.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;10.麻辣藕片     &lt;br /&gt;在南昌市中山路、胜利路、万寿宫等人流聚集的地方都能见到它的踪迹，其中最知名的要数中山路附近的皇殿侧，这里的麻辣藕片也被南昌人认为最正宗。鲜亮的颜色、油汪汪的色泽，一口咬下去，首先感觉到了莲藕的水灵和生脆，辣椒末带来的刺激由舌尖蔓延到舌根，仔细嚼嚼，最后又能品尝到隐藏在调料下莲藕本身的清甜。南昌街头经常有些MM买上一两块钱后边走边吃，辣得云里雾里却是欲罢不能。江西南昌生活论坛5 \+ N- i0 u6 R5 A8 n      &lt;br /&gt; 原料      &lt;br /&gt; 莲藕、酱油、醋、辣椒油、花椒粉、食盐、鸡精、姜末、蒜末、小葱末      &lt;br /&gt; 做法      &lt;br /&gt; 把藕洗净，切片，大概8厘米厚。烧开水后，用新鲜的莲藕在水里烫一下，千万不能煮熟，不然藕片将失去爽脆的口感，变得绵软。稍烫后捞出沥水晾干，将酱油、醋、辣椒油（烧油，再淋到辣椒粉上即可）、花椒粉（一点点就够了），食盐、鸡精、姜末、蒜末、小葱末一起拌匀，洒到藕片上，盖上盖子，上下抖动一番，腌制半小时后就入味了。&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=1#zoom&quot;&gt;&lt;img alt=&quot;麻辣藕片.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_82f683ac0b98a9cc45b56r2SrDCGyFw0.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;11.螺蛳龙虾&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2#zoom&quot;&gt;&lt;img alt=&quot;螺蛳龙虾.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_54208610b788c06501baip06LziVqinn.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;12.鳅鱼钻豆腐：bbs.tiboo.cn&amp;#160; p&#39; `. o* h. n3 o; _: a7 K     &lt;br /&gt;江西论坛,南昌论坛,南昌社区,南昌生活论坛,江西南昌论坛, C2 s&amp;#160; Z4 G&amp;quot; O&amp;quot; m7 Z9 U5 P+ n4 x      &lt;br /&gt;这是南昌民间长久流传的一道名菜。制作前，先取冷水一盆，将小鳅鱼放入后，打入蛋清，一天后，待鳅鱼内脏物排出，洗净。用砂锅放在微火上加入好汤，把整块老豆腐和活鳅鱼同时下锅，汤热后，鳅鱼往豆腐里面钻。炖30分钟后，加入姜、冬笋、红萝卜等配料，少顷，将砂锅离火上桌。此时只见锅内汤清如镜，豆腐鳅鱼交错，味鲜可口，令人垂涎。&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2#zoom&quot;&gt;&lt;img alt=&quot;鳅鱼钻豆腐.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_0a18016a47b2c8142c904FPZJUwCkU4u.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;13.南昌拌粉 ，凉拌粉     &lt;br /&gt;西南昌论坛（江西论坛）,为南昌地宝网创办的南昌最大的生活论坛,为南昌百姓生活提供交流平台。力求做最好的江西论坛！&amp;amp; [; x4 d! m/ c&#39; b, a&amp;#160; W6 U% I&amp;amp; l      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 拌粉即可以当小吃，也可以当主食。非常便宜，只要一块或一块五一碗。在南昌的各大高校，各个胡同巷口里都有拌粉卖。几乎南昌人或来南昌的都会吃拌粉。拌粉，应该算是一种冷食，它是将米粉先在白开水（不加任何佐料）里面煮熟，然后捞起来用冷水冲净，冷却存放。食用前将米粉放入网勺内在开水里面微烫半分中，然后捞起倒入碗里，分别加入醋，酱油，辣椒油，生葱末，生香菜，熟花生仁等其他佐料，搅拌后即可食用。卖米粉的地方通常会准备各种佐料由你根据自己的喜欢添加，十分方便。&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2#zoom&quot;&gt;&lt;img alt=&quot;南昌拌粉 ，凉拌粉.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_be999afde4af609bf91693WE2UZKo0vI.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;14.水煮&lt;/p&gt;    &lt;h6&gt;&lt;/h6&gt;   &lt;dl&gt;&lt;dd&gt;       &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2#zoom&quot;&gt;&lt;img alt=&quot;水煮.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_57cea93a040404d7be90CW6rXQzdZ9EU.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;     &lt;/dd&gt;&lt;/dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;       &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2#zoom&quot;&gt;&lt;/a&gt;&lt;/p&gt;     &lt;/dd&gt;&lt;/dl&gt;    &lt;ul&gt;&lt;/ul&gt;    &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/post.php?action=reply&amp;amp;fid=68&amp;amp;tid=38252&amp;amp;repquote=192550&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2&quot;&gt;引用&lt;/a&gt; &lt;a href=&quot;http://bbs.tiboo.cn/magic.php?action=user&amp;amp;pid=192550&quot;&gt;使用道具&lt;/a&gt; &lt;a href=&quot;http://bbs.tiboo.cn/misc.php?action=report&amp;amp;fid=68&amp;amp;tid=38252&amp;amp;pid=192550&amp;amp;page=2&quot;&gt;报告&lt;/a&gt; &lt;a href=&quot;http://bbs.tiboo.cn/misc.php?action=rate&amp;amp;tid=38252&amp;amp;pid=192550&amp;amp;page=2&quot;&gt;评分&lt;/a&gt; &lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2#&quot;&gt;回复&lt;/a&gt; &lt;strong&gt;TOP&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;cite&gt;&lt;/cite&gt;&lt;/p&gt;    &lt;p&gt;15.猪血或猪肝汤粉     &lt;br /&gt;南浦路和船山路狮子入口那家江西论坛,南昌论坛,南昌社区,南昌生活论坛,江西南昌论坛! l2 i5 K% @1 n&amp;#160; U4 K4 v1 H6 b/ @      &lt;br /&gt;和绳金塔三医院附近有一堆破房子里的一家      &lt;br /&gt;猪血是比较碎的&lt;/p&gt;    &lt;h6&gt;&lt;/h6&gt;   &lt;dl&gt;&lt;dd&gt;       &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/viewthread.php?tid=38252&amp;amp;extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D65&amp;amp;page=2#zoom&quot;&gt;&lt;img alt=&quot;猪血或猪肝汤粉.jpg&quot; src=&quot;http://img1.tiboo.cn/month_0907/20090715_ba00d9c1a775ee8d980fPNai1OoIlqOH.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;     &lt;/dd&gt;&lt;/dl&gt;    &lt;ul&gt;&lt;/ul&gt;   &lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;/dl&gt;    &lt;p&gt;&lt;/p&gt;   &lt;dt&gt;&lt;dl&gt;&lt;/dl&gt;      &lt;p&gt;&lt;/p&gt;   &lt;/dt&gt;    &lt;p&gt;&lt;a href=&quot;http://bbs.tiboo.cn/magic.php?action=user&amp;amp;pid=192551&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;/dl&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/270865781817816357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/270865781817816357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/270865781817816357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/270865781817816357'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/09/blog-post.html' title='南昌小吃，太屌！！'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3013272357947121026.post-1575383077187740224</id><published>2009-09-03T14:19:00.001+10:00</published><updated>2009-11-22T21:01:06.107+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><title type='text'>Calculate GUID from object or string</title><content type='html'>&lt;p&gt;private Guid CalculateGUID(object m)   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ASCIIEncoding enc = new ASCIIEncoding();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string code = m.GetHashCode( ).ToString();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string key;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (code.Length &amp;lt; 16)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; key = code + new string( &#39;*&#39;, 16 - code.Length );    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; else if (code.Length == 16)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; key = code;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; else    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; key = code.Substring( 0, 16 );    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; return new Guid(enc.GetBytes(key)) ;   &lt;br /&gt;}&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://www.idothink.com/feeds/1575383077187740224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3013272357947121026/1575383077187740224' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1575383077187740224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3013272357947121026/posts/default/1575383077187740224'/><link rel='alternate' type='text/html' href='http://www.idothink.com/2009/09/calculate-guid-from-object-or-string.html' title='Calculate GUID from object or string'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>