Be kind? Re-Kind! – Easy Reformatting of Scientific Papers

31 01 2010

The first time I held a Kindle in my hands I thought, this might be a game changer – at least until you start reading scientific papers which have a two column layout. Which is great for printed media, but as soon as you want to read it using a device zooming won’t help. Thanks to a hint of Christian I found this blog entry from Steven Wittens presenting the idea of cutting a two-column PDF page into 4 pieces. The complete program was written in Python and a no-brainer to execute – if you love the command line as I do. Unfortunately lot’s of my colleagues don’t and were wishing for a nice UI to easily drag and drop files to rework.

Based on the idea of Steven I rewrote the code and added the possibility to have multiple configurations (as how many columns you are splitting and how many vertical splits you want to make) and put it together using Titanium application. The result is a neat desktop app that presents a simple UI for the task.

To select files that you want to split just drag and drop them in the dropbox and click on process as soon as you are finished. The output files will be in the same directory as the input files but with a rekind appended to the filename.

To download the applicaton for Mac or Linux go to its Titanium application page, the complete source for the Titanium project and is available on Github using the MIT license.

As usual I’m glad for any feedback and feature requests.


[PyPalm] 0.20.17 released

26 01 2010

Today I released PyPalm version 0.20.17 and it adds one bugfix and one feature:

The bugfix fixes the issue that one could encode the $L() call with single quotes instead of double quotes – both can now be used. The feature was proposed by Johan in the comments of this entry and adds a default text (which is the key) for each untranslated item and prepends the key with “_%_” so that when preparing your application for translation you see if you found every string that needs localization.

As a last step I added backwards compatibility for all those people without Python 2.6 and no built-in json support. If you have at least simplejson installed everything should be fine.

But please, feel free to report any bugs!

[PyPalm] Screencast Available

1 01 2010

There is a screencast for PyPalm available on Vimeo. Have fun.

– Martin

[PyPalm] PyPalm 0.20.10 adds localization support

1 01 2010

As a short new years present I upgraded PyPalm to version 0.20.10 🙂 and added scene and localization support. The first one comes handy when creating new scenes for the application. To add a new scene to your application call the following command from your terminal

pypalm new_scene MySceneName

where MySceneName is the name for your new scene. The second new feature of PyPalm is more important and even more helpful. When developing applications, especially web and mobile applications, customers are often scattered around the globe and localization is a key factor for the success of an application. The Mojo toolkit of Palm supports localization via the $L() method and integrates nicely into the application. But what is still missing is the possibility to extract the referenced keys automatically! PyPalm adds this featured and supports direct language integration with automatic creation and update of the referenced language files.

To configure your application for localization add the “languages” key to your framework_config.json file and add all languages you want to support.

  "languages" : ["de_de"]

In the example above the configuration supports German in addition to the original language. Now execute PyPalm localize on your command line

>> pypalm localize
Updated de_de

For all configured languages the necessary strings.json file will be created and already existing files will be merged with the updated ones from the current parse run of the application.

The source code is available as open source at Github and if you have any questions or feature requests don’t hesitate to drop me a note. If you want to install PyPalm and need a short introduction, check this blog post.

– Martin (grundprinzip)