6089 comments
2357 subscribers
6230 on Twitter
Subscribe! Feed reader E-mail

On this page:

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’.

Short URL: http://sachachua.com/blog/p/3957

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.

Short URL: http://sachachua.com/blog/p/3958

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:

Short URL: http://sachachua.com/blog/p/3959

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.

Short URL: http://sachachua.com/blog/p/3960

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.

Short URL: http://sachachua.com/blog/p/3961

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.

Short URL: http://sachachua.com/blog/p/3962

Emacs: Animation in presentations

… and because this is just so endearingly old-school and crazily
Emacs, here’s what’s going to be my title “slide” for DemoCamp10.

(progn
  (set-face-attribute 'default nil :height 700)
  (delete-other-windows)
  (sit-for 1)
  (animate-sequence (list "Livin' la Vida Emacs" "DemoCamp10" "Sacha Chua") 1))

I may end up writing a presentation mode if there isn’t one yet. I’ve
seen one before, but I don’t know if it accepts arbitrary Lisp
expressions. Maybe I can mess around with eev, too..

Comment from pll:

OMG!!!!!!!!!!!!!! That’s just SOOOOOO cool, and hysterical. I’ve got
to steal^H^H^H^H^Hborrow this hack. I’ve been toying with the idea
for a while of doing a “Life with Emacs” talk for my LUG. What a
perfect opening :)

On Technorati: ,

Short URL: http://sachachua.com/blog/p/3881

Get the highlights as a PDF!

Stories from my Twenties: Highlights from a Decade of Blogging

Free sample!