Monday, October 30, 2006

Gadgets are... NOT stylish!

We are living in 21th century.Woa! We all (almost, though) know about gadgets: a small electric stuff in our pockets. Today I found, that they all together are great hit towards destroying common style.

Let's face it: each gadget *is* stylish. E.g. iPod. My dear wife gave me one as a present. It is really stylish glassy thing with 80GB capacity. Looks pretty nice. Once you touch it, you will like it. This is all at the FIRST glance.

But hey, I already have a Palm Tungsten E. This is kinda old model, but yet doing well its job. I can store all my contacts there, notes and read books. Pretty nice device and very nicely synchronized with my Mac. So *another* stylish gadget.

So now, I have to call my wife and say "Thank you, Darling!" for something. To do this, I take yet another, stylish itself, multifunctional smartphone (joystick present) to call her.

Finally, she says I have to go to photolab and print out some photos, but after that here is a list of goods I have to buy on my way to home. So, I take stylish iPod and put its glassy/metalic weight into my pants. Then take stylish Palm, write down that list of goods I need to buy and put its weight into my pants along with iPod. Now, I take stylish smartphone, stylish wallet and... my pants falls down from me because of 1Kg stuff in there, and looks kinda full.

Stylish, eh?

Monday, October 02, 2006

Bug in Google

Timothy Ha (warning: Site in Russian) sent me an URL about bug in Google Maps.

Sunday, October 01, 2006

Py2App success

I did the following test with CherryPy and Standalone DTML from Zope:


import cherrypy
import DocumentTemplate
import os
import sqlobject

class Root:
def index(self):
return DocumentTemplate.HTML("Hoy! <dtml-var test>", test="Woa!")
index.exposed = True

if __name__ == "__main__":
cherrypy.root = Root()
cherrypy.config.update(file="./test.conf")
cherrypy.server.start()


After 1 hour figuring out what I need to include and how, finally Py2App had generated for me TWELVE MEGABYTES APPLICATION for this test with an Universal binary. Notice the dot-slash before test.conf — it searches from $YOUR_APP/Contents/Resources/ path, instead of $YOUR_APP/Contents/MacOS/. And I still have to screw up the result by removing sources with .py extensions, leaving only .pyc instead. Well, cx_Freeze with wxWindows isn't that better either: http://wiki.wxpython.org/index.cgi/CreatingStandaloneExecutables.

Running this thing on another PowerPC Mac succeeded. Previously I tried cx_Freeze 3.0.3 (source is here) on my Mac under 10.4.8 Tiger and it does not succeeded, since Python interpreter won't find some Python-dependent library, path of which was hardcoded inside the binary. Sweet. :-(

Py2App and SQLAlchemy oddies

SQLAlchemy refuse to be standaloned with Py2App. Switched to SQLObject instead.
Well, if you find it working with Py2App, please feedback me — I am interested!




PS. Aaaaaaaaaaaaaaaaaaaaargh! SQLObject guys could write somewhere in their Requirements they need FormEncode ! Hate documentation havoc. :-(

Compiling Stuff With Python 2.5 on Mac

Not upgrade yet to Python 2.5? Download PythonMac http://www.python.org/ftp/python/2.5/python-2.5-macosx.dmg and install it.


To compile anything with setup.py, you have to upgrade to the latest XCode. Get one from http://developer.apple.com/tools/ site. When installing/upgrading your XCode, please be sure you are installing latest Universal SDK. It is exactly needed by Python 2.5 (not sure for 2.4 though).



Install py2app if you want make standalone applications. More info is here: http://pythonmac.org/wiki/py2app and here is a documentation: http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html