developers.hover.in / 8 posts / categories / 16 comments / feed / comments feed

hover.in at devcamp bangalore

A quick shoutout to Sidu Ponappa, had a great time at devcamp edition 2 held on Apr 11, in Bangalore.

some of the interesting talks were…

sahi, by Narayan Raman

While the morning at devcamp was by a committer on the sahi test suite talk on some pretty impressive javascript trickery, where he demonstrated how to automate tests to login send mails , then go into the sent mail, and  delete it …all automated. considering that it works on one the most beefed up apps on we web right now - gmail , extremely imprssive ( even got to detect , and write into gmail’s rich text editor though some smart DOM traversal. Even works on IE , which is commendable . It works by having our browser point to a proxy server which inserts scripts to simulate various actions. Another thing to notice was that alerts,and other blocking calls were overwritten,and handled differently. One question that still lingered was how they simluated mouse cursors, and how many of it’s event properties would be passed on the event handlers, considering the entire actions were simulated.

function login($username, $password){
    _setValue(_textbox("Email"), $username);
    _setValue(_password("Passwd"), $password);
    _click(_submit("Sign in"));
}

login("sahi.abcde", "tough123");
_click(_spandiv("Compose Mail"));
_setValue(_textarea("to"), ", ");
_setValue(_textbox("subject"), "important subject");
_rteWrite(_rte(0, _near(_textbox("subject"))), "lots of content");
_click(_spandiv("Send[9]"));
_assertExists(_cell("Your message has been sent. View message"));
_click(_link("Sent Mail"));
_assertExists(_spandiv("To: dummy.email"));
_click(_checkbox(0, _near(_spandiv("To: dummy.email"))));
_expectConfirm("You are about to move the entire conversation to the Trash.
  Are you sure you want to trash the entire conversation containing your sent message?", true)
_click(_spandiv("Delete[14]"));
_assertExists(_cell("The conversation has been moved to the Trash. Learn more Undo"));
_assertExists(_cell("No sent messages! Send one now!"));
_click(_link("Sign out"));

Visual metrics for code, by neil ford

A thoughtworker showcasing the various evolution of visual code metrics, most of which are open source and fun projects that give your projects/codebase a completely different dimention ,literally speaking. one of the most impressive was the codecity view

a codecity example of modules as districts, buildings as functions wrt LOC

a codecity example of modules as districts, buildings as functions wrt LOC,function calls,etc

Software for a concurrent world, by chromewatir dev’s

The afternoon saw plenty of talks on concurrency, including one by couple of developers of chromewatir ( who forgot to introduce themselves btw!, they’re from thoughtworks as well  ) on software transactions, locking mechanisms, and compared the atomicty of an ecommerce payment implemented in java, haskell as well as erlang. very impressive.
UPDATE:  Sai is the ChromeWatir guy, and Hari works on Rapa (ActiveResource for Java)

CouchDB, by  Anand Chitipothu

I was fortunate to bump into Anand Chitipothu, early dev at Infogami & now the Chief Web Programmer at Internet Archive . He’s had the pleasure to work Aaron Shwatrz (of RSS, reddit,infogami,webkit,ycombinator, and openlibrary fame…phew!) . So i got down talking with Anand over lunch, finding out how he got to meet Aaron, (started when he starting contributing to web.py ) , moving over to his involvement with infogami, and now the IA,which gets over 2 million hits a day, talked about erlang ,python a while, and his experiments with couchdb. His talk debunked some lingering questions i still had wrt this REST- based db. There were lot of relevent questions from couple of mysql developers. Backing up a document is as easy as copying it to another system/locations, and the document can now be accessed from a couchdb instance on that system/location. Nice for debugging between home & office he says. View javascript functions are used to create view index, you can also create another reduce view . there are no edits, only appends to file ( or recreate it yourself) . you need to handle conflict resoltuion yourself, views are recreated lazily during a recent read .

He also mentioned that it for 30 million records, it took:

This is slightly starting. Also, any slight change in the view requires that all documents are re-updated. he also talked about why he’s skeptical about the concept of having presentation data inside couchdb as well. (the concept of an entire blog running off just couchdb ). So if it’s just quickly setting up some key ,value pairs - couchdb is for you. He also talked about when his site db/backups went kapoot - his replacement until things were brought back into control - was couchdb instance of key,value pairs and its various views accessed from python bindings.

couchdb internals

couchdb internals

Other interesting talks

erlang at hover.in

and finally …..[drum roll ] ; ) , here’s my talk ( hosted on slideshare ) on erlang at hover.in, and to make things interesting i brought in context about how bacteria, and the brain handle concurrency and memory issues.

All in all, a great unconference, and looking forward to meet and work with more like-minded hackers in the near future.

Keep Clicking,
~B

3 Comments

  1. Sai Venkat — April 12, 2009 #

    Thank you dude. The guys who forgot to introduce ourselves are Sai and Hari. I am the ChromeWatir guy. The other guy is Rapa (ActiveResource for Java) guy. Happy that you liked the talk.

    Could you please please let the world know about us by putting our name there? :D.

  2. Bosky — April 12, 2009 #

    done! :) could you also put up notes /slides from your talk. one of our dev’s thiyaga is a haskell addict, and still prefers it over erlang for quick prototyping.

  3. Sai Venkat — April 12, 2009 #

    Dude… You saw the slides. They have no context without the talk. Only pictures there…. I am planning to do a write up of the talk. Will post the link of the talk here :)

Leave a comment