Via Wired News

Dinh: There has been a lot of hue and cry regarding specific provisions with USA Patriot Act that is predicated upon a misunderstanding. Once we engage in this national conversation that the president has called for, all the facts will come out, and we will see that the fears are unfounded.

WN: Is there anything that you would change about the Patriot Act in light of how it’s been implemented?

Dinh: I think the overall answer is generally no. I do, however, recognize that the act has been mischaracterized and misunderstood and has engendered a lot of well-meaning and genuine fear, even if that fear is unfounded. The issue is not one of substance but one of perception. But perception is also very important because we do not want the people, however many of them, to fear the government when that fear is unfounded.

Dinh, Assistant Attorney General of the United States of America, is talking about “national conversations,” “misunderstanding,” and “a lot of well-meaning and genuine fear, even if that fear is unfounded.” He’s confident this is all a matter of perception. It would seem to me that perception, when one is talking about a “national conversation,” must necessarily involve the media.

I decided to do a bit of poking around, and first found an article on this topic at CommonDreams.org:

In a conference call with network brass early yesterday morning, Condoleezza Rice, President George W. Bush’s national security adviser, warned that Mr. bin Laden and his followers may be trying to incite fresh violence against the United States.

She asked CBS, NBC, ABC, Fox and CNN to “exercise caution” in broadcasting statements from the world’s most wanted man and his supporters

Grilled by reporters at a press briefing in Washington yesterday, White House spokesman Ari Fleischer quickly deflected criticism that his government was trying to muzzle the media.

“It was a very collegial conversation,” he said. “At best, Osama bin Laden’s message is propaganda, calling on people to kill Americans. At worst, he could be issuing orders to his followers to initiate such attacks.”

“This is a request to the media, and the media makes their own decisions,” Mr. Fleischer said, adding that newspapers could be urged to show similar restraint.

It’s hard to find any information about how the White House is (or is not) interacting with the media. Interestingly, there isn’t full disclosure on this point—that is, FOX news doesn’t come out and say things like “We’ve been asked not to report on [insert topic here]“, nor do they say “We wanted to ask questions about [x,y,z], but were asked by the White House to avoid those issues.” The bin Laden tapes are some of the most public examples of the White House and news media agreeing “collegially” what will and will not be made known to the People of the United States of America. Backing up the CommonDreams.org article is a statement from CNN going on the record regarding how they will edit content for The People:

CNN said it would no longer air statements from al Qaeda live, and would review them first before deciding how to handle them.

“CNN’s policy is to avoid airing any material that we believe would directly facilitate any terrorist acts,” the network said.

Now, how do we know when the media has decided to throttle itself? How does the average consumer of the news know when the media is lobbing softball questions to Ari and the White House in the name of avoiding issues that they have been “collegially” asked to avoid?

This has been, and continues to be, my problem with an advertisement-funded news media that has no form of checks and balances. At the end of the day, the news must remain profitable. Therefore, the news broadcast from day-to-day must serve the bottom line, and not the people. Asking real questions and demanding real answers doesn’t do that.

Back to work.

This is a pure-rant post for me, and not much of a rant at that.

“[Our kids deserve] the very best teachers that money can buy.”

This statement just made me cringe. First, it brought to mind the old joke where the punchline is, “Madam, I belive we’ve established what you are. Now we’re just haggling over price.” But more importantly, are the best teachers really those that come at the highest price? Can you, in fact, “buy” teachers? And further, doesn’t this statement lay any perceived failures squarely at the feet of teachers, and teachers alone, yet again?

It always sounds good when candidates for office say that education is important to them. Education is important to me, too. But in my opinion, it’s just a “feel-good” soundbite. While no one has a magic formula to ensure that students learn, the people making these statements rarely have ANY knowledge about what works and what doesn’t in education.

Holly is responding to political ads, and how education (like every other substantive issue) becomes vacuous in the game of political football that takes place this time of year. While it may be a feel good sound-bite, it does hit a few issues for me:

  1. I love the experiences I’ve had mentoring high school students and doing outreach projects with middle schools; the longest-running project of this nature I’ve been involved in lasted a full semester, linking my class via various distance ed. technologies to a class of high school students over two hours away. But there is nothing about the bad politics, low pay, and lack of respect high school teachers receive that makes me want to teach in one.
  2. While there is no magic formula, I do think small class sizes and parents who actively participate in their children’s education will make bigger differences than any standardized test or Super Teacher you can buy. If you really want to see that No Child is Left Behind, then you should make sure that No Parent Is Screwing Up. Accountability where accountability is due, please.

But the rant gets better! (Or, it links in more of the websites that I regularly read…) Chief WatchPuppy Matt Lavine points me to this tasty tidbit!

Education Secretary Rod Paige called the nation’s largest teachers union a “terrorist organization” Monday, taking on the 2.7-million-member National Education Association early in the presidential election year.

He said he had made clear to the governors that he was referring to the Washington-based union organization, not the teachers it represents.

Weaver dismissed Paige’s distinction between the union and its members. “We are the teachers, there is no distinction,” he said.

(via The Billings Gazette, running an AP newswire story)

Ah. Well. Good. Excellent. Talk about incentive. Even if I interviewed for a teaching position in the US, the fact that I’ve lived abroad might make them think I was attempting to join an Educational Terrorist Cell.

In related news, I received my absentee ballot for local elections back home… today. I need to get my ballot back for the Primary elections by… Tuesday, March 2, 2004. They mailed it 3rd class three full weeks ago.

Bastards.

The series Grand Theft Auto may be notorious for its violence, but there is one feature about the game that I think is just excellent: the music.

The point of the game is to become the baddest drug dealer in town, and along the way you steal (and crash) cars constantly. That’s the predominant game mechanic: walk up to a car, push a button, you get in it. You spend most of your time while playing the game driving around in cars of one sort or another.

Every time you get in a car, the radio turns on.

The game has… six? Maybe seven radio stations. Each radio station has around an hour of unique tracks it will play, plus wacky little segue spots by DJs. And almost all of it’s from the 80′s. And it rocks.

Queueing up those seven “radio stations” in iTunes makes for a good couple of hours of background for programming to. I mean, as long as you’re going to spend your entire week—and weekend—hacking code, you might as well have some fun music occasionally.

Not that you were particularly concerned, but I’m listening to Your Love from the album GTA Vice City O.S.T (Volume 4, Flash FM) by The Outfield. A serious one-hit wonder if I’ve ever heard one, but what a way to go.

I discovered Holly Henry-Pilkington’s weblog after she left a comment on mine. I must admit, anyone who swoops in and leaves a substantial comment (still waiting for it’s reply) that ties in educational theory and IT, linking back to a weblog reflecting on objectivism and constructivism is quick to make my “interesting read” list.

Perhaps I’m not selling others on reading her weblog very well. I mean, if you enjoy that kind of thing…

I’ll have to come back to some of the theoretical bits; yesterday, something caught my eye:

If I struggle sometimes with articulating the theoretical details properly, I hope that any larger community of readers beyond the community represented by my academic program will both feel as free as my academic community to add their thoughts to the discussion

I don’t yet know what makes a good “research journal”-style weblog. Perhaps the medium is inappropriate for it. I know I haven’t used mine to present much work-in-progress, while it has long been my intention to do so. In contrast, my two recent posts on a student’s struggle with syntax highlighting have actually led to an idea for a research study. Is it earth shattering? No. Has the study been carried out before? No. Have I posted it here yet? No. Will I? Yes.

Regarding what others think, I’ve tried to take the attitude that this space is mine. I’m free to say intelligent things, or make an ass of myself… anything I want, really. I get feedback from the two or three people who read what I have to say—or I don’t, but I figure they’re reading and thinking. As often as not, this space is a place where I can point people to my work to catch them up on new ideas and developments, which is a valuable part of academic discourse. (Actually, I use Google as my personal database, and use this weblog to store ideas I want to come back to later. But don’t tell Google!)

So, to answer Holly: Keep writing! If anyone ever steps in swinging and tells you you’re wasting your time, way off mark, or full of sheep, take the manure for what it is: fertilizer. Grow something new and good from it; just try and ignore the smell.

Scheme is a relatively small language with strong ties to the lambda calculus, an algebra developed by Alonzo Church for describing the application of functions to their arguments.

occam is a small language with strong ties to CSP (communicating sequential processes), an algebra originally devised by Professor Sir Tony Hoare for describing synchronous message passing in concurrent systems.

A small piece of occam that adds two numbers might look like

PROC a()
  INT x, y, z:
  SEQ
    x := 3
    y := 5
    z := x + y
:

This declares three variables, and then (in sequence) sets x to 3, y to 5, and then z to the sum of x and y.

Slightly more interesting, this bit of occam doubles the numbers 0 through 10,000 in parallel:

PROC maniac(VAL INT x)
  INT tmp:
  SEQ
    tmp := x * x
:

PROC main()
  PAR i = 0 FOR 10000
    maniac(i)
:

The procedure main() says to create 10,000 processes in parallel (PAR), and each one should call the procedure maniac() on the value stored at location i.

Our goal is to have a working occam (well, ETC—the assembly language of the transputer) interpreter written in ANSI C. We’ve chosen to implement the interpreter in Scheme first. First, this prevents us from reusing code in our first attempt in our actual implementation. Second, the semantics of the interpreter can be kept clear through the judicious use of macros and the absence of memory management and other low-level concerns. Third, when we complete the rewrite into C, we will be able to validate one against the other, as well as against KRoC, the local occam compiler.

Currently, we can execute all of the above code (when compiled to ETC) correctly.

For now, I’ll leave the questions of why? and how does it tie into your research? open.

I had a post about… well, a grant fund that I wanted to investigate further. I posted it on the 2nd of December, 2003.

I just received this comment on that post:

I am intersted in MSC Conservation at UCL. kindly tell me that can am I eligible for this funding/grant. Moreover wahta is the amount of this funding.
thanks in anticipation

Now, Mawra isn’t going to have any luck obtaining funding if he (she?) posts comments on my weblog like this. I certainly don’t have money to spare to support other graduate students doing their degree courses. And I don’t attend UCL, so I can’t even begin to help them contact the right people. Perhaps Mawra needs to learn to read.

In the name of helping Google (as my weblog currently comes up first when you search for this particular grant fund), I’m removing the old post. This is just to help others in the future, so they don’t think I’m the new patron saint of graduate students hoping to study in England.

Well, I had to answer honestly to a bunch of them; I mean, truly, I tend to have a Coke instead of tea. But I do think a trip to Calais is a great chance to stock up on cheap beer…

I am 32.5% British, just like
Madonna
Just as happy in LA or London. Aren’t the narrow roads in the UK quaint.

Take the Brit Quiz at
darrenlondon.tripod.com/britquiz1.htm

Now if I could only have a career half as successful as Madonna…

http://www.venge.net/graydon/talks/mkc/html/index.html

For some other day. Time for bed.

This is an example. An anecdote. But it is illustrative of a problem, and illustrates a hole in our understanding of the novice’s programming process.

The following are three snippets of Java code:

Snippet One:

public void setFoo() {
   . . .
}

Snippet Two:

public int getBar() {
   . . .
}

Snippet Three:

public String getGeeWhiz() {
   . . .
}

The difference between each of these has to do with colour, or the lack thereof. In the first two examples, it seems like the return type is highlighted in red; in fact, if you start learning to program, and spend the first three weeks of your programming career only using int, void, and boolean, you don’t encounter Snippet Three.

When you do encounter Snippet Three, you wonder “Why isn’t that highlighted?” And clearly, something you’ve done is wrong. Or, perhaps it isn’t clear. Either way, the reason these words are highlighted is a very leaky abstraction (a la Joel Spolsky). This is a perfect example of an IDE breaking a neat nesting of abstractions like I described in a post entitled My First Programming Language. The syntax highlighting (oddity?) depicted above is differentiating between primitive types and object types in Java. The reason for there being different … well, types of types is buried deep in the implementation of the Java Virtual Machine, and has to do with choices made long ago by the Java language designers. In other words, this particular choice of syntax colouring has nothing to do with a programmer who has only been interacting with the Java programming language for three weeks.

One of my students ran into this just yesterday. They were, I believe, thrown (in whole or in part) by the fact that the word String was not highlighted in red. And the reason that the word String is not highlighted has nothing to do with it’s position in the code, but everything to do with decisions made by Java’s designers. In short, the distinction means nothing to a novice programmer, and perhaps has no business being made in a programming editor for beginners.

I’ve been led to believe that the book Human factors and typography for more readable programs by Ronald M. Baecker and Aaron Marcus represents some of the only research on the role of typography on program comprehension, and that was entirely based on the printed form of programs, not the display of code in an interactive text editor (although we would hope some of the research would transfer). I haven’t been able to divine (via Google) any work regarding the role of colour and syntax highlighting in program editors, and the effect of colour on the programming process.

So a student of mine ran into this whole mess full tilt, and no-one knows anything about why we make the choices regarding highlighting that we do, except that those choices are typically made by experts. It would appear that we have little or no research to guide us in implementing syntax colouring and other types of programming support for novices.

POSTSCRIPT

As a point of comparison, I downloaded another Java programming tool for novices. In this particular editor, you can change the colours used, but not the kinds of things coloured. That’s OK. Interestingly, there’s only one category for “types,” and it produces code that looks like


public class Foo {
   private int x;

   public String getFoo() {
      ...
   }
}

The difference? Everything that is a type is highlighted in the same colour. I like this (from the perspective of instructing novices) because classes are types, and the colouring reinforces this fact. Good. Would this other tool have helped my student? Perhaps not. Why? Because he could have typed


public class Foo {
   private int x;

   public Stringg getFoo() {
      ...
   }
}

(misspelling “>String) and the editor still colours it. So, really, I would argue that (done right) the editor should actually keep track of the types that are available to the student at the particular line they are on, and highlights things accordingly. This way, types declarations and usages that are misspelled, or if the student is missing an import statement—effectively, anywhere (syntactically) the type doesn’t exist yet—these cases do not get highlighted.


public class Foo {
   private int x;

   public Stringg getFoo() {
      ...
   }
}

Of course, I’m just hypothesizing; a study to explore whether this use of colour for highlighting type declarations would help students find syntax errors would need to be done to verify my hypothesis that this is indeed a (better?) behavior.

A recent email from Ralph Hempel sent me cruising the web regarding LEGO Mindstorms. I had no idea that someone (Taiichi Yuasa) had a LISP running on the LEGO. Our Scheme (PDF) targeted pbForth, so wasn’t a native implementation, and had enough fiddly bits that we never made it available.

Hm. From this report, it looks like it’s an interactive system, however. Not what I’m looking for. Still, given a project that’s slowly ramping up again, it’s time to start perusing documentation and source.