Sunday, April 27, 2008

Literate Programming

Work with evolving technologies computer related such as: operating systems, computer networks, language programming; they demand a continuous practice for avoiding forget the learned lessons.

For example, if you learned how to
  • configure a router
  • backup your server remotely
  • process a XML file in your program
if you don't practice, you'll loose your skills after while.
If you think that you'll be apart from your task, it's highly recommended that you document your tasks and your software programs and as much as possible provide your sources, they will save your day shortly.

In a recent interview with Donald Knuth I found something interesting. For programming languages, he has something to say. He proposes something called programming literate. It deals with different aspects related with the software development process. It provides guidelines for software documentation, design documentation, agile documentation, and source comments.

I can assure you, a well written document is as important as the product that accompanies it.

Friday, April 25, 2008

SWIG extending your possibilities


I'm a Java fan, and lately, I'm a Groovy lover. However, it's well known there are limitations in high-level languages such as Java and scripting languages, Groovy for example, when dealing with low level issues. Some people say "C is a high abstraction of the assembler code". In fact, one step during compilation of C programs is to translate them in assembly code (gcc -S <your_program>.c)
As consequence, the Java developers have developed JNI (Java Native Interface) framework. It allows the interaction between Java and C code. However, to develop JNI components can be a daunting task.

SWIG is a software development tool connecting C and C++ components with scripting languages such as: Perl, PHP, Python, Tcl and Ruby. Besides, it supports interaction with non-scripting languages such as: C#, Common Lisp, Java, Lua, Modula-3, OCAML, Octave and R. Impressive ah!

Take care, and happy weekend!

Tuesday, April 22, 2008

Science 2.0

Years ago, Web 2.0, arrived our computers exposing different mechanisms of interaction for the web users.
Likewise, Web 1.0 was developed by a physics researcher, Web 2.0 is been used and developed for people from different areas of knowledge.
Now, Web 2.0 is been used for the users to display different situations of your life but also the researchers are using it as a mechanism for supporting the development process of knowledge.
The Wiki framework is one of the most successful mechanisms for sharing knowledge as much as informal and formal way.

Today, researchers are advocated to open their knowledge to the world, of they will be condemned to the failure and isolation.

Scientific American has an interesting article about this topic (