Tuesday, September 26, 2006

BLOG: Beyond Agile Software Development: Becoming Lean.

Lean thinking has had a dramatic effect on industries from manufacturing to banking to hospitals. In software development, lean principles lead us inevitably to agile software develop and beyond. Lean is not just about iterative development. It is about transforming customer needs into deployed software rapidly, reliably, and repeatedly.

Lean is not about slowing down and being careful, its about catching errors the moment they occur so that you can reliably go fast.

QA is not responsible for finding defects versus preventing them from happening.

Agile doesnt emphasize speed. Scrum only helps dysfunctional organization.

In queueing theory, Little's result, theorem, or law says: The average number of customers in a stable system (over some time interval) is equal to their average arrival rate, multiplied by their average time in the system. Assume customers arrive at the rate of 10 per hour and stay an average of 0.5 hour. This means we should find the average number of customers in the store at any time to be 5.

Performance is the cycle time how fast the customer needs can be repeatedly convert into the deployed software. Productivity is not how many lines you can write or how many features you can produce over a period of time.

Build only what you need.

Stop when something goes wrong.

Eliminate the waste. (Decide as late as possible. Reduce to-do list. No queues. Small batch. Build quality.)

Amplify the learning.

Optimize as a whole.

Build defects-proof system process, continuous integration and synchronization.


Tony

http://www.poppendieck.com/ (Mary/Tom Poppendieck)

Monday, September 25, 2006

BLOG: SC, NET useful tools in windows.

net use file://10.10.12.176/C$ /u:amsfuturama\ming
sc.exe is very powerful to install and remove services.

BLOG: Text Converting and Intall IIS virtual directory

System.Convert.ToBase64String

System.Convert.FromBase64String

System.Text.Encoding.UTF8.GetBytes(string).

net stop w3svc

net stop iisadmin


Few people realize that files with the .ashx extension are HTTP handlers as well.

How to create the virtual directory in IIS

string strSchema = "IIsWebVirtualDir";

string strRootSubPath = "/W3SVC/1/Root";

DirectoryEntry deRoot = new DirectoryEntry("IIS://" + server + strRootSubPath);

Tony

BLOG: MS SQL Server 2005 Express Edition Requirement:

MS SQL Server 2005 Express Edition Requirement:

Installer SQLEXPR.exe 54M free space.

Require 600MB free space.

- We recommend against running SQL Server Express on a domain controller. it cannot run on a Windows Server 2003 domain controller as Local Service or Network Service

- 2003 Server SP 1 (MSI-3.0)

- Frameworks .NET 2.0 (You could go to %WINDIR%\Microsoft.NET\Framework\ to verify your version).

- To enable the Windows CSP service on Windows Server 2003. (Cryptographic Service Provider)

- MSDTC Is Fully Enabled on Windows

      In Control Panel, open Administrative Tools, and then double-click Component Services.

      In the left pane of Console Root, click Component Services, and then expand Computers.

      Right-click My Computer, and then click Properties.

      On the MSDTC tab, click Security Configuration.

      Under Security Settings, select all of the check boxes.

      Verify that the DTC Logon Account name is set to NT AUTHORITY\NetworkService.

- It install the SQL Native Client and Setup Support Files, MSXML6, SQL VSS Writer, SQL Server Database Services;, Books online.

- Choose Named Instance “SQLExpress”

- Service Account “Local System” probably no network access.

Specifies a domain user account that uses Windows Authentication to set up and connect to SQL Server. Microsoft recommends using a domain user account with minimal rights for the SQL Server service, as the SQL Server service does not require administrator account privileges. The SQL Server Agent account must have administrator privileges if you create CmdExec and ActiveScript jobs that belong to someone other than a SQL Server administrator, or if you use the AutoRestart feature. If the above features are requirements in your environment, consider using separate service accounts for the SQL Server and SQL Server Agent services.

- sa has to be protected with strong password “Avocent456”

- You have to use SQL Server 2005 Surface Area Configuration to open the connection.
- You also need to go to the SQL Server Configuration Manager to set the TCP port to 1433 instead of other value.
-


After you install SQL Server Express, use the following command to connect to SQL Server Express by using the command prompt:

$sqlcmd -S Server\Instance (Kira\SQLExpress)

You could also upgrade from Microsoft SQL Server 2000 Desktop Edition to Express Edition.

Tony

BLOG: NUnit 2.2.8

nunit-gui.exe is useful to attached by the NUNIT test.

nunit-gui.exe /fixture:NUnit.Tests.AssertionTests nunit.tests.dll /run

nunit-gui nunit.tests.csproj /config:Release

You will define the test attributes.

§ Test Fixture
§ Test
§ Setup
§ Teardown
§ Test Fixture SetUp
§ Test Fixture TearDown
§ Expected Exception
§ Category
§ Explicit
§ Suite
§ Ignore


Tony

BLOG: How to install MSDE 2000 Release A

Set up the instanceMode and securityMode, SAPWD, disableNetworkprototal = 0.

setup INSTANCENAME="MSDE" SECURITYMODE=SQL SAPWD="sa" DISABLENETWORKPROTOCOLS=0

Features comparison:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_ts_1cdv.asp

Tony

UTF4.0 defines U+FFFF Java String

Counting char Units

private String testString = "abcd\u5B66\uD800\uDF30";
int charCount = testString.length();
System.out.printf("char count: %d\n", charCount);

The length method counts the number of char values in a String object. The sample code prints this:

char count: 7

Counting Character Units

When Unicode version 4.0 defined a significant number of new characters above U+FFFF, the 16-bit char type could no longer represent all characters. Starting with the Java 2 Platform, Standard Edition 5.0 (J2SE 5.0), the Java platform began to support the new Unicode characters as pairs of 16-bit char values called a surrogate pair.

This special use of 16-bit units is called UTF-16, and the Java Platform uses UTF-16 to represent Unicode characters. The char type is now a UTF-16 code unit, not necessarily a complete Unicode character (code point).

private String testString = "abcd\u5B66\uD800\uDF30";
int charCount = testString.length();
int characterCount = testString.codePointCount(0, charCount);
System.out.printf("character count: %d\n", characterCount);

This example prints this:

character count: 6 The Japanese character has Unicode code point U+5B66, which has the same hexadecimal char value \u5B66. The Gothic letter's code point is U+10330. In UTF-16, the Gothic letter is the surrogate pair \uD800\uDF30.

Counting Bytes

byte[] utf8 = null;
int byteCount = 0;
try {
utf8 = str.getBytes("UTF-8");
byteCount = utf8.length;
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
System.out.printf("UTF-8 Byte Count: %d\n", byteCount);

The target character set determines how many bytes are generated. The UTF-8 encoding transforms a single Unicode code point into one to four 8-bit code units (a byte). The characters a, b, c, and d require a total of only four bytes. The Japanese character turns into three bytes. The Gothic letter takes four bytes. The total result is shown here:

UTF-8 Byte Count: 11


Tony

Be A Developer That Uses AI

Developers will not be replaced by AI, they'll be replaced by developers that use AI. Generative AI tools are revolutionizing the way de...