dimanche 14 novembre 2010

Unique 0.25 : the froodiest version yet

When I added the 'search for selected pattern' feature to unique's browser, I realized that hidden in the core library was a full search engine. So I thought that it would be fun to add a google-like interface to this engine.

Unlike traditional search engines, this one works on pattern matching. Giving it a few random keywords won't work. So... how could one use it? By feeding it sample code. Give it a few lines of code, a sentence or an algorithm and it will search for something similar.

Here is a scenario where it could shine. Suppose that littered through the code base you have used the same idiom/pattern/copy-pasted code. One day you find a bug in the pattern. Searching for all the instances of the pattern could be difficult with a regex, for many reasons. Variable or function names could be different from module to module, some instances could have changed slightly over time by different maintainers, etc. Unique should be pretty good at finding all those occurrences. Simply feed it one instance of the idiom and launch the search.

What's next? Not quite sure. Emacs integration is on the list. Better performance that would allow the indexing of very large code bases : that's also on the radar. If you think unique could be useful to you, tell me how - I can help.

Get your copy here : https://sourceforge.net/projects/unique/

mercredi 27 octobre 2010

3D scanning in Montreal

VLAM is now offering a 3D scanning service!
http://www.3d-body-scanner.com/

mardi 26 octobre 2010

twitter on n900

Is there a twitter client that will integrate in the conversations of a Nokia n900 phone and actually work?

lundi 18 octobre 2010

How to properly tag python source files

Situation : emacs + ctags + python source

Problem : import statements are tagged just like definitions, which means that find-tag never jumps to the location I am interested in.

Solution : add "--python-kinds=-i" to the ~/.ctags file. On Windows that would be c:\users\[username]\.ctags

https://bugs.launchpad.net/ubuntu/+source/exuberant-ctags/+bug/618979

Voilà.