The name comes from Code Monkey and Monkey King (孫悟空). It aptly describes the volume of code I write, the homage to the Chinese side of my family, and the mischievous/curious nature of the Monkey King.
Thursday, September 6, 2007
VMware Workstation, Dell D620 Laptop, and Intel SpeedStep... oh boy!
When I don't have a VM on my laptop, i.e. after vacation, I will restore the SpeedStep.
Wednesday, August 2, 2006
Thomas Friedman on Syria, the US and War
If you’ve not heard of Thomas Friedman you should know who he is. He’s a journalist that has published a number of must reads: The World is Flat and Longitudes and Attitudes as well as a really interesting television story on global warming and electric cars: Addicted to Oil (its on again on August 14th)
But anyways… check out the Fresh Air interview from August 1 with Terry Gross. Most notable and disturbing was this quote from Thomas Friedman, “(Hezbollah) hates Israel more than they love their own kids… that is such a travesty.”
There’s more interesting things he has to say about the tragedy of the Accidental War as the Economist calls it.
Friday, April 28, 2006
Quote from Captain James Cook
"I can be bold to say, that no man will ever venture farther than I have done and that the lands which may lie to the South will never be explored."
Captain James Cook, 27 January 1775
I put this quote here as food for thought. At the time Cook wrote this he had good enough reason to make such a strong statement. For well over 2000 years, or perhaps even all of recorded human history to that time, boots were only made of wood. Note, that at this time, there were no steam powered vessels, nor were there the steel and iron ships which would come to be about 100 years later.
When we try to solve problems in our lives we often put too little thought into questioning the base assumptions that we make decisions on.
This also leads into that often quoted addage about those who do not know the past are doomed to repeat it.
Tuesday, January 31, 2006
NANT files and XML namespaces
Being a reader (worshiper?) of Scott's blog I happened upon
Intellisense and NAnt .build files in VS.NET back a while ago. Recently I also starting using nant include tasks to centralize common functions/scripts/targets in a single location. When you combine the two, beware: all included files in which you reference targets need to also include the same namespace for instance:
xmlns="http://nant.sf.net/schemas/nant-0.84.win32.net-1.0.xsd"
The only error you see is:
BUILD FAILED
Target 'foobar' does not exist in this project. It is used from target 'wombat'.
Enjoy!
Tuesday, December 20, 2005
I recently returned from yet another trip to China (this time with my wife :) and plugged the laptop back into the work network. When I have the laptop in the office I usually use Remote Desktops to connect to it. When I do this I also try to use the wired connection vs. the 802.11b as it is more responsive. What I noticed was that even though the new IP address for the NIC was registered with the DNS server, it was using the old IP Address on my desktop. The effect was that the machine was unreachable.
Using our trusted friend google I found this article to explain how to adjust the DNSClient on the local workstation.
Friday, December 2, 2005
Ten Essential Tools: Visual Studio Add-Ins Every Developer Should Download Now -- MSDN Magazine, December 2005
I used the CodeSourceToHtml AddIn to produce the code below. I've been looking for a Source to HTML tool since I started blogging!
public delegate void ProgressEventHandler(object sender, ProgressEventArgs args);
public class ProgressEventArgs : EventArgs
{
private string _probeName;
public ProgressEventArgs(string probeName)
{
_probeName = probeName;
}
public string ProbeName
{
get
{
return _probeName;
}
}
}
Enjoy!
Friday, November 18, 2005
"The Rules
- Calculations and comparisons of DateTime instances are only meaningful when the instances being compared or used are representations of points in time from the same time-zone perspective.
- A developer is responsible for keeping track of time-zone information associated with a DateTime value via some external mechanism. Typically this is accomplished by defining another field or variable that you use to record time-zone information when you store a DateTime value type. This approach (storing the time-zone sense alongside the DateTime value) is the most accurate and allows different developers at different points in a program's lifecycle to always have a clear understanding of the meaning of a DateTime value. Another common approach is to make it a "rule" in your design that all time values are stored in a specific time-zone context. This approach does not require additional storage to save a user's view of the time-zone context, but introduces the risk that a time value will be misinterpreted or stored incorrectly down the road by a developer that isn't aware of the rule.
- Performing date and time calculations on values that represent machine local time may not always yield the correct result. When performing calculations on time values in time-zone contexts that practice daylight savings time, you should convert values to universal time representations before performing date arithmetic calculations. For a specific list of operations and proper time-zone contexts, see the table in the Sorting out DateTime Methods section.
- A calculation on an instance of a DateTime value does not modify the value of the instance, thus a call to MyDateTime.ToLocalTime() does not modify the value of the instance of the DateTime. The methods associated with the Date (in Visual Basic®) and DateTime (in the .NET CLR) classes return new instances that represent the result of a calculation or operation.
- When using the .NET Framework version 1.0 and 1.1, DO NOT send a DateTime value that represents UCT time thru System.XML.Serialization. This goes for Date, Time and DateTime values. For Web services and other forms of serialization to XML involving System.DateTime, always make sure that the value in the DateTime value represents current machine local time. The serializer will properly decode an XML Schema-defined DateTime value that is encoded in GMT (offset value = 0), but it will decode it to the local machine time viewpoint.
- In general, if you are dealing with absolute elapsed time, such as measuring a timeout, performing arithmetic, or doing comparisons of different DateTime values, you should try and use a Universal time value if possible so that you get the best possible accuracy without effects of time zone and/or daylight savings having an impact.
- When dealing with high-level, user-facing concepts such as scheduling, and you can safely assume that each day has 24 hours from a user's perspective, it may be okay to counter Rule #6 by performing arithmetic, et cetera, on local times."
Stuart references this article from which I took the above quote.