Archive for August, 2011

Turbogears 2.1.2 Released

This week Turbogears 2.1.2 was released, the gears are starting to move again, the Turbogears community is getting more lively lately (as seen on the mailing list), this latest release includes a small patch I contributed to enhance Jinja2 support for Turbogears, adding the possibility of using custom filters and extensions, tough there is still a lot of work to do on that front, I haven’t had the time I would like in order to work on that, however, here at Blackchair Software we use Turbogears as one of our main technologies for business web apps, along with Django and other python related technologies (such as PySide and SQAlchemy), thus I hope to focus on contributing more on the near future.

Release announcement:

http://codersbuffet.blogspot.com/2011/08/announcement-turbogears2-212-released.html

 

,

No Comments

Acer Iconia Tab

I bought recently an Android Tablet, the Acer Iconia Tab, which was available where I live, at first I thought tablets where only a gimmick, but later I started to like the features, the possibility of having books, calendar, email, notes, etc. On a light package with plenty of battery time, also with GPS integrated, I wanted to experiment with GPS it for tracking.

At first the tablet came with Android Honeycomb 3.0 , at the time 3.2 was almost out already, lucky for me Acer got around updating to at least 3.1, I waited patiently for the update to get in, and waited and waited, a month or so passed after buying the tablet, and finally the update came, I’m reading right now that Acer is updating to 3.2 already which comes as a pleasant surprise, so in the OS front I’m quite pleased.

On the hardware side it is quite competent, dual core Cortex-A9, 1gb of ram and nVidia Tegra 2 board, mostly the same specs as other high end tablets such as Motorola Xoom at the time, with a front 2mpx camera and a 5mpx rear camera with flash, the strong point of the Iconia Tab is its wealth of ports compared to other tablets, it has a full-size USB port, a mini-usb port for sync and mini-hdmi, along with headphones and power plugs.

With Android 3.1 the tablet is quite snappy and the latest update enables usb input hardware such as mouse and keyboards, which enhances it’s utility, you can also connect bluetooth enabled peripherals if you wish.

Of course, not everything is all rainbows and ponies, on the hardware side it seems ok, no faults there, the microSD card port is working ok now, tough I wish I got the 3G version of the tablet, but the wifi one is ok, mobile data cost a lot here in Mexico.

On the software side, while android manages to do very well given the range of hardware it has to support, there are many little things here and there, with this tablet specifically video format is very lacking, the build-in player (nemoPlayer) does not play a wide range of media formats, this can be easily solved by installing additional software from the market (such as moboPlayer), on the OS side multitasking is awesome but I personally don’t like how it keeps many process as “sleep” or even still visible on the “task bar” when you already closed them, there is no clear sense when an app has been closed, it gives the impression that everything is working all the times at the same time. Also there is no support for https proxies per se, nor socks4 or socks5 support, which makes things a bit difficult when working on a proxied network.

On specifics, with the latest updates the tablet will usually stop playing music when the screens sleeps, at times an alarm or notification may stop the player and cause a following noise in the audio, which you can fix by using another player or rebooting, but this is rare. The YouTube app is a crasher-happy, it crashes with specific videos at times, then after a reboot it works with the same video, I have ended using youtube via the web browser at times.

The app ecosystem (market) feels a bit lacking in comparison to say itunes, but that is probably the lack of filtering of apps by quality, a lot of low quality apps hide the many gems on the android market. Also there is no filtering of apps optimized for tablets (not that there are many) so you may end with a low resolution optimized app for a phone displaying in a little rectangle on the screen (happened with a Solitary Card Game app).

The biggest problem I have with the Iconia Tab really is only the lack of accessories, where I live there are basically none, its all ipad or even galaxy tab, not Iconia screen shields, cases or anything, seems like I would have to order via amazon all my stuff then.

Now all it needs is a gcc port, python and good editor (emacs or vim) and its all set to replace my laptop on the road.

, , ,

No Comments

Python Packaging

Python as a language is great, the standard library has many useful libraries and there is a wide availability of 3th party libraries all from a centralized place (the Python Package Index aka pypi), which makes Python my language of choice when posible and appropiate, however, one thing that has always struck me is software packaging.

Now, this is not a problem when writting python modules, is very easy to use setuptools and create a setup.py to do all the work, however, when working with desktop apps it gets more complicated.

If your target deployment environment is GNU/Linux then chances are that it already has a python environment installed, in this case installation is not much different from a module.

If you environment is Windows then you are in for quite a ride, chances of the target environment having a python distribution installed are nearly nil, thus you have to package everything. If your application is simple enough you can get away with py2exe, however if it uses many modules, PySide for example, sqlalchemy, etc. Things gets hairy, in the best case that you manage to get a working py2exe bundle you usually end with a directory full of files, which can be puzzling to the user at best, inaceptable most of the time.

Of the many methods I tried (py2exe, cx_freeze, pyinstaller) the only one I could get working is py2exe with an ugly output, I liked pyinstaller best as it produces a single and clean executable bundle, but pyinstaller didn’t work well with some mudules such as pyodbc, resulting on a useless bundle, another thing of pyinstaller is their own bundle, pyinstaller does not install, you have to use the scripts from the source directory, there is no integration with the python installation which I found irritating at best as you have to create a spec file, run a build script, etc. All from the source folder, it would be best if everything was accesible trough the python environment Scripts folder allowing me to call them easily from the command line (without having to add the to PATH).

In the end my current working solution is to create a bundle with py2exe and create an installer which adds a nice icon for the user, hiding the ugly disaster of the application bundle , this however, results in a bigger bundle compared to pyinstaller for example.

, , , ,

No Comments