<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE rdf:RDF [
<!ENTITY % HTMLlat1 PUBLIC
 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
]>
<rdf:RDF
 xmlns="http://purl.org/rss/1.0/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:admin="http://webns.net/mvcb/"
>
<channel rdf:about="http://www.cs.uni.edu/~wallingf/blog/index.xml">
<title>Knowing and Doing</title>
<link>http://www.cs.uni.edu/~wallingf/blog/index.html</link>
<description>Reflections of an Academic and Computer Scientist</description>
<dc:language>en-us</dc:language>
<dc:creator>Eugene Wallingford</dc:creator>
<admin:generatorAgent rdf:resource="http://home.columbus.rr.com/n1xt3r/nanoblogger/" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-14T14_48_40.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-13T15_01_14.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-10T14_41_41.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-07T13_53_39.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-05T13_52_49.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-04T14_43_09.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-03T14_52_25.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-31T13_44_26.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-28T14_57_16.htm" />
<rdf:li rdf:resource="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-26T09_45_44.htm" />
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-14T14_48_40.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-14T14_48_40.htm</link>
<title>The History of Achievement in AI</title>
<dc:date>2013-06-14T14:48:40-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Computing</dc:subject>
<description><![CDATA[<p>... often looks something like this:
</p><p>
<OL>
<LI> X := some task that people do well, but not computers.  </LI>
</p><p>
<LI> <EM>"It would really be impressive if a computer could X</EM>."  </LI>
</p><p>
<LI> Computer does X.  </LI>
</p><p>
<LI> <EM>"That's not intelligent.  The computer is only doing search
     (or number crunching, or ...)</EM>."  </LI>
</p><p>
<LI> X := something else.  </LI>
</p><p>
<LI> Go to 2.  </LI>
</OL>
</p><p>
A common variation of this pattern is to replace Step 3 with a
different dodge:
</p><p>
<BLOCKQUOTE><EM>
"That's no big deal.  X doesn't <B>really</B> require intelligence."
</EM></BLOCKQUOTE>
</p><p>
In either case, the target moves.
</p><p>
Occasionally, the critic must admit, if grudgingly, that the task
requires intelligence, whatever that means, and that the computer
performs it well.  But there is still one last move available to
deflect the achievement from the computer:
</p><p>
<BLOCKQUOTE><EM>
"This is a human achievement.  People had to program the computer."
</EM></BLOCKQUOTE>
</p><p>
I suspect that until a computer learns everything it knows from
scratch -- whatever that means -- this pattern will repeat.  We
humans have an image to protect.
</p><p>
~~~~
</p><p>
<EM>Postscript</EM>.  I wrote this after reading
<A HREF="http://www.guardian.co.uk/culture/2013/may/24/matt-charman-the-machine">
   a short interview</A>
interview with playwright Matt Charman, who has dramatized Deep
Blue's epic 1997 match win over world chess champion Garry
Kasparov.  Note that Charman does <EM>not</EM> employ the dodges
I list.  He simply chose to focus on the human personalities
involved in the drama.  And those personalities are worthy of
exploration, especially the fascinating Kasparov!</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-13T15_01_14.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-13T15_01_14.htm</link>
<title>It's Okay to Talk About Currying!</title>
<dc:date>2013-06-13T15:01:14-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Computing, Patterns</dc:subject>
<description><![CDATA[<p>James Hague offers some sound advice
<A HREF="http://prog21.dadgum.com/176.html">
   for writing functional programming tutorials</A>.
I agree with most of it, having learned the hard way by trying to
teach functional style to university students for many years.  But
I disagree with one of his suggestions: I think it's okay to talk
about currying.
</p><p>
Hague's concern with currying is practical:
</p><p>
<BLOCKQUOTE><EM>
 Don't get so swept up in that theory that you forget the obvious:
 in any programming language ever invented, there's already a way
 to easily define functions of multiple arguments.  That you can
 build this up from more primitive features is not useful or
 impressive to non-theoreticians.
</EM></BLOCKQUOTE>
</p><p>
Of course, my context is a little different.  We teach functional
programming in a course on programming languages, so a little
theory is important.  We want students not only to be able to write
code in a functional style but also to understand some of the ideas
at the foundation of the languages they use.  We also want them to
understand a bit about how different programming styles relate to
one another.
</p><p>
But even in the context of teaching people to think functionally
and to write code in that style, I think it's okay to talk about
currying.  Indeed, it is essential.  Currying is not simply a
theoretical topic.  It is a valuable programming technique.
</p><p>
Here is an example.  When we write a language interpreter, we often
write a procedure names <B><TT>eval-exp</TT></B>.  It takes two
arguments: an expression to evaluate, and a list of variable/value
bindings.
<PRE>
   (define eval-exp
     (lambda (exp env)
       ...))
</PRE>
</p><p>
The binding list, sometimes called an <I>environment</I>, is a map
of names declared in the local block to their values, along with
the bindings from the blocks that contain the local block.  Each
time the interpreter enters a new block, it pushes a new set of
name/value pairs onto the binding list and recurses.
</p><p>
To evaluate a function call for which arguments are passed by value,
the interpreter must first evaluate all of the function's arguments.
As the arguments are all in the same block, they are evaluated using
the same binding list.  We could write a new procedure to evaluate
the arguments recursively, but this seems like a great time to map
a procedure over a list: <TT>(map eval-exp args)</TT>, get a list of
the results, and pass them to the code that applies the function to
them.
</p><p>
We can't do that, though, because <TT>eval-exp</TT> is a two-argument
procedure, and <TT>map</TT> works only with a one-argument procedure.
But the same binding list is used to evaluate each of the expressions,
so that argument to <TT>eval-exp</TT> is effectively a constant for
the purposes of the mapping operation.
</p><p>
So we curry <TT>eval-exp</TT>:
<PRE>
   (define eval-exp-with
     (lambda (bindings)
       (lambda (exp)
         (eval-exp exp bindings))))
</PRE>
</p><p>
... to create the one-argument evaluator that we need, and we use it
to evaluate the arguments with <TT>map</TT>:
<PRE>
   ; in eval-exp
   (map (eval-exp-with env) arguments)
</PRE>
</p><p>
In most functional languages, we can use a nameless <TT>lambda</TT>
to curry <TT>eval-exp</TT> "in place" and avoid writing an explicit
helper function:
<PRE>
   ; an alternative approach in eval-exp
   (map (lambda (exp)
          (eval-exp exp bindings))
        arguments)
</PRE>
</p><p>
This doesn't look much like currying because we never created the
procedure that takes the bindings argument.  But we can reach this
same piece of code by writing <TT>eval-exp-with</TT>, calling it in
<TT>eval-exp</TT>, and then using
<A HREF="http://www.cs.uni.edu/~wallingf/patterns/recursion.html#7">
   program derivation</A>
to substitute the value of the call for the call itself.  This is
actually a nice connection to be able to make in a course about
programming languages!
</p><p>
When I deliver short tutorials on functional style, currying often
does not make the cut, because there are so many cool and useful
ideas to cover.  But it doesn't take long writing functional code
before currying becomes useful.  As this example shows, currying
is a practical tool for the functional programmer to have in his
or her pocket.  In FP, currying isn't just theory.  It's part of
the style.</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-10T14_41_41.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-10T14_41_41.htm</link>
<title>Unique in Exactly the Same Way</title>
<dc:date>2013-06-10T14:41:41-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Teaching and Learning, General</dc:subject>
<description><![CDATA[<p>Ah, the idyllic setting of my youth:
</p><p>
<BLOCKQUOTE><EM>
 When people refer to "higher education" in this country, they are
 talking about two systems.  One is &eacute;lite.  It's made up of
 selective schools that people can apply to -- schools like Harvard,
 and also like U.C. Santa Cruz, Northeastern, Penn State, and Kenyon.
 All these institutions turn most applicants away, and all pursue a
 common, if vague, notion of what universities are meant to strive
 for.  When colleges appear in movies, they are verdant, tree-draped
 quadrangles set amid Georgian or Gothic (or Georgian-Gothic)
 buildings.  When brochures from these schools arrive in the mail,
 they often look the same.  Chances are, you'll find a Byronic young
 man reading "Cartesian Meditations" on a bench beneath an elm tree,
 or perhaps his romantic cousin, the New England boy of fall, a
 tousle-haired chap with a knapsack slung back on one shoulder.  He
 is walking with a lovely, earnest young woman who apparently likes
 scarves, and probably Shelley.  They are smiling.  Everyone is
 smiling.  The professors, who are wearing friendly,
 Rick Moranis-style glasses, smile, though they're hard at work at
 a large table with an eager student, sharing a splayed book and
 gesturing as if weighing two big, wholesome orbs of fruit.
 Universities are special places, we believe: gardens where chosen
 people escape their normal lives to cultivate the Life of the Mind.
</EM></BLOCKQUOTE>
</p><p>
I went to a less selective school than the ones mentioned here, but
the vague ideal of higher education was the same.  I recognized
myself, vaguely, in the passage about the tousle-haired chap with a
knapsack, though on a Midwestern campus.  I certainly pined after a
few lovely, earnest young women with a fondness for scarves and the
Romantic poets in my day.  These days, I have become the friendly,
glasses-wearing, always-smiling prof in the recruiting photo.
</p><p>
The descriptions of movie scenes and brochures, scarves and Shelley
and approachable professors, reminded me most of something my
daughter told me as she waded through recruiting literature from so
many schools a few years ago,  "Every school is unique, dad, in
exactly the same way."  When the high school juniors see through the
marketing facade of your pitch, you are in trouble.
</p><p>
That unique-in-the-same-way character of colleges and university
pitches is a symptom of what lies at the heart of the coming
"disruption" of what we all think of as higher education.  The
traditional ways for a school to distinguish itself from its peers,
and even from schools it thinks of as lesser rivals, are becoming
less effective.  I originally wrote "disappearing", but they are now
ubiquitous, as every school paints the same picture, stresses the
same positive attributes, and tries not to talk too much about the
negatives they and their peers face.  Too many schools chasing too
few tuition-paying customers accelerates the process.
</p><p>
Trying to protect the ideal of higher education is a noble effort
now being conducted in the face of a rapidly changing landscape.
However, the next sentence of the recent <EM>New Yorker</EM>
article
<A HREF="http://www.newyorker.com/reporting/2013/05/20/130520fa_fact_heller">
   Laptop U</A>,
from which the passage quoted above comes, reminds us:
</p><p>
<BLOCKQUOTE><EM>
 But that is not the kind of higher education most Americans
 know.  ...
</EM></BLOCKQUOTE>
</p><p>
It is the other sort of higher education that will likely be the more
important battleground on which the higher ed is disrupted by
technology.
</p><p>
We are certainly beginning to have such conversations at my school,
and we are starting to hear rumblings from outside.  My college's
dean and our new university president recently visited the Fortune
100 titan that dominates local industry.  One of the executives there
gave them several documents they've been reading there, including
"Laptop U" and the IPPR report mentioned in it,
<A HREF="http://www.ippr.org/publication/55/10432/an-avalanche-is-coming-higher-education-and-the-revolution-ahead">
   "An Avalanche is Coming</A>:
Higher Education and the Revolution Ahead".
</p><p>
It's comforting to know your industry partners value you enough to
want to help you survive a coming revolution.  It's also hard to
ignore the revolution when your partners begin to take for granted
that it will happen.</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-07T13_53_39.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-07T13_53_39.htm</link>
<title>Sentences to Ponder</title>
<dc:date>2013-06-07T13:53:39-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>General, Managing and Leading</dc:subject>
<description><![CDATA[<p>Henry Rollins:
</p><p>
<BLOCKQUOTE><EM>
 When one beast dumps you, summon the guts to find another.
 If it tries to kill you, the party has definitely started.
 Otherwise, life is a slow retirement.
</EM></BLOCKQUOTE>
</p><p>
Rollins is talking about
<A HREF="http://blogs.laweekly.com/westcoastsound/2013/05/henry_rollins_the_column_music_master.php">
   why he's not making music anymore</A>,
but his observation applies to other professions.  We all know
programmers who are riding out the long tail of an intellectual
challenge that died long ago.  College professors, too.
</p><p>
I have to imagine that this is a sad life.  It certainly leaves
a lot of promise unfulfilled.
</p><p>
If you think you have a handle on the beast, then the beast has
probably moved on.  Find a new beast with which to do battle.</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-05T13_52_49.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-05T13_52_49.htm</link>
<title>I Fooled Around and Fell in Love</title>
<dc:date>2013-06-05T13:52:49-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Computing, Teaching and Learning</dc:subject>
<description><![CDATA[<p><P ALIGN="right">
   <EM>Cue the Elvin Bishop [
   <A HREF="http://www.youtube.com/watch?v=S4xszknaPuQ">
      video</A>
    ]</EM>...
</p><p>
</p><p>
I smile whenever I see this kind of statement on
<A HREF="http://www.girldevelopit.com/chapters/detroit">
   a website's About page</A>:
</p><p>
<BLOCKQUOTE><EM>
 Erika Carlson was studying clinical psychology in 2011, when
 she wrote her first line of Python code.  She fell in love
 with programming, decided to change paths, and is now a
 software developer at Pillar Technology.
</EM></BLOCKQUOTE>
</p><p>
I fell in love upon writing my first line of code, too.
</p><p>
Not everyone will have the same reaction Erika and I had,
but it's good that we give people at least an opportunity
to learn how to program.  Knowing that someone might react
this way focuses my mind on giving novice programmers a good
enough experience that they can, if they are so inclined.
</p><p>
My teaching should never get in the way of true love.</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-04T14_43_09.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-04T14_43_09.htm</link>
<title>A Simple Confession</title>
<dc:date>2013-06-04T14:43:09-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>General</dc:subject>
<description><![CDATA[<p>My Unix-toting brethren may revoke my CS card for saying this,
but I really do like to install programs this way:
</p><p>
<PRE>
    Installing <EM>ApplicationX</EM>
</p><p>
    1. Open the disk image
    2. Drag <EM>ApplicationX</EM> to your Applications folder
    3. Eject the disk image
</PRE>
</p><p>
The app loses points if I <EM>really</EM> have to drag it to
the Applications folder.  The Desktop should do.
</p><p>
I understand the value in <TT>./configure</TT> and <TT>./make</TT>
and setting paths and... but it sure is nice when I don't have
to use them.</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-03T14_52_25.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-06.html#e2013-06-03T14_52_25.htm</link>
<title>Reflection on Zimmer's Open Letter and Student Questions</title>
<dc:date>2013-06-03T14:52:25-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Teaching and Learning</dc:subject>
<description><![CDATA[<p>Carl Zimmer recently wrote
<A HREF="http://phenomena.nationalgeographic.com/2013/05/31/an-open-letter-to-science-students-and-science-teachers/">
   an open letter to science students and teachers</A>
to address a disturbing trend: students cold-mailing him to ask
for information.  He stresses that he and his fellow science
writers like to interact with students, but only after students
have done some work on their own and have started to develop
their own questions.  The offending messages can be boiled down
to the anti-pattern:
</p><p>
<BLOCKQUOTE><EM>
I have homework.  I need information from you.
</EM></BLOCKQUOTE>
</p><p>
The actual messages can be a lot more entertaining.  Be sure to
check out at least the opening of his piece, which reprises a
multi-day exchange with a random high school student.
</p><p>
I'm not an accomplished popular science writer like Zimmer, but
as a CS professor at a public university I receive occasional
messages of the sort Zimmer describes from high school students
across our region.  I try to help out as best I can, and the
volume is not so large that I get burnt out trying to guide the
student to a more fruitful exchange than "Tell me something"
followed by "Here is some information you could have read for
yourself".
</p><p>
Fortunately, most of the messages of this sort that reach my
inbox come from students in <EM>my own courses</EM>.  Well,
it's unfortunate that I receive these messages at all, because
they are often a symptom of laziness and presumptuousness.
Most often, though, they are simply a sign of bad habits learned
in their previous years of schooling.  The fortunate part is that
I have a chance to help students learn new, better habits of
intellectual discipline and discourse.
</p><p>
My approach is a lot like the one Zimmer relates in his exchange
with young Davis, so much so that a former student of mine
forwarded me a link to Zimmer's piece and said "The exchange at
the beginning reminded me of you."
</p><p>
But as a classroom teacher, I have an opportunity that internet
celebrities don't: I get to see the question-askers in the
classroom two or three times a week and in office hours whenever
students avail themselves of the resource.  I can also ask
students to come see me outside of class for longer conversations.
</p><p>
Talking face-to-face can help students know for certain that I
really do care about their curiosity and learning, even as I
choose consciously <EM>not</EM> to fulfill their request until
they have something specific to ask.  They have to invest
something in the conversation, too, and demonstrate their
investment by having more to say than simply, "I don't get it."
</p><p>
(Talking face-to-face also helps me have a better idea of when
a student has done his or her work and yet still is struggling
to the point of not knowing what to say other than "I don't get
it."  Sometimes, I need to go farther than halfway to help a
student in real need of help.)
</p><p>
Most students are open to the idea that college is different
from their past experience and that it's time for them to start
taking more control of their learning.  They learn new habits
and are able to participate in meaningful exchanges about
material with which they have already engaged.
</p><p>
A few continue to struggle, never moving far beyond "Give me
information".  I don't know whether their previous schooling
has driven them into such a deep rut that they can't get out,
or whether even with different schooling they would have been
poorly suited for university study.  Fortunately, these students
are quite few among our student body.  Most really do just need
a gentle push in the right direction.</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-31T13_44_26.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-31T13_44_26.htm</link>
<title>Quotes of the Week, in Four Dimensions</title>
<dc:date>2013-05-31T13:44:26-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Computing, Teaching and Learning, General</dc:subject>
<description><![CDATA[<p><B>Engineering</B>.
</p><p>
Michael Bernstein, in
<A HREF="http://michaelrbernste.in/2013/05/28/a-generation-ago-a-thoroughly-modern-sampling.html">
   A Generation Ago, A Thoroughly Modern Sampling</A>:
</p><p>
<BLOCKQUOTE><EM>
 The AI Memos are an extremely fertile ground for modern research.
 While it's true that what this group of pioneers thought was
 impossible then may be possible now, it's even clearer that some
 things we think are impossible now have been possible all along.
</EM></BLOCKQUOTE>
</p><p>
When I was in grad school, we read a lot of new and recent
research papers.  But the most amazing, most educational, and
most inspiring stuff I read was <EM>old</EM>.  That's often true
today as well.
</p><p>
<B>Science</B>.
</p><p>
Financial Agile
<A HREF="https://twitter.com/financialagile/status/340483390186856449">
   tweets</A>:
</p><p>
<BLOCKQUOTE><EM>
 "If it disagrees with experiment, it's wrong".  Classic.
</EM></BLOCKQUOTE>
</p><p>
... with a link to
<A HREF="http://financialagile.uglyduckling.nl/reflection/the-scientific-method-with-feynman/">
   The Scientific Method with Feynman</A>,
which has a wonderful ten-minute video of the physicist
explaining how science works.  Among its important points is
that <EM>guessing</EM> is huge part of science.  It's just
that scientists have a way of telling which guesses are right
and which are wrong.
</p><p>
<B>Teaching</B>.
</p><p>
James Boyk, in
<A HREF="http://jamesboyk.com/?p=32">
   Six Words</A>:
</p><p>
<BLOCKQUOTE><EM>
 Like others of superlative gifts, he seemed to think the
 less gifted could do as well as he, if only they knew a
 few powerful specifics that could readily be conveyed.
 Sometimes he was right!
</EM></BLOCKQUOTE>
</p><p>
"He" is Leonid Hambro, who played with Victor Borge and P. D. Q.
Bach but was also well-known as a teacher and composer.  Among
my best teachers have been some extraordinarily gifted people.
I'm thankful for the time they tried to convey their insights
to the likes of me.
</p><p>
<B>Art</B>.
</p><p>
Amanda Palmer, in
<A HREF="http://vimeo.com/65681037">
   a conference talk</A>:
</p><p>
<BLOCKQUOTE><EM>
 We can only connect the dots that we collect.
</EM></BLOCKQUOTE>
</p><p>
Palmer uses this sentence to explain in part why all art is
about the artist, but it means something more general, too.
You can build, guess, and teach only with the raw materials
that you assemble in your mind and your world.  So collect
lots of dots.  In this more prosaic sense, Palmer's sentence
applies to not only to art but also to engineering, science,
and teaching.</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-28T14_57_16.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-28T14_57_16.htm</link>
<title>The Willingness to Delete Working Code</title>
<dc:date>2013-05-28T14:57:16-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Software Development</dc:subject>
<description><![CDATA[<p><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"
       STYLE="float: right; margin-left: 3em; margin-right: 1em;">
<TBODY><TR><TD>
<IMG SRC="http://www.cs.uni.edu/~wallingf/blog-images/people/don-delillo.png"
     ALT="Don DeLillo"
     width="100"
     ALIGN="right" />
</TD></TR></TBODY>
</TABLE>
</p><p>
... and to do code katas, too:
</p><p>
<BLOCKQUOTE><EM>
 I find I'm more ready to discard pages than I used to be.
 I used to look for things to keep.  I used to find ways
 to save a paragraph or a sentence, maybe by relocating it.
 Now I look for ways to discard things.  If I discard a
 sentence I like, it's almost as satisfying as keeping a
 sentence I like.  I don't think I've become ruthless or
 perverse--just a bit more willing to believe that nature
 will restore itself.  The instinct to discard is finally
 a kind of faith.  It tells me there's a better way to do
 this page even though the evidence is not accessible at
 the present time.
</EM></BLOCKQUOTE>
</p><p>
Says Don DeLillo, in
<A HREF="http://www.theparisreview.org/interviews/1887/the-art-of-fiction-no-135-don-delillo">
   The Art of Fiction No. 135</A>.
Even in programming, the willingness to cut a chunk of working
code, or to <TT>rm -f</TT> a file, generally follows from a
deep-seated belief that nature will restore itself.  We are
often happy to find that nature does a better job the second
time around.
</p><p>
~~~
</p><p>
PHOTO: Adapted from
<A HREF="http://www.flickr.com/photos/thousandrobots/5371974016/">
   http://www.flickr.com/photos/thousandrobots/5371974016/</A>,
(CC BY-SA 2.0).</p>]]></description>
</item>
<item rdf:about="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-26T09_45_44.htm">
<link>http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-05.html#e2013-05-26T09_45_44.htm</link>
<title>Programming Magic and Business Skeuomorphism</title>
<dc:date>2013-05-26T09:45:44-05:00</dc:date>
<dc:creator>Eugene Wallingford</dc:creator>
<dc:subject>Teaching and Learning, General</dc:subject>
<description><![CDATA[<p>Designer Craig Mod offers Marco Arment's
<A HREF="http://the-magazine.org/">
   The Magazine</A>
as an exemplar of
<A HREF="http://craigmod.com/journal/subcompact_publishing/">
   Subcompact Publishing</A>
in the digital age: "No cruft, all substance. A shadow on the
wall."; a minimal disruptor that capitalizes on the digital medium
without tying itself down with the strictures of twentieth-century
hardcopy technology.
</p><p>
After detailing the advantages of Arment's approach, Mod points
out the primary disadvantage: you have to be able to write an iOS
application.  Which leads to this gem
</p><p>
<BLOCKQUOTE><EM>
The fact that Marco -- a programmer -- launched one of the most
'digitally indigenous' contemporary tablet publications is
indicative of two things:
<OL>
<LI> Programmers are today's magicians.  In many industries
     this is obvious, but it's now becoming more obvious in
     publishing.  Marco was able to make <B>The Magazine</B>
     happen quickly because he saw that
     <A HREF="http://en.wikipedia.org/wiki/Newsstand_(application)">
        Newsstand</A>
     was underutilized and understood its capabilities.  He
     knew this because he's a programmer.  Newsstand wasn't
     announced at a publishing conference.  It was announced
     at the WWDC.  </LI>
<LI> The publishing ecosystem is now primed for complete
     disruption.  </LI>
</OL>
</EM></BLOCKQUOTE>
</p><p>
If you are a non-programmer with ideas, don't think
<A HREF="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2010-12.html#e2010-12-01T15_45_40.htm">
   I just need a programmer</A>;
instead think,
<A HREF="http://thinkopen.ly/post/20095389300/why-you-dont-need-a-programmer">
   I need a technical co-founder</A>.
A lot of people think of programming as Other, as a separate
world from what they do.  Entrepreneurs such as Arment, and
armies of young kids writing video games and apps for their
friends, know instead that it is <B>a tool they can use to
explore their interests</B>.
</p><p>
Mod offers an a nice analogy from the design world to explain why
entrenched industry leaders and even prospective entrepreneurs
tend to fall into the trap of mimicking old technology in their
new technologies: <EM>business skeuomorphism</EM>.
</p><p>
For example, designers "bring the mechanical camera shutter sound
to digital cameras because it feels good" to users.  In a similar
way, a business can transfer a decision made under the constraints
of one medium or market into a new medium or market in which the
constraints no longer apply.  Under new constraints, and with new
opportunities, the decision is no longer a good one, let alone
necessary or optimal.
</p><p>
As usual, I am thinking about how these ideas relate to the
disruption of university education.  In universities, as in the
publishing industry, business skeuomorphism is rampant.  What is
the equivalent of the Honda N360 in education?  Is it Udacity or
Coursera?
<A HREF="http://www.nytimes.com/2013/05/05/business/enstitute-an-alternative-to-college-for-a-digital-elite.html">
   Enstitute</A>?
Or something simpler?</p>]]></description>
</item>
</rdf:RDF>
