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.

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.

A FORTH on a TV Dream Machine

The desire to build my own personal computer has been growing. My requirements are non-existent. That has never stopped anyone before, right? Not going down to the silicon, it seemed the making it inexpensive and FORTH driven would be the best approach. Using nothing more than a television and a keyboard also seemed like a great idea. Everything else would be a distraction. Anything costing much would be a barrier. Tonight I came upon the FIGnition FUZE. This is my and surely your FORTH on a TV dream machine!

FIGnition FUZE is the definitive £20 educational DIY computer! It works like an 8-bit home Micro: outputting to composite video and ready to be interactively programmed from the moment you switch it on. FUZE now has bitmapped graphics; sprites, sound and audio saving/loading as well as 8Kb of RAM; 384Kb of storage; an 8-key keypad and runs a variant of FIG-Forth. It uses USB for power; firmware upgrades and program downloads.

Just read “What Can It Do?” and you will be drooling. Faster than every 80s box ever? Yes. External flash appears as re-usable disk? Yes. Graphics? Yes. Audio system for loading/saving data? Yes. The list goes on.
This is the vintage FORTH box that you have wanted to build all these years even though you didn’t know it!

Concatenating Media Files

Here is how to join media files with ffmpeg.

Create a file mylist.txt with all the files you want to have concatenated in the following form (lines starting with a # are ignored):
# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

Note that these can be either relative or absolute paths. Then you can stream copy or re-encode your files:
ffmpeg -f concat -i mylist.txt -c copy output