-
Running pep8 and pylint programatically
Having tools like pep8 and pylint are great, especially given the huge amount of dynamism involved in Python – which results in many opportunities to shooting yourself in the foot. Sometimes however you want to invoke these tools in more specialized ways, for example only on the files which changed since the last commit. Here…
-
Relaxed JSON parsing
This blogpost was originally posted to the Transylvania JUG blog. JSON is a good alternative when you need a lightweight format to specify structured data. But sometimes (for example when you want the user to specify JSON manually) you would like to relax the formalism required to specify "valid" JSON data. For example the following…
-
Vagrant and VirtualBox on Windows
Vagrant is a collection of scripts written in Ruby to manage VirtualBox images in a shared environment (like the QA boxes inside a company): install them, update them, etc. Unfortunately installing it under Windows is not as straight forward as one would want, so here are some useful tips: Read the Windows setup page and…
-
Using Jython from Maven
This blogpost was originally posted to the Transylvania JUG blog. On the surface it looks simple: just add the dependency and you can run the example code. However what the jython artifact doesn’t get you are the standard python libraries like re. This means that as soon as you try to do something like the…
-
Integrating Maven with Ivy
This post was originally published on the Transylvania JUG blog. The problem: you have some resources in an Ivy repository (and only there) which you would like to use in a project based on Maven. Possible solutions: Migrate the repository to Maven (Nexus for example) since Ivy can easily use Maven-style repositories (so your Ivy…
-
Upgrading the Options (GlobeTrotter) GI515m
Recently I needed to install an Options (GlobeTrotter) GI515m 3G USB modem on a machine which previously used an older version of the modem (the iCON 225). This seems a pretty common scenario (an existing user getting an update), however the process seems less-than-straight forward: Get a second computer with the same operating system version…
