Oct 11, 2011

Discontinued

The project is discontinued, don't expect any updates here. Thanks for staying with us and see you in a new gig.

Dec 29, 2010

Star and double star operators

I bet not every Python programmer knows what unary operators * and ** do.

Here's the thing: applying * to a list or a tuple extracts all the items of it and forms a function arguments sequence.

That is,
def sum3(a, b, c):
    return a + b + c

threesome = (1, 2, 3)
print "sum of", threesome, "is", sum3(*threesome)
outputs
sum of (1, 2, 3) is 6.

While ** is used for unpacking a dictionary of named function arguments:
args = { "jumper": "fox", "jumpee": "dog" }

print "quick {jumper} jumped over the lazy {jumpee}".\
    format(**args)
naturally produces
quick fox jumped over the lazy dog.

It's easy to remember, you can think of these operators as the ones literally removing parentheses of a tuple, brackets of a list or curly braces of a dictionary.

Dec 27, 2010

Version 0.1 released!

On this great winter day, pyfuscator 0.1 has been released. For now, it will be available only in two flavours: the source code and the Windows x86 executable (built with py2exe for python 2.6). 

What's next? According to our roadmap, version 0.2 will mainly be a bugfix release with some minor improvements. It's hard to say now when it will be available (it really depends on the feedback), but we'll try to roll it out anyway somewhere in Spring 2011. 

In parallel with stabilization, we're starting on the version 0.3 which is going to deliver python 2.7 and 3.x support as well as capability of handling multifile projects.

Now go check us out on the downloads page and, yes, enjoy your holidays!

Dec 19, 2010

We ARE close to the 0.1 release

Now that all internal tests are passing successfully, we anicipate releasing pyfuscator 0.1 in one week term, right at Christmas. Stay tuned!

Nov 6, 2010

Tests stats

We have 52 unit-tests now which cover as much as 89% of the code (not counting the tests themselves). The test-to-production code ratio is 1.121 KLOC / 1.533 KLOC = 73% or a share of 42%.

I made the script for counting LOCs available here: link, enjoy!

Oct 30, 2010

boost.python

Today I have tried boost.python and was impressed with its power and simplicity. Using it, I was able to marry an utility-level C++ library with Python 2.6 in just three hours, wasting at least half of the time purily because of my Saturday's stupidity.

The only thing that worries me if I think about providing Python scripting for large-scale application is compilation time of the bindings provided by boost.python -- these templates could eat my PC alive.

Oct 25, 2010

Weird in

Just discoverd that "" in "abc" evaluates as True, which is on my opinion counter-intuitive. It's quite strange that I can't find it listed as a common Python newbies' error. Does everybody read manual then? :)