Turnabout on Google
Google watches me. Now I watch google. You will see a tiny google icon in the title bar of articles which have been scanned by the mighty G.
Google watches me. Now I watch google. You will see a tiny google icon in the title bar of articles which have been scanned by the mighty G.
Following are my notes as I enable IPv6 on my servers.
There will be more.
On the Google Finance pages you can get graphs of stocks, which if you mess with the “settings” tab, you can also display after hours trading. After hours trading is generally much lower volume and less volatile compared to normal hours.
Notice on the image that the 7 normal hours seem rather large compared
to the 17 off hours. The X axis is a nonuniform time axis, during normal
hours it is 12 pixels/hour (a very programmery value to pick) but the
off hours are about 7.6 pixels/hour (not a very programmery value, but
perhaps it is really 2⁄3 of 12).
The end result is a harmonious display but with greater resolution in the more important data. Very nice.
(The sample graph is from the day Steve Jobs announced his medical leave from AAPL. Usually after hours is quite boring.)
Web surfing with U-Verse was getting annoying. I was regularly getting pages that would mostly load, but were delayed from 5 to 20 or more seconds in rendering because some elements failed to load. Noticing that the worst pages were ones with large numbers of DNS names to resolve I swapped my U-Verse supplied DNS server for OpenDNS and things became much faster. (I since swapped that to my own local bind9 because OpenDNS kept hijacking my web sites, this is also fast.)
You can see on my “time to ping google” network check exactly where I
changed DNS away from AT&T’s servers.
Odd points to ponder: the DNS for www.google.com has a 5 minute life, short enough to expire between tests, but you’d think have it in cache from other client use once in a while. There is an odd quantitization in the earlier data for which I have no explanation. The other ping test running at the same time, by IP directly, does not show this effect and does not show a change at the DNS change.
******Moral:** Don’t trust your ISP for anything but packets in and out, and suspect they will screw that up too.
Note: This may or may not affect your U-Verse. I suspect they have many DNS servers and perhaps they aren’t all lame, or perhaps they have a throttling policy or something and they are all lame. Only you will know.
Today I challenge Google. I have placed a pair of google ads in the right hand column. Let’s see if Google can figure out what my depository is about. If Google chooses a coherent category for ads, I’ll replace the page subtitle with their impression of this site.
So far I’m a little insulted. They are pushing… how to say without using the word… “spectacles to protect your vision organs”, and “graphic designers”. I don’t think they care for my look.
I find myself missing a flow of control construct in C. Let’s say I want to locate a value which might come from a number of sources then do something with it.
if ( code == 36) value = 99; else { // a bunch of code to see if it is
in the cache if ( code_in_cache(code)) value =
code_from_cache(code); else { // notice how each place I have to look
is //accumulating nesting?
… }
}
If I were willing to split the code into a separate function I could
just use return
e.g.
int gratuitous_function( int code) { if ( code == 36) return 99;
// a bunch of code to see if it is the cache
if ( code_in_cache(code)) return code_from_cache(code);
// notice how I am not accumulating nesting?
…
}
That is better, but I don’t like breaking the linear flow of the program and it is likely that the function will require access to many of my local variables making a complicated interface. Worse, I may be setting several values and that gets ugly.
I generally try to cope like this…
do {
if ( code == 36) { value = 99; break; }
// a bunch of code to see if it is in the cache
if ( code_in_cache(code)) { value = code_from_cache(code);
break; } // notice how I am not accumulating nesting? … } while(0);
That works fine until I locate the value inside a for loop, then the
break
will take it out of the for loop.
I think what I really want is a named block…
block foo {
if ( code == 36) { value = 99; break foo; }
// a bunch of code to see if it is in the cache
if ( code_in_cache(code)) { value = code_from_cache(code); break
foo; } // notice how I am not accumulating nesting? … }
I guess I could always be a barbarian just use a goto
and a label.
I installed SLOCCount today on my development machine. You can run it from one of your source directories like… sloccount *.[hc] … and it will tell you not only how many lines of code you have but what it may have cost to write them. So far I’ve written \$15k of code today. I can’t find the right command line option to get it to deposit that in my account.
Since I last wrote on the topic, Into the world of Virtual Hosting, I’ve split my server into two with this part being on a new virtual hosting operation. I chose RapidXen because it has IPv6 support, and is cheap. I’m using a 128M RAM/10G disk package for \$83/year, which is about the same as my 64M/2.5G package over at VPSLink.
One person regularly corresponds with me using Hotmail. I’m frequently amused at the odd non-sequiturs at the end of his sometimes delicate email.
Lately though, the Hotmail graffiti ads don’t even make sense.
For example:
Send e-mail anywhere. No map, no compass. Get your Hotmail account now.
Because I need maps and a compass to use gmail? My Safari icon is a compass, should I not use Safari for Hotmail? Or is it a reference to paper mail where I used a map and a compass to post letters?
Or perhaps:
Send e-mail faster without improving your typing skills. Get your Hotmail account now.
Faster? My bits already move at about light speed, that can’t be it. Perhaps the delay between pressing SEND and when it leaves the sending computer could be a few milliseconds shorter. How many people sit down to deliberately improve their typing speed so they can send email faster? Who, other than spammers, even cares how fast they send email?
Bus error - founder dumped
That was a nice sixteen years.