| |
 |
Thursday, June 13, 2002 |
MNSUN - News: "Bloomington man finds 8-foot python on Bass Ponds hike "
3:45:59 PM
|
|
Running SpamAssassin under OS X. I've been using SpamAssassin for a week or so, ever since the WELL switched it on on their mail-servers. It is fantastic. I get in excess of 1,000 emails every day, and more than half are spam, and SpamAssassin just nails 'em. I get one or two false-positives a day, tops, and only two or three false negs. It's made my life livable again.
But what do you do if you don't run your own mailserver? Well, if you're running OS X, you can install SpamAssassin locally and have it prune your mail on your own computer. Ben "Movable Type" Trott has written an excellent tutorial on running SpamAssassin under OS X. Link Discuss (Thanks, Merlin!) [Boing Boing Blog]
11:05:37 AM
|
|
CNet. Sanctioned music download services cut prices (Universal cut online album prices to $9.99) and ease restrictions on use (CD burning allowed). This is only the start of a inevitable to $2 albums. I suspect that once they reach that point, people will dump KaZaA and buy music in bulk. Why? Quality and availability. Also, at that price, it is less expensive to download neatly categorized music than spend the time ripping music from CDs you own.
All I can say to the big labels: get efficient quickly. You have to cut costs and boost productivity to sell music at that price. [John Robb's Radio Weblog]
7:49:11 AM
|
|
Sam pointed out that Dr. GUI has put up Part #6 of his .NET series: "Arrays in the .NET Framework".
He covers a lot of good stuff, but the most important thing I think he points out is how allocation differs between value types vs. reference types. He also mentions how Array implements IEnumerable and that you can foreach/For Each it, however it's important to note that you can actually get better perfomance by for'ing the array manually, like so:
for(int index = 0; index < myArray.Length; index++) { object o = myArray[index]; ... }
Not only does this avoid the overhead of IEnumerable and IEnumerator, but it also takes advantage of a little known Microsoft JIT trick which optimizes away bounds checking on the array. The only place I've ever seen the afforementioned JIT optmization documented is here in this article under the section titled "Use For Loops for String Iteration—version 1". From the section:
"The JIT is smart enough (in many cases) to optimize away bounds-checking and other things inside a For loop, but is prohibited from doing this on foreach walks. The end result is that in version 1, a For loop on strings is up to five times faster than using foreach. This will change in future versions, but for version 1 this is a definite way to increase performance." [Drew's Blog]
7:38:52 AM
|
|
© Copyright 2003 Clarence Westberg.
|
|
|
|
|
 This is my blogchalk: United States, Minnesota, Bloomington, West, English, Clarence, Male, 51-55.
|
|