॥ स्वक्ष ॥

To content | To menu | To search

Tag - Python

Entries feed

2010 June 17 [Thursday]

howto install funkload on ubuntu8.04 hardy

In between my earlier attempts and patchy internet for almost a week and google searches yielding this:

#0.http://nedbatchelder.com/blog/200810/funkload_ftw.html
#0.http://blog.jbglenn.net/search/label/Funkload and
#0.http://pydanny.blogspot.com/2008/02/funkload-charting-woes.html

It seemed like a challenge to get funkload working on Hardy but Ben had emailed and commented (thanks Ben :-)) that Funkload and TCPWatch package has to be installed manually for all Ubuntu releases below ver8.10 and its packaged for Debian-lenny.

On a clean Hardy/8.04 system, I tried installing funkload, yet again. So I suppose a proper listing of the steps will be useful to others.

Step0:

Installing the package dependencies.

i@ubu804:~$ sudo aptitude install python-dev python-xml python-setuptools python-docutils gnuplot

Step1:

Downloading TCPWatch, extracting and building from source.

i@ubu804:~$ wget http://hathawaymix.org/Software/TCPWatch/tcpwatch-1.3.tar.gz
--13:23:27--; http://hathawaymix.org/Software/TCPWatch/tcpwatch-1.3.tar.gz
; => `tcpwatch-1.3.tar.gz'
Resolving hathawaymix.org... 67.161.215.12
Connecting to hathawaymix.org|67.161.215.12|:80... failed: Connection timed out.
Retrying.
--13:26:37--; http://hathawaymix.org/Software/TCPWatch/tcpwatch-1.3.tar.gz
; (try: 2) => `tcpwatch-1.3.tar.gz'
Connecting to hathawaymix.org|67.161.215.12|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13,065 (13K) [application/x-tar]
100%[===================================================================] 13,065; 11.43K/s;
13:26:39 (11.42 KB/s) - `tcpwatch-1.3.tar.gz' saved [13065/13065]

i@ubu804:~$ tar xzvf tcpwatch-1.3.tar.gz
tcpwatch/
tcpwatch/tcpwatch.py
tcpwatch/setup.py
tcpwatch/CHANGES.txt

i@ubu804:~$ cd tcpwatch/

i@ubu804:~/tcpwatch$ ls
CHANGES.txt; setup.py; tcpwatch.py
i@ubu804:~/tcpwatch$ python setup.py build
running build
running build_scripts
creating build
creating build/scripts-2.5
copying and adjusting tcpwatch.py -> build/scripts-2.5
changing mode of build/scripts-2.5/tcpwatch.py from 644 to 755

i@ubu804:~/tcpwatch$ sudo python setup.py install
running install
running build
running build_scripts
running install_scripts
copying build/scripts-2.5/tcpwatch.py -> /usr/bin
changing mode of /usr/bin/tcpwatch.py to 755
running install_egg_info
Writing /usr/lib/python2.5/site-packages/tcpwatch-1.2.1.egg-info

i@ubu804:~/tcpwatch$ cd

Step2:

Installing funkload version 1.12.0.

i@ubu804:~/tcpwatch$ sudo easy_install -U funkload
Searching for funkload
Reading http://pypi.python.org/simple/funkload/
Reading http://funkload.nuxeo.org/
Best match: funkload 1.12.0
Processing funkload-1.12.0-py2.5.egg
funkload 1.12.0 is already the active version in easy-install.pth
Installing fl-credential-ctl script to /usr/bin
Installing fl-monitor-ctl script to /usr/bin
Installing fl-install-demo script to /usr/bin
Installing fl-run-test script to /usr/bin
Installing fl-record script to /usr/bin
Installing fl-build-report script to /usr/bin
Installing fl-run-bench script to /usr/bin
Installing fl-credential-ctl script to /usr/bin
Installing fl-run-test script to /usr/bin
Installing fl-record script to /usr/bin
Installing fl-run-bench script to /usr/bin
Installing fl-monitor-ctl script to /usr/bin
Installing fl-install-demo script to /usr/bin
Installing fl-build-report script to /usr/bin

Using /usr/lib/python2.5/site-packages/funkload-1.12.0-py2.5.egg
Processing dependencies for funkload
Finished processing dependencies for funkload

Step3:

Installing python-gdchart and python-gdchart2

i@ubu804:~$ sudo aptitude install python-gdchart2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Building tag database... Done
The following NEW packages will be automatically installed:
libgdchart-gd2-noxpm
The following NEW packages will be installed:
libgdchart-gd2-noxpm python-gdchart2
0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 87.0kB of archives. After unpacking 352kB will be used.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
Get:1 http://np.archive.ubuntu.com hardy/universe libgdchart-gd2-noxpm 0.11.5-4 [46.7kB]
Get:2 http://np.archive.ubuntu.com hardy/universe python-gdchart2 0.beta1-3.4 [40.3kB]
Fetched 87.0kB in 24s (3608B/s)
Selecting previously deselected package libgdchart-gd2-noxpm.
(Reading database ... 151343 files and directories currently installed.)
Unpacking libgdchart-gd2-noxpm (from .../libgdchart-gd2-noxpm_0.11.5-4_amd64.deb) ...
Selecting previously deselected package python-gdchart2.
Unpacking python-gdchart2 (from .../python-gdchart2_0.beta1-3.4_amd64.deb) ...
Setting up libgdchart-gd2-noxpm (0.11.5-4) ...

Setting up python-gdchart2 (0.beta1-3.4) ...

Processing triggers for libc6 ...
ldconfig deferred processing now taking place
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done

Step4:

Now follow the demo testing steps given here

i@ubu804:~$ fl-install-demo
Extract FunkLoad examples into ./funkload-demo : ...  done.
i@ubu804:~$ cd funkload-demo/xmlrpc/
i@ubu804:~/funkload-demo/xmlrpc$ make test
fl-credential-ctl cred.conf restart
Starting file_credential server at http://localhost:44401/ as daemon.
fl-run-test test_Credential.py -v
test_credential (test_Credential.Credential) ... Ok

----------------------------------------------------------------------
Ran 1 test in 0.038s

OK
fl-credential-ctl cred.conf stop
Server http://localhost:44401/ is stopped.
i@ubu804:~/funkload-demo/xmlrpc$

Step5:

Make bench

i@ubu804:~/funkload-demo/xmlrpc$ make bench
Starting file_credential server at http://localhost:44401/ as daemon.
Starting monitor server at http://localhost:44402/ as daemon.
fl-run-bench -c 1:20:40:60:80:100 -D 10 test_Credential.py Credential.test_credential
========================================================================
Benching Credential.test_credential
========================================================================
Check all credentiald methods
------------------------------------------------------------------------

Configuration
=============

* Current time: 2010-06-17T14:54:09.755672
* Configuration file: /home/i/funkload-demo/xmlrpc/Credential.conf
* Log xml: /home/i/funkload-demo/xmlrpc/credential-bench.xml
* Server: http://localhost:44401/
* Cycles: [1, 20, 40, 60, 80, 100]
* Cycle duration: 10s
* Sleeptime between request: from 0.1s to 0.2s
* Sleeptime between test case: 0.5s
* Startup delay between thread: 0.05s

Benching
========

Cycle #0 with 1 virtual users
-----------------------------

* Start monitoring localhost: ... done.
* Current time: 2010-06-17T14:54:09.773675
* Starting threads: . done.
* Logging for 10s (until 2010-06-17T14:54:19.830918): ........ done.
* Waiting end of threads: . done.
* Waiting cycle sleeptime 1s: ... done.
* Stop monitoring localhost:  done.
* End of cycle, 12.62s elapsed.
* Cycle result: **SUCCESSFUL**, 8 success, 0 failure, 0 errors.

Cycle #1 with 20 virtual users
------------------------------

* Start monitoring localhost: ... done.
* Current time: 2010-06-17T14:54:22.385506
* Starting threads: .................... done.
* Logging for 10s (until 2010-06-17T14:54:33.519986): .............................................................................................................................................................................. done.
* Waiting end of threads: .................... done.
* Waiting cycle sleeptime 1s: ... done.
* Stop monitoring localhost:  done.
* End of cycle, 14.33s elapsed.
* Cycle result: **SUCCESSFUL**, 174 success, 0 failure, 0 errors.

Cycle #2 with 40 virtual users
------------------------------

* Start monitoring localhost: ... done.
* Current time: 2010-06-17T14:54:36.716379
* Starting threads: ........................................ done.
* Logging for 10s (until 2010-06-17T14:54:49.032317): ............................................................................................................................................................................................................................................................................................................................ done.
* Waiting end of threads: ........................................ done.
* Waiting cycle sleeptime 1s: ... done.
* Stop monitoring localhost:  done.
* End of cycle, 14.59s elapsed.
* Cycle result: **SUCCESSFUL**, 316 success, 0 failure, 0 errors.

Cycle #3 with 60 virtual users
------------------------------

* Start monitoring localhost: ... done.
* Current time: 2010-06-17T14:54:51.301751
* Starting threads: ............................................................ done.
* Logging for 10s (until 2010-06-17T14:55:04.779492): ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ done.
* Waiting end of threads: ............................................................ done.
* Waiting cycle sleeptime 1s: ... done.
* Stop monitoring localhost:  done.
* End of cycle, 15.76s elapsed.
* Cycle result: **SUCCESSFUL**, 464 success, 0 failure, 0 errors.

Cycle #4 with 80 virtual users
------------------------------

* Start monitoring localhost: ... done.
* Current time: 2010-06-17T14:55:07.066691
* Starting threads: ................................................................................ done.
* Logging for 10s (until 2010-06-17T14:55:21.814678): ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ done.
* Waiting end of threads: ................................................................................ done.
* Waiting cycle sleeptime 1s: ... done.
* Stop monitoring localhost: done.
* End of cycle, 20.69s elapsed.
* Cycle result: **SUCCESSFUL**, 672 success, 0 failure, 0 errors.

Cycle #5 with 100 virtual users
-------------------------------

* Start monitoring localhost: ... done.
* Current time: 2010-06-17T14:55:27.761091
* Starting threads: .................................................................................................... done.
* Logging for 10s (until 2010-06-17T14:55:43.883081): .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. done.
* Waiting end of threads: .................................................................................................... done.
* Waiting cycle sleeptime 1s: ... done.
* Stop monitoring localhost: done.
* End of cycle, 20.43s elapsed.
* Cycle result: **SUCCESSFUL**, 686 success, 0 failure, 0 errors.

Result
======

* Success: 2320
* Failures: 0
* Errors: 0

Bench status: **SUCCESSFUL**
fl-build-report credential-bench.xml --html
Creating html report: ...done:
/home/i/funkload-demo/xmlrpc/test_credential-20100617T145409/index.html
Server http://localhost:44402/ is stopped.
Server http://localhost:44401/ is stopped.
i@ubu804:~/funkload-demo/xmlrpc$

Step6: Install Zope (installation instructions) and create a sandbox.

i@ubu804:~/funkload-demo/simple$ cat README.txt
====================
FunkLoad demo/simple
====================
$Id: README.txt 53544 2009-03-09 16:28:58Z tlazar $

This is a simple FunkLoadTestCase demonstration.

It requires an web test server (configuration is done for an apache2
default install)

WARNING: You should *not* run this script against a server that is not under
your responsablity as it can result a DOS in bench mode.

1/ Modify the Simple.conf file

  Set the [main] url and pages keys

2/ Test it

verbose mode::

fl-run-test -v test_Simple.py

debug mode::

fl-run-test -d test_Simple.py

view the downloaded page in real time using firefox::

fl-run-test -V test_Simple.py

check performance of a single page::

fl-run-test -l 4 -n 100 test_Simple.py

PS:

I have yet to finish testing so I'll update this entry later as its almost midnight and as usual google threw more to-read stuff for laters... yum !
0. funkload-modules
0. funkload-test-in-few-minutes
0. funkloadtests/INSTALL.txt
0. plone-collective.recipe.funkload
0. set up funkload to do functional tests on a SOAP web service
0. funkload build script
0. collective funkload tests, thread on a plone list
0. plone sprint report
0. functional load testing notes

A nice-to-have feature would be a screen key recording feature in funkload :)

2010 June 13 [Sunday]

PyCon-India-2010 CFP

After much debate on the list, it was decided some months ago to hold Pycon-India 2010 in Bangalore....Yay !!

Its scheduled to be held at MS Ramaiah Institute of Technology on the weekend of 25th and 26th of September 2010. The call for proposals has been announced on the PyCon blog site at http://pycon.blogspot.com/2010/06/pycon-india-2010-call-for-proposals.html.

You can tweet, dent and blog to spread the word around and as the event draws near there will be calls for volunteers on the mailing list, so do pitch in. Usually I keep away from some of the Indian communities which are riddled with a handful of rude jerks (whose favorite pass-time is flaming another person), or arrogant control freaks and even cyber-stalkers !

I've never understood how a silent majority can allow a loud-mouthed minority to overshadow all the good work they do. Beats comprehension!!

Well, thusfar, pycon-IN is one space I find different -- The event is community driven and run by volunteers, mailing list discussions can get hot and yet its open and transparent. The part I liked the most-- almost everything, including finances are open and available to mailing list members -- now THAT is very much unlike _some_ Indian event(s) with sekrit cabals pulling the financial strings behind a "community" veneer. Its such a welcome change that I try to pitch in when I can.

2010 June 6 [Sunday]

funkload installation on ubuntu lucid and hardy

Crediting my earlier failed installation attempt to the owl-like-shift for most of last week, yesterday, I started afresh on Ubuntu Hardy.

Ubuntu Hardy

I tried the installation on Ubuntu Hardy, which is the environment in which funkload will be installed for use. Installing tcpwatch-httpproxy removes procmail and sendmail.

Not good. Those packages are required by other parts of the system. Strangely this does not happen on Ubuntu 10.04, for which I repeated the installation to test separately. Earlier Ben had left a comment offering his help so I've emailed him the logs and am hoping to solve this problem and post another entry about that.

$sudo aptitude install tcpwatch-httpproxy --without-recommends
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Reading extended state information     
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done            
Couldn't find any package whose name or description matched "tcpwatch-httpproxy"
Couldn't find any package whose name or description matched "tcpwatch-httpproxy"
The following packages are unused and will be REMOVED:
  procmail sendmail-base sendmail-cf sensible-mda
0 packages upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 3191kB will be freed.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
(Reading database ... 151156 files and directories currently installed.)
Removing sensible-mda ...
Removing procmail ...
Removing sendmail-base ...
Cleaning up the queues...find: /var/spool/mqueue: No such file or directory
done.
Removing sendmail-cf ...
Reading package lists... Done            
Building dependency tree      
Reading state information... Done
Reading extended state information     
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done            


Ubuntu Lucid (10.04)

The experience of installing funkload on Lucid was a little better than Hardy, which was a small step ahead. Even if the installation failed, I tried the test-runner but the tests failed and I wanted to try it again with virtualenv. Likewise, the modules was not loading in TestRunner

(funkload)me@ubuntu10.04:~$ fl-run-test -v myFile.py
Traceback (most recent call last):
  File "/home/me/.virtualenvs/funkload/bin/fl-run-test", line 8, in <module>
    load_entry_point('funkload==1.12.0', 'console_scripts', 'fl-run-test')()
  File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/TestRunner.py", line 483, in main
    TestProgram(testLoader=test_loader)
  File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/TestRunner.py", line 342, in __init__
    self.loadTests()
  File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/TestRunner.py", line 352, in loadTests
    module_relative=False)
  File "/usr/lib/python2.6/doctest.py", line 2419, in DocFileSuite
    suite.addTest(DocFileTest(path, **kw))
  File "/usr/lib/python2.6/doctest.py", line 2338, in DocFileTest
    doc, path = _load_testfile(path, package, module_relative)
  File "/usr/lib/python2.6/doctest.py", line 219, in _load_testfile
    return open(filename).read(), filename
IOError: [Errno 2] No such file or directory: '/home/me/myFile'

Next it was 'make bench' which failed. So too with BenchRunner.

(funkload)me@ubuntu10.04:~$ fl-run-bench -u http://localhost:8080 -c 10:20 -D 30 myFile.py MyTestCase.testSomething
Traceback (most recent call last):
  File "/home/me/.virtualenvs/funkload/bin/fl-run-bench", line 8, in <module>
    load_entry_point('funkload==1.12.0', 'console_scripts', 'fl-run-bench')()
  File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/BenchRunner.py", line 606, in main
    bench = BenchRunner(args[0], klass, method, options)
  File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/BenchRunner.py", line 220, in __init__
    mmn_encode(method_name, 0, 0, 0), options)
  File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/BenchRunner.py", line 123, in load_unittest
    module = __import__(test_module)
ImportError: No module named myFile

2010 June 4 [Friday]

searching mailing lists

If you are a Mailman user please take a minute to help improve the Archives by answering this short survey. The survey asks you to name which list you searched and I had asked Terri why this should matter at all as I am subscribed as a user to hundreds of Linux-related mailing lists which are a mix of public archives, private archives and no archives or those that are archived via gmane, etc.... This makes it harder to answer for each list as the search mechanism is different for each. She replied that answering this survey question was not compulsary, type "I don't know.", but its kept there because it tells them if people are using a standard, default mailman setup or something different like gmane.

Yaniv has blogged about searching mailing list archives offline mode. If you are using a mobile connection in India, it would involve downloading chunks of data and then searching your directory offline using keywords. As I mentioned earlier the search mechanism varies for online mailing lists using mailman. If you use google you can specify the "site" + the keywords. But what if you dont know whether the list has that information of which month and year its archived under. What if your list has private archives? --This search is a wee bit harder than open mailing lists as you need to be subscribed to the list to be able to access the archives. If its a secure 'https' server, you cannot open multiple tab instances to search, and so on...

Searching mailing list archives is not impossible. Every one of us uses google and we all know how easy and/or hard it is to find what we are looking for -- finding relevant information which is also correct and fulfills your needs is a lot harder than we think. If I am looking for a particular "device driver" that does not allow wi-fi to work on my laptop, google might bring out a relevant page (including mailing list discussions) which may be too old, in that, they may ask me to manually doanload and install the "device driver" but the latest distro version I use may have solved the problem with a downloadable installer.

Probably the engine might search and list the pages by the Date and UTC timings but my point was that small things like these can make a big difference in the amount of time we spend looking for information. Machines or should I say the algorithms powering them can only do what we tell them to do. They are intelligent but not there yet.

2010 June 3 [Thursday]

funkload installation fail

I was analysing various tools for web-testing and tried out funkload - a functional, load web tester in Python.

$sudo easy_install -f http://funkload.nuxeo.org/snapshots/ -U funkload (and "sudo easy_install -U funkload" results are below:)
/usr/lib/python2.6/dist-packages/setuptools/package_index.py:156:
UserWarning: Unbuilt egg for setuptools [unknown version]
(/usr/lib/python2.6/dist-packages)
Environment.__init__(self,*args,**kw)/usr/lib/python2.6/dist-packages/setuptools/command/easy_install.py:216:
UserWarning: Unbuilt egg for setuptools [unknown version]
(/usr/lib/python2.6/dist-packages)
self.local_index = Environment(self.shadow_path+sys.path)
Searching for funkload
Reading http://pypi.python.org/simple/funkload/
Reading http://funkload.nuxeo.org/
Best match: funkload 1.12.0
Processing funkload-1.12.0-py2.6.egg
funkload 1.12.0 is already the active version in easy-install.pth
Installing fl-credential-ctl script to /usr/local/bin
Installing fl-monitor-ctl script to /usr/local/bin
Installing fl-build-report script to /usr/local/bin
Installing fl-run-test script to /usr/local/bin
Installing fl-record script to /usr/local/bin
Installing fl-install-demo script to /usr/local/bin
Installing fl-run-bench script to /usr/local/bin
Installing fl-credential-ctl script to /usr/local/bin
Installing fl-run-test script to /usr/local/bin
Installing fl-record script to /usr/local/bin
Installing fl-run-bench script to /usr/local/bin
Installing fl-monitor-ctl script to /usr/local/bin
Installing fl-install-demo script to /usr/local/bin
Installing fl-build-report script to /usr/local/bin
Using /usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg
Processing dependencies for funkload
Finished processing dependencies for funkload

$ fl-install-demo
Extract FunkLoad examples into ./funkload-demo : ... done.

Googling showed that Debian packages were 1.6.0 but easy_install pulls 1.12.0, hmm... continued with installing the dependencies:

$sudo apt-get install python-setuptools python-xml python-dev gnuplot (if you want the graphs)

$ cd funkload-demo/xmlrpc/
~/funkload-demo/xmlrpc$ make test

fl-credential-ctl cred.conf restart
Starting file_credential server at http://localhost:44401/ as daemon.
fl-run-test test_Credential.py -v
test_credential (test_Credential.Credential) ... FAIL
======================================================================
FAIL: test_credential (test_Credential.Credential)
----------------------------------------------------------------------
Traceback (most recent call last):
 File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/FunkLoadTestCase.py",
line 868, in __call__
testMethod()
File "/home/mom/funkload-demo/xmlrpc/test_Credential.py", line 21,
in test_credential
description="Check getStatus")
File "/usr/local/lib/python2.6/dist-packages/funkload-1.12.0-py2.6.egg/funkload/FunkLoadTestCase.py",
line 417, in xmlrpc
raise SocketError("Can't access %s." % url)
error: Can't access http://localhost:44401/.
----------------------------------------------------------------------
Ran 1 test in 0.007s
FAILED (failures=1)
make: *** [credential_test] Error 1

Apparently the version checked out via " sudo apt-get install -f http://funkload.nuxeo.org/snapshots/ -U funkloadinstall" is messed up -- the port number is weird.

Tried the same installation as blogged here and then I repeated the whole process with virtualenvwrapper for good measure. Virtualenv was a nicer place to try testing if each *.py file worked or not. Atleast some of the .py files ran and errors reduced but the one consistent error was the high port number. Strange that the Install file (or was it the Readme file?) lists localhost on port "http://localhost:33301/".

So although both installation methods failed spectacularly i wanted to document all the stuff that i tried for my reference. After an 18-hour day, blogging is the last thing on my mind but very often when I do some stuff, am tired after these marathon days, move on as i'm tired and dont document it. The next time I want to replicate the _exact_ method i followed earlier, I waste more time digging out stuff. This is especially true with eggs which break easily and i'm a vegetarian who dislikes omelette ;)


2010 April 24 [Saturday]

python in scientific computing workshop

Fossee is conducting a "Python in Scientific Computing" workshop from April30 to May01,2010.

VENUE

Sir M Visvesvaraya Institute of Technology,
Krishnadeveraya Nagar, Hunasamranhalli, NH-7,
Via- Yelahanka, Bangalore-562157, Karnataka, India

http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=sir+mvit&ie=UTF8&hq=sir+mvit&hnear=&ll=13.153958,77.605104&spn=0.056917,0.077162&z=14

ATTENDANCE/REGISTRATION

Free, python beginners are welcome. However, registration is required and you can  register at mvit [dot] eventbrite [dot] com. NOTE: Please register only if you are SURE you'll be able to attend on both the days.

They have a limitation on the number of computers, so you should bring your laptop if you can. For more information please email them at workshops [dot] mvit [at] gmail [dot] com.

2010 April 22 [Thursday]

python lug meetup on 20100425

UPDATED UPDATE: This meet was CANCELLED.

Bangpypers, aka Bengaluru/Bangalore Python meetup is scheduled for Sunday, 2010apr25.

Time:  1500 Hrs onwards.

UPDATED Venue:
TenXperts office in Koramangala. On Hosur Main Road opposite Star Bazaar there is a small cross road (attached to Robert Bosch's compound). TenXperts office is on that road above Innovative Cars shop on the first floor.

Here is the map<http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=robert+bosch+koramangala&sll=12.936987,77.612818&sspn=0.004298,0.009645&ie=UTF8&hq=robert+bosch&hnear=Koramangala,+Bengaluru,+Karnataka,+India&ll=12.939067,77.612658&spn=0.016145,0.038581&z=15>


Agenda:   This meet will be focussed on taking an existing floss project and working on it. Current suggestions are Pygments and a Python standard library module for unit tests, but feel free to suggest and/or work on your own choice of any floss'y python project.  If you are new to Python, you are most welcome to come and learn. The idea is to get a local community along the lines of dojorio.org [English translation].


2010 April 18 [Sunday]

virtualenvwrapper.hook_loader error

Eversince upgrading and installing virtualenvwrapper which now has support for all bash shells, I get the following error when the terminal is invoked:


virtualenvwrapper.sh: Could not find Python module virtualenvwrapper.hook_loader using VIRTUALENVWRAPPER_PYTHON=/usr/bin/python. Is the PATH set properly?

I have not seen this error in the older virtualenvwrappers, and I am wondering if it has anything to do with the way python is packaged in Ubuntu? or something else?

Doug writes about extending wrappers, BUT ...But...but, I have not defined a source hook for it and nor am I extending it. Its vanilla, invoked with "mkvirtualenv projectname", "workon" or should that change too? Yeah, Virtualenvwrapper works but I dont like seeing this error message each time the shell is invoked. Its annoying.

UPDATE:

Doug left a comment and I had mailed him that by cloning his repo, I was "doing it wrong". And, what went wrong? This:
0. Cloning doug's repo with hg clone http://bitbucket.org/dhellmann/virtualenvwrapper --which downloaded it to the users home directory. Ex. /home/me.
1. Downloading http://www.doughellmann.com/projects/virtualenvwrapper/ -- it puts the tar.gz file in the directory that one specified in the Firefox settings.

The correct method:

$ sudo easy_install pip

$ sudo pip install virtualenvwrapper which installed a copy of the script in /usr/local/bin and the support libraries are placed in /usr/local/lib/python2.6/dist-packages.

There is a command reference too and during my search I found a wontfix bug which explains why users will have to set a path themselves.


2010 March 11 [Thursday]

PyCon2010@Atlanta-II

It r0cked....an amazing experience that got over even before it started (or so it seems) when time flew past so quickly that each day at Atlanta now seems like a blurry dream.  Each day (moment?), there was an overflow of so many interesting things to learn and absorb, before and after b'fast we had there were lightning talks and at the end of the day too just before the keynote speech you have 5 minutes on stage with your slides -- less likely that you get to lull the audience into slumber in five minutes ;).

Besides, there were open spaces, sprints (Sunday evening onwards), and poster sessions -- which was very interesting as it allows the participants to talk to the presenter and exchange ideas, ask questions, clarify or even suggest a new line of thought. Carl had put up a poster session on Indic languages and there he was drawing huge crowds in an already overcrowded hall. I met a professor and another news broadcaster who were interested and shared their woes with devanagari script and the poor unicode handling by free software in general. 

There was tons of swag flowing around and the mandatory single negative incident at the conference which Van handled very professionally. Onstage, he apologised on behalf of the PSF to everyone present in the hall. I had attended the keynotes and talks on Saturday and Sunday, attended the Chairmans party and met a lot of folks but personally speaking, the closing keynote presentation on 20100221 by Antonio Rodriguez kicked ass. He spoke about giving commit access to everyone and he meant EVERYONE -- even folks from the marketing and sales team in his startup got commit access. Wow, just WOW...HUGE amount of trust that :-)

Ofcourse I did the usual tourist-y stuff: walked around the Olympic park ; visited the Coke museum and tasted 64 flavors of coke ; Thomas, Yarko (who won the community service award. Yay, congrats :)) and me (i even cracked my knee for good measure) dined at Vegan soulfood, a chain of US restaurants run by African Hebrews -- HIGHLY recommended!!

BUT the most memorable and fun time was spent in the Georgia Aquarium-- its the world's largest aquarium. The Beluga whales had just arrived and were acclimatising. However, I got to touch sting-ray's and sharks (yeah i really did), clicked tons of pics but the sea-otters...gosh, they stole my heart :) We didnt know that they put on a show and honestly I could have stood there all my life and fallen in love all over again at their antics. Here is a video of those cute animals high-fiving. I miss them :(

I am thrilled that I got to meet a lot of people I knew online and met even more interestingly intelligent people too. The wonderful community that surrounds and makes Pycon such a memorable experience deserves full marks. Words are inadequate to describe an experience that is best experienced live :)  It simply r0cked.

- page 2 of 3 -