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 : Windows

Mar 10th

HOWTO: Compact vdi

Filed Under: Optimization, Server, Windows

$ vboxmanage modifyhd --compact <disk file>.vdi

Read More. No comments made.

May 10th

HOWTO: Restore GRUB after installing windows

Filed Under: Ubuntu, Windows

Yesterday my notebook (which came with Windows 7) simply went to a boot loop unless I change to OS to Linux o_O. Since reinstalling Windows 7 messes the whole MBR, a GRUB restore is required to get the multiboot back to work. These are the steps to get it working again:

  1. Boot with a LiveCD and in places, click the original grub partition get it mounted.
  2. Open the terminal.
  3. Verify if it's the right partition $ mount | tail -1. Something like /dev/sda5 on /media/0d104aff-ec8c-44c8-b811-92b993823444 type ext4 (rw,nosuid,nodev,uhelper=devkit) will be returned.
  4. To make sure this is indeed the Ubuntu boot partition, run $ ls /media/0d104aff-ec8c-44c8-b811-92b993823444/boot
  5. To restore the grub type $ sudo grub-install --root-directory=/media/0d104aff-ec8c-44c8-b811-92b993823444 /dev/sda --recheck
  6. Reboot and enjoy!

Read More. No comments made.

Mar 25nd

HOWTO: Recover IUSR and IWAN

Filed Under: Server, Windows

Today I faced a very interesting problem: How to set back a site, in Windows 2003, to anonymous access once its password has been accidentally changed in the Directory Security?

Besides the very intriguing fact of "How could someone do that?!", it's equally fascinating that just clicking "Enable anonymous access" and leaving the password field empty won't bring your site back. Neither using "guest" nor "anonymous".

What's going on here is that some Windows account passwords are set automatically and are never known. Once you have them out of sync you have a "Oh, man!" kind of big problem since your customer is calling all the time asking: "Why my password is asking for user and password?! WHY WHY WHY?!".

Fixing this is easy but a little tricky. Here are the steps:

1 -- Open C:InetpubAdminScriptsadsutil.vbs and search for the function IsSecureProperty. It should be something like:

Function IsSecureProperty(ObjectParameter,MachineName)

    On Error Resume Next
    Dim PropObj,Attribute
    Set PropObj = GetObject("IIS://" & MachineName & "/schema/" & ObjectParameter)
    If (Err.Number <> 0) Then
        ReportError ()
        WScript.Echo "Error trying to get the property: " & err.number
        WScript.Quit (Err.Number)
    End If
    Attribute = PropObj.Secure
    If (Attribute = True) Then
        IsSecureProperty = True
    Else
        IsSecureProperty = False
    End If

End Function

2 -- Edit it TEMPORARILY to always return false:

Function IsSecureProperty(ObjectParameter,MachineName)

    ' On Error Resume Next
    ' Dim PropObj,Attribute
    ' Set PropObj = GetObject("IIS://" & MachineName & "/schema/" & ObjectParameter)
    ' If (Err.Number <> 0) Then
        ' ReportError ()
        ' WScript.Echo "Error trying to get the property: " & err.number
        ' WScript.Quit (Err.Number)
    ' End If
    ' Attribute = PropObj.Secure
    ' If (Attribute = True) Then
        ' IsSecureProperty = True
    ' Else
        ' IsSecureProperty = False
    ' End If
    IsSecureProperty = False

End Function

3 -- Now your are ready to retrieve the built-in anonymous password by using the following command:

cscript adsutil.vbs get w3svc/anonymoususerpass

4 -- or the IWAN password by using:

cscript adsutil.vbs get w3svc/wamuserpass

5 -- Remove the adsutil.vbs modifications and set the password in the Directory Security.

Note: If instead of using get to retrieve the built-in password, you think it's better to set a new password, you may use the set command and after that you should run cscript synciwam.vbs -v to sync up the new password in all the services.

That's it! And... yeah, the blog is not dead xD

Read More. No comments made.

Jan 31st

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)

Testing

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:

gedit-autocomplete-0.11.0-windows

That's it, enjoy!

Read More. 7 comments.

Aug 11th

Enable IIS6 gzip compression to maximum AXE performance

Filed Under: ASP, AXE, IIS, Optimization, Windows

I've recently configured a lot of Windows 2003 servers to run our e-commerce system and remembered that both the built-in configuration of IIS6 and the IIS6 GUI aren't friendly for a proper gzip/deflate compression of our modern file extensions. That's why I'm writing this tutorial which will make your box compress css, js, json, xml and aspx files the way you probably want it. This will also helpeful if a new type of file happen to appear in the future.

Changing the W2K3 interface for best performance

This guide gives a very straight forward step-by-step approach for W2K3 servers running with Classic Start Menu interface. Because I consider that "My Computer" icon incredible useful in a lot of single machine managing scenarios. To enable it, just right-click the Taskbar, click Properties, click Start Menu tab, select Classic Start menu radio button and click OK.

Set up the IIS Compress Service

  • Starting from a clean Desktop (WIN+D), right-click My Computer, click Manage
  • Expand Services and Applications, expand Internet Information Services (IIS) Manager, right-click Web Sites, click Properties
  • Click Service tab, select both Compress application files and Compress static files, select Limited to (in megabytes), set it's input text to 1024 and click OK.

Set up the metabase.xml

  • Open an console (WIN+R, type cmd and click OK)
  • Execute in the console the commands below:
iisreset /stop
notepad c:\windows\system32\inetsrv\metabase.xml
  • Search for "IIsCompression"
  • Set both deflate and gzip sections with the following properties:
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
xml
xslt
js
json
css
txt"

HcScriptFileExtensions="asp
aspx
dll
exe"
  • Execute in the console the commands below:
iisreset /start

That's it, your server should be compressing the files now! Enjoy the performance!

Read More. No comments made.

Jun 5th

Setting autocomplete to work in Windows gedit

Filed Under: GEdit, Plugins, Python, Windows

autocomplete-plugin-running-in-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.