Workaround:
Disable the Windows Mobile DNS cache. This requires a registry
modification. Windows Mobile does not include a registry editor, but
free third-party editors are available (such as one from www.phm.lu).
Change the value of:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\DnsCacheEnable
to 0
If DnsCacheEnable does not exist, create it as a DWORD value.
A soft reset is necessary for the change to take effect.
Monday, October 22, 2007
Friday, October 19, 2007
My dream Sound Recording System
Monday, October 1, 2007
Lamont Adams' Ten Commandments of Egoless Programming
- Accept your mistakes - the important thing is to locate and deal with them in a timely manner.
- Do not invest your emotions in your code - this can lead you to taking critiques of your code personally.
- Seek out the input of others - programming is a collective effort.
- Consult your colleagues before you rewrite a sequence of code. Any such revisions should be part of a team-based review process.
- Show deference to those who know less than you about a project. To show impatience reinforces a stereotype of developers as egotistical prima donnas.
- Be open to new technological developments - the world of programming changes rapidly, and you need to keep up to date. You should welcome new developments as opportunities to improve your work.
- Knowledge is the only real determinant of authority on a software project - you should defer to anyone better informed than you, regardless of their place in the pecking order.
- Understand that sometimes your ideas will not be accepted. This is part of the experience of being a team member. Don't make a big deal of it if it turns out later that you were right.
- Work in an open, collaborative environment. Those who code alone tend to be less effective than others.
- Criticize code rather than programmers. Your critique should be positive in tone and should be for the purpose of improving the code.
Wednesday, September 19, 2007
Weakness on Mac (Finally!)
OK, after sometime getting used to this new OS, I finally found some weakness as compared to Windows or even Linux GUI. First of all the font rendering. Unlike Windows' ClearType font rendering that is sharp, OS-X fonts are blurry, especially from close distance. Some people on the Internet mention that OSX' fonts look better if we see them from a few feet. Hey, I don't want to work with my keyboard a few feet away from my monitor. How about inevitable built-in laptop screen?
The second weakness is its ability to display true color. Turned out it is not 24-bit RGB. This results much less than 2^24 colors as it supposed to be (my Compaq laptop has true millions of colors. I couldn't find any artifacts/washed out colors when playing movies from DVDs). Don't get me wrong, this issue is only seen on Macbook (or Macbook pro) built-in LCD screen. If we hook up to external LCD monitor, that's gonna be different. I have seen the iMac screen, it is much better.
The second weakness is its ability to display true color. Turned out it is not 24-bit RGB. This results much less than 2^24 colors as it supposed to be (my Compaq laptop has true millions of colors. I couldn't find any artifacts/washed out colors when playing movies from DVDs). Don't get me wrong, this issue is only seen on Macbook (or Macbook pro) built-in LCD screen. If we hook up to external LCD monitor, that's gonna be different. I have seen the iMac screen, it is much better.
Saturday, September 8, 2007
How fast is Apple Macbook?
My Macbook has Intel Core2 Duo 2.1 GHz. I wrote a small program to do very simple math (trigonometry computation):
#include
#include
int main()
{
double x,y;
long i;
x = 1/3.1415692653;
for(i=0; i<1000000; i++) {
y = i/100000*x;
printf("%lu) sin(%lf) = %lf\n", i, y, sin(y));
}
}
Compile it with:
gcc -mtune=nocona -m64 -msse3 -mfpmath=sse -O3 sin.c -o sin
and execute is as below:
time ./sin
The result is:
real 0m12.345s
user 0m2.624s
sys 0m3.554s
The "real" gives result 12.345 seconds to do 1E6 iterations!, or for each iteration it'd take 12.345E-6 second (12.345 microseconds). Wow!
#include
#include
int main()
{
double x,y;
long i;
x = 1/3.1415692653;
for(i=0; i<1000000; i++) {
y = i/100000*x;
printf("%lu) sin(%lf) = %lf\n", i, y, sin(y));
}
}
Compile it with:
gcc -mtune=nocona -m64 -msse3 -mfpmath=sse -O3 sin.c -o sin
and execute is as below:
time ./sin
The result is:
real 0m12.345s
user 0m2.624s
sys 0m3.554s
The "real" gives result 12.345 seconds to do 1E6 iterations!, or for each iteration it'd take 12.345E-6 second (12.345 microseconds). Wow!
OS-X is 64-bit Unix
Just to prove that my Macbook is a 64-bit machine, I build the following simple program:
#include
int main()
{
printf("sizeof(long) = %d\n", sizeof(long));
printf("sizeof(double) = %d\n", sizeof(double));
}
Compile it with:
gcc -mtune=nocona -m64 -mfpmath=sse -msse3 -O3 test.c -o test
and execute test. If the size of long is 8 bytes, it's 64-bit!
#include
int main()
{
printf("sizeof(long) = %d\n", sizeof(long));
printf("sizeof(double) = %d\n", sizeof(double));
}
Compile it with:
gcc -mtune=nocona -m64 -mfpmath=sse -msse3 -O3 test.c -o test
and execute test. If the size of long is 8 bytes, it's 64-bit!
Subscribe to:
Posts (Atom)