Tuesday, September 23, 2008

JavaScript Best Practices, or "JavaScript: The Good Parts"

The book, "JavaScript: The Good Parts" will be useful to both beginners and experienced JavaScript programmers who want to create better JavaScript code.

"JavaScript: The Good Parts" is a slim volume (153 pages) that clearly explains a number of best practices for JavaScript giving the "why" and the "how" for dozens of issues such as creating objects, using JSON securely, dealing with regular expressions, checking your code using JSLint, and avoiding "attractive nuisances" such as "implied globals." I only wish the author had included something on setting up unit-test frameworks for JavaScript (see for example, Scriptaculous.)

JavaScript is a programming language growing in importance every day - increasingly complex systems such as GMail, Google Maps, and MobileMe depend heavily upon it.
The guy who wrote this book, Douglas Crockford, is a "senior JavaScript architect at Yahoo!" and is the fellow who introduced JavaScript Object Notation (JSON) and created JSLint, a JavaScript style-checker (static code analyzer.)


"JavaScript: The Good Parts" (Douglas Crockford)

See also:


"Perl Best Practices" (Damian Conway)

Technorati Tags: , , ,

Thursday, September 04, 2008

Flamethrower Shooting Gallery Most Dangerous Interactive Installation on the Playa

The Flamethrower Shooting Gallery was a big success at Burning Man 2008.

I asked DaveX (head of fire safety for the Burning Man organization) for his view and Dave said:
"... heard nothing but good things about how you guys ran it, and I think it's the most dangerous thing out there."
Thanks Dave!

The Flamethrower Shooting Gallery was the only installation on the playa that combined horizontal flame effects with liquid fuel and was controlled by participants. The fire safety team measured the facial skin temperature on shooters at 130 degrees Fahrenheit  while the flamethrowers were in action.

This photo shows some shooters getting ready to fire with the assistance of the Range Safety Officers.

Technorati Tags:

Wednesday, July 16, 2008

Sunday, June 22, 2008

Herb Meyer World Economic Forum Paper could be a Fake

Did Herb Meyer really write and/or present the paper attributed to him as having been presented at the World Economic Forum in Davos, Switzerland?

There are a lot of copies of this paper on the web - variously titled "Four major transformations of the New Century", "A global intelligence briefing for CEOs", etc.

The web site of the World Economic Forum does not seem to contain Herb Meyer's name at all, and certainly not in the their list of contributers as of late June 2008.

Technorati Tags: , ,

Sunday, February 17, 2008

Releasing software under an Open Source License to Increase Business Value

Releasing software under an Open Source License can increase the business value of that software.

Why License as Open Source?
As a developer when I create software and license it to a customer there are a number of reasons why I might want that license to be an Open Source license. That is, that are a number of ways in which Open Source licenses increase the value of the software to me, the original author. This value points should be weighed against the value created by Closed Source licenses.

Open Source Need Not Equal "Free of Charge"

Software can be Open Source and fee-for-use and it can be closed-source but free-of-charge.

Examples:

  • Embedding the MySQL database in your product: It is Open Source, but you must pay for the right to embed MySQL in your product.
  • Microsofts' Internet Explorer web browser is free-of-charge but is Closed Source.
Releasing software under an Open Source license does not automatically mean you are allowing all use to be free of charge. Indeed, crafting good Open Source fee-for-use licenses is an area of law which would benefit from more creative efforts.

Value From Increased Networking Utility
Many of the value propositions listed below derive from the idea of increasing the human networking utility of my software - that is, as under an Open Source license my software can be used to help create and maintain my connections to other people: developers, potential clients, collaborators, pundits, marketers, etc. and a great deal (maybe most?) of the business value available ("Total Value Available") is obtained through connections and relationships, so anything that promotes good connections to other people has potential business value which should be considered.

Closed Source software licenses act in some ways as barriers to creating and maintaining connections to people. Healthy relationships require boundaries, so this is not a question of all-or-nothing but rather one of degree and kind. A lot of what a Closed Source license does is to try and prevent a loss of value, as opposed to providing utility that can lead to an  increase in value.

The value that a Closed Source license seeks to create or preserve is based on scarcity and secrecy. The Closed Source License seeks to create a barrier to understanding how the software works, and making it harder for others to reuse or modify the software.  The Closed Source License is addressing the creators' fears that if someone can read the source code they will have an easier time creating a competing product, that it will be easy to copy portions of the code and reuse it without payment and that t will be hard to detect such violations. These are real issues and should be considered before releasing source code in any form.

Specific Kinds of Value Created or Increased by an Open Source License
Using an Open Source License for software I create increases its value to me by:
  • Ensuring that I have the right to re-use the software for another project/client.
  • Increasing the likelihood that my software will be widely used, and thus I will be known to a wider market, and possibly gain market-share and "mind-share."
  • Increasing the likelihood that my software will be improved. I gain by being associated with the higher-quality experiences the users have, even though some improvements are made by others, as the original author, some of the goodness rubs off on me.
  • Making it easier to use my software as a marketing tool - I can show the code to prospective clients and collaborators and partners. Increasing the human-networking utility of my software is a
  • Making it easier to incorporate other Open Source Software into my product, thus giving me a much wider range of options for adding features and making improvements, so I can respond to change requests and new opportunities much faster than if any change had to be implemented de novo.
  • Providing an effective avenue for the widest possible expert review of the softwares' security. For example, Open Source software that handles vote counting  will likely inspire higher confidence and thus have a greater value.
Some Ideas For Open Source Licenses
What can/should one put in a License that is part of a Software Development Contract? I am thinking here of things that specifically relate to adding value for the licensor, for example:

  • Non-exclusivity. Licensor can use the software for other projects.
  • Licensor has the right to list the Licensee in marketing materials (e.g. a web site) as a Licensee of the Software.
  • Prescribing a mechanism for Licensee to "post-back" changes to the software.
There are probably a lot more things to consider along these lines - how releasing software as Open Source can increase the softwares' value to the releasor.

SEE ALSO


Some widely used Open Source Licenses:

Technorati Tags: , ,

Thursday, February 07, 2008

Markets are not mathematical creatures.

Stock markets look like mathematical phenomena, but they are not. Stock markets are psychological phenomena.

See "Demon of our own Design."