a brief about me

My avatar
Fabio Zendhi Nagao

is an applied mathematician from IME - USP - Brazil currently working as CTO at Lojcomm Internet, a company specialized in e-commerce. + info

fields of interest: E-commerce, Collective Intelligence, Interoperability, Web 2.0, Web Design, Mathematical Programming, Pattern Recognition.

contacts: Twitter and nagaozen @hotmail.com, @gmail.com and @yahoo.com

out of date goodies

In order to help the large amount of people looking for my old widgets everyday, I'm putting below a list of the most wanted. Note that the others are still accessible at http://zendold.lojcomm.com.br/.

support my projects

If you like my free products and want to support their advancement, please consider making a small (or large!) donation or buying me a book from my Amazon wishlish.

Category : Python

May 20nd

HOWTO: Install ActiveX Scripting Support in ActiveState Python

Filed Under: ASP, AXE, IIS, Python

In order to save me time in the future trying to figure out how to install ActiveX Scripting Support in ActiveState Python, here's a little reminder.

  1. Download Microsoft Visual C++ 2008 SP1 Redistributable Package http://www.microsoft.com/en-us/download/details.aspx?id=5582.
  2. Download ActiveState Python http://www.activestate.com/activepython.
  3. Download Python for Windows Extensions http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/.
  4. Install everything in the same order.
  5. Execute C:\Python27\Lib\site-packages\win32comext\axscript\client\pyscript.py

That's it! Enjoy!

Read More. No comments made.

Feb 1st

Installing gedit with autocomplete 0.11.0 in windows 7

Filed Under: Application, GEdit, Python, Windows

UPDATE: Czech version available kindly translated by Valeria Aleksandrova. Thank you.

Many developers that use the GNOME desktop environment already know how powerful, yet lightweight, it's official text editor gedit is. Unlike Windows notepad, GNOME gedit comes with a lot of little customizable options and a very flexible plugins system which really makes the programmers day by day a lot better.

But what most of the users don't know is that both Mac and Windows can run gedit using the packages made by it's own core developers. This means that no matter what OS you are running, you have in gedit a good choice of text editor to work with.

What is gedit

According to the project page:

gedit is the official text editor of the GNOME desktop environment.

While aiming at simplicity and ease of use, gedit is a powerful general purpose text editor. Currently it features:

  • Full support for internationalized text (UTF-8)
  • Configurable syntax highlighting for various languages (C, C++, Java, HTML, XML, Python, Perl and many others)
  • Undo/Redo
  • Editing files from remote locations
  • File reverting
  • Print and print preview support
  • Clipboard support (cut/copy/paste)
  • Search and replace
  • Go to specific line
  • Auto indentation
  • Text wrapping
  • Line numbers
  • Right margin
  • Current line highlighting
  • Bracket matching
  • Backup files
  • Configurable fonts and colors
  • A complete online user manual

gedit features also a flexible plugin system which can be used to dynamically add new advanced features to gedit itself.

The following table lists the plugins distributed with the gedit package:

  • Change case: Changes the case of the selected text.
  • Document statistics: Counts the number of lines, words, characters with spaces, characters without spaces, and bytes in the current file. The plugin displays the results in a Document Statistics dialog.
  • External tools: Run external programs and displays the resulting output.
  • File browser pane: Browse and open files directly from the gedit side pane.
  • Indent lines: Indents the selected lines, or removes the indentation from the selected lines.
  • Insert date/time: Inserts the current date and time into a file.
  • Snippets: Expands customizable macros to commonly used code blocks.
  • Sort: Sorts the selected text.
  • Spell checker: Checks the spelling in the selected text. You can configure gedit to check the spelling automatically, or you can check the spelling manually, in the specified language.
  • Tag list: Displays in the sidepane a list of common tags to insert into a file.
  • User name: Inserts the name of the current user into the file.

But the windows package also includes the official gedit-plugins:

  • Session Saver: Save and restore your working sessions
  • Smart Spaces: Forget you're not using tabulations.
  • Embedded Terminal: Embed a terminal in the bottom pane.
  • Code comment: Comment out or uncomment a selected block of code.
  • Bracket Completion: Automatically adds closing brackets.
  • Show/Hide Tabbar: Add a menu entry to show/hide the tabbar.
  • Color Picker: Pick a color from a dialog and insert its hexadecimal representation.
  • Draw Spaces: Draw Spaces and Tabs
  • Join/Split Lines: Join several lines or split long ones
  • Character Map: Insert special characters just by clicking on them.

Ok, that said, I'm going to write this small guide below:

How to install gedit with autocomplete for Windows 7

  1. Download: gedit for windows, ActiveState Python x86 and gedit-plugin-autocomplete
  2. Install both gedit and ActiveState Python.
  3. Because autocomplete plugin requires a json interpreter and the python which comes with gedit doesn't features the json package, we need to copy the json package from the activestate install to the gedit install. In a command prompt, type:
    Copy C:\Python27\Lib\json "C:\Program Files (x86)\gedit\bin\Lib\".
  4. Extract the gedit-plugin-autocomplete
  5. Move autocomplete folder and autocomplete.gedit-plugin file to C:\Program Files (x86)\gedit\lib\gedit-2\plugins\
  6. Open gedit, go Edit > Preferences and click Plugins tab.
  7. Check everything XD
  8. Plugins should be alright, but you can also modify additional stuff in the other tabs (View, Editor and Font & Colors)


To check if the autocomplete is running, create a new document, set the language to ASP and type:

dim Parser : set Parser = new Markdown
Response.write( Parser. )

Now, set the prompt at the end of the word Parser., erase the dot and type it again. A pop-up with the following contents should appear:


That's it, enjoy!

Read More. 7 comments.

Jun 5th

Setting autocomplete to work in Windows gedit

Filed Under: GEdit, Plugins, Python, Windows


Today a friend told me that my gedit autocomplete plugin wasn't working under his Windows box. So I decided to check why and learned a lot of things. Basically the plugin doesn't work because the binary version made for windows brings a custom python.dll which doesn't come with the python json library. So, in order to make it work, you need a working version of the json package and copy it to the place where gedit python.dll is expecting it to be and change the places of some files XD

Read More. 6 comments.

May 5th

ASP, a misinterpreted technology

Filed Under: ASP, IIS, Perl, PHP, Python, Server


After thirteen years of web development, in which the last five I spent almost entirely developing with the .NET platform, I finally saw in Classic ASP the most versatile environment for web development. The main reason for this versatility is, surprisingly, the fact that it is interpreted. It might sound like a joke, mainly because of the whole buzz around the code-behind and the advantages of the compiled code's performance. But, in my opinion, this attribute, summed to multiple languages support, is what guarantees to ASP a distinguish position among the environments for advanced programmers.

Aiming to share my experience and point of view to the whole community, I've decided to create a series of articles, where I'll address key topics that will lead to a greater understanding of the strength hidden in ASP. I've ordered them so that easier topics are discussed first before moving on to the harder ones. Here they are:

  1. ASP, a misinterpreted technology
  2. Event-Driven-Programming and lambda function in ASP/VBScript.
  3. TDD (Test Driven Development) in ASP/VBScript.
  4. Languages: Based on Objects and Object Oriented.
  5. Object Oriented in ASP/VBScript "Hackers way".
  6. "Scripting Components", the ace in the role.
  7. Caching: the concept of DRY (Don't Repeat Yourself) applied to ASP.

In all subsequent articles, I'll indicate the current stage in bold. I don't intend to stop contributing after the end of the seven subjects. I'll probably attack more problems and more specific topics that illustrate the advantage of using ASP. Well, one step at a time...

Read More. 13 comments.

Apr 12th

Quick Highlight Mode gedit plugin

Filed Under: Application, GEdit, Plugins, Python, Ubuntu

Quick Highlight Mode - Screenshot

This plugin provides a faster and easier way to select the current document highlighting mode in gedit. Just press Ctrl+Shift+H, type the language and press Enter.

It's written in Python, so you don't have to compile anything or get any binary. The source is there for inspection and installation.

Read More. No comments made.

Jan 6th

Reserved Words in ASP

Filed Under: ASP, Javascript, Python, Server, VBScript

First of all, HAPPY NEW YEAR! Finally, the first entry in 2009! I’ve been working really hard in the latest days, hoping to get a release version of AXE with tons of new features like: Events, XSession, Markdown and Textile parsers and a lot lot more.

This entry is about reserved words in ASP. My current main languages to code ASP are VBScript, Javascript and Python and they are interacting perfectly under the god damn awesome Microsoft CLI. Enough talk, let’s start! The post is about the boring fact that when developing low-level code, you inevitably fall in the task of recreating something important that you feel is missing or is lacking features. You go for it, start a project and everything goes fine until you need to baptize your new child. Spent a little time thinking, you knows the perfect name, try to assign it and Bang! An error happen. This is usually related to reserved words and the devil lives in the ones that you never used and forgot about their existance because they are simply reserved words don’t have any meaning to the compiler! For a quick reference, see below a list of the reserved words of the cited languages. Rare words are in strong.

Read More. 1 comment.