Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/mwexler/public_html/tp/textpattern/lib/txplib_db.php on line 14
The Net Takeaway: Page 34


Danny Flamberg's Blog
Danny has been marketing for a while, and his articles and work reflect great understanding of data driven marketing.

Eric Peterson the Demystifier
Eric gets metrics, analytics, interactive, and the real world. His advice is worth taking...

Geeking with Greg
Greg Linden created Amazon's recommendation system, so imagine what can write about...

Ned Batchelder's Blog
Ned just finds and writes interesting things. I don't know how he does it.

R at LoyaltyMatrix
Jim Porzak tells of his real-life use of R for marketing analysis.






TreeMaps rock... · 03/31/2004 01:24 PM, Analysis

These are such a wonderful invention for data viewing. The most recent one I have seen is Newsmap, requires Flash.

I first saw these at Smartmoney’s Map of the Market as a Java applet. I was hooked; it was one of the first online-only services I was willing to pay for.

Others to look at:

Newsmap via Metafilter.


* * *


SPSS: Where's the Love? · 03/30/2004 01:56 PM, Analysis

Though there will always be debate, the big two players in windows-based statistical packages are SPSS Inc. out of Chicago and SAS out of RTP, North Carolina.

Now, SPSS and SAS have both been around for over ten years, and both have thousands and thousands of past and present users. But notice that SAS has user groups, conferences, and tons of web pages with free code and tips. SPSS has the continually weak SPSS site, the amazing efforts of Raynald Levesque, and the SPSS mailing list.

Where are the web sites of code and tools and tips? Where are the internal tips from employees explaining how things work, why they made decisions the way they did, and hints about what’s coming next? Where are the SPSS blogs? (Ok, there aren’t lots of SAS blogs either, so fair and square). I just wish there was more community support… though the mailing list is pretty good, and sometimes even gets real SPSS insiders to comment on posts and concerns.

I will admit, SPSS doesn’t scale like I want it to, but they (SPSS) are much fairer with pricing than SAS. In addition, Clementine was making “analytic desktops” before Enterprise Miner was just a t-test. So, while I will never forget my early days of SAS, for the moment, I am an SPSS player.

Which makes it all the more frustrating that SPSS are often so close to being the right tool, but not quite there yet. They still don’t treat the tool like the mix that it has to be:

That is, they need to continue to expand the SAX basic capabilities and the “spss syntax” commands, continue to expose the object model, and also meet the needs of users who don’t need to program.

They also need to be smarter with data prep: It took til version 12 to include a deduper. 12 versions to do one of the most basic things in any type of data prep?

They also need to allow threading and faster data runs. Data is only getting bigger, and I haven’t seen major speed increases from any of the table procedures over the last 3 updates.

Ok, lots more to talk about SPSS, Clementine, and other tools like Statistica soon…


* * *


Separated at Birth? · 03/30/2004 12:35 PM, Trivial

Saw The First $20 Million is the Hardest, a movie based on Po Bronson’s book. Among other things, had Heather Paige Kent as a typical VC player. What’s surprising is that she is the splitting image of Angel’s Charisma Carpenter. I guess that after a while, everyone in Hollywood starts to look alike.


* * *


Read My Stuff! Read My Stuff! · 03/29/2004 12:05 PM, MetaBlog

This title is a salute to “The Critic”. In one episode, Jay has a cardboard standup to promote his book, which keeps whining “Buy My Book! Buy My Book” (More here and wav file).

I was reminded of this recently when a blogger I’ve enjoyed reading for many years dropped off my RSS readers. Derek Balling has been on the rampage to have people read his work only the way he wants them to: Namely, not through an aggregator which also has advertising. If you want to read his work, either use a desktop aggregator or visit his site.

I am probably simplifying his argument, and he really believes in it, so perhaps its worth reviewing. In any case, it also has nods to all the “deep-linking” and “search engine caching” cases, where people want to still have their cake after eating it (and sharing it with the crowd).

I tend to not use desktop aggs anymore. Bloglines is wonderful, and I have tried the reader as well. Bloglines will no longer carry Mr. Balling, and he now actively blocks Yahoo and LiveJournal.

Now, its his content, and he is paying for bandwidth, so having fewer readers is probably less costly for him. But what’s more important: Getting it out there, or getting site hits? I think he would say that both are important, BUT if others are making money off of his conent, he should be making that cash, so either license his content, or visit the site (creating money via googleads).

The problem, of course, is that, to be honest, Bloglines isn’t making any money off of his content, and neither is Yahoo. So, while I hope his site makes him money somehow, I don’t see Yahoo or Bloglines or LiveJournal taking any away from him. Is it really a zero-sum game?

I guess it’s a matter of principles, and I fully support someone’s willingness to stand up for what they believe in. Its just that I won’t be reading Mr. Balling very often anymore, and that’s too bad. His content is good, but if it doesn’t fit in my reading pattern, it loses.

It is terrible how the inconvenience factor outweighs the utility factor. But then again, isn’t that why we all drive on the traffic-laden highways rather than take the train? Convenience just seems to win over value time and again. Sucks, don’t it?


* * *


Things I don't get about Java, Pt. II · 03/29/2004 10:59 AM, Tech

Swing. Wow. Guis are tough, no question there. And Swing has the same issues, in many ways, that TK or the Win32 gui or X has:

And among experts, for all Swing’s faults (yet another look and feel, slow, Matt Stevens mentions some good ones here), Swing is considered not so bad.

But as Matt points out in item 7, Swing does need to be simpler. I can put together a menu bar, and a text pane and a few other things… but getting them all to work consistently while adding features is just a nightmare.

We need some simpler widgets which do many of the basic things we need. I shouldn’t have to worry about all the details: Scroll bars should be automatic. A default model should be relatively full featured so I don’t have to replace with my own. “Standard” app templates (menubar, toolbar, pane, scrolls, MDI if necessary) should be a command away.

There are some attempts to make things easier, but they all rely on the programmer having done all the prep work already, as if you were going to make the Swing GUI, but wanted to type less. I want the details hidden unless I need them. (Laaaahzy!)

Also, having tried the Sun Swing tutorial (The Swing Trail, the free book by Manning, and countless other tutorials (Head First Java still makes the most sense), I still say it just seems harder than it needs to be. Or perhaps I just don’t think “MVC” enough.

Okay, enough whining. How do we fix it?

Some useful swing places to learn more:


* * *


Great CSV File Tool · 03/29/2004 10:22 AM, Analysis

From that category of software that just does what you need it to do comes CSVdb 4.4.1 (about halfway down).

We often are handed data or extracts and its in a difficult to use (or completely undocumented) format.

Lots of people like to use Excel to open CSV or Tab-delimited files, but that’s a huge mistake. Excel has some auto-formatting tricks which will bite you when you least expect it. The classic case is ZIP codes, where the leading 0 is often dropped. (Yes, the better way to have ZIP codes is as a string/varchar, not a number, which would mean quoting in the file, but not everyone is as smart as you, so be nice). Other issues include the 65,536 rows by 256 columns limit, the 255 characters per cell limit, etc (BTW, these are all in the Excel Help; search for “limits”).

So, you gotta look at or modify a file, and you need to do it somewhat visually and/or you can’t write Perl or Judoscript. What to do? Well, CSVdb is a Delphi windows app which is basically a CSV grid with lots of tools on it. You can open the file, search and replace, modify layout, merge columns, sort, all the good stuff, and then output with new delimiters if you wish.

It uses virtual memory for large files, it can dedupe, it can export into word or html… the list goes on. Very cool.

Are there problems? Sure, its somewhat slow (blame Borland), and its not open source. But its cardware, so that price is totally fair. A very, very useful little app.


* * *


Things I don't get about Java, Pt. I · 03/28/2004 05:04 PM, Tech

For example, the classic is the car.

auto mycar = new auto;

We expect this to change the state of the car. But now…
is a method nominally acting on the car but in reality leaves the car alone and changes everything else around it.

Ok, don’t like that? Try this one from the Java NIO library:
(Using examples from Java Developers Journal, Feb 2004, Page 43-48,
It makes sense that buffer.put(data) copies data into the buffer. We are acting on the buffer, and putting into it. “data” is not touched, its just a parameter.

Oh, wait, that’s wrong. buffer.get(data); goes the other way. Now, buffer is untouched, and data is overwritten. Now, silly me, wouldn’t it make sense for use to see data=buffer.get? Sure, not consistent for put vs. get, but clear how they act.

So, basically, you have an object, you call a method on it, that method may or may not change the object, may or may not change the parameter, and may or may not return anything of value for use in assignment. Flexible, or just inconsistent… you make the call.

You know, back in the bad old days of basic, things changed when you assigned new values to them. It was clear what was changing, who was changing it, and what was driving it. In this new version, you have to be a mind reader to understand what is being changed by a statement.

Comments? [2]

* * *


GIMP hits 2.0 · 03/25/2004 01:34 PM, Tech

While it still can’t pass the “mom-test”, this version is much, much easier to use. For those who don’t know, GIMP is the open-source world’s attempt to provide Photoshop functionality. While its still not there, it is much more powerful than the average freeware graphics editor.

Press Release (in PDF)
The Gimp


* * *


Mark Rittman explains Oracle Bind Variables · 03/25/2004 11:50 AM, Database

In another of Mark Rittman’s fantastic articles, he explains Oracle’s Bind Variables, how and why to use them, and gives simple examples. As always, a good read.


* * *


Groovy: Agile my a... · 03/24/2004 10:59 PM, Tech

I don’t get it. Groovy seems like such a nothing language. It focuses on the most esoteric of features to try to make life better. It’s syntax is supposedly “java-like” yet they emphasize closures, which are part of python and ruby, and not really very java-like at all.

Look, I know that “agility” is part of the “extreme programming” fad, but let’s be more pragmatic. An agile language should meet two basic needs of agility:

  1. Let me code quickly to solve a problem with minimal typing and “cleverness”
  2. Let the language do the work, not me

Judoscript meets these needs admirably. Obviously so does Perl, and to some extent, Python (though I can’t seem to wrap my head around that one either).

  1. The syntax is ecma/javascript based. If you can code in Java, you can code here. the “syntactical sugar” is around eliminating silly busy work, like setting up iterators or collections
  2. Even better, the language has lots of useful features built in to solve real problems, not esoteric language issues. For example, a TableData structure focuses on a table of data, and a little reporting command gives easy ways to play with it. Sure, we could dupe this with arrays, etc., but why should I? I let the langauge handle it for me!

So, I don’t get it. Now that Groovy is up for official lanaguage of the 2004 Javalympics, its even more likely that people will think that Groovy is the right direction for Java Scripting.

They couldn’t be farther from the truth. Judoscript is where we need to be heading: Languages which give the power of Java in an easy to eat package…


* * *


On a previous episode...

powered by Textpattern 4.0.4 (r1956)