<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>punetech.com &#187; programming</title>
	<atom:link href="http://punetech.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://punetech.com</link>
	<description>Connecting together Pune&#039;s Technologists</description>
	<lastBuildDate>Mon, 02 Apr 2012 03:20:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Code Retreat Pune &#8211; Day Long Programming Event</title>
		<link>http://punetech.com/code-retreat-pune-day-long-programming-event/</link>
		<comments>http://punetech.com/code-retreat-pune-day-long-programming-event/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 02:55:19 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=3507</guid>
		<description><![CDATA[Pune is participating in the Global Code Retreat day 2011. It&#8217;s a day-long programming event based on principles of good design. Its on Dec 3, from 9am to 6pm at Thoughtworks, Pune. The event is free but has a Rs. 200 deposit which will be refunded if you actually attend the event (to prevent people [...]]]></description>
			<content:encoded><![CDATA[<p>Pune is participating in the Global Code Retreat day 2011. It&#8217;s a day-long programming event based on principles of good design. Its on Dec 3, from 9am to 6pm at Thoughtworks, Pune. The event is free but has a Rs. 200 deposit which will be refunded if you actually attend the event (to prevent people from registering if they&#8217;re not serious).</p>
<p>You only need to bring a laptop with the development tools you require to write code using your chosen programming languages. A breakfast and lunch will be provided.</p>
<p>Please spread the word amongst other developers and mailing lists.</p>
<p>This event is hosted by ITT (Innovation Technology Trust) and co-sponsored by ThoughtWorks and C42 Engineering. If you have any problems registering, or have any other questions, contact <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#110;&#105;&#114;&#97;&#110;&#106;&#97;&#110;&#64;&#99;&#52;&#50;&#46;&#105;&#110;">&#110;&#105;&#114;&#97;&#110;&#106;&#97;&#110;&#64;&#99;&#52;&#50;&#46;&#105;&#110;</a></p>
<h3>What is a Code Retreat?</h3>
<p>Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of &#8216;getting things done&#8217;, the coderetreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time.</p>
<p>This is a language-agnostic event. Each session, the pair chooses what language they want to work in. So, no matter what your language of choice, you are welcome. We practice the fundamentals: TDD and the <a href="http://c2.com/cgi/wiki?XpSimplicityRules">4 rules of simple design</a> &#8211; these are applicable regardless of language.</p>
<p>The idea of day long practice sessions for programmers was formalized by Corey Haines. Read more on his blog about <a href="http://coderetreat.com/how-it-works.html">How does Code Retreat work?</a></p>
<p>Do read <a href="http://programmingtour.blogspot.com/2011/01/on-goals-of-coderetreat.html">this blog post by Corey</a> as well.</p>
<p>This 3:21minute video from <a href="http://vimeo.com/14166504">Code Retreat Orlando</a> is another wicked cool introduction!</p>
<h3>What&#8217;s the deal with the Rs. 200 registration deposit?</h3>
<p>CodeRetreat is a free event paid for by sponsors. For larger events, though, it is important to have an accurate view of attendance. This helps us purchase the right amount of food, snacks, etc. If people register, but don&#8217;t show up and don&#8217;t cancel, then we waste a lot of food, as well as have to turn some people away that want to come. To this end, we are asking for a Rs. 200 deposit to hold your space.</p>
<p>The Rs. 200 will be refunded to you at the event. Don&#8217;t worry, though, you may cancel your registration and get a refund up to 7 days before the event. If you want to transfer your registration to someone else, we can do that, too.</p>
<h3>Fees and Registration</h3>
<p>This event is open to anybody and has a Rs. 200 refundable deposit. Please <a href="http://pune-global-coderetreat-11.doattend.com/">register here</a></p>
<p>Location: ThoughtWorks Technologies, GF-01 and MZ-01, Tower C, Panchshil Tech Park, Yerwada. December 3, 9am &#8211; 6pm.</p>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/code-retreat-pune-day-long-programming-event/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>GeekNight with Ola Bini &#8211; Core Developer of JRuby &#8211; 25 May</title>
		<link>http://punetech.com/geeknight-with-ola-bini-core-developer-of-jruby-25-may/</link>
		<comments>http://punetech.com/geeknight-with-ola-bini-core-developer-of-jruby-25-may/#comments</comments>
		<pubDate>Tue, 24 May 2011 03:00:57 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=3018</guid>
		<description><![CDATA[ThoughtWorks Pune invites all developers to their latest GeekNight tomorrow at 6:30pm. GeekNight is a series of a talks about cutting edge technology, where you also get to meet like-minded geeks. This GeekNight features a talk &#8220;JRuby for the win&#8221; by JRuby Core Developer Ola Bini. JRuby is an implementation of Ruby for the JVM. [...]]]></description>
			<content:encoded><![CDATA[<p>ThoughtWorks Pune invites all developers to their latest GeekNight tomorrow at 6:30pm. GeekNight is a series of a talks about cutting edge technology, where you also get to meet like-minded geeks.</p>
<p>This GeekNight features a talk &#8220;JRuby for the win&#8221; by JRuby Core Developer Ola Bini. </p>
<p>JRuby is an implementation of Ruby for the JVM. It gives you unprecedented integration with the Java ecosystem while still having access to great Ruby libraries such as Rails, RSpec and many more. The last year has seen lots of uptake for JRuby, many new committers, thousands of bugs fixed and lots of new functionality.</p>
<p>This talk will give a short introduction to JRuby, and then provide more information about where the project is now and where it is going.</p>
<h3>About the Speaker &#8211; Ola Bini</h3>
<p>Ola Bini is a core JRuby developer and is the author of the book &#8220;Practical JRuby on Rails&#8221;. He works for ThoughtWorks in Chicago. His technical experience ranges from Java, Ruby and LISP to several open source projects. He likes implementing languages, writing regular expression engines, YAML parsers, blogging, and other similar things that exist at the border of computer science.</p>
<h3>About GeekNight</h3>
<p>GeekNight is an informal meeting for technologists to exchange ideas, code and learning. It is held periodically at ThoughtWorks offices in Bangalore, Pune, Chennai and Gurgaon.</p>
<h3>Venue, Time, Fees and Registration</h3>
<p>The event is on Wednesday, 25th May, from 6:30pm, at ThoughtWorks Technologies, Panchshil Tech Park, Yerwada. This event is free and open for anybody to attend. Please <a href="http://connect.thoughtworks.com/geeknight/?contactID=181311354&amp;gwkey=EOVEKPPF3D">register here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/geeknight-with-ola-bini-core-developer-of-jruby-25-may/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pune Rails Drinkup: Ruby-on-Rails tech talks over (free) drinks</title>
		<link>http://punetech.com/pune-rails-drinkup-ruby-on-rails-tech-talks-over-free-drinks/</link>
		<comments>http://punetech.com/pune-rails-drinkup-ruby-on-rails-tech-talks-over-free-drinks/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 03:15:23 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=2747</guid>
		<description><![CDATA[The Pune Rails Meetup Group invites all enthusiasts of Ruby-on-Rails for their second &#8220;Drink Up&#8221; event. Gautam Rege writes: This time we have a technical drink-up. We shall have 1 or 2 technical sessions followed by networking. Thanks to IntelleCap for sponsoring this meetup entirely! Venue: Boat Club Agenda: We have 2 technical talks of [...]]]></description>
			<content:encoded><![CDATA[<p>The Pune Rails Meetup Group invites all enthusiasts of Ruby-on-Rails for their second &#8220;Drink Up&#8221; event. <a href="http://www.joshsoftware.com/">Gautam Rege</a> writes:</p>
<p>This time we have a technical drink-up. We shall have 1 or 2 technical sessions followed by networking.</p>
<p>Thanks to IntelleCap for sponsoring this meetup entirely!</p>
<p>Venue: Boat Club</p>
<p>Agenda: We have 2 technical talks of 45 minutes each.</p>
<p>6pm &#8211; 6.45pm: &#8220;Rhodes in a Nutshell&#8221; by Akshat Paul &amp; Abhishek Nalwaya<br />
7pm &#8211; 7.45pm: Talk from IntelleCap (TBD)<br />
7.45pm &#8211; 8pm: A short talk from our sponsor &#8211; IntelleCap</p>
<p>8pm &#8211; onwards: networking! <img src='http://punetech.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>This event is free and open to all but, there is reserved seating to meet at most 30 people. Please RSVP in advance to avoid organizing constraints. You must <a href="http://www.meetup.com/PuneRailsMeetup/calendar/16130152/">register here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/pune-rails-drinkup-ruby-on-rails-tech-talks-over-free-drinks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LiveBlog #tw5: Intro to Functional Programming &amp; Why it&#8217;s important</title>
		<link>http://punetech.com/liveblog-tw5-intro-to-functional-programming-why-its-important/</link>
		<comments>http://punetech.com/liveblog-tw5-intro-to-functional-programming-why-its-important/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 05:11:43 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Live Blogging]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[functional]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[techweekend]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=2646</guid>
		<description><![CDATA[This is a live-blog of TechWeekend 5 on Functional Programming, with talks by Dhananjay Nene (Why FP), Baishampayan Ghose (Clojure) and Bhasker Kode (Erlang)]]></description>
			<content:encoded><![CDATA[<p>This is a live-blog of TechWeekend 5 on Functional Programming. Please keep checking regularly, this will be updated once every 15 minutes until 1pm.</p>
<h3>Why Functional Programming Matters by Dhananjay Nene</h3>
<p>Dhananjay Nene started off with an introductory talk on FP &#8211; what it is, and why it is important.</p>
<p>FP is a language in which functions have no side-effects. <em>i.e.</em>, the result of a function is purely dependent on its inputs. There is no state maintained.</p>
<p>Effects/Implications of &#8220;no side effects&#8221;</p>
<ul>
<li><em>Side-effects are necessary</em>: FP doesn&#8217;t mean completely side-effect free. If you have no side-effects, you can&#8217;t do IO. So, FP really means &#8220;largely side-effect free&#8221;. Specifically, there are very few parts of the code that have side-effects, and you know exactly which those are.</li>
<li><em>Testability</em>: Unit Testing becomes much easier. There are no &#8220;bizarre interactions&#8221; between different parts of the code. &#8220;Integration&#8221; testing becomes much easier, because there are no hidden effects.</li>
<li><em>Immutability</em>: There are no &#8220;variables&#8221;. Once a value has been assigned to a &#8216;name&#8217;, that value is &#8216;final&#8217;. You can&#8217;t change the value of that &#8216;name&#8217; since that would be &#8216;state&#8217; and need &#8216;side-effects&#8217; to change it. </li>
<li><em>Lazy Evaluation</em>: Since a function always produces the same result, the compiler is free to decide when to execute the function. Thus, it might decide to not execute a function until that value is really needed. This gives rise to lazy evaluation. </li>
<li><em>Concurrency control</em> is not so much of a problem. Concurrency control and locks are really needed because you&#8217;re afraid that your data might be modified by someone else while you&#8217;re accessing it. This issue disappears if your data is immutable.</li>
<li><em>Easier parallelization</em>: The biggest problem with parallelizing programs is handling all the concurrency control issues correctly. This becomes a much smaller problem with FP.</li>
<li><em>Good for multi-core</em>: As the world moves to multi-core architectures, more and more parallelism will be needed. And humans are terrible at writing parallel programs. FP can help, because FP programs are intrinsically, automatically parallelizable.</li>
</ul>
<p>Another important feature of functional programming languages is the existence of higher order functions. Basically in FP, functions can be treated just like data structures. They can be passed in as parameters to other functions, and they can be returned as the results of functions. This makes much more powerful abstractions possible. (If you know <em>dependency injection</em>, then higher-order functions are dependency injection on steroids.)</p>
<p>FP gives brevity. Programs written in FP will typically be much shorter than comparable imperative programs. This is probably because of higher-order functions and clojures. Compare the size of the quicksort code in Haskell <em>vs.</em> Java <a href="http://toothpasteout.wordpress.com/2010/02/21/quicksort-in-haskell-scheme-java-c-and-prolog/">at this page</a></p>
<p><em>You need to think differently when you start doing functional programming</em>.</p>
<p>Think different:</p>
<ul>
<li>Use recursion or comprehensions instead of loops</li>
<li>Use pattern matching instead of <em>if</em> conditions</li>
<li>Use pattern matching instead of state machines</li>
<li>Information transformation instead of sequence of tasks</li>
<li>Software Transactional Memory FTW!</li>
</ul>
<p>Advantages of FP:</p>
<ul>
<li>After initial ramp-up issues, development will be faster in FP</li>
<li>Code is shorter (easier to read, understand)</li>
<li>Clearer expression of intention of developer</li>
<li>Big ball of mud is harder to achieve with pure functions. You will not really see comments like &#8220;I don&#8217;t know why this piece of code works, but it works. Please don&#8217;t change it.&#8221;</li>
<li>Once you get used to FP, it is much more enjoyable.</li>
<li>Faster, better, cheaper and more enjoyable. What&#8217;s not to like?</li>
</ul>
<p>The cost of doing FP:</p>
<ul>
<li>Re-training the developers&#8217; brains (this is a fixed cost). Because of having to <em>think differently</em>. Can&#8217;t just get this from books. Must do some FP programming. </li>
<li>You can suffer from a lack of third-party libraries(?), but if you pick a language like Clojure which sits on the JVM, then you can easily access java libraries for the things that don&#8217;t exist natively in your language.</li>
</ul>
<p>Should a company do it&#8217;s next project in a functional programming language? Dhananjay&#8217;s recommendation: start with small projects, and check whether you have the organizational capacity for FP. Then move on to larger and larger projects. If you&#8217;re <em>sure</em> that you have good programmers, and there happens to be a 6-month project for which you&#8217;re OK if it actually becomes a 12-month project, then definitely do it in FP. BG&#8217;s correction (based on his own experience): the 6-month project will only become a 8-month project. </p>
<h3>Some things to know about Erlang by Bhasker Kode</h3>
<p>Bhasker is the CEO of <a href="http://hover.in">http://hover.in</a>. They use Erlang in production for their web service.</p>
<p>Erlang was created in 1986 by developers at Ericsson for their telecom stack. This was later open-sourced and is now a widely used language. </p>
<p>Erlang is made up of many &#8220;processes&#8221;. These are programming language constructs &#8211; not real operating system processes. But otherwise, they are similar to OS processes. Each process executes independently of other processes. Processes do not share any data. Only message passing is allowed between processes. There are a number of schedulers which schedule processes to run. Normally, you will have as many schedulers as you have cores on your machine. Erlang processes are very lightweight. </p>
<p>Garbage collection is very easy, because as soon as a process dies, all its private date can be garbage collected because this is not shared with anyone else. </p>
<p>Another interesting thing about Erlang is that the pattern matching (which is used in all functional programming languages) can actually match binary strings also. This makes it much easier to deal with binary data packets. </p>
<p>Erlang has inbuilt support and language features for handling failures of processors, and which process takes over the job and so on, supervisor processes, etc. </p>
<p>Erlang allows you to think beyond for loops. Create processes which sit around waiting for instructions from you. And then the primary paradigm of programming is to send a bunch of tasks to a bunch of processes in parallel, and wait for results to come back. </p>
<p>Some erlang applications for developers:</p>
<ul>
<li>Webservers built in erlang: Yaws, mochiweb, nitrogen, misultin</li>
<li>Databases built in erlang: amazon simpledb, riak, couch, dynomite, hibari, scalaris</li>
<li>Testing frameworks: distil, eunit, quickcheck, tsung</li>
</ul>
<p>Who is using erlang? Amazon (simpledb), Facebook (facebook chat), microsoft, github, nokia (disco crawler), ea (the games company), rabbitmq (a messaging application), ejabberd (the chat server, which has not crahsed in 10 years). Indian companies using erlang: geodesic, <a href="http://hover.in">http://hover.in</a>.</p>
<h3>How Clojure handles the Expression Problem by Baishampayan Ghose</h3>
<p>If you&#8217;ve gone deep into any programming language, you will find a reference to lisp somewhere. So, every programmer must be interested in lisp. To quote Eric Raymond: </p>
<blockquote>
<p>LISP is worth learning for the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot.</p>
</blockquote>
<p>BG had conducted a 2 day Clojure tutorial in Pune a few months back, and he will happily do that again if there is enough interest. This talk is not about the basics of Clojure. It is talking about a specific problem, and how it is solved in Clojure, in the hope that it gives some interesting insights into Clojure.</p>
<p>Clojure is a dialect of lisp. And the first thing that anybody notices about lisp is all the parantheses. Don&#8217;t be afraid of the parantheses. After a few days of coding in lisp, you will stop noticing them. </p>
<p>Clojure has:</p>
<ul>
<li>first-class regular expressions. A # followed by a string is a regular expression.</li>
<li>arbitrary precision integers and doubles. So don&#8217;t worry about the data-type of your numbers. (It internally uses the appropriately sized data types.)</li>
<li>code as data and data as code. Clojure (and lisp) is homoiconic. So lisp code is just lists, and hence can be manipulated in the program by your program to create new program constructs. This is the most &#8216;difficult&#8217; and most powerful part of all lisp based languages. Google for &#8220;macros in lisp&#8221; to learn more. Most people don&#8217;t &#8220;get&#8221; this for a long time, and when they &#8220;get&#8221; lisp macros, the suddenly become very productive in lisp.</li>
<li>has a nice way to attach metadata to functions. For example, type hints attached to functions can help improve performance</li>
<li>possibility of speed. With proper type-hints, Clojure can be as fast as Java</li>
</ul>
<p>_(Sorry: had to leave the talk early because of some other commitments. Will try to update this article later (in a day or two) based on inputs from other people.)</p>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/liveblog-tw5-intro-to-functional-programming-why-its-important/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Clojure, Erlang, &amp; Functional Programming – Intro to FP &amp; Why It’s Important – TechWeekend5 18 Dec</title>
		<link>http://punetech.com/clojure-erlang-functional-programming-intro-to-fp-why-its-important-techweekend5-18-dec/</link>
		<comments>http://punetech.com/clojure-erlang-functional-programming-intro-to-fp-why-its-important-techweekend5-18-dec/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 03:25:00 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[functional]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[techweekend]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=2641</guid>
		<description><![CDATA[Have you heard of Clojure, Erlang, Scala, F# and wondered why people are getting all excited about these new fangled languages? Then this is your chance to find out. And if you are a programmer or are otherwise working in the software technology space and have not heard any of those names, then you need [...]]]></description>
			<content:encoded><![CDATA[<p>Have you heard of Clojure, Erlang, Scala, F# and wondered why people are getting all excited about these new fangled languages? Then this is your chance to find out. And if you are a programmer or are otherwise working in the software technology space and have not heard any of those names, then you need to start reading more, and you certainly need to attend this TechWeekend5 in Pune this Saturday. <a href="http://techweekend5.eventbrite.com">Register for the event here</a>.</p>
<p><a href="http://vayana.in/">Vayana Services</a> and TechWeekend Pune presents a detailed session on Functional Programming this Saturday, 18th December from 10am to 1pm, at Sumant Moolgaonkar Auditorium, MCCIA in ICC Trade Tower (A Wing, Ground floor), S.B. Road. You must attend.</p>
<p>Object-Oriented Programming is now passe, and all the cool kids (<em>i.e.</em> the star programmers) have started looking very seriously at functional programming languages like Clojure and Erlang. The more visionary ones (like our speakers this week: Dhananjay Nene, Bhasker Kode, and Baishampayan Ghose) are building the next generation of products in these languages.</p>
<p>Find out the <em>What</em>, the <em>Why</em> and the <em>How</em> on Saturday.</p>
<p>There will be three talks, listed below, and some time for general discussions around this topic.</p>
<h3>Why you should care about functional programming &#8211; by Dhananjay Nene</h3>
<p>This talk will focus on important characteristics of functional programming and the current landscape in terms of variety of languages and its adoption. The talk will also refer to how leveraging it can help you in terms of brevity, concurrency, better abstractions, testability, economics and particularly enjoyability. A small part of the talk will also focus very superficially on the Scala programming language.</p>
<h4>About the Speaker &#8211; Dhananjay Nene</h4>
<p>Dhananjay is a passionate programmer and a consulting software architect. He loves to learn, research, prototype and deploy new technologies and languages even as he is strongly focused on ensuring that the choices are made consistent with the business objectives and landscape. He currently writes code for and advises Vayana Enterprises in his role as its Chief Architect.</p>
<h3>An Introduction to Erlang &#8211; by Bhasker Kode</h3>
<p>While ideating hover.in towards the end of 2007 Bhasker soon become an ardent evangelist of Erlang and it&#8217;s fault tolerant nature traditionally intended for use in telecom &amp; messaging circles. Following it&#8217;s rising use in building real-time and low-latency applications at web scale Bhasker has presented Hover&#8217;s erlang growth stories at Commercial Users of Functional Programming Conference in Edinburgh along with Facebook, Erlang Factory in London, and Foss.in in Bangalore talking about the role of functional programming. Hover&#8217;s engineering efforts can be tracked at <a href="http://developers.hover.in">http://developers.hover.in</a></p>
<h4>About the Speaker &#8211; Bhasker Kode</h4>
<p>Bhasker is the CEO and Co-Founder of Pune-based <a href="http://hover.in">Hover Technologies</a>, a user-engagement platform that allows web publishers to add a new channel of earning ad revenue through the use of in-text &#8220;tooltip&#8221; based ads. He has always been captured by the potential of the internet as part of the core team behind several destination portals and startups from his college days in Chennai. His introduction to functional programming came from his stint as the first few developers at Bangalore based Tutorvista where he built the calendar, syndication, whiteboard among other products used by thousands across the world everyday.</p>
<h3>Clojure &amp; its solution to the Expression Problem &#8211; Baishampayan Ghose</h3>
<p>The &#8220;Expression Problem&#8221; arises when we want to add new functionality to a library that we don&#8217;t control. Most popular programming languages accomplish this task by Monkey Patching, Wrapper Classes, etc. In this talk, BG will discuss the demerits of traditional approaches to the problem and how Clojure solves this problem using Protocols. This talk is intended to show-off the real power of Clojure in solving complex problems.</p>
<p>BG has chosen to talk about a particular feature of Clojure in depth instead of skimming over many things in a hurry because he believes that Clojure&#8217;s approach to solving the Expression Problem clearly demonstrates the thought process that has gone into designing the language and shows how it&#8217;s different from most other programming languages. I will also cover the very basics of reading Clojure code in just a few minutes which will also demonstrate the simplicity of the language itself.</p>
<h4>About the Speaker &#8211; Baishampayan Ghose</h4>
<p>Baishampayan Ghose (mostly known as BG) is the co-founder &amp; CTO of <a href="http://Paisa.com">http://Paisa.com</a>. He has been a career Functional Programmer and has programmed professionally in Common Lisp, Clojure &amp; now Erlang.</p>
<h3>About the Sponsor &#8211; Vayana Services</h3>
<p><a href="http://vayana.in">Vayana Services</a> offers an easier option for small and medium enterprises to obtain working capital financing from banks by electronically sourcing, transferring and tracking digitally signed trade documents across trading parties and banks. It is a financial service backed by a cloud based offering with its development and operations management team based in Pune. With a strong belief that healthy businesses are greatly assisted by using healthy technology, Vayana Services looks forward to an increasingly frequent and high quality interaction within the software technology community in Pune and welcomes you all to Techweekend 5.</p>
<h3>Logistics</h3>
<p>This event is free for all to attend, but please <a href="http://techweekend5.eventbrite.com">register here</a>. The event is in MCCIA&#8217;s Sumant Moolgaokar Auditorium, ICC Towers, Wing A, Ground Floor. From 10am-1pm. The hashtag for the event is <a href="http://search.twitter.com/search?q=%23tw5">#tw5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/clojure-erlang-functional-programming-intro-to-fp-why-its-important-techweekend5-18-dec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pune (Microsoft Technologies) User Group &#8211; Community Tech Day &#8211; 6 Feb</title>
		<link>http://punetech.com/pune-microsoft-technologies-user-group-community-tech-day-6-feb/</link>
		<comments>http://punetech.com/pune-microsoft-technologies-user-group-community-tech-day-6-feb/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 03:28:00 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[PUG]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=1988</guid>
		<description><![CDATA[What: Pune (Microsoft Technologies) User Group&#8216;s Community Tech Days When: Saturday, 6 February, 9:00am-5:15pm Where: International Convention Center, MCCIA Center, 5th Floor, S.B. Road Registration and Fees: This event is free for all to attend. Register here Community Tech Days This will be a day full of technical presentations covering ASP.NET, REST applications with .NET, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>What:</strong> <a href="http://punetech.com/wiki/Pune_User_Group_%28Microsoft_Technologies%29">Pune (Microsoft Technologies) User Group</a>&#8216;s Community Tech Days<br />
<strong>When:</strong> Saturday, 6 February, 9:00am-5:15pm<br />
<strong>Where:</strong> International Convention Center, MCCIA Center, 5th Floor, S.B. Road<br />
<strong>Registration and Fees:</strong> This event is free for all to attend. <a href="https://login.live.com/wlogin.srf?appid=000000004C01A0A7&amp;alg=wsignin1.0&amp;appctx=offline">Register here</a></p>
<div id="attachment_418" class="wp-caption alignright" style="width: 210px"><a href="http://punetech.com/tag/PUG"><img class="size-full wp-image-418" title="Pune (Microsoft Technologies) User Group" src="http://punetech.com/wp-content/uploads/2008/09/pug_logo.jpg" alt="PUG is Pune's user group for Microsoft Technologies. Click on the logo to see all PuneTech articles related to PUG." width="200" height="99" /></a><p class="wp-caption-text">PUG is Pune&#39;s user group for Microsoft Technologies. Click on the logo to see all PuneTech articles related to PUG.</p></div>
<h3>Community Tech Days</h3>
<p>This will be a day full of technical presentations covering ASP.NET, REST applications with .NET, Win 2008 R2, Exchange 2010 etc. The detailed agenda is as follows:</p>
<table style="width: 100%;" border="0" cellspacing="1">
<tbody>
<tr style="background-color: #fefefe; height: 20px;">
<td style="padding-left: 15px;" colspan="3"><strong>Event for Software Developers</strong></td>
</tr>
<tr style="background-color: #dedede; height: 20px;">
<td style="padding-left: 15px;">9:00am &#8211; 9:30am</td>
<td style="padding-left: 15px;">Developer Track Registration</td>
<td style="padding-left: 15px;"></td>
</tr>
<tr style="background-color: #fefefe; height: 20px;">
<td style="padding-left: 15px;">9:30am &#8211; 10:30am</td>
<td style="padding-left: 15px;">Microsoft ASP.NET MVC 2 The New Stuff</td>
<td style="padding-left: 15px;"><a href="http://communitytechdays.com/speakers.aspx#rohitjejurikar">Rohit Jejurikar</a></td>
</tr>
<tr style="background-color: #cccccc;">
<td style="padding-left: 15px; height: 21px;">10:30am &#8211; 10:45am</td>
<td style="padding-left: 15px; height: 21px;" colspan="2" align="center"><strong>Break</strong></td>
</tr>
<tr style="background-color: #fefefe; height: 20px;">
<td style="padding-left: 15px;">10:45am &#8211; 11:45am</td>
<td style="padding-left: 15px;">Developing REST Applications with                                                                  the .NET Framework</td>
<td style="padding-left: 15px;"><a href="http://communitytechdays.com/speakers.aspx#sanjayvyas">Sanjay Vyas</a></td>
</tr>
<tr style="background-color: #dedede; height: 20px;">
<td style="padding-left: 15px;">11:45am &#8211; 12:45pm</td>
<td style="padding-left: 15px;">Windows Presentation Foundation 4 Plumbing and Internals</td>
<td style="padding-left: 15px;"><a href="http://communitytechdays.com/speakers.aspx#farzinfaramarzi">Farzin Faramarzi</a></td>
</tr>
<tr style="background-color: #fefefe; height: 20px;">
<td style="padding-left: 15px;" colspan="3"><strong>Event for IT Professionals</strong></td>
</tr>
<tr style="background-color: #dedede; height: 20px;">
<td style="padding-left: 15px;">01:30pm &#8211; 02:00pm</td>
<td style="padding-left: 15px;">IT Pro Registration</td>
<td style="padding-left: 15px;"></td>
</tr>
<tr style="background-color: #fefefe;">
<td style="padding-left: 15px;">02:00pm &#8211; 03:00pm</td>
<td style="padding-left: 15px;">Windows 2008 R2 Enhancements and Improvements</td>
<td style="padding-left: 15px;"><a href="http://communitytechdays.com/speakers.aspx#ninaddoshi">Ninad Doshi</a></td>
</tr>
<tr style="background-color: #cccccc;">
<td style="padding-left: 15px; height: 21px;">03:00pm &#8211; 03:15pm</td>
<td style="padding-left: 15px; height: 21px;" colspan="2" align="center"><strong>Break</strong></td>
</tr>
<tr style="background-color: #dedede; height: 20px;">
<td style="padding-left: 15px;">03:15pm &#8211; 04:15pm</td>
<td style="padding-left: 15px;">Exchange 2010 Architecture</td>
<td style="padding-left: 15px;"><a href="http://communitytechdays.com/speakers.aspx#avirajagekar">Aviraj Ajgekar</a></td>
</tr>
<tr style="background-color: #fefefe; height: 20px;">
<td style="padding-left: 15px;">04:15pm &#8211; 05:15pm</td>
<td style="padding-left: 15px;">System Center &amp; Forefront Suites</td>
<td style="padding-left: 15px;"><a href="http://communitytechdays.com/speakers.aspx#abhishekpradhan">Abhishek Pradhan</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/pune-microsoft-technologies-user-group-community-tech-day-6-feb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pune (Microsoft Technologies) User Group&#8217;s Developer Summit &#8211; Jan 16</title>
		<link>http://punetech.com/pune-microsoft-technologies-user-groups-developer-summit-jan-16/</link>
		<comments>http://punetech.com/pune-microsoft-technologies-user-groups-developer-summit-jan-16/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 11:44:17 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[PUG]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=1949</guid>
		<description><![CDATA[What: Pune (Microsoft Technologies) User Group&#8217;s Developer Summit When: Saturday, 16 January, 9:00am-5pm Where: Dewang Mehta Auditorium, Persistent Systems Ltd., 402, Bhageerath, Senapati Bapat road. Update: venue changed to Ashwamedh hall, Erandwana Gaothan, off karve road, near nal stop, Pune Registration and Fees: This event is free for all to attend. Register here (requires silverlight) [...]]]></description>
			<content:encoded><![CDATA[<p><strong>What:</strong> Pune (Microsoft Technologies) User Group&#8217;s Developer Summit<br />
<strong>When:</strong> Saturday, 16 January, 9:00am-5pm<br />
<strong>Where:</strong> <span style="text-decoration: line-through;">Dewang Mehta Auditorium, Persistent Systems Ltd., 402, Bhageerath, Senapati Bapat road.</span> Update: venue changed to Ashwamedh hall, Erandwana Gaothan, off karve road, near nal stop, Pune<br />
<strong>Registration and Fees:</strong> This event is free for all to attend. <a href="http://www.puneusergroup.org/events/developer-summit2010/default.html">Register here</a> (requires silverlight)</p>
<div id="attachment_418" class="wp-caption alignright" style="width: 210px"><a href="http://punetech.com/tag/PUG"><img class="size-full wp-image-418" title="Pune (Microsoft Technologies) User Group" src="http://punetech.com/wp-content/uploads/2008/09/pug_logo.jpg" alt="PUG is Pune's user group for Microsoft Technologies. Click on the logo to see all PuneTech articles related to PUG." width="200" height="99" /></a><p class="wp-caption-text">PUG is Pune&#39;s user group for Microsoft Technologies. Click on the logo to see all PuneTech articles related to PUG.</p></div>
<h3>PUG Developer Summit</h3>
<p>PUG Developer Summit 2010 is an event for developers to share, collaborate and meet up with like minded technology enthusiasts. to connect with industry gurus on all upcoming technologies like MOSS 2010, VS2010, Silverlight 4, WCF 4 along with first time in Pune a session on &#8220;Concept Visualization&#8221; by Sanjay Vyas&#8230;</p>
<p>Detailed Agenda:</p>
<table border="2" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td width="213" valign="top">9:00 to 9:30</td>
<td width="213" valign="top">Registration</td>
<td width="213" valign="top"></td>
<td width="213" valign="top"></td>
</tr>
<tr>
<td width="213" valign="top">9:30 to 10:45</td>
<td width="213" valign="top">Session I</td>
<td width="213" valign="top">Concept Visualization</td>
<td width="213" valign="top">Sanjay Vyas</td>
</tr>
<tr>
<td width="213" valign="top">10:45 to 11:00</td>
<td width="213" valign="top">Tea Break</td>
<td width="213" valign="top"></td>
<td width="213" valign="top"></td>
</tr>
<tr>
<td width="213" valign="top">11:00 to 12:15</td>
<td width="213" valign="top">Session II</td>
<td width="213" valign="top">Visual Studio 2010</td>
<td width="213" valign="top">Farzin Faramarzi &amp; Maheshkumar N</td>
</tr>
<tr>
<td width="213" valign="top">12:15 to 1:30</td>
<td width="213" valign="top">Session III</td>
<td width="213" valign="top">MOSS 2010</td>
<td width="213" valign="top">Amol Vaidya</td>
</tr>
<tr>
<td width="213" valign="top">1:30 to 2:30</td>
<td width="213" valign="top">Lunch Break</td>
<td width="213" valign="top"></td>
<td width="213" valign="top"></td>
</tr>
<tr>
<td width="213" valign="top">2:30 to 3:45</td>
<td width="213" valign="top">Session IV</td>
<td width="213" valign="top">Silverlight 4</td>
<td width="213" valign="top">Vikram Pendse</td>
</tr>
<tr>
<td width="213" valign="top">3:45 to 5:00</td>
<td width="213" valign="top">Session V</td>
<td width="213" valign="top">WCF 4</td>
<td width="213" valign="top">Mahesh Sabanis</td>
</tr>
<tr>
<td width="213" valign="top"></td>
<td width="213" valign="top"></td>
<td width="213" valign="top"></td>
<td width="213" valign="top"></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/pune-microsoft-technologies-user-groups-developer-summit-jan-16/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Conference report: The 4th IndicThreads conference on Java Technologies</title>
		<link>http://punetech.com/conference-report-the-4th-indicthreads-conference-on-java-technologies/</link>
		<comments>http://punetech.com/conference-report-the-4th-indicthreads-conference-on-java-technologies/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 03:19:51 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Event Report]]></category>
		<category><![CDATA[In Depth]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[dynamic programming languages]]></category>
		<category><![CDATA[event reports]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=1875</guid>
		<description><![CDATA[Dhananjay Nene writes an indepth technical report (along with links to presentations) on the IndicThreads conference on Java technologies held in Pune in December 2009.]]></description>
			<content:encoded><![CDATA[<p><em>(The <a href="http://j09.indicthreads.com/">IndicThreads conference on Java Technologies</a> was held in Pune last weekend. This conference report by <a href="http://punetech.com/wiki/Dhananjay_Nene">Dhananjay Nene</a> was <a href="http://blog.dhananjaynene.com/2009/12/post-conference-recap-the-4th-indicthreads.com-conference-on-java-technology/">published</a> on his <a href="http://blog.dhananjaynene.com/">must-read blog</a> and is re-published here with permission. The <a href="http://j09.indicthreads.com/1119/presentations-from-the-4th-indicthreads-com-conference-on-java/#more-1119">slides used during the presentations</a> can be downloaded from <a href="http://j09.indicthreads.com/1119/presentations-from-the-4th-indicthreads-com-conference-on-java/#more-1119">the conference website here</a> and are also linked to in context in Dhananjay&#8217;s report below. In general, PuneTech is interested in publishing reports of tech events and conferences that happen in Pune, as long as they go into sufficient technical depth, and especially if links to slides are available. So please do get in touch with us if you have such a report to share.)</em></p>
<p><a href="http://indicthreads.com"><img class="alignright size-full wp-image-1570" title="indicthreads logo small" src="http://punetech.com/wp-content/uploads/2009/08/indicthreads_logo_small.png" alt="indicthreads logo small" height="56" width="200"></a>The annual indicthreads.com java technology conference is Pune’s best conference on matters related to Java technologies. I looked forward to attending the same and was not disappointed a bit. The last one was held about 3 days ago on Dec 11th and 12th, and this post reviews my experiences at the same.</p>
<p>As with any other conference usually something or the other isn’t quite working well in the morning, so I soon discovered we had a difficulty with the wireless network being swamped by the usage. There were some important downloads that needed to be completed, so my early morning was spent attempting to get these done .. which meant I missed most of <em>Harshad Oak</em>’s opening session on <em>Java Today</em>.</p>
<p>The next one i attended was <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-Webapps-with-Grails.pdf"><em>Groovy &amp; Grails as a modern scripting language for Web applications</em></a> by <em>Rohit Nayak</em>. However I soon discovered that it (at least initially) seemed to be a small demo on how to build applications using grails. Since that was something I was familiar with, I moved to the alternative track in progress.</p>
<p>The one I switched to even as it was in progress was <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-javaee6-glassfishv3.pdf"><em>Java EE 6: Paving the path for the future</em></a> by <em><a href="http://java.sun.com/developer/Meet-Eng/gupta/">Arun Gupta</a></em>. Arun had come down from Santa Clara to talk about the new Java EE6 spec and its implementation by Glassfish. Arun talked about a number of additional or changed features in Java EE6 in sufficient detail for anyone who got excited by them to go explore these in further detail. These included web fragments, web profile, EJB 3.1 lite, increased usage of annotations leading to web.xml now being optional, and a number of points on specific JSRs now a part of Java EE6. Some of the things that excited me more about Glassfish were, (a) OSGi modularisation and programmatic control of specific containers (eg Servlet, JRuby/Rails etc.), embeddability, lightweight monitoring. However the one that excited me the most was the support for hot deployment of web apps for development mode by allowing the IDEs to automatically notify the running web app which in turn automatically reloaded the modified classes (even as the sessions continued to be valid). The web app restart cycle in addition to the compile cycle was alway one of my biggest gripes with Java (second only to its verbosity) and that seemed to be going away.</p>
<p>I subsequently attended <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-Getting-Started-with-Scala.mm_.html"><em>Getting started with Scala</em></a> by <em>Mushtaq Ahmed</em> from Thoughtworks. Mushtaq is a business analyst and not a professional programmer, but has been keenly following the developments in Scala for a couple of years (and as I later learnt a bit with Clojure as well). Unlike a typical language capability survey, he talked only about using the language for specific use cases, a decision which I thought made the presentation extremely useful and interesting. The topics he picked up were (a) Functional Programming, (b) DSL building and (c) OOP only if time permitted. He started with an example of programming/modeling the Mars Rover movements and using functions and higher order functions to do the same. Looking back I think he spent lesser time on transitioning from the requirements into the code constructs and in terms of what he was specifically setting out to do in terms of higher order functions. However the demonstrated code was nevertheless interesting and showed some of the power of Scala when used to write primarily function oriented code. The next example he picked up was a Parking Lot attendant problem where he started with a Java code which was a typical implementation of the strategy pattern. He later took it through 7-8 alternative increasingly functional implementations using Scala. This one was much easier to understand and yet again demonstrated the power of Scala quite well in terms of functional programming. Onto DSLs, Mushtaq wrote a simple implementation of a “mywhile” which was a classical “while” loop as an example of using Scala for writing internal DSLs. Finally he demonstrated the awesome power of using the built in support for parser combinators for writing an external DSL, and also showed how a particular google code of summer problem could be solved using Scala (again for writing an external DSL). A very useful and thoroughly enjoyable talk. <em>(Here is a <a href="http://bitbucket.org/mushtaq/">link to the code used in this presentation</a>. -PuneTech)</em></p>
<p>The brave speaker for the post lunch session was Rajeev Palanki who dealt both with overall IBM directions on Java and a little about <a href="https://www.ibm.com/developerworks/mydeveloperworks">MyDeveloperworks</a> site. In his opinion he thought Java was now (post JDK 1.4) on the plateau of productivity after all the early hype and IBM now focused on Scaling up, Scaling down (making it easier to use at the lower end), Open Innovation (allow for more community driven innovation) and Real Time Java. He emphasised IBMs support to make Java more predictable for real time apps and stated that Java was now usable for Mission Critical applications referring to the fact that Java was now used in a USS Destroyer. He referred to IBMs focus on investing in Java Tooling that worked across different JRE implementations. Tools such as <a href="http://www.ibm.com/developerworks/java/jdk/tools/gcmv/">GCMV</a>, <a href="http://www.ibm.com/developerworks/java/jdk/tools/memoryanalyzer/">MAT</a>, and <a href="http://www.ibm.com/developerworks/java/jdk/tools/diagnosticscollector/">Java Diagnostic Collector</a>. Finally he talked about the IBM MyDeveloperWorks site at one stage referring to it as the Facebook for Geeks.</p>
<p>The next session was <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-Lift-Scala.pdf"><em>Overview of Scala Based Lift Web Framework</em></a> by <em>Vikas Hazarati</em>, Director, Technology at Xebia. Another thoroughly enjoyable session. Vikas dealt with a lot of aspects related to the Lift web framework including various aspects related to the mapper, the snippets, usage of actors for comet support etc. I was especially intrigued by Snippets which act as a bridge between the UI and the business logic have a separate abstraction for themselves in the framework and how the construct and functionality in that layer is treated so differently from other frameworks.</p>
<p>I subsequently attended <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-Concurrency_Best_Practices_Pramod.pdf"><em>Concurrency: Best Practices</em></a> by Pramod Nagaraja who works on the IBM JRE and owns the java.nio packages (I think I heard him say owns). He talked about various aspects and best practices related to concurrency and one of the better aspects of the talk was how seemingly safe code can also end up being unsafe. However he finished his session well in time for me to quickly run over and attend the latter half of the next presentation.</p>
<p>Arun Gupta conducted the session <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-dynamic-languages-web-frameworks.pdf"><em>Dynamic Languages &amp; Web Frameworks in GlassFish</em></a> which referred to the support for various non java environments in Glassfish including those for Grails/Groovy, Rails/JRuby, Django/Python et. al. The impression I got was Glassfish is being extremely serious about support for the non java applications as well and is dedicating substantial efforts to make Glassfish the preferred platform for such applications as well. Arun’s blog <a href="http://blogs.sun.com/arungupta/">Miles to go …</a> is most informative for a variety of topics related to Glassfish for both Java and non Java related aspects.</p>
<p>The last talk I attended during the day was <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-FullyDistributedScrumExperiences.pdf"><em>Experiences of Fully Distributed Scrum between San Francisco and Gurgaon</em></a> by <em>Narinder Kumar</em>, again from Xebia. Since a few in the audience were still not aware of agile methodologies (Gasp!), Narinder gave a high level overview of the same before proceeding down the specific set of challenges his team had faced in implementing scrum in a scenario where one team was based in Gurgaon, India and another in San Fransciso, US. To be explicit, he wasn’t describing the typical scrum of scrum approaches but was instead describing a mechanism wherein the entire set of distributed teams would be treated as a single team with a single backlog and common ownership. This required some adjustments such as a meeting where only one person from one of the locations and all from another would take part in a scrum meeting in situations where there were no overlapping working hours. There were a few other such adjustments to the process also described. The presentation ended with some strong metrics which represented how productivity was maintained even as the activities moved from a single location to a distributed model. Both during the presentation and subsequently Narinder described some impressive associations with senior Scrum visionaries and also some serious interest in their modified approach from some important companies. However one limitation I could think of the model was, that it was probably better geared to work where you had developers only in one of the two locations (offshoring). I perceived the model as a little difficult to work if developers were located across all locations (though that could end up being just my view).</p>
<p>The second day started with a Panel Discussion on the topic <em>Turning the Corner</em> between Arun Gupta, Rohit Nayak, Dhananjay Nene (thats yours truly) and moderated by Harshad Oak. It was essentially a discussion about how we saw some of the java and even many non java related technologies evolving over the next few years. I think suffice to say one of the strong agreements clearly was the arrival of Java the polyglot platform as compared to Java the language.</p>
<p>The next session was <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-GoogleAppEngineJava_Overview.pdf"><em>Developing, deploying and monitoring Java applications using Google App Engine</em></a> by Narinder Kumar. A very useful session describing the characteristics, opportunities and challenges with using Google App Engine as the deployment platform for Java based applications. One of the take away from the sessions was that subject to specific constraints, it was possible to use GAE as the deployment platform without creating substantial lockins since many of the Java APIs were supported by GAE. However there are a few gotchas along the way in terms of specific constraints eg. using Joins etc.</p>
<p>I must confess at having been a little disappointed with <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-AutomatingJEEDeployment.pdf"><em>Automating the JEE deployment process</em></a> by Vikas Hazrati. He went to great depths in terms of what all considerations a typical J2EE deployment monitoring tool should take care of, and clearly demonstrated having spent a lot of time in thinking through many of the issues. However the complexities he started addressing started to get into realms which only a professional J2EE deployment tool writer would get into. That made the talk a little less interesting for me. Besides there was another interesting talk going on simultaneously which I was keen on attending as well.</p>
<p>The other talk I switched to half way was <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-JavaMe-LWUIT.pdf"><em>Create Appealing Cross-device Applications for Mobile Devices with Java ME and LWUIT</em></a> by Biswajit Sarkar (who’s also written a book on the same topic). While keeping things simple, Biswajit explained the capabilities of Java ME. He also described LWUIT which allowed creation of largely similar UI across different mobile platforms. He explained that while the default Java ME used native rendering leading to differing look and feel across mobile handsets just like Java AWT, using LWUIT allowed for a Java Swing like approach where the rendering was performed by the LWUIT library (did he say around 300kb??) thus allowing for a more uniform look and feel. He also showed sample programs and how they worked using LWUIT.</p>
<p>Allahbaksh Asadullah then conducted the session on <em>Implementing Search Functionality With Lucene &amp; Solr</em>, where he talked about the characteristics and usage of Lucene and Solr. It was very explicitly addressed at the very beginners to the topic (an audience I could readily identify myself with) and walked us through the various characteristics of search, the different abstractions, how these abstractions are modeled through the API and how some of these could be overridden to implement custom logic.</p>
<p><em><a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-Why-Android.pdf">How Android is different from other systems – An exploration of the design decisions in Android</a> </em> by Navin Kabra was a session I skipped. However I had attended a similar session by him earlier so hopefully I did not miss much.</p>
<p>However Navin did contribute occasionally into the next session <a href="http://j09.indicthreads.com/wp-content/uploads/2009/12/IndicThreads-Java-Android-Client.pdf"><em>Java For Mobile Devices – Building a client application for the Android platform</em></a> by Rohit Nayak. Rohit demonstrated an application he is working on along with a lot of the code that forms the application using Eclipse and the Android plugin. A useful insight into how an Android application is constructed.</p>
<p>As the event drew to a close, the prizes were announced including those for the <a href="http://j09.indicthreads.com/indicthreads-go-green/">Indicthreads Go Green</a> initiative. A thoroughly enjoyable event, leaving me even more convinced to make sure to attend the next years session making it a third in a row.</p>
<p><em>(Comments on this post are closed. Please comment <a href="http://blog.dhananjaynene.com/2009/12/post-conference-recap-the-4th-indicthreads.com-conference-on-java-technology/">at the site of the original article</a>.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/conference-report-the-4th-indicthreads-conference-on-java-technologies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pune Rails Meetup #1 &#8211; 21st May</title>
		<link>http://punetech.com/pune-rails-meetup-1-21st-may/</link>
		<comments>http://punetech.com/pune-rails-meetup-1-21st-may/#comments</comments>
		<pubDate>Tue, 19 May 2009 02:19:14 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[dynamic programming languages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[user groups]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=1338</guid>
		<description><![CDATA[What: A get together for Pune&#8217;s Ruby on Rails enthusiasts When: Thursday, 21st May, 8pm Where: North Main Lounge, Koregaon Park Registration and Fees: This event is free for all to attend. No registration required Links: Follow @punerailsmeetup on twitter, Facebook Pagex Details: A meetup for all the developers in and around Pune working on [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://punetech.com/tag/rails"><img class="alignright size-full wp-image-1339" title="Pune Rails Logo" src="http://punetech.com/wp-content/uploads/2009/05/pune-rails.jpg" alt="Pune Rails Logo" width="250" height="250" /></a>What</strong>: A get together for Pune&#8217;s <a class="zem_slink" title="Ruby on Rails" rel="homepage" href="http://rubyonrails.org/">Ruby on Rails</a> enthusiasts<br />
<strong>When</strong>: Thursday, 21st May, 8pm<br />
<strong>Where</strong>: North Main Lounge, Koregaon Park<br />
<strong>Registration and Fees</strong>: This event is free for all to attend. No registration required<br />
<strong>Links</strong>: Follow <a href="http://twitter.com/punerailsmeetup">@punerailsmeetup on twitter</a>, <a href="http://www.facebook.com/event.php?eid=82451499123&amp;ref=mf">Facebook Page</a>x</p>
<p><strong>Details</strong>:<br />
A meetup for all the developers in and around Pune working on ruby on rails &#8211; the coolest web technlogy available. A meetup to chill out together and talk! It is being organized for the first time to initiate and encourage interaction between the rails community in Pune!</p>
<p>Also: Check the <a href="http://www.facebook.com/event.php?eid=82451499123&amp;ref=mf">Facebook Page for PuneRailsMeetup</a></p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://punetech.com/why-you-need-to-learn-ruby-and-rails/">Why you need to learn Ruby and Rails</a> (punetech.com)</li>
<li class="zemanta-article-ul-li"><a href="http://punetech.com/ruby-fun-day-a-barcamp-for-ruby-developers-21-feb/">Ruby Fun Day: A barcamp for Ruby developers &#8211; 21 Feb</a> (punetech.com)</li>
<li class="zemanta-article-ul-li"><a href="http://punetech.com/why-ruby-is-cool-take-2/">Why Ruby is cool &#8211; take 2</a> (punetech.com)</li>
<li class="zemanta-article-ul-li"><a href="http://java.sys-con.com/node/965189"> Java Is More Productive Than Ruby </a> (java.sys-con.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/cb351394-047e-42ac-a60f-724168f41b7e/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_b.png?x-id=cb351394-047e-42ac-a60f-724168f41b7e" alt="Reblog this post [with Zemanta]" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/pune-rails-meetup-1-21st-may/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geek Night @ Thoughtworks: IronPython, Ruby in C#, Distr. VCS &#8211; 4 April</title>
		<link>http://punetech.com/geek-night-thoughtworks-ironpython-ruby-in-c-distr-vcs-4-april/</link>
		<comments>http://punetech.com/geek-night-thoughtworks-ironpython-ruby-in-c-distr-vcs-4-april/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 02:32:39 +0000</pubDate>
		<dc:creator>Navin Kabra</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[dynamic programming languages]]></category>
		<category><![CDATA[geeknight]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://punetech.com/?p=1166</guid>
		<description><![CDATA[What: Geek Night at Thoughtworks. Three discussion &#8211; 1) IronPython 2) Writing Ruby like code in C# and 3) Distributed Version Control Systems When: Saturday, 4th April, 2pm onwards Where: Thoughtworks, GF-01 &#38; MZ-01, Tower C, Panchshil Tech Park, Yerwada Registration and Fees: This event is free for all to attend. Register here Details: The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://punetech.com/wp-content/uploads/2009/03/thoughtworker_logo.gif"><img class="alignright size-full wp-image-1167" title="thoughtworker logo, thoughtworks" src="http://punetech.com/wp-content/uploads/2009/03/thoughtworker_logo.gif" alt="thoughtworker logo, thoughtworks" width="217" height="72" /></a><strong>What</strong>: Geek Night at Thoughtworks. Three discussion &#8211; 1) <a class="zem_slink" title="IronPython" rel="homepage" href="http://www.codeplex.com/IronPython">IronPython</a> 2) Writing <a class="zem_slink" title="Ruby (programming language)" rel="homepage" href="http://www.ruby-lang.org/">Ruby</a> like code in C# and 3) Distributed Version Control Systems<br />
<strong>When</strong>: Saturday, 4th April, 2pm onwards<br />
<strong>Where</strong>: Thoughtworks, GF-01 &amp; MZ-01, Tower C, Panchshil Tech Park, Yerwada<br />
<strong>Registration and Fees</strong>: This event is free for all to attend. <a href="http://www.thoughtworker.com/punegeeknight">Register here</a></p>
<p><strong>Details</strong>:<br />
The following 3 exhilarating talks are scheduled for this Geek Night.</p>
<p>1. Aroj George: &#8220;IronPython&#8221;</p>
<p>Aroj will take you through some cool ways you can use the power of <a class="zem_slink" title="Python (programming language)" rel="homepage" href="http://www.python.org/">Python</a> in the <a class="zem_slink" title=".NET Framework" rel="homepage" href="http://www.microsoft.com/net/">.NET</a> world. This talk includes a demo of embedding an IronPython engine in a .NET application to enable interactive exploration and dynamic behaviour.</p>
<p>2. Ravi Kumar Pasumarthy: &#8220;Why Ruby? You have C#&#8221;</p>
<p>Ravi&#8217;s talk is all about how to write Ruby-like code (short and less verbose) in C# without using <a class="zem_slink" title="Dynamic programming language" rel="wikipedia" href="http://en.wikipedia.org/wiki/Dynamic_programming_language">dynamic language</a> features. It also brings a new way of thinking about extending existing libraries to add new features. The presentation also covers topics like Extension Methods, <a class="zem_slink" title="Language Integrated Query" rel="wikipedia" href="http://en.wikipedia.org/wiki/Language_Integrated_Query">Linq</a>, Type inference, and Closures.</p>
<p>3. Shodhan Sheth and Nikhil Fernandes: &#8220;Distributed Version Control Systems&#8221;</p>
<p>This duo will talk about <a class="zem_slink" title="Revision control" rel="wikipedia" href="http://en.wikipedia.org/wiki/Revision_control">version control systems</a> for distributed and disconnected teams. They help you think about, whether the version control system you are using is the &#8220;best tool for the job&#8221;?</p>
<p>Who To Contact: Pradip Hudekar at +91 9923000987</p>
<p>Write To: phudekar@thoughtworks.com</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://punetech.com/improve-your-web-based-software-development-and-maintenance-roi-with-dynamic-programming-languages/">Improve your web based software development and maintenance ROI with dynamic programming languages</a> (punetech.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.devx.com/RIA/Article/40465?trk=DXRSS_LATEST">RIA Applications For Python and Ruby Developers &#8211; Made Possible With Silverlight 2</a> (devx.com)</li>
<li class="zemanta-article-ul-li"><a href="http://r.zemanta.com/?u=http%3A//www.infoworld.com/article/09/02/27/Microsoft_converging_programming_languages_1.html&amp;a=3450652&amp;rid=5f95f3e7-eed0-4275-9ba2-bf89e9c48c0a&amp;e=33c91593aca4dddda68e3db3e4953ff9">Microsoft converging programming languages</a> (infoworld.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.tsurch.com/stories/view/python-gaining-on-ruby-freelancing-and-outsourcing-tips-commentary-analysis-and-news-from-odesk/">Python gaining on Ruby | Freelancing and Outsourcing Tips, Commentary, Analysis, and News from oDesk</a> (tsurch.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/5f95f3e7-eed0-4275-9ba2-bf89e9c48c0a/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_b.png?x-id=5f95f3e7-eed0-4275-9ba2-bf89e9c48c0a" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://punetech.com/geek-night-thoughtworks-ironpython-ruby-in-c-distr-vcs-4-april/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

