Java Scripting Talk – Code, Notes, and Audio

Last night (9 Nov 2006) at the St. Louis Java User Group, I gave a talk on “Scripting Your Java Application”. As I mentioned, there were no slides, but rather a handout, the text of which is pasted below. You can download the handout (a tight, one page PDF), the code, audio of the talk (WMA), and audio of the talk (MP3, larger). The audio was recorded with my Olympus WS100 Digital Voice Recorder, so the quality is bearable but not great.

Update: As an experiment, I also had CastingWords prepare a transcript of the talk. It’s somewhat tedious to read (I didn’t edit it at all), but it is available as Google fodder rather than trapped only in audio.
Continue reading “Java Scripting Talk – Code, Notes, and Audio”

St. Louis Code Camp – Lua Talk Notes and Source Code

At the St. Louis Code Camp on May 6, I gave a talk that was somewhat poorly titled “Painless Scripting with Lua”.  The topic more mostly about the overall use of scripting as a configuration and extension mechanism, with Lua as an example language.
The talk had no slides, only code and a 1-page handful with some notes. You can download the source code: 2006_code_camp_lua.zip and the notes follow:

Alternate Hard and Soft Layers

This is a Pattern from the C2 Wiki: http://c2.com/cgi/wiki?AlternateHardAndSoftLayers

In a system built with “hard” code (not in the sense of difficulty, rather in the sense of statically typed, statically compiled languages), organize that code in to layers, and between those hard layers, put “soft” layers in the form of scripts written in a dynamic, runtime modifying languages. AHSL is closely related to the idea of scriptable applications, with the additional notion of layering, rather than ad hoc extension.

“hard layer” languages:

  • C
  • C#
  • C++
  • Delphi (*)
  • Java

“soft layer” languages:

  • bash
  • BeanShell
  • Emacs Lisp
  • Groovy
  • JavaScript
  • Lua (*)
  • Python
  • Ruby
  • Tcl

This talks’ examples are in Delphi (hard) and Lua (soft). Delphi is a mostly static language, essentially similar in certain ways to C, C++, and Java, but with a Pascalish syntax.

Key Points about Lua:

  • An easily learned, dynamic programming language
  • Small, highly embeddable (~ 100 KB)
  • Multi-platform (highly portable C code)
  • Well suited to “Alternate Hard and Soft Layers”
  • Free and open source
  • Stable and mature
  • Safe and Sandboxed
  • Actively developed and maintained

Recommendation on Scripting:

  • If you’re building a Java system, the most appealing scripting language is JavaScript, because it will be “in the box” in Java 6.
  • If you’re building a .NET system, use a .NET-centric scripting mechanism
  • If you’re building a Win32 system with a lot of COM in it, use the Windows Scripting Host and expose your system’s feature to the scripts via COM.
  • If you’re building a system with a “hard” (very static) language, and want to keep your options open for cross-platform development / deployment, than Lua is an excellent choice, it is small, fast, proven, COM-free, and cross-platform.

Upcoming talk at SD 2004

I’m giving a talk on data handling in a disconnected mode appliction next year at SD Expo 2004.

I’m giving a talk on data handling in a disconnected mode appliction next year at SD Expo 2004. This applies to wireless / mobile applications running on notebook PCs, PDAs, even smaller devices like “SmartPhones”.

Details are here

Javascript Talk at St. Louis OOSIG

Notes from my OOSIG talk on JavaScript, a classless (prototype-based) OO language

On October 16, 2003, I spoke on “Objects without Classes”, the non-class-based object model implemented by JavaScript and some other OO languages. The (brief) presentation is available here:

Talk in Powerpoint format

The plain text of the slides (which is, frankly, plenty good enough) follows:

Continue reading “Javascript Talk at St. Louis OOSIG”

Wiki Talk at CCSL

On Oct. 14 gave a talk on Wiki technology, as a tool for faciliating collaborative content creation at low cost, at the Computer Consultants of St. Louis.

On Oct. 14 2003, I gave a talk on Wiki technology, as a tool for faciliating collaborative content creation at low cost, at the Computer Consultants of St. Louis. You can download the PowerPoint presentation:

Wiki PowerPoint Presentation: WikiCCSL.ppt

Or read the text of it:


Continue reading “Wiki Talk at CCSL”