October 23, 2006

Bulk view

Emacs presentation was a blast!

Had too much material (of course), but had tons of fun anyway. =)
Blew people’s minds. Yay!

On Technorati:

Hello world

This is a blog entry

On Technorati:

Random Emacs symbol: eshell-script-load-hook – Variable: *A list of functions to call when loading `eshell-script’.

PBJ 1.0

Kudos to the presenter for structuring the presentation for quick and early audience participation, and for taking on the challenge of writing something in realtime! =) He’s doing a quick tic-tac-toe game with the help of some PHP code he prepared before and a framework called PBJ, which isn’t linked on the Democamp site and is near-impossible to search for.

Look at that, programming with maybe a hundred people in the
audience catching missing parens and stuff like that. =)

On Technorati:

Random Emacs symbol: gnus-article-washing – Group: Special commands on articles.

Demo Camp: Broken Tomb: The world’s first commercial Smalltalk host

Look! It’s the Demo Camp of the Living Dead Languages! =D

Smalltalk is a fun language. I ran into it when a friend told me about
Squeak, which is this *totally* awesome little 3D Smalltalk
environment which you should try if only so that it can warp your
brain.

I would do more Smalltalk, but Squeak is not fun to use when you don’t
really have a mouse. =) Maybe when I get a proper computer.

But really, it’s adorable!

Okay, the demo is back on track. Okay… AJAX for Smalltalk… <laugh>

Murphy’s Law unfortunately strikes again. I’ll check this out later.

www.brokentomb.com

Random Emacs symbol: nnmail-purge-split-history – Function: Remove all instances of GROUP from `nnmail-split-history’.

On Technorati:

Demo Camp: Quotiki

Quotiki has live search for quotes, which would be good if it was more
responsive. For example, the search “caesar” just shows the results
for “ca” even after a while. Tagging and bookmarking is great, of
course, and if I can get a fortune file or RSS for my favorite quotes
(there *must* be an RSS feed for this and all the other views), then
that would be fun to pull into my blog.

Hmm. They’ve got some kind of hyperlinking going on when you hover
over the quote, which may make it difficult to copy the text.

A podcast of quotes, too. Hmm. It’s nice to go into the history of
these quotes. =)

Hmm, interesting. Stumbledupon gave them lots of traffic.

Suggestions:

  • Digg-style: Add some information to the large graphic elements at the left of each quote.
  • Blog widgets! Lots of blog widgets! QOTD, random quote, stuff for the sidebar…

On Technorati:

Random Emacs symbol: muse-replace-regexp-in-string – Function: Replace REGEXP with REPLACEMENT in TEXT.

Demo camp: Online grading and code review

The online grading and code review system demonstrated by Greg Wilson‘s students from the University of Toronto is really cool, and the kind of thing I’d love to see open-sourced and spread. I know my alma mater would find it handy!

Things I particularly like about it:

  • You can highlight a region and attach either a predefined comment or a new comment.
  • The support for rubrics makes grading much easier and more consistent.

Hmm, maybe the student view can be improved by making it easier for students to see all their projects.

Suggestions:

  • Per project views, etc.
  • Accessibility guidelines
  • Downloadable spreadsheets
  • Usable for code reviews for open source projects? Won’t be grading, of course, but interesting for annotation…

The developers said that Turbogears made development much easier. One of the biggest challenges that faced them was cross-browser Javascript. Another is that the school uses a different authentication system (Kerberos) than the one used by Turbogears.

On Technorati:

Random Emacs symbol: nnvirtual-find-group-art – Function: Return the real group and article for virtual GROUP and ARTICLE.

Excited about my DemoCamp presentation!

I’ve written a totally small-time presentation thingy that cues me thanks to Emacspeak. ;) Here’s the setup code:

(progn ;; Setup
  (defvar democamp/presentation-file "~/democamp.el")
  (defvar democamp/cue-buffer "*DemoCamp*")
  (defun democamp/next ()
    (interactive)
    (let (start sexp)
      (with-current-buffer (find-file-noselect democamp/presentation-file)
        (setq start (point))
        (forward-sexp)
        (setq sexp (buffer-substring-no-properties start (point))))
      (eval (read sexp))))

  (defun democamp/previous ()
    (interactive)
    (let (start sexp)
      (with-current-buffer (find-file-noselect democamp/presentation-file)
        (setq start (point))
        (backward-sexp)
        (setq sexp (buffer-substring-no-properties (point) start)))
      (eval (read sexp))))

  (defun democamp/repeat ()
    (interactive)
    (let (start sexp)
      (with-current-buffer (find-file-noselect democamp/presentation-file)
        (setq start (point))
        (backward-sexp)
        (setq sexp (buffer-substring (point) start))
        (forward-sexp))
      (eval (read sexp))))

  (defun democamp/say (text)
    (with-current-buffer (get-buffer-create democamp/cue-buffer)
      (erase-buffer)
      (insert text)
      (goto-char (point-min))
      (call-interactively 'emacspeak-speak-buffer)))
  (global-set-key (kbd "") 'democamp/next)
  (global-set-key (kbd "S-") 'democamp/previous)
  (global-set-key (kbd "C-") 'democamp/repeat)
)

On Technorati: , ,

Random Emacs symbol: gnus-multiple-choice – Function: Ask user a multiple choice question.