॥ स्वक्ष ॥

Ir al contenido | Ir al menú | Ir a Buscar

2013 Septiembre 9 [lunes]

Ata tala varnam::Viriboni

A varnam is one of the hardest phase of the learning process in the shishya-parampara (student learning process) within the Karnatic classical school, a grounding in fundamentals of sorts. In my opinion, that intricacy makes them more soulful and complete as compared to. say, a kriti.

Varnam's are further classified into "pada" varnam and "ata-tala" varnams.  "Viriboni" is one such Ata-tala varnam set to Bhairavi ragam by Pacchimirium Sri Adiyappaiyer

Composition: Viriboni
Composer: Pacchimiriyam Adiyappa
Raga:  Bhairavi                 
Mela: Natabhairavi - 20

Type:  Varnam                  
Tala :  Khandajathi Ata

Arohana:    S G1 R2 G1 M1 P D2 N1 S || S Gi Ri Gi Ma Pa Dhi Ni S
Avarohana:S N1 D1 P M1 G1 R2 S      || S Ni Dha Pa Ma Gi Ri S
Bhashanga Raga: Chatusruti dhaivata


PALLAVI:
viribōṇi ninnē kōri ||
marulu konnadi-rā ||

ANUPALLAVI:
sarasuḍau dakṣiṇa dwāraka ||
sāmi śrī rājagōpāla dēva ||

CHARANAM:
chirunavvu mōmuna ||


If you are thinking this is just five lines, dont. Ata-tala varanams are very complex pada-varnams and we usually take 25 minutes to finish it. Yeah 25 minutes to practise five lines of lyrics!

Ata-tala varnam, as the name suggests, are set to a 14-beat cycle, far different as compared to a varnam set to Adi tala. That complexity in beats makes it complex and yet soulful, thanks to the complex svara structures.

They are also used for the Bharatnatyam dance recitals, where the ragam-tanam-pallavi is more intricate as compared to a regular varnam and it could go on for as long as 35-45 minutes, depending on the choreography and the visual story-telling the artiste-dancer indulges in.


2012 Diciembre 16 [domingo]

Happy Pandas

I've always wanted to attend a scientific Foss hacking session in Python and last Sunday, I made that idea come true. So how do you even begin to describe a fantastic Sunday that got over even before it started. Well, that was how it felt in retrospect...  :-)

Having kick-started the Pydata-Pandas workshop-sprint, it was annoying to catch a viral bug the week before the sprint-workshop one is  organizing - talk about increasing the stress levels. The cold weather did add to my discomfort, but could not dent my enthusiasm - I was organising my first event on a whim, at short notice in a new city (country?) where I hardly knew anyone, not to mention it was at the start of the Holiday Season! See what I mean about having perfect timing ... gee, what was I thinking!?!

Aahz announced it on the Pythonsprints site and soon enough Sunday dawned bright and shiny. I reached the Pivotal Labs Manhattan office to find Asheesh calmly sprawled on the ground calmly munching on croissants and sipping Java (err..coffee). We had planned to come in a little earlier incase someone needed installation help. I had not eaten any breakfast but I was more stressed than hungry as this was the first event I was organizing in an alien country. I declined the yummy snacks and nervously wondered if Chang would show up?; ... will all the people who registered show up?; ... this was the Sunday before the Christmas week and maybe everyone may decide to sleep-in or go off on a holiday; would Saturday have been a better choice, or maybe we should not have kept it free - what if nobody came despite registering, what if ....   oh, well..the monkey-mind was hard at work :-P

Disastrous thoughts were stronger than the currents of the Niagara, when Chang and Emily made their appearance and I managed to make small conversation as the stress ebbed away. Things were sunnier when JT arrived and opened the doors, leaving me with less time to indulge my monkey-mind. We all got busy setting up the space for the event, arranged the tables and chairs, checked if enough power-points were available, checked the video camera, set up the name tags, did a recce of the adjoining kitchen.

Pivotal Labs has the nicest open kitchen, well-stocked with a variety of snacks, fruits, nuts and a large variety of drinks that cater to all taste buds. I hate carbonated sugary drinks and artificial flavouring which restricts my choice to drinking H2O, but to my surprise there was coconut water. Now if you liked your pint of beer while coding, the PL kitchen had that too. A big shout-out (Thank You :)) in gratitude to Pivotal Labs for being the most gracious host an organizer could ask for!

Back to the tiny tasks bits, I got a print out of Chang's presentation so he could have his notes handy during the workshop. The machine was a Mac, so ipython files would not work. The solution was a PDF. When you are organising an event like this there may be small miniscule things that can hold up your event so you would need to plan and budget time for them. Someday I shall collate my thoughts on 'how to organise small events' like workshops and sprints in a new blog entry.

A little past 10 AM, I introduced Chang She to the assembled attendees, and Chang kick-started the Pandas workshop by walking us through the Pandas data structures for 1-dimensional, 2-dimensional and 3-dimensional data. He moved on to DataFrame components and indexing, accessing data via files and Databases, Broadcasting and some basic Statistical computations. 

It was not all theory, as all the participants were following and experimenting on their laptops, in part, thanks to Asheesh's excellent "Laptop setup guide", enabling attendees to come with configured machines, making it easier to get going with Pandas. They worked on the small tasks and exercises that Chang gave out as the session progressed.

Soon it was lunch time and Asheesh being in-charge of the food (and the finances), did an awesome job of keeping us well-fed - we had Vegitarian wraps, Egg wraps and Hummus wraps, and Salads. That was the first meal of the day for me and over lunch I got to know a nice group of interesting people; with the conversation meandering around scientific programming with Python, Julia and R-language, different programming environments, our offices, work, etc..

Small talk and big lunch over, it was now time to Sprint - not literally, just the mental hacking kind! Chang split us up into small groups of 2-3 people and it was very exciting to see the attendees pored over their machines, trying to tackle Pandas bugs.  Working in small groups of 2 (or 3) people meant Chang could walk around and talk to each group to help and guide them. He was ably aided by Asheesh who also went around helping other sprinters, answering questions, etc...

I was neck deep in the Pandas code and a flash went off - looked up to see Asheesh behind the lens. Reminded me that I had totally forgotten to click pictures. Having organized multiple workshops over the last few years, Asheesh was an experienced pro unlike the rookie (me) organizing her first event. Pictures speak a thousand words:
[0] https://plus.google.com/photos/113578342347990591936/albums/5823492237517007505?authkey=CIC53t-xnYGVZQ
[1] http://www.flickr.com/photos/paulproteus/sets/72157632277350121/detail/


The sprint went on till evening, when finally at 1745 hours, Pivotal Labs had to ask us to leave. Yeah, we had so much fun that they had to tell us it was time to go home !

For those who love numbers, enjoy these statistics. We had 31 registrations (Capped at 30, but we had a waiting list that accommodated the cancellations.) and 18 people attended the Pandas Workshop-Sprint, with 7 female hackers, which makes it a cool 39% female attendees :-))  Infact, three female researchers had to opt out due to other obligations during the holiday season. The most amazing email was from a person who missed the registration by a few minutes, wanting to drop by on Sunday morning hoping for last minute cancellations. _That_ was the kind of response I would have expected for a talk, never for a Sprint!

Ofcourse, this entire event would not have been possible without our generous sponsors. A huge Thank you to:
* Chang She for conducting the workshop.
* Pivotal Labs, our generous host for the day -Thanks JT for spending an entire Sunday with us.
* The Python Software Foundation, whose generous grant for "Breakfast+Lunch and Asheesh's travel from Boston", kept us fueled and
on track all day.
* O'reilly Media, who gave all attendees a free E-book copy of Wes McKinney's "Pandas for Data Analysis", including a 40% discount on the
print copy of Wes's book.

Thank You Everyone !


2012 Diciembre 4 [martes]

Announcing the Pandas Workshop Sprint

Positively thrilled to announce the one-day hands-on intensive Pandas workshop and sprint for new contributors with Chang She - a Pandas core-dev leading the sprint.  Its 4 am'ish and I just finished spamming a few mailing lists, IRC channels and thought I'll write a blog-post if I must be energetically expensive.

You can find the workshop details on the wiki: https://github.com/svaksha/PyData-Workshop-Sprint/wiki/2012-NYC but here is a short "how did it happen in a week recap". Last month, I had attended a day-long "Introduction to JavaScript" by JohnResig, and I enjoyed it. Later, I met some PyLadies and on the train ride home, I felt that we needed to have a proper workshop, core-dev in attendance, leading us along the way.

Given that there was a PyData conference in NY a few weeks ago, this was the place to be at, so I pinged the diversity list for speakers, and of course IRC - The response was phenomenal and unbelievable - People went out of their way to make my wish come true - they tweeted, emailed, chatted on IRC, gave me advice, introduced me to core-devs, volunteered for the event, pinged friends for hosting space, encouraged me to write to the PSF/sprints funding, ... and on and on.

I have so many people to thank that there will be a longer blog post, post the event  ...yeah, the list is long but maybe if I get started now (and my apologies if I have missed your name  ... feel free to gently lart me, its 4AM and I am sleep deprived :)) ...  Alphabetically-ordered XXXL THANK YOU'S to: Aahz, Asheesh, Brian, Carl, Chang, David, Diana, Jesse, Josh Knowles, Krissy, Meghan, Sheila, Steve, Wes.


2012 Noviembre 17 [sábado]

Pycon Canada 2012 in Toronto

import pycon
from pycommunity import AwesomePeople

canada = pycon.path.abspath(pycon.path.dirname(__file__))
README = open(pycon.path.join(canada, 'README.rst')).read()
__version__ = '0.01'

requires = [
    'diana',
    'daniel',
    'david',
    'kay',
'micheal',
    'nicola',
    'taavi',
    ]

Patches welcome!

Last weekend, at this moment, I was giving a technical talk at Pycon Canada, my first. Right now, I am still wallowing in the fun and warmth of friendships (some old, some new) that thawed the cold Canadian weather. It was the most mentally simulating, energy-packed experience I've had.  Oh, wait...I say that about all the PyCon conferences I attend - Well, this is my second PyCon but the first speaking gig, and it has, as before, been about meeting some of the smartest people and having the most intellectually simulating discussions with them, learning from them and having a whale of a time. Wish all my weekends were this much fUn! The Python community is known for just that - their fabulously fantastic community, which attracted me to the language (no, I love the syntax too) and has kept me hooked.

Thanks to the change in climate (thanks Sandy!), I had a migrane that got worse on the plane ride on Friday morning and I was much happier landing in a slightly warmer and dry climate in Toronto. Enjoyed the shortest ferry ride of my life and reached the Metropolitan Hotel by 2pm to find the Google goodie-bags waiting for us at the hotel room - such a nice surprise, thanks Google!  Went for a long walk in the afternoon - its a relief to be able to walk around and see the city and its inhabitants without men bumping into you, or tripping yourself over jutting stones on the sidewalk (erm...whenever Indian roads have a sidewalk), the calmness of being able to stop and click pictures without worrying about someone "accidentally" (it always is, isnt it?) feeling you up while you were just standing there admiring a monument ........ Oh, well... never mind, you get the picture!

Later that evening, there was a casual mixer event enabling attendees, speakers and some awesome sponsors (one of them being Google, whose Diversity grant made this conference a reality for me) to register, hang out, and chat before the conference, with food and drinks at the venue bar open to all... and oh, we ate some yummy cake. Mixers before your conference is a smart way to avoid the rush and long lines that will queue up to register on the morning of your conference, a nightmare if you are short on volunteers.

I managed to reach the venue thanks to Suzanne (who I randomly stopped on the road to ask for directions, instead she ended up dropping me off till the venue - its amazing how one meets kind souls), met Laura at the registration desk who saw that every attendee had their badges and tags. Nicola introduced me to Sheila, who suddenly morphed into a real person instead of an email address with a picture attached to it. In a global distributed space knit via bits and bytes, our identities are unequivocally tied to an email, twitter, G+/FB account now.

Met more interesting people and had the longest discussion with Mark Eichin and his friend Laura, on a range of technical topics, mobile technology, languages, and not excluding the mandatory talk about the DFSG and licenses in FOSS - talking legalese is the most important thing when you meet a DD (j/k). After the party, I returned to the room, met Laren, another diversity grant recipient room-sharing with me. By now, the pounding in my head was worse and the pain would not let me sleep, so I kept re-editing my slides till I was tired enough to sleep.

On Saturday morning - Day One of the conference, Laren and me walked over to the venue and I went of into the Green Room where all the speakers were pampered with food, some space to sit and work with you laptop, more food, chat with other speakers while having even more food, but I had no taste buds so I took three Advil's and gave my first technical talk.  That done, I was free to go and watch talks but instead I went off to be a volunteer - this is the easiest way to make friends with some really cool people within the community who welcome and appreciate your contribution and efforts. Its also very humbling to see the PyConCA board members and speakers who volunteered to carry in the lunch boxes the caterer had dropped off.

Post lunch, I attended the "Numerical and Scientific Computing with Python" tutorial by David, listened some great speakers, spoke to more people, had interesting discussions on NLP and linguistics with Mike and DWF, and before I knew it, it was the end of the day, which means more food - snacks and drinks were available at the bar. Did I mention that Pycon-CA pampers you with food and drinks all through the day. At every break, there was something to munch on. Every where I looked there were food boxes, fruits / salad boxes, cookies, coffee, tea, drinks, water bottles, cakes, tacos, samosas (I noticed that those ran out really quickly as compared to the salads which is not surprising), strawberry and chocolate, juice, .... ummm..ok, you get the picture. You were very well-fed and taken care of. At one point I counted the number of laptops Vs. the food boxes on the table. Guess which was outnumbered!?

Sunday morning, being the second and final day of the conference, I attended talks on Graph databases in Python and Persona (identity/privacy, which is important to me) and later, Greg Wilson and a bunch of speakers in the green room had an interesting conversation on education and knowledge (or the lack thereof) in the current education system, what role do Universities and schools have to play within the system - are they redundant with their monolithic rigid structures, MOOC's, their pro's and cons, and how the internet and technology is changing the education system, whether sites like Udacity and Coursera (did you know that their business model allows them to sell your personal details to publishers like McGraw Hill and their ilk, who have apparently signed on the dotted line) are imparting knowledge to their users and learners at the risk of their privacy? Where exactly is creativity, mental development, critical thought, knowledge and learning today? That was more food for thought than the food around the table. Post lunch, I morphed into a Runner - yeah, its that person who runs behind each speaker! Katie and me were deputed to the Main hall speakers and got to see all the talks, including lightning talks, ending with Fernando's (not-to-be-missed) closing keynote.
Videos:
No matter how hard you try, you cannot attend every fantastic talk out there. When Carl sent across the video link to me, I was stunned by the excellent production quality. The first thought that crossed my mind was "Wow, that is a second career right there" and sure enough it is - these excellent videos are brought to you by nextdayvideo.com :

* Taavi showing you how pandas get a workout
* Elizabeth Leddy rocking the Main Hall
* Did you Test today?
* No conference is complete without a talk on "BigData"
* Brandon Rhodes on why he thinks Python is beautiful (a must see if you are a beginner to Python)

Wow, this post has gotten too long. Among all the things, I admire the organizational abilities of the board the most. The conference had awesome sponsors too, one of them being Google, whose Diversity grant made it possible for me to attend the event. Initially, when my talk was accepted, I had planned book the bus tickets in advance so that I could stretch the grant money to enable me to attend both the days of the conference. When I mentioned this to Diana, she worked her magic, enabling me to cover my flight bookings and also the hotel stay within the grant. Amazing team! Kudos to the PyCon-Canada team.

2012 Agosto 29 [miércoles]

Contributing to Libre software projects

"How do I start contributing to Libre Software?" is a very common question (I asked that too) one comes across on most FLOSS lists. Today, I posted the following on a private list and was asked for a public link, so here goes:

SWOT

There are so many Libre software projects to choose from, that choosing one can be quite confusing when you are starting out. Do yourself a favor and take a few moments to do a SWOT (Strengths, Weaknesses, Opportunities and Threats) analysis before you decide to jump onto the Libre software bandwagon.

Its better to give yourself time to think (or write down) which technical area or field interests you:  Which language do you want to program in? Is it frontend software or backend stuff? Web programming or something else? Do you like writing system software or application level software? Or, do you like libraries, prefer working with algorithms/statistical applications, etc..

Once you have figured out your field of interest, its easier to shortlist something and get started on finding a project to work on.

FINDING A PROJECT

As I mentioned above, there are so many Libre software projects that its overwhelming at the outset. Having figured out your field, dont randomly visiting a bugtracker and try to solve bugs, which is not a bad idea if you have only a few hours per week. However, if you want to wade a little deeper, try using Google to your advantage - read, Google Summer of Code. This recently concluded program, has a ready list of organisations to choose from and the 2012 list is available at: http://www.google-melange.com/gsoc/program/accepted_orgs/google/gsoc2012 .

Besides these few hundred GSoC Orgs, Gnome runs its own outreach program for women: http://live.gnome.org/GnomeWomen/OutreachProgram2012 and then, there is the European Space Agency, which is (sadly) only open to EU students. However, if you are interested in working outside of the SoC span, projects are always interested in contributors and would welcome your efforts 24x7x365. That said, these SoC tasks require a longer commitment in terms of time, so you need to decide what you want to do.


FOUND A TASK, WHAT NEXT?

After you have searched Melange (or ESA) for keywords of your choice, visit each organisations Ideas page, where you will find a list of tasks ranked as per preference or difficulty level (This entirely depends on the Org). Remember to cross-check with the Melange page if the task has already been completed via GSoC, or not. If a task is still available, find out what is required to get started on it and prepare a short abstract. This will help you to..
- figure out the development stack vis-a-vis your skillset,
- realise how much time and effort is required to bridge the gap, if any ;
- prepare a timeline estimate. (Dont obsess over this as its just an estimate and it will vary if the Org changes any requirements.)

These done, talk to the Org - always, Always, ALWAYS talk to the Org _before_ you start work on anything. Just because a task is listed on the Ideas page does not mean its a part of their workflow (which can always change), nor is the opposite true. The best way to find out is to talk to them, first. Again, remember that these SoC tasks require a longer commitment in terms of time.

COMMUNICATING WITH LIBRE COMMUNITIES
Most Libre projects have their own communication channels. This could be via Mailing lists or Forums, including IRC channels on dedicated servers or on freenode. Its important to work with them via these public channels and that means learning to communicate and not worry about asking silly (psst..there are none) questions. Communicating with the core developer and/or mentors and community of users is crucial - they can be an invaluable source for ideas and helpful hints.

Many projects have separate lists (and IRC channels) for users and developers. Join them and introduce yourself (or lurk around to get a hang of how things work) and when you are ready, do talk about the task you want to work on. A development mailing list, where the core developers would be available, is distinguishable via the "*-devel" mailing address. Same is true for IRC channels - If you like CLI tools, try Irssi or Quassel if you want a GUI client. Pick your poison from this list of IRC clients


EXPERIMENT WITH THE DEVELOPMENT STACK

Finally, and most importantly, you must be comfortable working with the software the project uses - that means, you should be able to clone and get the software to install and work on your local machine. Here, communicating with your Org helps - You can ask for help if you have hardware or software issues, clarify installation and dependency issues, etc... No software works flawlessly (else, people would be out of jobs :)) and Libre software is no exception - the only difference being "software development on a libre/public scale".

Another aspect of getting familiar with the development stack is familiarizing yourself with the projects internal system - Since, each project uses its own bug tracker, DVCS, Wiki for documentation, Email/Forum and IRC communication system ; take some time to get familiar with each of these. If you plan to stick around for any length of time, you would be using some, or, all the software stacks they use on a regular basis.

Your transition from newbie to active contributor is a lot faster when you are comfortable with the development stack. Doing your homework will give you the confidence required to grok it enough to start working on the code-base, suggest changes or solve bugs, etc..

I hope these suggestions help you find your niche learning shell to contribute to, and of course, welcome to the Libre software. Have fun!

2012 Agosto 3 [viernes]

Rest in peace Lawgon

Am breaking a long hiatus from blogging to report a really sad news :: Kenneth Gonsalves, (lawgon on IRC), a long time Free/Libre software (especially INPycon) contributor is no more. When I first saw this mail in my inbox, I could not believe it was true.

My first interaction with Lawgon was via the LinuxChix mailing lists. Back then, I was surprised to see posts from a "nilgiris" domain name and I assumed he was an USA-NRI actively posting on their lists. Later, the Mumbai-LUG list when I had tried to install his "avsap" accounting software ~ it would not work on my machine and I wrote him a mail with the gory error details. Finally, in 2007, I met "lawgon" on IRC, ##linux-india. I was never an IRC person but when he got banned from the channel, I had a long argument with Devdas (f3ew on IRC) about it - mostly because I felt that the rules were not clear, and even more importantly, felt that rules ought to be implemented uniformly, sans cronyism.

A few moons later, I met him IRL for the first time at the first formation meet for Fosscomm and sat next to him through the whole meeting. In my eyes, he was like a father-figure, a person you can talk to freely, someone who didnt see IT and FLOSS as the road to self-publicity, fame and riches. Rather, he saw Libre software as I did - of, for and by the people. It was nice talking to him and hear the stories via the work he had done at NRC-Foss/AU-KBC.

He was someone I respected because unlike some FOSS people, he actually wrote and released his code publicly: https://bitbucket.org/lawgon, and worked within the community, had no illusions or superiority complex about himself. Most of us in the FLOSS community were his kids age and in my interactions I didnt find him patronizing nor elitist in "demanding" we respect his age. Quite the opposite, he never hesitated to ask for technical help from people younger than him, quite ego less. His fiery rants on his blog (http://lawgon.livejournal.com/) always made me chuckle. There are very few blogs I follow and thusfar, I've read every post of his - strong opinions peppered with character. His own.

In his list communication, he could be quite blunt in his comments, and I've had my moments sparring with him on the lists, but if you take a moment to look behind the scenes, his honesty and sincerity towards Libre software showed. I remember his mail asking me not to leave the Mumbai LUG list and my response on the kind of Libre community (the lack thereof) we foster, which, to my surprise, found an echo with him. I remember his long email rant (about someone which I wont get into in public) where he mentioned "...and I'm scared of you" ~ yeah, I too scrubbed my eyes and smiled at his droll sense of humor, as I typed out an apology.

I remember his IRC comment that he wanted his daughter to meet me and my curiosity piqued ~ this was before I had met him in real life and going by the stereotypical Indian fathers attitude, I very much doubted if they would want their daughters to be like me. Or maybe it was his sense of humor - I'll never know!? Some moons later an email asking for some information on "legal rights of women in India" for her coursework, IRC discussions on virtualenvwrapper (he asked me why I wanted to use it and for a moment I thought he was testing me -- I could not imagine a longtime Python developer (atleast a lot longer than me) asking me that, unless he was pulling my leg or if it was an interview question), discussing a recent Python workshop he held at Kerala, and so many other interactions... {Edit1:: His recent mail on the open source business model has some excellent advice for wannabe entrepreneurs.}

I was hoping to meet him at InPycon this year but now the conference wont be the same without him. I hope and pray his family finds the strength to carry on without him and may his soul rest in peace! You will be missed Lawgon..and try not to kickstart a "GPL Vs. BSD" argument in heaven!

2012 Marzo 11 [domingo]

Programming with Julia

Using (or talking) about R makes me want to rant sometimes and if you've ever written a line of Fortran code, you would have certainly wanted to experiment with a new language stack for scientific programming. Yup, I am aware of scipy, numpy, sympy, sage, et al.. and despite their existence, when I came across this language for scientific programming in January this year, sheer curiosity** made me give it a spin.

Starting the year with a scientific language that has clean syntax and some nicer documentation made me feel warm and fuzzy, until, it refused to build due to a BLAS dependency. That problem didnt last for long though, as I was able to pull a fresh commit which had fixed this issue. Its nice to see an active team having interesting (read, sane) development discussions. A Matlab coder has opined thus about Julia while an R programmer has done a comparison between Julia and R.

After some trial-and-error, I managed to grok its syntax, enough to rewrite an old fortran code in JuliaLang [Julia is still pre-release and I ran Version 0.0.0+1331430882.r69af from Commit 69afb7032d (2012-03-11 07:39:42)]:

#!/usr/bin/env julia
# -*- coding: utf-8 -*-
#*****************************************************************************
# COPYRIGHT (C) 2012 VidAyer <svaksha@gmail.com>
# LICENSE: GNU AGPLv3, http://www.gnu.org/licenses/agpl-3.0.html
#*****************************************************************************
# http://en.wikipedia.org/wiki/Pearson_correlation#Geometric_interpretation
# Example, suppose 5 countries have gross national products
# of 1, 2, 3, 5, and 8 billion dollars, resp. Suppose these 5 countries
# (in the same order) are found to have 11%, 12%, 13%, 15%, and
# 18% poverty. Then let x and y be ordered 5-element vectors containing
# the above data: x = (1, 2, 3, 5, 8) and y = (0.11, 0.12, 0.13, 0.15, 0.18).
#*****************************************************************************

gnp = [1, 2, 3, 5, 8]
poverty = [0.11, 0.12, 0.13, 0.15, 0.18]
vectorgnpgnp = 0.0
vectorpovertypoverty = 0.0
vectorgnppoverty = 0.0
costheta = 0.0
n = 1.0

vectorgnpgnp = vectorgnpgnp + gnp[n]*gnp[n]
vectorpovertypoverty = vectorpovertypoverty + poverty[n]*poverty[n]
vectorgnppoverty = vectorgnppoverty + gnp[n]*poverty[n]
costheta = vectorgnppoverty / (sqrt(vectorgnpgnp)*sqrt(vectorpovertypoverty))

# Terminal Out
println("The Vector product value of Cos Theta is: ",costheta)   # correct value should be 0.9208   
println("The Vector product of GNP and Poverty coordinates:  ",vectorgnppoverty) # correct value should be 2.930   
println("The Vector product of GNP is:  ",vectorgnpgnp) # correct value should be 103.0   
println("The Vector product of Poverty coordinates is:  ",vectorpovertypoverty) # correct value should be 0.9830E-01


I was avoiding blogging this code snippet here - code belongs in a DVCS, not in a blog. But I've intentionally not uploaded this program to github because its not fully functional yet -- see my comments within the code. When I cross-check the results from the fortran code (or as mentioned in the WP page --Geometric_interpretation.) I find "sqrt" isnt working as it should -- I need to figure out the syntax a wee bit more, so I'll push this when it works perfectly.


** PS: That it was named after a woman (or atleast I like to think so) isnt what prompted my interest! No kidding!

2011 Julio 13 [miércoles]

E-filing IncomeTax returns in india

The Indian government agency that runs the Income-Tax portal  "incometaxindiaefiling.gov.in" has very thoughtfully provided an electronic filing facility for its citizens which enables all tax-payers to file their Tax returns without a trip to the local Income Tax Office. However, their thoughtfulness only extends to Windows users as they have provided the e-forms only in the MSOffice .xls format which will not run any macros on a non-Windows platform. Now, I have not used Windows for many years now and having been forced to pay for a half-baked edition pre-installed on my laptop, I could not wait for my warranty to finish and free up that disk space.

Last week, I found two Open-Office hacks for the ITR forms 1 and 2 at:

However, the Open-Office  supported ITR-2 form from KSEB is borked -- has locked cells which will not work nor retrieve macros in Open-Office and many fields and cells are protected, making it impossible to enter data so that the Tax macros work properly. The ITR-2 form (available from the above link) has some errors in the conversion for Open Office --In Part B - TI in Computation of total income. It does not allow you to enter any figures in the following fields:

1. Salaries (6 of Schedule S)
2. Income from house property (C of Schedule-HP) (Enter nil if loss)
3. Capital gains
4. Income from other sources
This prevents the macro from tabulating the Total (Example: A + B +Total of (I) for all fields), due to which its not possible to tabulate the final tax payable.

Does anyone know how to get locked cell macros to work in Open-Office? All help and pointers to get these hacks working on Open-Office would be a big help. TIA.

PS: FWIW, I had asked this question on the local LUG list, which was a waste as one list member, who didnt read the question, chose to focus his undivided attention on the terrible mistake I made -- used the word  'company'. Thereafter, it was a fun exercise in "I-am-the-loudest-jerk-and-bully-here" ad hominem and logical fallacies. Yeah, total WIN on the technical help scale. The smartz knocked my socks off! 

2011 Junio 13 [lunes]

TiddlyWiki

I've been using TiddlyWiki for some years as a personal wiki space and although the first version was a bit clumsy about saving and searching ; today, it is the most re-usable, portable, easily shared self-contained wiki that you can find to manage your local tasks and information.

Mainly, I use TiddlyWiki to maintain notes, store and manage links. While there are online sites like Delicious and Stumbleupon which facilitate users sharing weblinks, they dont have the highly customizable features that Tiddlywiki has ; namely, the freedom to customize, edit pages and add oodles of content (ex. store phone nos, or other personal data which you dont want to store on a public space). Sometimes, I want to add IRC conversation snippets or installation notes as a future reference for something I had tried previously and found useful and it makes it very easy to add new tiddlers instantly. This level of fine-grained user-level customization is not available in any online site.

I wanted to share this so that folks who like wikis for the ease of editing can use Tiddlywiki instead of struggling to maintain local wiki installations on their servers. Dont forget that Tiddlywiki is the only wiki that does not need a server-side implementation and runs entirely on your browser.

TiddlyWiki is built on a combination of HTML, CSS and JavaScript and you can start by downloading an empty.html page to start using it. Here is the sourcecode if you want to contribute new features, and they also have a community space, some tutorials, a bug tracker, and many freely available themes to customize your local wikipage. In short, the uses are as (un)limited as your imagination is. Enjoy!

- página 1 de 32