MATLAB and Octave

MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment and fourth-generation programming language.

GNU Octave is a high-level programming language, primarily intended for numerical computations. It provides a command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB.

R and S-PLUS

R is a programming language and software environment for statistical computing and graphics.

R is an implementation of the S programming language combined with lexical scoping semantics inspired by Scheme.

S is a statistical programming language developed primarily by John Chambers and (in earlier versions) Rick Becker and Allan Wilks of Bell Laboratories.

S-PLUS is a commercial implementation of the S programming language sold by TIBCO Software Inc.

Vintage Computer Programming Book Market About To Explode!

Last week I was day-dreaming about Forth and vintage computers again. Same old day-dreams. The TI-99/4A with TurboForth seems like the perfect place to start learning about both. TurboForth has lots of features and it runs in emulators and “on the metal”. Cool.

The best way to learn Forth is interactively. How do you do it with Org Mode, though? Can we have the same features you would expect with any other programming language even though it is running inside of an emulator? There must be an easy way to run at the command line, redirect input and output, or maybe telnet into the machine.

V9t9 is a Java-based and open-sourced emulator there on GitHub. If it doesn’t have telnet into it, then it can be added. That got me thinking (daydreaming?) again about the fun of simple computers. Whatever approach you use to access them, using Org seems like a great way to write new books about them.

They are simpler. They are a great place to start. There is tons of great literature out there already. Now add Emacs and Org-Mode to the mix to practice Literate Programming.

It seems like there is a huge opportunity for great new books about old computers and programming languages. Export to LaTeX and publish, and there you go. Very fun and very cool.

Handling 4 Kinds of Return in Org Mode

You might want more than a few ways to “return” when inside of Org; I did.

  • org-return-indent: Make it really easy to work in existing list items, headings, and tables
    • This is listed first because I often go back to modify entries
    • <return> because it is used the most
  • org-meta-return: Make it really easy to add new list items, headings, and table contents
    • M-<return> because the binding comes with Org
  • electric-indent-just-newline: For when I want to break out of the default Org indentation to start working at the beginning of the line for example when I’m done working in a list or have just created a new heading
    • C-M-<return> because it is next step “lower” in the binding
  • This: When I want to insert a new line between the current and next line then position the cursor correctly indented at the start of it.

    (defun help/smart-open-line ()
      "Insert a new line, indent it, and move the cursor there.
    
    This behavior is different then the typical function bound to return which may be `open-line' or `newline-and-indent'. When you call with the cursor between ^ and $, the contents of the line to the right of it will be moved to the newly inserted line. This function will not do that. The current line is left alone, a new line is inserted, indented, and the cursor is moved there.
    
    Attribution: URL `http://emacsredux.com/blog/2013/03/26/smarter-open-line/'"
      (interactive)
      (move-end-of-line nil)
      (newline-and-indent))
    
    • s-<return because it is that is the last place in the modifier key chain

You Probably Want org-return-indent Bound to Return

Started questioning why after hitting RETURN while in lists I have to hit TAB to get indented properly. Kind of a dead giveaway that I should be return-and-indenting! Looked at org-return to find that it has an argument about indenting and then saw that org-return-indent passes it for you. With that in mind, RETURN is bound to that now.

You probably want org-return-indent bound to return. It saves a lot of actions.

Eclim: The power of Eclipse in your favorite editor

Eclim provides the ability to access Eclipse code editing features (code completion, searching, code validation, and many more) via the command line or a local network connection, allowing those features to be integrated with your favorite editor. Eclim provides an integration with Vim, but third party clients have been created to add eclim support to other editors as well (emacs, sublime text 2, textmate).

Via emacslife.

Algorithmic Music via FORTH

In the comments of this post a commentor named b0b (sic) mentioned “algorithmic music”. I emailed him and he shared more information about it. That led to reading his bio that provides information both about the author and the composition.

b0b created music playing automatons each with the limitations that humans have. The whole thing is quite an expression of creativity!

You can listen to the record on the site and also purchase a cassette tape.
better, the FORTH source code is available here!

Seems like a fine excuse to learn more about the Atari ST and ForthMacs!