The Greencine Five, Part VIII: The Tunnel, Henry V, LA Confidential, American Splendor, Dolls


Another Communist Underground

Loosely inspired by real events, Der Tunnel is the story of escapes from East Germany trying to get their family out. Tunnel‘s story is solid, but fake events added for dramatic effect drag the movie out a longer than is needed. The German view of victimization can be tiring, as real events of Statsi blackmail are compared to entirely imaginary accounts of the duplicity of Hollywood producers. The central romance never happened. 7 out of 10 stars.


The Greatest Battle in English History

Mind-bogglingly stylish, this combination of 300’s impossible battle and American Splendor’s (reviewed below) narrative-with-in-a-narrative is one of the greatest films of all time. Stylistically inspired by the Book of Hours, this color, 1944 adaption of Shakespeare’s play transitions the viewer from “what a cute old movie” to “this movie, if made now, would be groundbreaking.” The play is meant to follow Henry IV, and as such an otherwise pointless death scene doubtless makes more sense in the broader context. The romance with Catharine appears to be tacked on. Henrvy V gets 9 out of 10 stars.


Reflections of guilt and innocence

Run, don’t walk, from L.A. Confidential, a rip-off of Chinatownfeaturing a heavily telegraphed “twist” and the corniest role of Russel Crowe’s career. Take everything that made Chinatown good, give it a lobotomy, and you end up with this film. L.A. Confidential stumbles away with 7 out of 10 stars, only because the film it apes was so good.


The movie about the life behind the cartoon

A feature film by documentaries, American Splendor probably stays closer to fact than the other based-on movies reviewed in this batch (The Tunnel and Henry V). Proving that naturally cranky people can occupy lives worthy of being cranky about, Spendlor is the story of a comic book writer who daylights as a file clerk for a VA Hospital. Cleverly, those events actually happening with the real people are highyl stylized, while the cinematic renditions look the most realistic. An uperlifting though not saccharine film, American Splendor is not recommended.


Memories of Lost Love

To me, Takeshi Kitano will always be the bureaucratic mass-murderer in an unhappy marriage who falls in live with a middle school student. (I’ll also remember him for his role in Battle Royale.) In Dolls, the actor takes his hand at directing, writing a multi-dimensional story of lost love focusing reflecting a performance of the lost art of Japanese puppet opera. A predictable film with weak characterization, Dolls concentrates on style and nostalgia. An artistically weaker but easier to watch reflection of Dreams, Dolls earns 8 out of 10 stars.

Finishing the rough draft

Today (and last night, actually) the rough draft, I guess you could call it the first beta or so, of the system works. From beginning to end, from survey items, notes, and output, it’s all there. A lot of things were changed in the final stretch. Below the fold are some of them.

The notes today are scattered, but so was the accomplishment: a functional system.


app/views/output/index.rhtml

<html><head><title>Output for Notes on Rails</title></head>
<body>
<table border=1>
<tr><td colspan="6"><h1>Output Listing</h2></td></tr>
<% for experiment in @experiments %>
<tr><td colspan="6"> <h2>Experiment <i><%= experiment.name %></i></h2></td></tr>
<% for condition in Condition.find_conditions_array(experiment.id) %>
<tr><td colspan="6"> <h3>Condition <i><%= condition.name %></i></h3></td></tr>
<tr>
<td><b>Survey Response ID</b></td>
<td><i>QuestionList</i></td>
<td>Question</td>
<td><b>Field (i/a)</b></td>
<td><i>Record (i/a)</i></td>
<td>Survey Text</td>
</tr>
<% for student in Student.find_students(condition.id) %>
<tr><td colspan="6"> <h4>Student <i><%= student.name %></i> (<%= student.id %>)</h3></td></tr>
<% for survey_response in SurveyResponse.find(:all, :conditions => [‘student_id = ?’,student.id]) %>
<tr>
<td><%= survey_response.id %></td>
<td><%= QuestionList.find_name_by_id(survey_response.question_list_id) %>
<% question = Question.find(survey_response.question_id) %>
</td>
<td><%= question.name %></td>
<td>
<% if survey_response.field_identifier %>
<br /><%= NotesField.find_name_by_id(survey_response.field_identifier) %>
<% end %>
</td>
<td><%
if question.type_id == QuestionType::NOTES_MATRIX || question.type_id == QuestionType::NOTES_LINEAR
record_name = NotesRecord.find_name_by_id(survey_response.record_identifier)
elsif question.type_id == QuestionType::CHECKBOX || question.type_id = QuestionType::SELECTION || question.type_id = QuestionType::RADIO
#record_name = "Find display text with QuID = " + question.id.to_s + " and OptID = " + survey_response.record_identifier.to_s
record_name = QuestionOption.find_display_text_by_question_id_option_id(question.id,survey_response.record_identifier)
else
record_name = ""
end
%>
<%= record_name %>
</td>
<td><%= survey_response.survey_text %></td>
</tr>
<% end %>
<% end %>

<% end %>
<% end%>
</table>
</body>
</html>

app/views/students/_notes_view.rhtml

<table border="1">
<tr>
<td>  </td>
<% for notes_record in @notes_records %>
<td><%= h(notes_record.name) %></td>
<% end %>
</tr>
<% for notes_field in @notes_fields %>
<tr>
<td><%= notes_field.name %></td>
<% for notes_record in @notes_records %>
<td><%= text_area :survey_text, notes_field.id.to_s + "_" + notes_record.id.to_s, :cols => 20, :rows => 8 %></td>
<% end %>
</tr>
<% end %>
</table>

the run_experiment function of students_controller.rb:

def run_experiment
@student = Student.find(session[:student])

unless @student.condition_id
@student.condition_id = params[:student][:condition_id]
@student.save
end

## Saving data goes here
@questions = Question.find_by_question_list_id(@student.current_question_list)

if (@questions)
for question in @questions

question = Question.find(question.id)

if (question.type_id == QuestionType::NOTES_MATRIX || question.type_id == QuestionType::NOTES_LINEAR)
@notes_fields = NotesField.find_by_condition(@student.condition_id)
@notes_records = NotesRecord.find_by_condition(@student.condition_id)

for note_field in @notes_fields
for note_record in @notes_records

@survey_response = SurveyResponse.new(
:student_id => @student.id,
:question_list_id => @student.current_question_list,
:question_id => question.id,
:field_identifier => note_field.id,
:record_identifier => note_record.id,
:survey_text => params[:survey_text][note_field.id.to_s + "_" + note_record.id.to_s]
)
@survey_response.save()
end
end
elsif question.type_id == QuestionType::CHECKBOX
checkboxes = params[‘question_’ + question.id.to_s]
for checkbox in checkboxes
checkbox_option = checkbox[0]
checkbox_value = checkbox[1]

if checkbox_value == "1"

@survey_response = SurveyResponse.new(
:student_id => @student.id,
:question_list_id => @student.current_question_list,
:question_id => question.id,
:record_identifier => checkbox_option,
:survey_text => 1
)
@survey_response.save
end
end

else
if question_text = params[:question]
question_text = params[:question][question.id.to_s]
@survey_response = SurveyResponse.new(
:student_id => @student.id,
:question_list_id => @student.current_question_list,
:question_id => question.id,
:survey_text => question_text
)
@survey_response.save()
flash[:notice] = ‘0D. for ‘ + question_text
end
end

end
end
## stop saving data here

@next_question_list = Student.find_next_question_list(@student.condition_id,@student.current_ordering)
if @next_question_list

@student.current_question_list = @next_question_list.question_list_id
@student.current_ordering = @next_question_list.ordering
@student.save
@questions = Question.find_by_question_list_id(@student.current_question_list)
else
flash[:notice] = ‘Finished experiment.’
redirect_to :action => ‘index’
end"
end

First, the little hidden field in _question_types.rhtml should now read:

<%= hidden_field_tag "question[" + question.id.to_s + "]" %></i>

in _question_types.rhtml

<i> <% if question.type_id == QuestionType::CHECKBOX %>
<% @options = Question.find_question_options_array(question.id) %>
<% for option in @options %>
<%= check_box(question.id,option.option_id) %><%= option.display_text %>

<% end %>
<% end %>

Hmmm — we also need to update manage_question_list/create. The solution here is trivially easy. In manage_question_lists/_form.rhtml, change the foreach experiment line to read

<% for experiment in Experiment.find(:all) %>

Also, rename NotesField.name_from_id and NotesRecord.name_from id to find_name_by_id. Consistency, consistency, consistency!

Adolescent Psychological Development, Part II: Moral Development

Near the end of the second section of Adolescent Psychological Development, entitled “Moral Development,” Moshman lays out the metatheory (essentially a paradigm or research program) of “pluralist rational constructivism” as a way of understanding moral development. It is hard to argue with this However, the metatheory as laid out is different than the metatheory as analyzed. While later in this essay I will defend the concept of “pluralist rational constructivism,” as Moshman uses the term he means “pluralistic contructvism by rational agents.”

Starting on page 71 and continuing for two pages, Moshman gives five “metatheoretical assumptions” for pluralist rational cosntructivism. They are that “rationality is fundamentally a matter of metacognition rather than a matter of logic,” that the existence “moral universals” is independent of the truth of the metatheory, that “research on moral development should seek evidence for both diversity and universality,” that a distinction of “symmetric from asymmetric social interactions” is useful for distinguishing “between the properties inherent to social interchange and those specific to a particular culture,” and lastly that “reflection on rules generates principles that explain and justify those rules and that may lead to the reconstruction of such rules.” The first two of these are easy to agree with: that rationality is essentially metacognition was acknowledged in my previous paper, and that empirical truths do not rely on normative truths is a truism in science. The third assumption, likewise, is acceptable. While social science is often view as the explanation of variance by means of correlation and regression, the study of human universals is also permitted when humanity itself is viewed as part of a larger population of primates, mammals, animals, or even objects. The last two assumptions, the symmetric-asymmetric distinction and the reconstruction of rules from introspection, and more problematic. Each are discussed below.


As the term is used by Moshman, pluralist rational constructivism relies on symmetric social interaction. Summarizing Habermas (1990), the author views asymmetric social interaction as “privileging the moral perspectives of some individuals over others” (70) and later suggests that it is these non-symmetric interactions that “may be a source of moral diversity” (72). Moshman certainly has intellectual support for his claims, as other researchers (Schwartz, 1995; von Glaserfield, 1995) hold much the same. Clearly, power differentials in bargaining games (of which social interaction is a sort) matter, and the greater the power differential the more it may be expected to matter, so that the outcome will depend more on social context and less on critical belief formation. Note what is happening here, however: the importance of peer interaction is supported in the context of rational agency, but not in the context of rationality (metacognition). Indeed, some of the greatest thinking on metacognition (Coram, 2004) and best applications of it (Fadok, Boyd, & Warden, 1995) occur in the lethally asymmetric environment of war. Considering how asymmetric environments tend to be crises where metacognition is most useful, it is even arguable that rationality is best developed in asymmetric relationships. The broad conclusion is clear: symmetric social interactions may be necessary for the development of rational agency, but they are not needed in the context of rationality.

The last assumption is problematic as well. Introspection is simply an activity that people are not good at (Wilson, Lindsey, & Schooler, 2000; Wolford, Miller, & Gazzaniga, 2000). The finding of Camerer, Loewenstein, & Prelec (2005, 37) that the “fact that people lack introspective access to the sources of their own judgments and behavior, and tend to overattribute both to controlled processes has many important implications for economics” should be extended to moral development, as well. If “game-theoretic equilibrium resulted from learning, imitation, or evolution, rather than simple introspection” (50), then why cannot the same be said of morally rational equilibrium as well? If introspection is so weak, then why is relying on it rational?

I propose an alternative formulation of pluralist rational constructivism, one that abandons the uncertain ground of rationality agency for the solid land of rationaltiy. This formulation has three metatheoretical assumptions: pluralism, rationality, and constructivism. Pluralism is the idea that no universal moral development should be expected, because of variation within and between human groups. Rationality, the focus on metacognition, holds that morality is not just a blind execution of affects but requires mental control. Constructivism is the belief that “people play an active role in their own development” (Moshman, xix) and amounts to saying that, at the present time, it is useful to use the self as an independent variable.

Support pluralist rational constructivism. Support pluralism. Support rationality. Support constructivism. Oppose the chimera of rational agency.


Adolescent Psychological Development, a tdaxp series
1. Cognitive Development
2. Moral Development
3. Identity Formation
4. Advanced Psychological Development
5. Bibliography