Archive for the 'programming' Tag


 

Future “development”

Recently I had to think a lot about an eventual hardware and software configuration for a personal project - still on progress. Basically my aim is to provide PCs with a pre-installed software. The software has to be, as usual, visually and interactively compelling. After a bit of research I wanted to share my actual thoughts.

 

Operating System

When it’s about delivering a full solution, the OS is definitely an important part. Not only because the eventual cost of the license, for instance the Windows’ one, but also for the time you will have to spend on setting it up. Linux distributions are getting incredibly complete and Ubuntu, of course, is a good example. To set it up as second boot option on my old laptop was incredibly quick, especially with the 6.10, and having it working was much faster then setting up Windows. The cool things of Linux though, is that you can have LiveCD. In very few words, is theoretically possible to put in a USB key a generic OS and our custom application so that any machine could run our software in few minutes without any need to setup, pretty amazing.

 

Development Environment

For this kind of stuff I used to use Processing + OpenGL, like in bb-write, and so the first tests have been developed with it.
Adding complexity to the application, the performances start struggling. Usually it shouldn’t be a Processing’s issue, since it works just as kind of wrapper to OpenGL, but since in the past (link) I noticed a remarkable decrease of performances between the 92nd revision and the 107th, I can’t exclude it.
A lower level alternative to create executable could be C++, which I used during the OpenFrameworks workshop I attended at Ars Electronica this year. If I want to stick with Linux though, I should set up an IDE to deploy in Linux and we know how odd is to switch IDE in C++. The compatibility issues that changing a compiler could generate are very painful.

 

Programming Language

If I want to be able to switch easily from one OS to another I definitely need a higher level programming language. Two that don’t use any Virtual Machine, and so could be very tempting for their simplicity in setting up the PC, are Python and Ruby. They are very modern languages comparing to C++ and Java, and their interpreter generates temporary the bytecode so the application can run natively on the machine.
I have been totally shocked about the simplicity on creating a standalone application that use OpenGL with Ruby. In Python instead my attempt has been a bit of a nightmare, too many libraries dependencies and only one incompatibility can increase the pain considerably. It’s very difficult to say which is better between Python and Ruby, Python has so many libraries and Ruby is getting very popular recently only because of Rails, but the simplicity on deploying gave me a clear example about the quality of the architecture behind.

 

So this long post was only to say that at the moment I’m investigating both on Linux and Ruby, two technologies that seem to have great future.

Digital Information Design

Tomorrow I will be one of the lucky people that will start officially this course directed by Mr. Maeda and with many other cool people as teachers. In these days we have already started with a lite cool introduction that makes me be very excited. I think I will be very busy during it so I don’t think I will post so much but I hope to come back with many inspirations from there.

Processing the Java Applet resource

Thanks to the myth Golan Levan, I have discovered www.processing.org, an amazing resource for Java Applet Coders. It is very useful at the begin.

An OSM slideshow

In the Italian MMUG, the great Jay Jam posted an OSM slideshow oriented to local presentations of big images… I changed it a little bit to create a nicer visual effect and to adapt it for the web…

slideshow.jpg

here the code!