Showing posts from 2006

Start Menu Organizer in Python

I've implemented a little utility in Python that allows to organize your Start Menu by grouping installed applications into groups. It scans the Current User and All Users entries and moves the folders into groups. The list of application is taken from a simple text files like the following:

doxygen => dev
EPSON => utilities
FeedDemon => web
File Tags => utilities
FileZilla => network
Fraps => 3d

You can grab the script and the list here:

Note: probably is necessary to modify the path to the Start Menu Programs if your locale is not English
I am back at work. Now I can continue to work with the Amazon's S3 tool.

My current tools for S3 are:

A Python command line tool for manipulating the S3 storage (ls/mk/rm)A GUI application for transferring files over S3 based on .NET A WebDAV server written in Python that allows to access S3
The next phase of experimentation with S3 is an IMAP server based on S3 that allows to backup mail. It will be implemented using Twisted and the BitBucket library

Playing with Python

I’ve started playing with Python using the amazing SCons tool as a substitute for Makefiles. It is an interesting tool that provides multiplatform features for compilation of C++ program and more tools for building other types of tools.
From SCons I moved to small Python utilities, like the Amazon’s S3 library, and finally I’ve found a way to make it useful for our Virtual Reality Engine called XVR. XVR is a scripting 3D engine that allows a fast development of 3D applications based on OpenGL and their deployment on the Web using a plugin for IE or Firefox. The XVR engine provides core functions for most 3D applications but sometimes the user would like to integrate existing software.
So I’ve created PYXVR an extension for XVR that allows to invoke all the XVR functions and develop the 3D applications using XVR. PYXVR will be presented at the EuroPython 2006 conference showing different aspects of the integration, like debugging, extension of XVR features and the use of the Stackless

C++ Generators

I've posted on a description of a technique that can be used to implement Generators in C++ with a yield statement equivalent to the one in Python or C# 2.0

Drag Drop Upload fixed for Gmail

My Drag Drop Upload extension for Firefox was having some troubles in providing the case of multiple file drop in a Gmail account because Gmail requires to use the "Attach another file" button. They are keeping an attachment counter so the technique of adding new input fields was not more working.

The new version 1.5.6 provides this functionality by simulating the click of the "Attach another file" link using this nice piece of code provided by one Googler for a Greasemoneky script:
function simulateClick(node) {
var event = node.ownerDocument.createEvent("MouseEvents");

true, // can bubble
true, // cancellable
1, // clicks
50, 50, // screen coordinates
50, 50, // client coordinates
false, false, false, false, // …

S3 for .NET Application

I've updated my latest version of S3NET1 that provides a way to access files in your Amazon S3 storage.

The version 0.13 provides:
Drag and DropACL controlConfiguration of ID,Key and Bucket by using the GUIEnjoy

JavaScript programming notes

I've published some interactive JavaScript programming notes on my website relative to some interesting features of the JavaScript language that are used in many modern JavaScript libraries.

The nice thing of this document is that the code examples are syntax highlighted and that they can be executed and changed directly from the page testing the concepts described in the document.