Skip to content

Categories:

Status Update

I thought I’d take a moment to provide some status and make a call for comments.

Apparently Wiiusecpp is the most popular/easiest to find software on my site, based on the number of visits and downloads.  I have had no significant feedback as to how well the library works,  if anybody was able to get it to work on windows, or if there should be any API tweaks/changes.  I have not really been using it since I’ve been mainly working on the spreadsheet project.  My intention was to use the wiimote to control my 6-dof simulation (see the visualpyode page) but I have just not gotten around to it.

On the pysheet front I have a much much better version of it (multiple sheets, plotting, etc.) which is nearly a complete rewrite from the pysheet I released, but since I can’t really gage the interest in it I’m not feeling compelled to rush out a release.  I’m also a bit worried that a company might co-opt it into their for-fee product.  If there is revenue to be had I could sure use it if for no other reason than to allow me to continue working on new projects (I’ve been sidetracked of late, seeking income).  So it seems I have three choices:

1) GPL it, and don’t sweat the outcome

2) Use a more restrictive license to prevent commercial use, leaving me the option

3) Try to make a business of it right from the start (free to students, fee to companies type of thing)

A vibrant and interested community (and a few other developers) would certainly persuade me towards #1 or #2, but right now I’m just not seeing it.  That leaves me tempted to either form a relationship with one of the companies I have identified or compete against them.

On the visualpyode side of things I’ve kind of reached the conclusion that visual python is the weak link there and have been contemplating how large the task would be to convert it to being OpenGL based or something like that.  Don’t get me wrong, visual python is a neat project, but their goals are really oriented towards the eliminating complexity and using it in a classroom setting. My goal of visualpyode was to allow visualized simulation without the complexity of designing a video game — do your simulation in PyODE and visualization ‘comes for free’. The visual python UI shortcomings (and no realistic hope of working around them) really hamper its use in ‘real’ applications so I think my visualpyode library falls short.  I need something that will easily render in a ‘canvas’ provided by wxPython or other serious UI library.  However, the sticking point is the same thing that brought me to visual python in the first place — mouse/object interaction.  It may not be obvious from the demos but with visualpyode you can interact with your physical objects using the mouse.  I’ve used this to have the mouse apply forces and even do construction of objects.  This requires that the graphics library be able to identify the ‘contact point’ between the mouse and the 3D scene.  This is turn-key in visual python, I’m not sure how easy it is to accomplish in something like OpenGL.

If you have any ideas, comments, or opinions you want to share please post them here, in the forum, or send me an email (jt@missioncognition.net).  If even one person would take the time to share how they are using the software or perhaps something have learned from reading the source code, it would really be meaningful to me.

Posted in Software.

PySheet Released

I’ve released PySheet an example/demo spreadsheet implemented in Python.  It uses Python as the formula/macro language and has an interpreter shell available so you can either work in the cell grid on on the command line.  See the full description on the PySheet page.

Posted in Download, Software.

Functional Programming Extensions for a Python Shell

For lack of a better term I’m calling this code objects. You can download the zip file here. This should run on any OS with Python installed. One could argue that this is a form of functional programming not to dissimilar from a spreadsheet. This program is an offshoot of my Python based spreadsheet project. I realized that a Python shell which allowed formulas to behave like spreadsheet cells could be useful for those people who like to use Python interactively as a smart calculator. Here is an example of how it can be used:

$ python codeobjects.py
Python Shell with code objects
>>> area = ‘= length * width’
Calculation of (area = length * width) had errors.
{‘area’: None}
>>> length = 4
Calculation of (area = length * width) had errors.
{‘length’: 4, ‘area’: None}
>>> width = 6
{‘width’: 6, ‘area’: 24}
>>> area
24
>>> width = ‘= a + b’
Calculation of (width = a + b) had errors.
Calculation of (area = length * width) had errors.
{‘width’: None, ‘area’: None}
>>> a = 2
Calculation of (width = a + b) had errors.
Calculation of (area = length * width) had errors.
{‘a’: 2, ‘width’: None, ‘area’: None}
>>> b = 10
{‘width’: 12, ‘b’: 10, ‘area’: 48}
>>> b = 5
{‘width’: 7, ‘b’: 5, ‘area’: 28}
>>> area
28
>>>

So any string assignment to a single variable will be tested to see if it begins with an equals sign. If it does then it will be converted into a CodeObject. Tarjan’s algorithm is used to determine the correct calculation order. As a matter of convenience I have added print statements to display when calculations have errors and the results of variables which have been changed as a result of the new assignment. Other than the re-interpretation
of strings which start with an equals sign the interpreter should act as you would expect.

Obviously unlike a spreadsheet the names for your variables do not need to follow a cell address convention of letter for the column and number for the row. When using the interactive interpreter it does not matter too much. Of course this somewhat limits what sort of fancy operations you can do on ranges of variables and such. The simple version of the spreadsheet program I plan to release soon marries the shell with a grid for the best of both worlds so tune in later for that.

I am also including a second file pyShellWithCodeObjects.py which contains a slightly modified version of the wxPython pyshell application. If you have wxPython installed you might like to use this instead of the text console. This file is included as an example and is not subject to the licensing of this distribution but rather is subject to the licensing of the wxPython project.

This was originally inspired by this ActiveState Recipe and Roberto Alsina’s Blog on the subject. Without these preceding efforts I never would have attempted it.

Distributed under the GPL.

Posted in Download, Software.

Alpha Release of VisualPyODE

I am alpha releasing my VisualPyODE framework library today. The framework/library is designed to aid in using PyODE and Visual Python together. When you create objects they have both physical and visual properties including collision support. Download the library here. For more details about this release go to the VisualPyODE Page.

jt

Posted in Download, Software.

Alpha release of WiiuseCpp and PyWii

I am alpha releasing wiiusecpp and pywii today. Wiiusecpp is a C++ wrapper library for the wiiuse Nintendo Wiimote library. Pywii is a python swig wrapper of the wiiusecpp library and can be found as part of that library distribution. Download the library here. For more details about this release go to the WiiuseCpp Page.

jt

Posted in Download, Software.