58 F
Los Angeles
Sunday, May 19, 2024

Trump Lawyer Resigns One Day Before Trial To Begin

Joseph Tacopina has filed with the courts that he will not represent Donald J. Trump. The E. Jean Carroll civil case is schedule to begin Tuesday January 16,...

Judge Lewis A. Kaplan Issues Order RE Postponement

On May 9, 2023, a jury found Donald J. Trump liable for sexual assault and defamation. The jury awarded Ms. Carroll $5 million in damages. Seven months ago,...

ASUS Announces 2023 Vivobook Classic Series

On April 7, 2023, ASUS introduced five new models in the 2023 Vivobook Classic series of laptops. The top laptops in the series use the 13th Gen Intel® Core™...
StaffIncremental BloggerTony Faustini on OCUR and Lucid recollections

Tony Faustini on OCUR and Lucid recollections

Tony Faustini, of Microsoft’s Silicon Valley Media group, is interviewed by this french site about the forthcoming OCUR standard for Media Center PCs. (Google-provided English translation here.)

Why do I point this out? Two reasons.

First, I’m looking into setting up a Media Center Edition and I learned at Mix 06 that I ought to check out some of the new HD capabilities coming soon. And Tony talks about the new OCUR (Open Cable Unidirectional Receiver) standard built into the CableCARD-ready Media Center PCs. The jist of it is that you’ll be able to connect your cable directly to a box connected to the computer or embedded within it and get HD. All of this is targeted for the Vista time frame.

Second, Tony was one of my CS professors at ASU. His research centered around rethinking programming languages. In particular, he was known for his interest in data flow languages and at the time a language called Lucid.

Lucid tried to challenge the way you think about programming. It’s not a step-by-step procedural language like C++ or CSharp. Nope. Instead you think in terms of infinite streams and writing filters that manipulate them.

A Lucid block of code might look like:

x
where
x = 1 fby x + 1
end

In English this says, a “stream” called x starts at 1 and increments by 1 each iteration (fby means “followed by”).

I was never very good at writing a Lucid program. I couldn’t break the procedural habit, but a few things stuck with me.

When I take notes, for instance, I often write “fby” rather than “followed by.”

And when I’ve experiment with languages that describe the processing of image streams (one of my other hobbies), I keep coming back to using “where” clauses–similar to Lucid’s–that specify what operations should apply to a given image. I often use “lazy” arrays too–another Lucid implementation trick–which only keep track of what’s needed to process a statement. For instance, when differencing consecutive image frames you may only need the current frame and the preceding one. That’s all. So there’s an image at time t and an image at t-1. The rest of the “array” doesn’t exist yet or is discarded. If a function needs four frames, then it only has to keep an array or queue of four images. Other data structures can work the same way. You just keep a history long enough as you need.

Loren
Lorenhttp://www.lorenheiny.com
Loren Heiny (1961 - 2010) was a software developer and author of several computer language textbooks. He graduated from Arizona State University in computer science. His first love was robotics.

Latest news

Related news