« September 2003 | Main | November 2003 »

October 30, 2003

TIA2: The MATRIX

From a message on PolitechBot (which seems to have been sent only to the list, not to the web page):


Date: Thu, 30 Oct 2003 16:11:05 -0500
From: Barry Steinhardt
To: Declan McCullagh
Subject: The MATRIX: TIA Reloaded


Declan,

Politech readers may be interested in an "issue brief" we've just released on "MATRIX, -- Total Information Awareness Reloaded." The Matirx is the state level data-mining program being funded by the Federal Government, which bears a striking similarity to the now defunct TIA. We've also filed "Freedom of Information Act" requests with five states and the Federal Government seeking the details about the program.

http://www.aclu.org/Privacy/Privacy.cfm?ID=14240&c=130

Regards,

Barry Steinhardt

Director Technology and Liberty Program
American Civil Liberties Union
125 Broad Street,NYC 10004


[EDIT: fixed line feeds]

Posted by Dan at 03:50 PM | Comments (0)

Spam Comments part 2

My initial intention was to throw together a quick and dirty hack that would see if my concept would even work, that is piping an MT comment through SA or DCC. The failure in this process has proven to be my lack of understanding in Perl and/or the MT plugin architecture, and resulted in a 30 minute hack to a 5 hour exploratory adventure.

There have already been a few revisions on this idea. Originally I had planned to make a MTSpamComment tag that would wrap around the current MTComment tags. While an interesting idea, I realized this isn't really flexible enough so I moved towards implementing a global filter. This way you can change the <MTCommentText> to include the optional variable spam_compare=1 > and you could potentially include it anywhere else (maybe Trackbacks). This would work all fine and dandy, but I seem to have hit a snag where my knowledge of the MT plugin system, and the mechanics of Perl have broken down to sheer chaos.

First question becomes, is anyone aware of a means with which to debug what might be wrong? Maybe I've been spoiled by my recent dive into GDB, but for some reason I have to believe that there is a more descriptive error message than:

[Thu Oct 30 09:08:34 2003] [error] [client 151.196.45.74] malformed header from script. Bad header=Possible unintended interpolat: /usr/local/www/cgi-bin/cgiwrap that exists for the MT Plugin system. You can see the simplistic Perl code in the extended entry (thats about all that's there). This is almost enough to convince me to move to Serendipity.

[EDIT: corrected HTML tags]

I figure I may as well share what I've been doing code wise too, since it will probably help make things a bit easier to understand. You'll find better Perl code in this world, I've never claimed to be a Perl hacker (C and PHP do everything else I need).

package MT::Plugin::CommentSpam;

use MT::Template::Context;
use MT::Comment;
use dccifd/dccif.pl

my $fuz1 = 10;
my $fuz2 = 10;

MT::Template::Context->add_global_filter(check_spam => { &spamc } );
MT::Template::Context->add_tag(

sub spamc {
my $text = shift;
my $curr_tmpl = shift;
my $arg_value = shift;

switch ($arg_value) {
case 1 {
@proc_args = ("dccproc", "-Q", "-H", "-i", $text);
system(@args) == 0 or die "system @args failed: $?"

/* now check for the resulting changes in $text */
if (($text =~ /\bFuz1=many/) ||
($text =~ /\bFuz2=many/))
$text = "This comment has been deemed to be spam";
if (($text =~ /\bFuz1=$fuz1/) ||
($text =~ /\bFuz2=$fuz2/))
$text = "This comment has been deemed to be spam";
last }
case 2 {
// future work for Spam Assassin usage
last }
};

return $text;
}
1;

Posted by Dan at 06:36 AM | Comments (0)

October 29, 2003

Blog Spam

Thanks to Kyle for pointing out that one blog spam comment did make it through despite my best efforts to not allow this. I've been reading about the rise of blog spam for awhile, and some of the current ideas on how to battle this or what it might even look like.

Unfortunately I don't think it's going to go away anytime soon, but I think an MT plugin that handled comment spam would help. For example take each incoming comment field, pipe it through Spam Assassin or DCCd and give it a procmail like examination. I'm sure the hack for doing this could be easily accomplished if my Perl skills were of any quality type. I personally don't see a difference between spam email and spam comments, except for the fact that spam comments have no useful headers. Hrm, maybe I will try hacking up a quickie test...

Posted by Dan at 08:49 PM | Comments (0)

October 28, 2003

Panther and PHP

To those wondering or worried, it seems that the next PHP 4.x release will allow the building of Panther out of the tarball. As will future release of PHP 5 snapshots (I don't believe that Beta2 was able to get the fix in time).

Regardless the fix is pretty easy for those of you who want to try it. Set the CPPFLAGS variable before configuring, giving it the option "-DBIND_8_COMPAT" (minus the quotes) and you should see it compile. This should also work for older versions of PHP and Panther mixed.

Other points of note on Panther based builds of PHP to realize include the fact that IPv6 support does not exist in the 4.x release tree. There should be support for it in the PHP 5 branch though. The main reason this isn't being included in the PHP 4.x branch at this time is we are unable to assure that this change won't break things on other platforms. The issue at hand was, under Jaguar (and earlier) the system would verify that it had a IPv6 system, but when there were attempts to use it, the inet_pton() function was missing. The simple solution was to limit OS X to IPv4 until Apple fixed this. They did in Panther. Unfortunately to now fix this in the PHP source requires changing the code from a #if /***/ && !defined(__MacOSX__) to a #if /****/ && defined(HAVE_INET_PTON), it's the configure test that we're unsure of (and it's mostly under Solaris that we're not sure about). If you can test the PHP5 head snapshots on Solaris we might even be able to port this patch back, that is if we can convince Ilia it's safe.

Posted by Dan at 01:45 PM | Comments (0)

People

Not to increase his own ego or anything of the sort, but it seems that Lisa was sent some photos of little solider boy OConnell. Good to see that he's still alive and functioning over in Iraq.

Posted by Dan at 10:45 AM | Comments (0)

October 19, 2003

Car Fun

This article from the Online Sun is just odd, frightening, and funny at the same time. I'd like to know how you could argue against such a ticket.

Posted by Dan at 07:09 AM | Comments (0)

October 18, 2003

Presentation: AODV

I had an opportunity to hear Charles Perkins discuss his thoughts and research on implementing mobile AdHoc networks (manet for short). Unfortunately, I believe most of the interesting details within his talk were missed due to time constraints (he blasted through about 20-30 slides). As such this will more than likely be an extremely lame write up about the discussion, which as a whole was rather interesting.

To begin with, mobile networks have a major challenge that includes link stability. Thanks to the nature of mobile devices, you can't completely depend upon the same route all the time to send your traffic. Further more, because these devices (mobile phones in this case) have a limited battery life, you cannot use many of the standard means of identifying a valid next node (broadcast, etc). The recent push has been to create a distance vector routing protocol better known as RFC 3561, or AODV. There are currently a couple candidates in contention to be the recommended protocol, but we only got to hear about one of them (unfortunately).

Some interesting challenges were brought up, mostly those unseen. For example, to test these networks, the simulation tools originally used would not work. After many hours of hacking on another simulator, they were able to simulate a 10,000 node network. The next step is a 100,000 node network as I understand it. The idea of inserting a base station to the network, and shown how it alters the network functionality/topology.

Posted by Dan at 04:35 PM | Comments (0)

3 month notice

I've been given the 3 month notice. It's time to find a new job. Any good suggestions for places to apply to?

Posted by Dan at 09:15 AM | Comments (2)

October 14, 2003

Operators in PHP

There's an odd conversation about a proposal to add a new operator to PHP for regular expressions. To start things off, I don't like regex's at all. I find them useful for some tasks, but overall, they're confusing, bulky, slow, and just a pain in the ass to debug.

George basically summed up my feelings towards the whole thing with this post:


Now _that's_ the best idea so far! I actually propose a set of operators

=~ PCRE
=-) POSIX (happy, because there on every system)
>={ strstr (evil, because it's confusing - which is needle, which is haystack?)

Posted by Dan at 01:06 PM | Comments (0)

October 10, 2003

Couple Points

A few quick things to throw out to that I need to mention.

First, it seems Panther's release is only a short period away. I am excited, you should be too. Now to see if I can get a copy of Panther.

Second, thanks to all those who came out and joined me in a birthday celebration, and to those who've emailed me their best wishes. A couple other wishes out to Marisa, George, and the yet to be Bob.

Third, Kill Bill Vol1 is out today. Given Tarantino's appreciation for Hong Kong style cinema, this should be either a really great tribute to those films, or just a truly bad mockery. I'm voting for the great tribute option.

Posted by Dan at 02:21 PM | Comments (0)

October 07, 2003

CD protections

While scanning through my daily news reading, I came across this tidbit today from CNet News.com. Essentially this tells how holding down the shift key disables the Windows auto-run, thereby bypassing the copy protection scheme put into place by BMG Music to stop the CD from being copied.

First off I find this to be a really really dumb idea, because the basic premise is that a generic media (CD) is now being limited to Windows capable machines only. If that's not really the case, then I fail to see how this CP system was even going to work originally. But the part that gets me really annoyed is the following quote:

"This is something we were aware of," said BMG spokesman Nathaniel Brown. "Copy management is intended as a speed bump, intended to thwart the casual listener from mass burning and uploading. We made a conscious decision to err on the side of playability and flexibility."

They're worried about the casual listener? Isn't this the same person who already purchased the CD, paid the outrageous pricing scheme, and is now happy just to hear their music?!?! Honestly, out of the people doing the music ripping, it's not the casual listener you need to worry about (average joe inserts cd at work, takes home with them), but rather the person willing to work to bypass these stupid CP mechanisms.

Posted by Dan at 11:13 AM | Comments (0)

October 04, 2003

15 Mins Of Fame

I've always been fascinated by the application of technology to everyday life, and even more astounded by the ways artists have been able quietly inject technology into pieces without others noticing. When Dr. Franc Solina was passing through, it was with great interest that I stopped in to hear his lecture on "15 Seconds of Fame", the process of integrating art and technology in a real-time tribute to Andy Warhol.

The project title itself is a play on words to a statement that Andy Warhol created ("In the future everyone will have their 15 minutes of fame"). Dr. Solina's group mounted an LCD screen into a picture frame, positioned a camera above, snapped photos every 15 seconds, and then displayed them on the screen itself after some "pop art" processing ala a Warhol portrait. Sounds simple, right?
The challenge became ensuring that only faces can appear on the screen, and with that challenge came others. Such as ensuring significant lighting to extract faces, not selecting the same person/location each time, and checking to see if enough facial features were present to use the image. The end result isn't an astounding break through of art, the "pop art" coloring is nothing terribly new really. The application of the underlying technologies is what thrilled me.
More importantly, according to Dr. Solina, the crowd interaction with the piece has been entirely different than what was expected. For example, originally there was no design/consideration that someone might want to keep a copy of their image, but high demand has added that as an option. The fact that the facial recognizer tries not to select a face from the same region each time adds an element of competition and frustration to those trying to be seen on the screen.
My only concerns with this project came when Dr. Solina stated that the images are collected and stored in a database for future facial recognition processing/testing. This concerns me as a privacy advocate, but none the less doesn't discount the overall effect of the work. If you have a chance, I'd certainly suggest going to check it out. If at the very least for the public response to it.

Posted by Dan at 09:48 AM | Comments (0)