Skip to main content

Surat Ultimate Open

About 20 of us, gathered at Andheri Station, to leave for Surat. I was the only one playing in his/her first tournament, and it was exciting to be a part of a squad, going to a tournament. A first in my life. We had two teams, A and B, or better known as Storm and Chasers. I was playing for the Chasers team. The train journey was pretty uneventful for me, unfortunately so, because of a mixed up ticket booking and only 4 of us, sitting in the AC coach. I ended up reading or sleeping for most part of the journey. I didn't realize, we could just walk into the other coach where most of the others were having a lot of fun!

Fountainhead School was the venue for the tournament, and they had arranged for transport, accommodation and food and drinks, all through the tournament. The organization for the tournament was pretty good, I must say! We had a bus pick us up at the railway station, and getting into the bus felt like we were some big team with our own team bus, and stuff (though, there was also the Silent Voice team on the bus ;). Ganesh and I had a little chat in the bus, and he was recollecting his experiences in his first tournament, and was asking me what I expected from the tournament, and I didn't really have a good answer, because I was too excited. But, I really enjoyed the chat with him.

We all crashed at the school library for the night, for a hard day in the field on the next day. We rushed to the field, early next morning, about half a km of walk from the school, the playing field was in the middle of some fields and we warmed up to a lovely sun rise. Storm had their first game at 7, against Dream Catchers, and they started a little rusty in the first half, but came back strongly in the second one to beat them 11-7. This was going to be closest their opposition was going to come to winning! Chasers had their first game against Silent Voice, a team from Ahmedabad. We got together as a team for the first time, really, and having just one substitute player didn't really help much. We got thrashed by Silent voice, 11-4 or 11-5. Chasers got the next game as a bye, since Lay Lapak failed to turn up for the tournament and this meant we slid up the table and got to play the Dream Catchers from Ahmedabad. Craig reached in time, from Mumbai, for this game, and we gave them a decent fight in this game, though the score line didn't really suggest it. We were doing way too many mistakes (and repeating them!) near the end-zones and they were costing us a lot. The highlight of these games, though, was the spectacular layouts by Cheerag on D. Storm, meanwhile, thrashed the HAT team 11-0, and beat Surat Trailblazers convincingly.

A lot of the teams had school kids on them, who were playing astonishingly well. The pick out of those was Jumbish, which had 10 to 15 year olds, jumping all over the place and giving their opposition a run for their money. The moment of the tournament for me was a catch by a Jumbish player, who jumped ahead of him, to take a catch, flipped over in the air without placing his hands on to the ground, and landed on his feet and made a perfectly nice pass to his team-mate! Exciting stuff to watch! Pune also has a nice Ultimate program for kids, and their team Royal Spirits was playing some good Ultimate.

The last game of the day was Storm vs. Flying Spirits from Pune, who were second on the points table, after Storm. But Storm was clinical in their execution, and "Bagel-ed" [read as, thrashed 11-0] Flying Spirits.

At the end of the day, we had a good dinner and lots of ice-cream and discussed our favorite moments of the day. I felt proud to have featured in atleast one person's favorite moments, in my first tournament! W00t! Some of us fooled around on the dance floor for a while, to some Gujarati and Bollywood music.

The next day started with us playing Royal Spirits (Pune). We started off strongly, but ended up giving away some easy scores towards the end of the game, and ended up drawing the game at 6 all. Our next game against Storm was another Bagel for Storm. They played zone on us, and though we were as patient as we could be, we simply didn't have enough skill and team work to score against them. Our next game against Flying Spirits was a very good game, and I'd rate it the best amongst our games. We played a good stack and played hard on D, and were able to keep the scores at 5-5 until the last 5 minutes, when they scored and finished winners. The Flying Spirits admitted to us giving them a good competition and making them work hard for their goals. Our last game was against Zero Gravity, a team from the school itself, and our first victory! We started off pretty strongly, and were able to finish the game 10-5.

The final between Storm and Cats-Dogs (Delhi) was so much fun to watch. Storm stuck to their clinical performance and everyone seemed to be playing at their best! They came out winners 13-4 in a game that lasted close to an hour and a half. All the other games, btw, were games-to-11 and time capped to 55 minutes. Storm also managed to win the Spirit award for the tournament, and it is the first time in Indian Ultimate's history that a team won both the tournament and the spirit award!

The tournament was a lot of fun and a lot of learning for me. I learnt a lot of things from everyone playing there, specially from the players in Storm. I know I'll carry forward some wonderful memories from my first tournament, thanks to everyone from Storm Chasers and everybody else, who I played against. I really liked the idea of spirit circles after the games, where each team discussed the game and appreciated the other team about particular aspects of their team and play and suggested areas that they could work on, to improve themselves. I also hung out around some of the spirit circles of Storm and their opposition and I really loved listening to Apu speak to the opposition. On almost every occasion, it gave me goosebumps! Thanks Apu, for showing us, what the spirit of the game should mean to each of us. Ganesh mentioned, in the chat we had on the bus to the school, that I'd learn a lot more than just Ultimate, and it turned out to be true. I got to learn a lot about my team, and everybody on Storm chasers. I experienced what it feels like, to be a part of a squad or a team, for the first time and it feels great, in short! Thanks Ganesh for the chat, and all the inspiration on-and-off the field. In the middle of one of the games, Willis walked up to me and told me to be more confident on the field and move more crisply on the field. I'm not sure, that will change in one game, but that is something I'll remember for a long time to come. Kayleigh reminded me of one of the good catches I took on day-1, by having it in her favorite moments of the day. As someone playing in his first tournament, that's a pretty big deal! Thanks to Willis and Kayleigh for all the encouragement, guidance and training! Thanks to Parag for drilling it into our team, that we are going to keep the game's tempo high, but our tempers low. The tournament was much more fun, that way. Thanks to Robo for giving me the cleats, and the encouragement during many a practice session. Thanks to Rose for being the wonderful captain that she was, thanks to Cheerag for showing us how much one can give on D, thanks to Craig, Diti, Rakesh, Sheryll and Vishal for being supportive and being patient with me and all my blunders. Thanks to Pixie for all the morning practice sessions, while we were waiting for everyone else to turn up. Thanks to Mak for help from the shouting helping me out from the side lines. Thanks to Jimmy, Megna, and Sarah, for making me feel a part of the squad, and for being a part of the wonderful Storm! Here are some pictures, thanks to Shantanu and Saurabh, who traveled all the way to Surat to watch, cheer and capture!

Even if, our team won just one out of the 6 games we played, it was an Ultimate tourney. Literally! Looking forward to future tournaments.

Bookmarks [2013/03/14]

Bookmarks [2013/01/22]

  • FreezeGun

    tags: python, testing, code

    FreezeGun is a library that allows your python tests to travel through time by mocking the datetime module.

  • CourseWiki - CS 448B

    tags: visualization, course, software

    In this course we will study techniques and algorithms for creating effective visualizations based on principles from graphic design, visual art, perceptual psychology, and cognitive science. The course is targeted both towards students interested in using visualization in their own work, as well as students interested in building better visualization tools and systems.

Best Practices for Scientific Computing

Shantanu and I gave a short talk titled "Software Carpentry for Scientists" for the graduate students of Chemical Engineering department, IISc, this Friday. We gave a short introduction to Git, TDD, Numpy/Scipy, etc and mentioned a few things from Greg Wilson et al's paper.

I promised to revert to them with links to a few resources. I figured it would be more beneficial, if I just put it in a publicly available place.

A summary of the paper by Greg Wilson et. al., is below.

Summary of paper by Greg Wilson et. al.

  1. Write programs for people, not computers
    • a program should not require its readers to hold more than a handful of facts in memory at once.
    • names should be consistent, distinctive and meaningful.
    • code style and formatting should be consistent.
    • all aspects of software development should be broken down into tasks roughly an hour long
  2. Automate repetitive tasks
    • rely on the computer to repeat tasks
    • save recent commands in a file for re-use
    • use a build to automate scientific work-flows
  3. Use the computer to record history
    • software tools should be used to track computational work automatically.
  4. Make incremental changes
    • work in small steps with frequent feedback and course correction
  5. Use version control
    • use a version control system
    • everything that has been created manually should be put in version control
  6. Don't repeat yourself (or others)
    • every piece of data must have a single authoritative representation in the system
    • code should be modularized rather than copied and pasted
    • re-use code instead of rewriting it
  7. Plan for mistakes
    • add assertions to programs to check their operation
    • use an off-the-shelf unit testing library
    • use all available oracles when testing programs
    • turn bugs into test cases
    • use a symbolic debugger
  8. Optimize software only after it works correctly
    • use a profiler to identify bottlenecks
    • write code in the highest-level language possible
  9. Document design and purpose, not mechanics
    • document interfaces and reasons, not implementations
    • refactor code instead of explaining how it works
    • embed the documentation for a piece of software in that software
  10. Collaborate
    • use pre-merge code reviews
    • use pair programming when bringing someone new up to speed and when tackling particularly tricky problems
    • use an issue tracking tool

Bookmarks [2012/12/12]

  • Gaussian Processes for Machine Learning: Book webpage

    tags: machine_learning, book, reading

    The book deals with the supervised-learning problem for both regression and classification, and includes detailed algorithms. A wide variety of covariance (kernel) functions are presented and their properties discussed. Model selection is discussed both from a Bayesian and a classical perspective. Many connections to other well-known techniques from machine learning and statistics are discussed, including support-vector machines, neural networks, splines, regularization networks, relevance vector machines and others. Theoretical issues including learning curves and the PAC-Bayesian framework are treated, and several approximation methods for learning with large datasets are discussed. The book contains illustrative examples and exercises, and code and datasets are available on the Web. Appendixes provide mathematical background and a discussion of Gaussian Markov processes.

  • human.io

    tags: development, phone, android, app, software

    Easily create and instantly deploy tiny bits of interactive code to your army of followers via their mobile devices.

cStringIO and unicode

StringIO in the cStringIO module in Python 2.7.2 doesn't handle unicode strings properly. This bug has bitten me on a couple of occasions, in the recent past.

Just making a note for myself:

  1. Use StringIO if speed doesn't matter so much.
  2. Whenever possible, just convert the input to StringIO to a string, if what you are doing doesn't really require unicode strings.

Or may be it's just time to move up to Python 2.7.3

3 tips for those shipping (commercial) apps

Here are some very generic (and paraphrased) notes from a short talk today, by Deepankar Sharma.

  1. Whenever you release a new major version, make sure you keep a copy of the whole "ecosystem" to be able to run it whenever you want. At any point in time, you should be able to run any version of your software.
  2. When writing benchmarks/tests/etc., try and ensure that you cover a broad spectrum of test data, to try and replicate the different types of data that users could possibly have.
  3. Don't develop applications with modes. Be very careful before you add a new mode to your application, effectively adding one more code path to maintain.
  4. (Bonus) Beware of too much extensibility

Just one day

The ripples on the quiet lake,
twinkling stars on a moonless night,
and his lonely, crazy, thoughts,
yet again, his faithful companions
on another of those countless nights,
searching for meaning, awaiting the dawn.

the night crawled by, as he drifted afloat,
memories of the past and dreams of the future,
until approaching footsteps, brought him back
did the chill of the wind, get to his head?
or was his guarded secret, not his anymore?

Before his thoughts, collect, he could,
his friend, from far away lands unknown,
was there with him, to share his thoughts,
to hear the wind hum the tunes of yore,
while the stars and the lake, as a duo, danced.

They watch the sun rise, from atop the hillock,
basking in the warmth, and see the town wake up,
lose themselves in the woods below,
on their way back, rest by the lake shore,
watching it, silently, shine in the daylight,
letting it wet their feet and clear his head.

Together, they cook themselves, a delicious meal,
n enjoy it, with some of the choicest old wine.
Catch-up on things, and yearn for more, discuss
all the many things, under the sun, and over,
without a clue, as to how much time flew by.

Riding away, as fast as they could, they reach,
just in time, as the sun set, over the seas,
perched on bicycles, in mirrored positions, with
resonating thoughts, the horizon, they watch
the sun set, the beach light up, and the fair begin.

They ate and drank, sung and danced and
just had a good time, for the rest of the night,
indulging, in all that the fair could offer.
the night was long, but if wouldn't go on forever,
pretty well, they knew, they day was to end.

the twinkling stars they watched, yet again,
but to the sea's song, on the still warm sand
slowly, but steadily, into sleep he drifted,
only to be awake, moments later, with the
bright sun coming harshly down upon him,
lighting up the lake, like a carpet of jewels.

all he had, once again, were just his thoughts,
the lake, and not the sea, by his side,
with fading impressions of an impossible dream
after all, wasn't it just too much action,
for just one day, for a life engulfed by ennui?

One some day, he told himself, and walked away.


Inspired by a friend.

Gustaakh Dil

I really liked this song, गुस्ताख दिल (Gustaakh dil) from the movie English Vinglish. Lyrics by Swanand Kirkire are deep and meaningful as usual!

I was looking for the lyrics on the web, and none of the sites seemed to have got it totally right. Shantanu and I listened to it a bunch of times and think we have got it all right, here.

गुस्ताख दिल
दिल में मुश्किल
मुश्किल में दिल
(मुश्किल में दिल)

गुस्ताख दिल
थोडा संगदिल
थोडा बुज़दिल

दर्द के दर पे
ठहरा है क्यों?
सज़ाएँ सज़ाएँ
ये खुद को क्यों देता नई?

हँसने की धुन में
रोता है क्यों?
सही क्या गलत क्या
कुछ भी ये समझता नहीं

गुस्ताख दिल
दिल में मुश्किल
मुश्किल में दिल
(मुश्किल में दिल)

है बर्फ सी साँसों में
आँखों में धुंआ धुंआ
ये हर पल क्यों खेले है
ग़म का ख़ुशी का जुआं जुआं

ये उम्मीदों भरा
ये खुद से ही डरा
सुलझे धागों में उलझा है क्यों?
सलाहें सलाहें
ये खुद की भी सुनता नहीं

गुस्ताख दिल
दिल में मुश्किल
मुश्किल में दिल
(मुश्किल में दिल)

क्यों बातों ही बातों में
फिसलती है जुबां जुबां
किसी शेह न ठेहेरती है
बेहेक्ति है निगाह निगाह

ये कैसे कब हुआ,
ये कहदो क्यों हुआ
गिरता नहीं तो संभालता है क्यों?
झुकाए झुकाए मग़रूर झुकता नहीं

गुस्ताख दिल
दिल में मुश्किल
मुश्किल में दिल
(मुश्किल में दिल)

Error: Missing one hebrew character

Dear owner-of-a-random-web-startup,

Thank you for starting your brand new, awesome web service. But, please don't expect me to use it, if you ask me to have a password with atleast one upper-case letter, one numeral, one symbol and one unicode hindi character and 20 hebrew characters. Is it really so essential to enforce such complicated rules on my passwords, making it difficult for me to remember what password I used? Isn't OAuth and OpenID so much easier to use? If you really want to enforce such complex rules on my password, at least show the arbitrary rules you enforce on me, at the login prompt too!

Sincerely, A frustrated-web-monkey