Creating Barcodes for Brazilian Banking using Python and Reportlab

Decoding_Interleaved_2_of_5Some time ago I needed to add barcode generation for one of my client´s Web Service.
At the time , I implemented the payment slip layout using REPORTLAB python component which by the way is perfect for PDF generation and layouting.

Albeit that, for the barcode I used a separate image, that was generated by python code I wrote.
The algorithm I used had some flaws and the generated barcode image failed to match the number that originated it, when decoded by a barcode reader.

The Brazilian banking system is based on the “Interleaved 2 of 5″ (I2of5) barcode pattern.

Browsing the REPORTLAB documentation I found that this tool has primitives that generate the barcode using the I2of5 pattern so I decided to implement a sample before applying on the web app
The sample was sucessful so I am now using REPORTLAB for that purpose.

Here is the solution:

Getting your Google Plus and Hangout badges…

Google Talk was gone and with it my outdated badge in this blog.
This weekend I decided to finally fix this annoying issue and started to investigate how to get my google identity properly displayed in my blog.

As a side-effect I also wanted to allow visitors to be able to communicate (start a hangout with me and others ) eight while visiting my blog.

Google Developers API provides entry points that allow you to build such badges and to embed Hangout sessions within your own apps.

So, for embedding Hangout buttons anywhere, there is a detailed explanation here:
Google Developers – Starting Google+ Hangouts with the Hangout button.

There are different examples there.

Foe WordPress blogs there is a WP widget plugin that provides all Google+ kind of badges with fully configurable.
Developed by the guys at WP Italyplus

If you look on the sidebar right here, you will see my Google+ badge, Hangout button and Followers box, made with their plugin.

Dinamically patching sites using js to improve readability.

Having acquired some vision limitations over time, I sometimes feel unconfortable the visual styles chosen by sites developers. So at times I look around for public scripts to allow sites customizations.

For instance I use one of those that make plain GMail new email to use a mono-spaced font. Which is great for me.

More recently I was looking for a way to change Google Drive´s fonts (both the folder tree and the documents list) but didn´t find anything, or even what I found was making lots of other customizations I didnt plan to change.

So I decided to write my own userscript for custommizing Google Drive´s folder tree and document list making fonts smaller and bolder.

[UPDATE] Since this script relies on the addCustomStyle function to patch the styles, I extracted it to a separate Gist (on Github).
Notice the @require metadata in the gDriveFonts.js file above, which references (includes) the newly created javascript library (jsLib).

Having Google Chrome as default browser, I use Tampermonkey, a powerful extension to load, edit and manage my scripts.

Brief info-graphic overview of the last seven years.

As proposed by my new (at the time, about a month ago) manager, to provide a quick overview about what I´ve been working on during the last seven years, I came up with this info-graphic one page summary on the subject.

Although there are some tools that promise to automatically generate kind of similar output based on your social profile on LinkedIn (or others), I found that making my own would be a great exercise.

This is also an alternative way to communicate and let everyone (head-hunters, staffing pros and others) know in which areas I have been working on, developed skills, tools, technologies and expertise gained.