Preston L. Bannister { random memes }

2004.06.27

NPR – National Jewish Public Radio?

Filed under: Politics — Preston @ 5:07 pm

First, let me be very clear that NPR has since the 1980’s been and remains one of my favorite sources of news (at least when driving). One of the first things I do after buying a new car is preset the radio for KCRW (the local radio station that carries NPR). At the same time I have no illusions – NPR is bound to have a bias of one sort or another, just like every other form of mass media.

Guess I’m a little slow, as only after years of listening did I notice the coverage of the Middle East was way out of proportion.

In listening to NPR I have become very tired of hearing about Israel. Based on their coverage you might think that somehow Israel was the most important place on the planet. For example: search NPR for mention of Israel.

The results show an item almost every single day! Folks, there is just not that much of significance happening there – it is pretty much the same old tired dance for the last twenty years (or more). Once a week coverage would be more than adequate.

Far too often they have coverage of nothing of importance. I heard a classic example a few months back. They had a report where two voices speculated about what might happen at a meeting that was going to occur the next day between to minor figures – where nothing of importance was expected to happen.

Um – hello – so just why did this merit national attention in the United States?!?

Perhaps out of sheer listener fatigue, I have a hard time caring above the future of Israel…

Searching on NPR jewish bias turns up quite a sideshow.

Safer with Mozilla

Filed under: Web — Preston @ 10:55 am

Ken Dunham, director of malicious code at iDefense Inc.(?) cannot have made Microsoft happy. Check the last paragraph in MS issues warning on Web attacks, pushes XP SP2 beta.

I heartily agree, though mostly just because Mozilla is in fact a better web browser.

Social engineering

Filed under: Web — Preston @ 10:51 am

Slightly amusing.

An example of a “social engineering” attack. I received the following with decoration from MailScanner that (naturally) tagged the message as containing a virus. Note that “The Bannister.us team” would be me :) .

Dear user, the management of Bannister.us mailing system wants to let you know that,

Some of our clients complained about the spam (negative e-mail content)
outgoing from your e-mail account. Probably, you have been infected by
a proxy-relay trojan server. In order to keep your computer safe,
follow the instructions.

Pay attention on attached file.

In order to read the attach you have to use the following password: 62715.

Have a good day,
The Bannister.us team http://www.bannister.us


This is a message from the MailScanner E-Mail Virus Protection Service
----------------------------------------------------------------------
The original e-mail attachment "Message.zip"
was believed to be infected by a virus and has been replaced by this warning
message.

If you wish to receive a copy of the *infected* attachment, please
e-mail helpdesk and include the whole of this message
in your request. Alternatively, you can call them, with
the contents of this message to hand when you call.

At Sun Jun 27 09:57:13 2004 the virus scanner said:
Message.zip contains Worm.Bagle.Gen-zippwd

2004.06.26

ACDK

Filed under: Software — Preston @ 12:32 pm

ACDK is an interesting bit of work that does not seem to have attracted a lot of notice.

Since I do a fair amount of cross-language coding, am looking to build in support for scripting (for a Windows-based product), and am aiming to migrate the product from Windows-only to something more portable – for this entire collection of reasons ACDK is an interesting bit of work.

2004.06.24

Why open-source Java?

Filed under: Software — Preston @ 11:25 pm

A good argument for open-sourcing Java at: The Cliffs of Inanity.

There are other arguments.

A crossroads in software development.

Filed under: Software — Preston @ 11:24 pm

The article What The Perl Community Needs Is a Good Enema gives me hope things might break loose in a useful way.

I really like Perl for some sorts of problems, and the CPAN library is wonderful. I really like Java for other sorts of problems, and the amount of available stuff in the Java world is amazing. Too bad these two worlds are so isolated, as it would be even more effective if you could call Perl directly from Java (and the reverse).

In fact with enough contortions it is possible to call between Perl and Java – but I’d not use “easy”, “graceful”, or “elegant” to describe the result.

The Microsoft folks really do have the right notion with the “Common Language Runtime” (CLR).

The Perl folks are off inventing their own virtual machine (“Parrot”). Why invent another virtual machine? Isn’t this just hubris? Why not use a JVM? At least the notion of calling between Perl and Java should end up easier.

OK, I know that Perl is open source and Java is not. Hopefully Sun will get around this hangup someday.

I know that Java bytecodes might not be ideal for Perl, though better JIT in JVM’s from Sun and IBM may negate much of that theoretic difference.

Virtual machines (today) and microcoded machines (in the past mainly) have a great advantage in that you can tweak or add instructions to suit your workload. At the time I was at Burroughs they realized that while the Large Systems microcode was ideal for ALGOL, must of their customers were running mainly COBOL code. After some benchmarks they had enough information to go into and slightly re-work the microcode to greatly enhance COBOL performance.

If both parties can get past the ego issues and work together, I believe we could see slightly enhanced JVMs that do a good job with Perl code.

Mis-labeled by the RIAA?

Filed under: Music — Preston @ 10:25 pm

Heard a bit of music on iTunes that I would to buy – but wanted to check that I would not be buying from an RIAA member. Turns out the not all the labels listed on the RIAA site are members, so how do I know who to avoid??

BTW – the video on iTunes associated with the above music is very, very good. If a music video can be “Art” then this one qualifies. (Got the link off another weblog – lost track of which).

Turns out there is a search site for identifying RIAA tainted music, and in at least one case I am a bit bummed, but can we trust the results not to give false-positives?

At least Iron & Wine (the source of the music above) is apparently clean.

Lisp and blurring the line between code and data.

Filed under: Software — Preston @ 10:17 pm

Seems Keith found my prior reference too obscure. I was assuming that a someone fluent would Lisp could draw the analogy without help, and folks unfamiliar with Lisp probably could not follow the analogy without way more writing than I have time to do.

On reflection, that left out the folks not yet fluent with Lisp, so Keith’s puzzlement is justified.

The Ada project at UCI took a brilliantly simple approach. A recursive descent parser translated the Ada source text into a parse tree. The parse tree was (naturally) a Lisp s-expression, and could be saved and loaded using the usual Lisp save/load functions. The interpreter, pretty-printer, and compiler methods were attached to the Ada parse tree node identifiers as properties. This made for very small code fragments that were very quick to write.

For example the calling the Ada interpreter was simply:

(ada-interpreter parse-tree)

and the code executed was like:

(ada-eval (getprop 'ada-interpreter (car parse-tree)) (cdr parse-tree))

The code fragment to interpret an IF statement might look like:

(cond
((ada-eval (car statement)) (ada-eval (cadr statement)))
(T (ada-eval (caddr statement))) )

(I threw out my UCI Lisp manual years ago, so the above is only vaguely correct).

The pretty-printer and compiler were similarly simple. The full-screen Ada editor (hot stuff at the time) ran the Ada pretty-printer to format the parse tree as the text to be edited, and on save ran the Ada parser to generate a parse tree from the text (and parse errors put you back in the editor).

The fact that the interpreter/editor/debugger were all components in the Lisp environment and readily extensible was a huge advantage.

In the Java world we get many of the same advantages. The Java compiler is simply Java code, and can be called by Java programs (though the overhead is higher). If you are using any of the Java IDEs with well-documented interfaces, it is possible to extend your programming environment.

In the XML world you get arbitrary self-describing data structures – a lot like data stored as Lisp s-expressions, only needing a bit more storage for the same data. XML is cool in almost exactly the same way that storing data is Lisp s-expressions was extremely useful. Walk an XML tree with a hash table on the side, and you get the same result as Lisp s-expressions with properties attached to identifiers in each node.

In a sense the Java + XML world is re-discovering some of the useful notions readily available to Lisp programmers twenty-odd years ago.

Next Page »