   s = code.split('').reverse().join('');
   outputarea.text(s);
 );
+
+showOrHideCode = (-> (
+  showing = true;
+  (_) -> (
+    button = showHideCodeButton
+    if(showing)
+      textarea.detach()
+      outputarea.css('width', '100%')
+      button.text(showCodeText)
+    else
+      textarea.appendTo('#App');
+      outputarea.css('width', '50%');
+      button.text(hideCodeText)
+    showing = !showing
+  )
+))();

    outputarea.append('(this is the output area)');
    outputarea.css({
      position: 'absolute'
      left:     '50%'
      width:    '50%'
      height:   '100%'
    });
    outputarea.appendTo('#App');

    setInterval(possiblyUpdate, 2000);
  )

code = '';
textarea = undefined;
outputarea = undefined;
showHideCodeButton = undefined;

hideCodeText = 'Hide code';
showCodeText = 'Show code';

window.App = {
  hello: -> (
