<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planet LUG-Jaipur</title>
	<link rel="self" href="http://planet.lugj.in/atom.xml"/>
	<link href="http://planet.lugj.in/"/>
	<id>http://planet.lugj.in/atom.xml</id>
	<updated>2012-02-07T13:25:11+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry>
		<title type="html">25th International Conference on VLSI Design</title>
		<link href="http://vlsiconference.com/vlsi2012/"/>
		<id>http://vlsiconference.com/vlsi2012/</id>
		<updated>2012-01-15T13:20:00+00:00</updated>
		<content type="html">I attended the &lt;a href=&quot;http://vlsiconference.com/vlsi2012/&quot;&gt;25th International Conference on VLSI Design and 11th International Conference on Embedded Systems&lt;/a&gt; between January 7-11, 2012 at the &lt;a href=&quot;http://www.hicc.com/&quot;&gt;Hyderabad International Convention Centre&lt;/a&gt;, Hyderabad, India. The first two days consisted of tutorial sessions, and the next three days had the &lt;a href=&quot;http://vlsiconference.com/vlsi2012/conf_schedule.htm&quot;&gt;conference presentations&lt;/a&gt;. There were also exhibit stalls from different companies.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;25th VLSID 2012&quot; src=&quot;http://shakthimaan.com/downloads/glv/2012/vlsid-jan/vlsid-jan-2012.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

On the first day I attended the tutorial session on &lt;a href=&quot;http://www.systemc-ams.org/&quot;&gt;SystemC AMS extensions&lt;/a&gt; by &lt;a href=&quot;https://www.fp7-smartcode.eu/ecws2/biosketch/damm&quot;&gt;Markus Damm&lt;/a&gt;, &lt;a href=&quot;https://www.ict.tuwien.ac.at/mitarbeiter/adhikari&quot;&gt;Sumit Adhikari&lt;/a&gt;, and &lt;a href=&quot;http://www.lip6.fr/actualite/personnes-fiche.php?ident=P102&quot;&gt;François Pecheux&lt;/a&gt;. &lt;a href=&quot;http://fedoraproject.org/wiki/User:Chitlesh&quot;&gt;Chitlesh Goorah&lt;/a&gt; had earlier tried to get &lt;a href=&quot;http://www.spinics.net/linux/fedora/fedora-electronic-lab/msg00117.html&quot;&gt;SystemC into Fedora&lt;/a&gt; and &lt;a href=&quot;http://spins.fedoraproject.org/fel/&quot;&gt;Fedora Electronic Lab&lt;/a&gt;, but, due to licensing issues it could not be included. SystemC-AMS is now released under Apache license. Open SystemC Initiative and Accellera Unite have now integrated to become &lt;a href=&quot;http://www.accellera.org/home/&quot;&gt;Accellera Systems Initiative&lt;/a&gt;. We hope to work with them to get their sources under a single free/open source software license. François Pecheux is from &lt;a href=&quot;http://www.lip6.fr/index.php?LANG=en&quot;&gt;Laboratoire d'Informatique de Paris 6&lt;/a&gt;, &lt;a href=&quot;http://www.upmc.fr/en/index.html&quot;&gt;Pierre &amp;amp; Marie Curie University (UPMC)&lt;/a&gt;, Paris, France, and we already ship their free/open source EDA tools in Fedora.&lt;br /&gt;&lt;br /&gt;

On day two, I attended the tutorial session by &lt;a href=&quot;http://people.epfl.ch/arvind.sridhar&quot;&gt;Sridhar Arvind&lt;/a&gt; on &lt;a href=&quot;http://esl.epfl.ch/3d-ice.html&quot;&gt;3D-ICE&lt;/a&gt;, a free/open source interlayer cooling emulator from &lt;a href=&quot;http://esl.epfl.ch&quot;&gt;Embedded System Laboratory&lt;/a&gt;, &lt;a href=&quot;http://www.epfl.ch/index.en.html&quot;&gt;Ecole polytechnique fédérale de Lausanne&lt;/a&gt;, Switzerland. I have already been working with Sridhar, &lt;a href=&quot;http://people.epfl.ch/david.atienza&quot;&gt;Prof. David Atienza&lt;/a&gt; and &lt;a href=&quot;http://people.epfl.ch/alessandro.vincenzi&quot;&gt;Alessandro Vincenzi&lt;/a&gt; on testing 3D-ICE on Fedora. I had built and tested the dependency &lt;a href=&quot;http://crd-legacy.lbl.gov/~xiaoye/SuperLU/&quot;&gt;SuperLU&lt;/a&gt; library and the 3D-ICE package before the tutorial session. Their software has already been downloaded by over 70 research labs around the world. I will push our tested changes to them. On the later half of the day, I attended a session on verification constraint complexity. &lt;a href=&quot;http://www.trusster.com/products/teal/&quot;&gt;Teal&lt;/a&gt; is a useful verification utility and connection library that has support for constraints and parameter control. The authors of the tool had agreed to release it as free/open source software, and we also ship it in Fedora.&lt;br /&gt;&lt;br /&gt;

On the following three days of the conference, I attended various paper presentations from different tracks from reconfigurable architectures to methods in AMS optimization. I met &lt;a href=&quot;http://www.isical.ac.in/~ssk/&quot;&gt;Prof. Susmita Sur-Kolay&lt;/a&gt; from the &lt;a href=&quot;http://www.isical.ac.in/&quot;&gt;Indian Statistical Institute&lt;/a&gt;, Kolkata, India where they run Fedora in their labs. They also wished to use the 3D-ICE tool and GPU tools in their labs. I also visited the exhibit stalls meeting different people from the industry and academia. There are quite a few interesting free/open source tools that users can benefit from, and we will work in making them available in Fedora. In 2013, the conference will be held in Pune. Thanks to Red Hat for sponsoring my travel and participation at the conference.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">ragsagar</title>
		<link href="http://ragsagar.wordpress.com/2012/01/10/fed-up-with-rumours-about-anna-university-results/"/>
		<id>http://ragsagar.wordpress.com/?p=280</id>
		<updated>2012-01-10T17:12:20+00:00</updated>
		<content type="html">&lt;p&gt;Last month itself there were talks that the final year BE/BTech results will be available by January first or second week. When it became January there were posts in various unofficial blogs that the results will be coming out by January 4th. Blogs said that on worst case it will be postponed to January 5th and they even stated the time University will be updating it in the database. But days passed, nothing happened. And this cycle is still going on. I was thinking how much traffic will they be getting during these days. I just wanted to know how much clicks they will be getting for using those particular keywords in their posts. Even if they are providing fake news they will be getting lots of hits. Even i am checking those blogs twice daily. They are exploiting students&amp;#8217; eagerness to know about their examination results. Let me check the increase in number of traffic to this blog after posting this. I will come up with an update to this post if there is considerable increase in number of clicks.&lt;br /&gt;
BTW, now one of the University site says that the results are expected to come out by January 12th.&lt;/p&gt;
&lt;p&gt;Update: Yeah, This post did bring more than 100 hits in a single day as expected.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/280/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/280/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/280/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/280/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/280/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/280/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/280/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/280/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/280/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/280/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/280/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/280/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/280/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/280/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=280&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Tux workshop, MindSpark 2011, CoEP, Pune, Maharashtra, India</title>
		<link href="http://www.shakthimaan.com/Mambo/gallery/album74"/>
		<id>http://www.shakthimaan.com/Mambo/gallery/album74</id>
		<updated>2011-12-28T12:05:00+00:00</updated>
		<content type="html">I had conducted an introductory session on Fedora as part of the &lt;a href=&quot;http://mind-spark.org/tux.php&quot;&gt;Tux workshop&lt;/a&gt;, MindSpark 2011 at &lt;a href=&quot;http://www.coep.org.in/&quot;&gt;College of Engineering, Pune&lt;/a&gt;, Maharashtra, India on Tuesday, December 27, 2011.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Tux workshop&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album74/2_poster.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

There were hundred participants distributed between the morning and repeat sessions in the afternoon. I explained about hardware architecture, system boot sequence, and discussed basic installation concepts to the participants. I then gave a demo of installing Fedora using Virtual Machine Manager. I showed them the plethora of F/OSS software that they can use, and also discussed about Fedora sub-projects, and basic project/communication guidelines. I have given them F16 ISO DVD images.&lt;br /&gt;&lt;br /&gt;

Thanks to Sanket Mehta for working with me for a month in organizing this workshop. Few photos taken at the event are available in my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album74&quot;&gt;/gallery&lt;/a&gt;.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/12/15/towards-a-scalable-and-highly-available-namenode/"/>
		<id>http://lalith.in/?p=1436</id>
		<updated>2011-12-15T10:23:16+00:00</updated>
		<content type="html">&lt;p&gt;After 3 months of intense hacking, I&amp;#8217;m pleased to be writing about a little something I worked on for a project course here at KTH.&lt;/p&gt;
&lt;h3&gt;&lt;span&gt;&lt;strong&gt;The premise&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;So we&amp;#8217;re all familiar with &lt;a href=&quot;http://hadoop.apache.org/&quot;&gt;Hadoop&lt;/a&gt;, right? It&amp;#8217;s the little yellow elephant that provides an excellent platform for distributed computing, which is seeing rapid adoption by the industry, and involvement from major players like Yahoo!, Facebook and recently, Microsoft. Well, Hadoop and friends use the &lt;a href=&quot;http://hadoop.apache.org/hdfs/&quot;&gt;Hadoop Distributed File System&lt;/a&gt; (HDFS) as their underlying storage layer. Given the kind of jobs that are expected to run on top of it, HDFS is designed to store large files, and is optimised for throughput as opposed to latency.&lt;/p&gt;
&lt;p&gt;HDFS is a single-master-server based distributed file system. Architecturally speaking, HDFS comprises of three important entities:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Clients, who read/write files from/to the filesystem.&lt;/li&gt;
&lt;li&gt;Datanodes, which actually store the data (blocks) associated with the files.&lt;/li&gt;
&lt;li&gt;The Namenode, which is a central server that stores all the metadata associated with the files, and blocks.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This division between metadata storage and data storage is important, because typical use cases of HDFS are data intensive, and not metadata intensive. That&amp;#8217;s fine, but the problem is, if the Namenode crashes, the entire file system becomes inoperable because clients and Datanodes still need the metadata to do anything useful. Furthermore, since the Namenode maintains all the metadata only in memory, the number of files you can store on the filesystem is directly proportional to the amount of RAM the Namenode has. As if that&amp;#8217;s not enough, the Namenode will be completely saturated under write intensive workloads, and will be unable to respond to even simple client side queries like &amp;#8220;ls&amp;#8221;. Have a look at &lt;a href=&quot;http://www.usenix.org/publications/login/2010-04/openpdfs/shvachko.pdf&quot;&gt;Shvachko&amp;#8217;s paper&lt;/a&gt; which describes these problems at great length and depth, on which we&amp;#8217;ve based our work.&lt;/p&gt;
&lt;p&gt;Long story short, the needs of the hour are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;High availability for the Namenode, i.e, no single point of failure.&lt;/li&gt;
&lt;li&gt;Horizontal scalability for the Namenode, i.e, to handle heavier loads, one would need to only add more Namenodes to the system than having to upgrade a single Namenode&amp;#8217;s hardware.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span&gt;&lt;strong&gt;Our solution&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;In order to recover from crashes, the Namenode maintains a &lt;a href=&quot;http://en.wikipedia.org/wiki/Journaling_file_system&quot;&gt;journal&lt;/a&gt; of all changes that it makes to the metadata. This pretty much involves logging every operation made to disk, and there is quite a huge piece of code related to this as well. However, the database community has been doing journaling, checkpointing and replicated storage since quite a while. So if you haven&amp;#8217;t guessed our solution yet, here it is:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;#8220;Move all of the Namenode&amp;#8217;s metadata storage into an in-memory, replicated, share-nothing distributed database.&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;In short, Namenodes themselves are reduced to a stateless frontend to the database, and fetch state into memory only when required. This comes with the added advantage of being able to have multiple stateless Namenodes for the same filesystem namespace. We chose &lt;a href=&quot;http://www.mysql.com/products/cluster/&quot;&gt;MySQL Cluster&lt;/a&gt; as our database because of its wide spread use and stability. So for the filesystem to scale to a larger number of files, one needs to add more MySQL Cluster Datanodes, thus moving the bottleneck from the Namenode&amp;#8217;s RAM to the DB&amp;#8217;s storage capacity. For the filesystem to handle heavier workloads, one needs to add only more Namenode machines and divide the load amongst them. Another interesting aspect is that if a single Namenode machine has to reboot, it needn&amp;#8217;t fetch any state into memory and will be ready for action within a few seconds (although it still has to sync with Datanodes). Another advantage of our design is that the modifications will not affect the clients or Datanodes in anyway, except that we might need to find a way to divide the load among the Namenodes.&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;h3&gt;&lt;span&gt;&lt;strong&gt;How we did it&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;We first dissected all the internal protocols being used in HDFS, i.e, the client-Namenode, Namenode-Datanode, and client-Datanode protocols. Next, we stripped out all the Namenode code that we didn&amp;#8217;t need. This was pretty much the code related to journaling, checkpointing, the secondary Namenode and so forth.&lt;/p&gt;
&lt;p&gt;Next, we identified the key data structures we needed to move to the DB. We picked the two most memory intensive data-structures to migrate first: the Inodes, and the Blocks.&lt;/p&gt;
&lt;p&gt;Since we were heavily time constrained (three months to deliver the project and the report), we decided to focus on functional correctness first, and then optimise later. So the easiest course of action seemed to be to modify the lowest levels of the call chain, replacing reads/writes from/to memory with query, insert, update and delete operations on the DB. We developed two helper classes, one each for Inodes and Blocks, and interfaced with the DB through these methods. We used the &lt;a href=&quot;http://dev.mysql.com/doc/ndbapi/en/mccj-using-clusterj.html&quot;&gt;ClusterJ connector&lt;/a&gt; to talk to MySQL. This obviously meant that we needed a flat row representation for Inodes and Blocks in the DB, and we had some other problems to think of as well on the way. How do we index Inodes? How do we index Blocks? What about Triplets?&lt;/p&gt;
&lt;p&gt;All in all, we tackled the problem of scaling the Namenode with a set of design decisions which we later found to be consistent with Shvacko&amp;#8217;s &lt;a href=&quot;http://www.usenix.org/publications/login/2011-06/openpdfs/Shvachko.pdf&quot;&gt;update paper&lt;/a&gt; on the Namenode&amp;#8217;s scalability, except that he suggests using HBase as the DB.&lt;/p&gt;
&lt;h3&gt;&lt;span&gt;&lt;strong&gt;Current status&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Multiple stateless Namenodes run merrily, which store Inode and Block related metadata in MySQL Cluster. As a validation test, Clients can do an &amp;#8220;ls&amp;#8221; query to any Namenode and see a consistent view of the filesystem regardless of which Namenode updated the DB with the content.&lt;/li&gt;
&lt;li&gt;We&amp;#8217;re trying to ensure functional correctness using the HDFS unit tests. We got the most important ones to pass, and decided to keep some more bug fixing until later because we needed to evaluate the system as part of the course.&lt;/li&gt;
&lt;li&gt;We&amp;#8217;ve been evaluating the system using the Synthetic Load Generator. Horizontal scalability has been clearly achieved; adding more Namenodes improves the average number of operations per second for different work loads. With write intensive work loads, the scalability is linear in terms of total operations/sec that are executed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span&gt;&lt;strong&gt;Current limitations&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Obviously, our work isn&amp;#8217;t rainbows and sunshine; there&amp;#8217;s a long way to go. Here&amp;#8217;s what we don&amp;#8217;t have yet and are currently addressing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Performance improvements. With a single load-generator thread throwing requests at the Namenode, we&amp;#8217;re within a 10th of the original Namenode&amp;#8217;s performance because read/writes from/to memory now go over a network to a database cluster (which is OK, I guess). But with more LoadGen threads, we&amp;#8217;re experiencing a hefty bottleneck, which I&amp;#8217;ll describe in the next point.&lt;/li&gt;
&lt;li&gt;The Namenode isn&amp;#8217;t fully stateless yet. The most important data structures we&amp;#8217;re yet to move are the DatanodeDescriptor entities and the file leases. There&amp;#8217;ll surely be more, but these are the most crucial ones. Once full statelessness is achieved, we can eliminate the read-write locks in the code which are absolutely not needed any more in our implementation (the Namenode currently uses a multiple-reader-single-writer concurrency model). Profiling experiments indicated that the Namenode spends around 70% of its time waiting to acquire write locks. If we keep the Namenode fully stateless, we can wrap FSNamesystem operations into Database transactions which can be batched, and let MySQL cluster handle serialisability for us (which can handle write-heavy transactions really well). We can even break away from the single-writer model that the Namenode currently uses. Will this lead to a higher throughput for write operations than the original Namenode? Maybe. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;li&gt;Clients and Datanodes have to be statically partitioned as of now (it sufficed for our evaluations). We need a way for them to pick a random Namenode to perform their operations with.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;span&gt;&lt;strong&gt;Talk is cheap, show me the code!&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/lalithsuresh/Scaling-HDFS-NameNode&quot;&gt;code is publicly available here&lt;/a&gt; for thy scrutiny. You&amp;#8217;ll also need to have a MySQL cluster setup in order to test this (we have a hard coded set of defaults in DBConnector.java which you can politely ignore). &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;  Here&amp;#8217;s our &lt;a href=&quot;https://docs.google.com/presentation/pub?id=16JsCmNDplMIPm1-x455zqxpEd9g-k386ZgAlqi1AKsE&amp;amp;start=false&amp;amp;loop=false&amp;amp;delayms=3000#slide=id.p&quot;&gt;presentation&lt;/a&gt; on it as well. We&amp;#8217;ve dubbed our prototype implementation KTHFS (because we&amp;#8217;re students at KTH, but yes, no points for creativity on that one).&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;&lt;span&gt;&lt;strong&gt;Future work&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;As an academic obligation, here&amp;#8217;s future work (and no I&amp;#8217;m not going to write stuff we&amp;#8217;ll never do).&lt;/p&gt;
&lt;p&gt;One member (not me) from the team will be continuing this work as part of his Masters thesis, and plans to address the above mentioned limitations as part of his work. I&amp;#8217;ll try to contribute as well during my free time (what are weekends for anyway?). Let&amp;#8217;s see how this goes. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1436/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1436/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1436/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1436/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1436/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1436/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1436/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1436/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1436/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1436/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1436/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1436/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1436/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1436/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1436&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Travel: Wai and Mahabaleshwar, Maharashtra, India</title>
		<link href="http://www.shakthimaan.com/Mambo/gallery/album73"/>
		<id>http://www.shakthimaan.com/Mambo/gallery/album73</id>
		<updated>2011-12-13T09:40:00+00:00</updated>
		<content type="html">I had been on a weekend trip to &lt;a href=&quot;http://en.wikipedia.org/wiki/Wai,_Maharashtra&quot;&gt;Wai&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Mahabaleshwar&quot;&gt;Mahabaleshwar&lt;/a&gt;, Maharashtra, India. More photos in my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album73&quot;&gt;/gallery&lt;/a&gt;.&lt;br /&gt;
&lt;img src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album73/DSC03186_2.jpg&quot; alt=&quot;highway&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album73/DSC03186_40.jpg&quot; alt=&quot;Sahyadri hills&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album73/DSC03186_64.jpg&quot; alt=&quot;Dhom Dam&quot; /&gt;&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Fedora workshop at Foresight Institute, Pune</title>
		<link href="http://shakthimaan.com/downloads/glv/2011/foresight-2011/1-audience.JPG"/>
		<id>http://shakthimaan.com/downloads/glv/2011/foresight-2011/1-audience.JPG</id>
		<updated>2011-12-04T10:15:00+00:00</updated>
		<content type="html">I had conducted a one-day introductory workshop on Fedora at &lt;a href=&quot;http://www.foresightedu.com&quot;&gt;Foresight Institute of Management and Research&lt;/a&gt;, affiliated to University of Pune, Maharashtra, India on Saturday, December 3, 2011.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Foresight Institute&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/foresight-2011/2-foresight.JPG&quot; /&gt;&lt;br /&gt;

I started the day's proceedings with an introduction to free/open source software. Most of the students who participated were studying towards their bachelor's programme in computer applications (BCA), and were familiar with C, C++ and Java development. I gave a demo of the Fedora desktop, and also showed them the plethora of software that they can use.&lt;br /&gt;&lt;br /&gt; 

I also introduced them to revision control with examples on using git. I also addressed the various communication tools that we use, the basic communication guidelines, and the Fedora sub-projects that they can participate in.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Audience&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/foresight-2011/1-audience.JPG&quot; /&gt;&lt;br /&gt;

During the post-lunch session, I explained to them about copyright, trademarks, and licensing, and how to use them. I explained the basic concepts in installation, and gave them a demo of installation of Fedora. I have given them CD/DVD images of both Fedora 15 and 16.&lt;br /&gt;&lt;br /&gt;

Thanks to Antriksh Shah for working with me for a month in organizing this workshop.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">solution</title>
		<link href="http://lalith.in/2011/11/15/lets-make-metros-more-interesting/"/>
		<id>http://lalith.in/?p=1404</id>
		<updated>2011-11-15T15:41:03+00:00</updated>
		<content type="html">&lt;p&gt;After moving to Europe for my masters, I&amp;#8217;ve been accustomed to finding my way around cities using the subway trains. They&amp;#8217;re convenient, relatively cheap (unless you&amp;#8217;re in Stockholm, where using the word cheap throws an exception), and usually fast enough as well. The only problem I have with metros is that they&amp;#8217;re boring as shit to travel in, especially when you&amp;#8217;re alone. Sure you can carry a book with you or invest in a tab/pad/slate/smartphone/whatever, but we definitely need to do something about the view from the windows.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://lalithsuresh.files.wordpress.com/2011/11/solution.png&quot;&gt;&lt;img class=&quot;aligncenter size-medium wp-image-1407&quot; title=&quot;solution&quot; src=&quot;http://lalithsuresh.files.wordpress.com/2011/11/solution.png?w=212&amp;#038;h=300&quot; alt=&quot;&quot; width=&quot;212&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Given that there&amp;#8217;s hardly anything interesting about rocks and the occasional flash of light in a metro tunnel, I think there&amp;#8217;s a lot that can be done to make the metro experience better. Here&amp;#8217;s one idea I have to solve this international crisis which is oh-so-more-important than anything else on this planet. I call it, metro cartoons (the animated ones).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://lalithsuresh.files.wordpress.com/2011/11/train.png&quot;&gt;&lt;img class=&quot;aligncenter size-medium wp-image-1408&quot; title=&quot;solution&quot; src=&quot;http://lalithsuresh.files.wordpress.com/2011/11/train.png?w=212&amp;#038;h=300&quot; alt=&quot;&quot; width=&quot;212&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The basic idea is to insert cartoon panels between the tunnel walls and the tracks. Since we know the approximate speed at which the trains move, you can estimate the minimum spacing between the panels that would be required to provide a reasonable frame rate required for the animation. I&amp;#8217;m sure artists understand these aspects better (thus, I don&amp;#8217;t), and can come up with the right kind of drawings for this setting.&lt;/p&gt;
&lt;p&gt;What say? I&amp;#8217;m pretty sure someone must have tried this already, so let me know if you&amp;#8217;ve heard of any such attempt.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1404/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1404/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1404/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1404/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1404/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1404/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1404/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1404/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1404/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1404/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1404/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1404/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1404/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1404/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1404&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Shakthimaan's Tweets</title>
		<link href="http://www.shakthimaan.com/links/tweets.html"/>
		<id>http://www.shakthimaan.com/links/tweets.html</id>
		<updated>2011-11-14T06:10:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://identi.ca/shakthimaan&quot;&gt;
&lt;img src=&quot;http://shakthimaan.com/downloads/companylogos/identi_ca.jpg&quot; alt=&quot;identica logo&quot; /&gt;

&lt;/a&gt;
&lt;a href=&quot;http://twitter.com/shakthimaan&quot;&gt;
&lt;img src=&quot;http://shakthimaan.com/downloads/companylogos/twitter.png&quot; alt=&quot;twitter logo&quot; /&gt;
&lt;br /&gt;
&lt;/a&gt;
Shakthimaan's tweets are now available for reference at &lt;a href=&quot;http://www.shakthimaan.com/links/tweets.html&quot;&gt;http://www.shakthimaan.com/links/tweets.html&lt;/a&gt;. I use identi.ca and twitter for documentation links, book references, and useful tips. I am now making it available for others as well. You can also get the sources at:
&lt;pre&gt;
  $ git clone git://gitorious.org/shakthimaan-tweets/mainline.git  
&lt;/pre&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Emacs ERC nick notification</title>
		<link href="http://www.emacswiki.org/emacs/ERC"/>
		<id>http://www.emacswiki.org/emacs/ERC</id>
		<updated>2011-11-13T02:40:00+00:00</updated>
		<content type="html">I use the following code in .emacs with Emacs &lt;a href=&quot;http://www.emacswiki.org/emacs/ERC&quot;&gt;ERC&lt;/a&gt; to get notified using notify-send whenever anyone pings me on IRC:
&lt;pre&gt;
(defun erc-global-notify (matched-type nick msg)
  (interactive)
  (when (eq matched-type 'current-nick)
    (shell-command
     (concat &quot;notify-send -t 8000 -c \&quot;im.received\&quot; \&quot;&quot;
             (car (split-string nick &quot;!&quot;))
             &quot; mentioned your nick\&quot; \&quot;&quot;
             msg
             &quot;\&quot;&quot;))))
(add-hook 'erc-text-matched-hook 'erc-global-notify)
&lt;/pre&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">FUDCon Pune - Design Work</title>
		<link href="http://shakthimaan.fedorapeople.org/docs/fudcon/"/>
		<id>http://shakthimaan.fedorapeople.org/docs/fudcon/</id>
		<updated>2011-11-12T18:30:00+00:00</updated>
		<content type="html">&lt;img alt=&quot;FUDCon Pune&quot; src=&quot;https://fedoraproject.org/w/uploads/c/cf/Button.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;
As part of the &lt;a href=&quot;http://fudcon.in/&quot;&gt;FUDCon Pune 2011&lt;/a&gt; organizing team, I had volunteered to help with design work. After attending few training sessions on &lt;a href=&quot;http://inkscape.org/&quot;&gt;Inkscape&lt;/a&gt; by &lt;a href=&quot;http://fedoraproject.org/wiki/User:Duffy&quot;&gt;Máirín Duffy&lt;/a&gt;, I decided to give it a try. &lt;a href=&quot;http://fedoraproject.org/wiki/User:Ianweller&quot;&gt;Ian Weller&lt;/a&gt; had written a Python script to create name badges with Inkscape. It would read list of names from a comma separated file (csv) file, and would generate pdfs from the design provided in the svg file. I had customized the script with help from &lt;a href=&quot;http://fedoraproject.org/wiki/DaveMalcolm&quot;&gt;Dave Malcolm&lt;/a&gt;, created csv files for speakers, volunteers and registered delegates, and generated over 400 named badges for the FUDCon event.&lt;br /&gt;&lt;br /&gt;
&lt;img alt=&quot;FUDCon coupons&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/fudcon-2011/registration-desk-name-badges.jpg&quot; /&gt;&lt;br /&gt;
Thanks to &lt;a href=&quot;http://fedoraproject.org/wiki/User:Kushal&quot;&gt;Kushal Das&lt;/a&gt; for the &lt;a href=&quot;http://www.flickr.com/photos/kushaldas/sets/72157628097141150&quot;&gt;photograph&lt;/a&gt;.&lt;br /&gt;
Badges printed on green paper would be for volunteers and organizers, while those printed on blue paper were for speakers. Everyone else got their names printed on white paper. We had also printed badges with just the FUDCon Pune logo for people who register at the venue to write their names on it. We decided not to use QR codes. If we had data on the delegates such as t-shirt size, food preference, identi.ca/twitter feed, IRC nick names, we could have printed them on the badge as well. I did leave enough white space, so people could write whatever they want. The scripts, the Inkscape svg design, an example csv and sample pdf generated are available at &lt;a href=&quot;http://shakthimaan.fedorapeople.org/docs/fudcon/&quot;&gt;http://shakthimaan.fedorapeople.org/docs/fudcon&lt;/a&gt;. I had also designed the coupons for lunch, day I and II, and for the FUDPub:&lt;br /&gt;&lt;br /&gt;
&lt;img alt=&quot;FUDCon coupons&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/fudcon-2011/fudcon-coupons.png&quot; /&gt;&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">FUDCon Pune - Final Day</title>
		<link href="http://www.shakthimaan.com/Mambo/gallery/album72"/>
		<id>http://www.shakthimaan.com/Mambo/gallery/album72</id>
		<updated>2011-11-08T03:45:00+00:00</updated>
		<content type="html">&lt;img alt=&quot;FUDCon Pune&quot; src=&quot;https://fedoraproject.org/w/uploads/c/cf/Button.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;
As a follow-up to my talk on &lt;a href=&quot;http://qucs.sourceforge.net/&quot;&gt;QUCS&lt;/a&gt; on day II of FUDCon Pune 2011, I wanted to create circuit examples on the final day from a text book that was being followed for basic electrical engineering course work. This would be a supplement that a student can use when learning circuit theory. Anuj More and Payas Awadhutkar joined in, and we worked on schematics from chapter I of &lt;a href=&quot;http://www.amazon.ca/Fundamentals-Electrical-Engineering-Leonard-Bobrow/dp/0195105095&quot;&gt;'Fundamentals of Electrical Engineering'&lt;/a&gt; by Leonard S. Boborow, a.k.a &quot;Babu Rao&quot; in India. The schematics were created in qucs-0.0.16, and are available from Payas Awadhutkar gitorious repo:

&lt;pre&gt;
  $ git clone git://gitorious.org/qucs-baburao/qucs-baburao.git
&lt;/pre&gt;

As a finale to the event, Jared Smith cut the Fedora cake!&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Jared cutting the cake&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album72/39_jared_smith_cake_cutting.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

I would like to thank all the volunteers from &lt;a href=&quot;http://www.coep.org.in/&quot;&gt;College of Engineering, Pune&lt;/a&gt; and &lt;a href=&quot;http://www.coep.org.in/index.php?profile=abhijit.comp&quot;&gt;Prof. Abhijit A M&lt;/a&gt; who coordinated with us in organizing this conference. Thanks also goes to the Fedora contributors who helped in getting things done. Special thanks to &lt;a href=&quot;http://www.redhat.com/&quot;&gt;Red Hat&lt;/a&gt; for sponsoring the event, and for their wonderful support. The COEP volunteers:&lt;br /&gt;&lt;br /&gt; 

&lt;img alt=&quot;COEP volunteers&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album72/32_coep_volunteers.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

We trained many students over the years as part of the Fedora project. I was very happy to see them as speakers and present on the things that they have been working on, and also help others when required during the conference. This is the best outcome that I take from the event.&lt;br /&gt;&lt;br /&gt;

All the photos taken at FUDCon Pune 2011 are available in my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album72&quot;&gt;/gallery&lt;/a&gt;.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">FUDCon Pune - Day II</title>
		<link href="http://fudcon.in"/>
		<id>http://fudcon.in</id>
		<updated>2011-11-07T17:40:00+00:00</updated>
		<content type="html">&lt;img alt=&quot;FUDCon Pune&quot; src=&quot;https://fedoraproject.org/w/uploads/c/cf/Button.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;
I arrived early again on day II of &lt;a href=&quot;http://fudcon.in/&quot;&gt;FUDCon Pune 2011&lt;/a&gt;. The day's proceedings started with a keynote by &lt;a href=&quot;http://fedoraproject.org/wiki/User:HarishPillay&quot;&gt;Harish Pillay&lt;/a&gt; on his thoughts on community work, and on his new role as the lead of &lt;a href=&quot;http://fedoraproject.org/wiki/Category:Community_Architecture&quot;&gt;Community Architecture&lt;/a&gt;. I then attended the &lt;a href=&quot;http://fudcon.in/sessions/security-open-source-world&quot;&gt;'Security in the Open Source world!'&lt;/a&gt; talk by &lt;a href=&quot;http://fedoraproject.org/wiki/User:Eteo&quot;&gt;Eugene Teo&lt;/a&gt; and &lt;a href=&quot;http://fedoraproject.org/wiki/User:Huzaifas&quot;&gt;Huzaifa Sidhpurwala&lt;/a&gt;. Their talk covered quite a bit on the various security threats, and on how they are handled.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Eugene Teo&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album72/11_eugene_teo.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

Since I attended the GlusterFS overview talk on the first day, I wanted to follow it up with the &lt;a href=&quot;http://fudcon.in/sessions/glusterfs-hacking-howto&quot;&gt;'GlusterFS: Hacking HOWTO'&lt;/a&gt; talk by &lt;a href=&quot;https://github.com/amarts&quot;&gt;Amar Tumballi&lt;/a&gt;. He suggested newbies to read on translators as a starting point to work with Gluster, along with few ideas that they could start with. Lunch was again served at 12 noon. After lunch, I headed to Seminar Hall 2 for my talk on &lt;a href=&quot;http://fudcon.in/sessions/qucs-qt-love-story&quot;&gt;'Quite Universal Circuit Simulator - A Qt Love Story'&lt;/a&gt; (&lt;a href=&quot;http://qucs.sourceforge.net/&quot;&gt;QUCS&lt;/a&gt;). It is an introduction to electrical circuit theory using circuit components as &quot;fictional&quot; men and women. The example circuits were created using qucs-0.0.15. The examples are available at the &lt;a href=&quot;https://gitorious.org/qucs-a-qt-love-story/qucs-a-qt-love-story_prj&quot;&gt;gitorious repo&lt;/a&gt;:

&lt;pre&gt;
  $ git clone git://gitorious.org/qucs-a-qt-love-story/qucs-a-qt-love-story_prj.git
&lt;/pre&gt;

After my talk, I went to the auditorium to attend the talk by &lt;a href=&quot;http://fedoraproject.org/wiki/User:Amitshah&quot;&gt;Amit Shah&lt;/a&gt; on &lt;a href=&quot;http://fudcon.in/sites/default/files/slides/Virtualization-with-libvirt.pdf&quot;&gt;'Linux Virtualization'&lt;/a&gt; followed by &lt;a href=&quot;http://fedoraproject.org/wiki/User:Kashyapc&quot;&gt;Kashyap Chamarthy's&lt;/a&gt; talk on &lt;a href=&quot;http://fudcon.in/sessions/virtualization-libvirt&quot;&gt;'Virtualization with Libvirt'&lt;/a&gt;. They had given a good overview of virtualization in the Linux kernel, and available tools that one could use. I do use &lt;a href=&quot;https://fedorahosted.org/publican/&quot;&gt;Publican&lt;/a&gt;, and thus attended Jared Smith's talk on the same. Publican does insert blank pages to ensure that new chapters start on the right-hand side if the content were to be printed as a book. For the final talk of the day, I attended &lt;a href=&quot;http://fedoraproject.org/wiki/User:Sundaram&quot;&gt;Rahul Sundaram's&lt;/a&gt; session on &lt;a href=&quot;http://fudcon.in/sessions/ask-fedora-community-support-and-knowledge-base&quot;&gt;Askbot for Fedora&lt;/a&gt;, and the roadmap and features that he is interested in. We then travelled to &lt;a href=&quot;http://www.parcestique.com/pune.htm&quot;&gt;Hotel Parc Estique&lt;/a&gt; for the FUDPub!&lt;br /&gt;&lt;br /&gt;
&lt;img alt=&quot;FUDPub&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album72/24_dance_floor.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">FUDCon Pune - Day I</title>
		<link href="http://fudcon.in/program/fudcon_schedule"/>
		<id>http://fudcon.in/program/fudcon_schedule</id>
		<updated>2011-11-07T12:40:00+00:00</updated>
		<content type="html">&lt;img alt=&quot;FUDCon Pune&quot; src=&quot;https://fedoraproject.org/w/uploads/c/cf/Button.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;
I arrived early on day I of &lt;a href=&quot;http://fudcon.in/&quot;&gt;FUDCon Pune 2011&lt;/a&gt; to help with the registration desk. We had different counters for speakers and volunteers, and for delegates. A printer was available for us to print badges, directions, or posters as required.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Registration desk&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album72/3_volunteer_speaker_registration_desk.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

I attended the keynote by &lt;a href=&quot;http://fedoraproject.org/wiki/User:Jsmith&quot;&gt;Jared Smith&lt;/a&gt;, the Fedora Project Leader. The illustrations used in his presentation, &lt;a href=&quot;http://fudcon.in/sessions/fedora-state-union-address&quot;&gt;'Fedora &quot;State of the Union&quot; Address'&lt;/a&gt; were really good. I then proceeded to the classrooms to attend Ramakrishna Reddy's talk on &lt;a href=&quot;http://fudcon.in/sessions/developer-survival-manual-impatient-developer-guide-groking-source&quot;&gt;'Developer Survivor Manual'&lt;/a&gt;. He addressed essential things that newbie developers need to know, and demoed various revision control systems. Fedora banners were placed at various seminar locations on campus to indicate where the talks and sessions were being held.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Registration desk&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album72/6_banner.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

Lunch was served at 12 noon, and then I moved on to attend the &lt;a href=&quot;http://fudcon.in/sessions/fedora-remix-and-community&quot;&gt;'Fedora Remix and the Community'&lt;/a&gt; talk by &lt;a href=&quot;http://fedoraproject.org/wiki/User:Snavin&quot;&gt;Danishka Navin&lt;/a&gt;. He shared his experience with the &lt;a href=&quot;http://www.hanthana.org/&quot;&gt;Hanthana&lt;/a&gt; project, which is a Fedora remix that has support for Sinhalese, and Tamil and has been deployed at various schools in Sri Lanka. Fedora is one of the first and largest user of &lt;a href=&quot;https://github.com/sitaramc/gitolite&quot;&gt;gitolite&lt;/a&gt;, and I was happy to meet its author, Sitaram Chamarthy, from TCS Innovation Labs, Hyderabad, India. &lt;a href=&quot;http://fudcon.in/sites/default/files/slides/gitolite-at-fudcon-india-2011.pdf&quot;&gt;His talk&lt;/a&gt; was filled with numerous examples from people using gitolite. The other large users of gitolite are &lt;a href=&quot;http://kde.org/&quot;&gt;KDE&lt;/a&gt; and &lt;a href=&quot;http://www.kernel.org&quot;&gt;kernel.org&lt;/a&gt;. I then attended the &lt;a href=&quot;http://fudcon.in/sessions/glusterfs-red-hat-storage-storage-red-hat&quot;&gt;'GlusterFS'&lt;/a&gt; talk by Krishna Srinivas from Red Hat, who gave an overview of the Gluster file system, its architecture, and uses.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Going to FUDCon Pune</title>
		<link href="http://fedoraproject.org/wiki/FUDCon:India_2011"/>
		<id>http://fedoraproject.org/wiki/FUDCon:India_2011</id>
		<updated>2011-11-04T00:05:00+00:00</updated>
		<content type="html">I had filed a ticket year-end of 2009 to &lt;a href=&quot;https://fedorahosted.org/fedora-india/&quot;&gt;Fedora India&lt;/a&gt; to organize a &lt;a href=&quot;http://fedoraproject.org/wiki/FUDCon&quot;&gt;FUDCon&lt;/a&gt; in India. We couldn't make it in 2010, but it is happening this year!&lt;br /&gt;&lt;br /&gt;
&lt;img alt=&quot;FUDCon Pune&quot; src=&quot;https://fedoraproject.org/w/uploads/4/40/Button3-going.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/10/31/lagom/"/>
		<id>http://lalith.in/?p=1384</id>
		<updated>2011-10-31T21:05:05+00:00</updated>
		<content type="html">&lt;blockquote&gt;
&lt;p&gt;Lagom (pronounced [ˈlɑ̀ːɡɔm]) is a Swedish word with no direct English equivalent, meaning &amp;#8220;just the right amount&amp;#8221;. &amp;#8211; Wikipedia&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you&amp;#8217;re in Sweden and there&amp;#8217;s one word you should know, it would be &amp;#8216;lagom&amp;#8217;, a word that defines the essence of everything that is Swedish.&lt;/p&gt;
&lt;p&gt;More than two months into Stockholm and I must say it&amp;#8217;s been pretty lagom so far. The city itself is beautiful, with the only downside being that everything is at least twice as expensive as in Lisbon. Maybe that&amp;#8217;s what you get for everything around here being so perfect and systematic. And unlike Lisbon, you actually have easy access to a *large* collection of beers, which is definitely a plus.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;http://farm7.static.flickr.com/6113/6299612257_231d4601de_m.jpg&quot; alt=&quot;&quot; width=&quot;240&quot; height=&quot;161&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s autumn here right now, and the scenery outside is fabulous. Sadly though, the weather in Sweden is not-so-lagom. Temperatures are already hovering around 5 degrees celsius, and for an Indian like me, this is pretty cold in itself (heck, it never gets lower than 20 in my town back home). The funny thing is, this weather is cute for the Swedes. Let&amp;#8217;s see how winter ends up looking like.&lt;/p&gt;
&lt;p&gt;Meanwhile, &lt;a href=&quot;http://www.flickr.com//photos/lalithsuresh/sets/72157628021837718/show/&quot;&gt;here&lt;/a&gt; are some pictures I took from Stockholm over the last two months.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1384/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1384/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1384/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1384/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1384/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1384/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1384/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1384/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1384/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1384/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1384/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1384/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1384/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1384/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1384&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/10/21/fourth-annual-workshop-on-ns-3-2012/"/>
		<id>http://lalith.in/?p=1369</id>
		<updated>2011-10-21T11:01:12+00:00</updated>
		<content type="html">&lt;p&gt;We&amp;#8217;re organising the fourth annual Workshop on NS-3, to be held in conjunction with &lt;a href=&quot;http://simutools.org/2012/&quot;&gt;SIMUTools 2012&lt;/a&gt;. The workshop will be held on March 23rd, 2012, in Sirmione, Italy. Details regarding the important dates, submission guidelines, and the scope of the workshop is available on the &lt;a href=&quot;http://www.nsnam.org/wns3/wns3-2012/&quot;&gt;WNS3 2012 site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The workshop serves as an annual gathering of ns-3 users and developers to share ideas, and brainstorm over future directions for the project. We&amp;#8217;re inviting conference style full paper submissions, which will be made available in the ACM and EU digital proceedings. Furthermore, we&amp;#8217;re also hosting an interactive session comprising of demos and posters. So start working on your papers and proposals as soon as possible! If you have any queries, feel free to &lt;a href=&quot;http://www.nsnam.org/wns3/wns3-2012/contact/&quot;&gt;contact&lt;/a&gt; the workshop chairs.&lt;/p&gt;
&lt;p&gt;Like previous editions of the workshop, we also plan to conduct a day long ns-3 developers&amp;#8217; meeting around the same time. More details will be out soon. Keep an eye on our mailing lists and website to not miss any announcements.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Important dates&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Papers submission deadline : December 2, 2011&lt;br /&gt;
Notification of acceptance : January 20, 2012&lt;br /&gt;
Camera-ready deadline : February 10, 2012&lt;br /&gt;
Demos and posters proposal deadline : February 24, 2012&lt;br /&gt;
Workshop in Sirmione : March 23, 2012&lt;br /&gt;
Developers’ meeting : TBA&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1369/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1369/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1369/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1369/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1369/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1369/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1369/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1369/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1369/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1369/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1369/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1369/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1369/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1369/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1369&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">presentations</title>
		<link href="http://lalith.in/2011/10/16/comic-deciphering-academic-presentations/"/>
		<id>http://lalith.in/?p=1351</id>
		<updated>2011-10-16T18:52:19+00:00</updated>
		<content type="html">&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;strong&gt;YANC 4: Deciphering academic presentations&lt;/strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;a href=&quot;http://lalithsuresh.files.wordpress.com/2011/10/presentations4.png&quot;&gt;&lt;img class=&quot;aligncenter size-large wp-image-1359&quot; title=&quot;presentations&quot; src=&quot;http://lalithsuresh.files.wordpress.com/2011/10/presentations4.png?w=371&amp;#038;h=1024&quot; alt=&quot;&quot; width=&quot;371&quot; height=&quot;1024&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1351/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1351/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1351/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1351/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1351/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1351/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1351/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1351/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1351/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1351/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1351/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1351/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1351/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1351/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1351&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/10/13/how-to-extend-ns-3-for-your-research/"/>
		<id>http://lalith.in/?p=1342</id>
		<updated>2011-10-12T22:34:25+00:00</updated>
		<content type="html">&lt;p&gt;Having been busy with coursework lately, I hadn&amp;#8217;t gone through our users&amp;#8217; list in a while. Wading through a week&amp;#8217;s worth of posts today, it seems to me like a good deal of questions are from users who are trying to get started with extending ns-3. This is indeed quite expected; as a research tool, ns-3 is most useful only when built upon. These extensions usually take one of the following forms:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;a tweak to an existing protocol to make it simulate some specific scenario (try &lt;a href=&quot;http://groups.google.com/group/ns-3-users/search?group=ns-3-users&amp;amp;q=attacks&amp;amp;qt_g=Search+this+group&quot;&gt;searching for &amp;#8220;attacks&amp;#8221; on our users list&lt;/a&gt;),&lt;/li&gt;
&lt;li&gt;adding some functionality X to an existing module, (for instance, RRC messages support for LTE)&lt;/li&gt;
&lt;li&gt;or writing an entirely new module from scratch.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Before you do *anything* with ns-3, go through the &lt;a href=&quot;http://www.nsnam.org/docs/tutorial/singlehtml/index.html&quot;&gt;tutorials&lt;/a&gt; first.&lt;/p&gt;
&lt;p&gt;Now, for cases 1 and 2 mentioned above, the *only* way to proceed is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go through the literature about what you&amp;#8217;re trying to implement &amp;#8212; &amp;#8220;What do I want to achieve?&amp;#8221;&lt;/li&gt;
&lt;li&gt;Understand the scope and limitations of the ns-3 module you&amp;#8217;re trying to deal with (go through the &lt;a href=&quot;http://www.nsnam.org/docs/models/singlehtml/index.html&quot;&gt;model documentation&lt;/a&gt; at least) &amp;#8212; &amp;#8220;Does ns-3 have the necessary base for me to build on top of?&amp;#8221;&lt;/li&gt;
&lt;li&gt;If the answer to the above is &amp;#8220;yes&amp;#8221;, then start reading through the respective module&amp;#8217;s code to figure out where you&amp;#8217;ll need to insert your modifications. &amp;#8212; &amp;#8220;Where does my extension/tweak fit within the existing source code?&amp;#8221;&lt;/li&gt;
&lt;li&gt;Implement.&lt;/li&gt;
&lt;li&gt;Profit.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Case 3, on the other hand, requires a lot more work:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go through the literature about what you&amp;#8217;re trying to implement &amp;#8212; &amp;#8220;What do I want to achieve?&amp;#8221;&lt;/li&gt;
&lt;li&gt;Understand how your module would fit within ns-3. This is usually the tricky part. To this end, it&amp;#8217;s very important to understand how packets flow through a node within ns-3. This &lt;a href=&quot;http://www.nsnam.org/docs/release/manual/html/internet-stack.html#example-path-of-a-packet&quot;&gt;figure&lt;/a&gt; from our manual is usually the only thing you&amp;#8217;ll need to know to get started.&lt;/li&gt;
&lt;li&gt;At this point, I&amp;#8217;ll make things easier for myself and assume that you&amp;#8217;re going to implement something that fits into the above mentioned architecture (rather than trying to modify the architecture itself). The first step is as simple as deriving from the right class. This gives you the virtual methods you need to implement in order to maintain a particular component&amp;#8217;s semantics. So if you&amp;#8217;re trying to write a new application, derive from ns3::Application. If it&amp;#8217;s a new routing protocol, derive from ns3::Ipv4RoutingProtocol or ns3::Ipv6RoutingProtocol. If it&amp;#8217;s a new NetDevice, derive from ns3::NetDevice. The easiest thing to do is to find another example of the component type you&amp;#8217;re trying to develop and reflect its basic structure.&lt;/li&gt;
&lt;li&gt;Now to get started writing your new module, have a look at Gustavo Carnerio&amp;#8217;s &lt;a href=&quot;http://code.nsnam.org/ns-3-dev/file/81ca9a7671bb/src/create-module.py&quot;&gt;create-module.py&lt;/a&gt; script (inside src/)  which generates a skeleton for your new module. This includes the necessary sub-folders for the module, and also the all important wscript file. For most use cases, it would suffice to peek into some other module&amp;#8217;s wscript file to get an idea of what to do. If you&amp;#8217;re going to need some fancy external libraries, you&amp;#8217;ll need to go through the waf documentation a bit. Look into src/click/wscript to get an idea of how to do external linking.&lt;/li&gt;
&lt;li&gt;Now once you start developing your new simulation model, you&amp;#8217;ll need to attach this object to a node to get it to do something. This mode of attachment varies from component to component. Some objects are &amp;#8216;aggregated&amp;#8217; to the node, some are added to a list of similar components (like applications being added to a node&amp;#8217;s &amp;#8216;ApplicationList&amp;#8217;) and so forth. The best places to look in order to understand this are the helpers for each module. So for instance, if you want to figure out how to add your routing protocol to a node, look at src/olsr/helper/ to get an idea.&lt;/li&gt;
&lt;li&gt;Lastly, you&amp;#8217;ll need to write simulation scripts to see your module in action. Copying off and editing existing example scripts from the examples/ folder or the src/*/examples/ folders should suffice for most cases.&lt;/li&gt;
&lt;li&gt;If you&amp;#8217;re going to propose this new module for merge, look at our &lt;a href=&quot;http://www.nsnam.org/developers/contributing-code/&quot;&gt;contributing code page&lt;/a&gt;. Keep in mind that we won&amp;#8217;t merge code which doesn&amp;#8217;t have any documentation, or tests (validation or unit tests, as is applicable).&lt;/li&gt;
&lt;li&gt;Merge. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1342/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1342/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1342/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1342/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1342/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1342/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1342/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1342/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1342/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1342/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1342/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1342/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1342/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1342/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1342&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Fedora Activity Day II, Pune, 2011</title>
		<link href="https://fedoraproject.org/wiki/FAD_Pune_2011"/>
		<id>https://fedoraproject.org/wiki/FAD_Pune_2011</id>
		<updated>2011-10-10T07:45:00+00:00</updated>
		<content type="html">In preparation to &lt;a href=&quot;http://fedoraproject.org/wiki/FUDCon:India_2011&quot;&gt;FUDCon, Pune 2011&lt;/a&gt;, we had organized our &lt;a href=&quot;http://fedoraproject.org/wiki/FAD_Pune_2011&quot;&gt;second Fedora Activity Day (FAD)&lt;/a&gt; at the FOSS Lab, &lt;a href=&quot;http://www.coep.org.in/&quot;&gt;College of Engineering, Pune, India&lt;/a&gt; on Saturday, October 8, 2011. Thanks to COEP for hosting the FAD, and to &lt;a href=&quot;http://www.coep.org.in/index.php?profile=abhijit.comp&quot;&gt;Prof. Abhijit&lt;/a&gt; for working with us in organizing the same. &lt;a href=&quot;http://fedoraproject.org/wiki/User:Tuxdna&quot;&gt;Saleem Ansari&lt;/a&gt; had setup &lt;a href=&quot;http://fudcon.in&quot;&gt;http://fudcon.in&lt;/a&gt; using &lt;a href=&quot;http://usecod.com/&quot;&gt;Conference Organization Distribution&lt;/a&gt;, which we used it for registration at the venue.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;FOSS Lab audience&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album71/1_foss_lab_audience.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

&lt;a href=&quot;http://fedoraproject.org/wiki/User:Pjp&quot;&gt;Prasad Pandit&lt;/a&gt; started the day's proceedings with an &lt;a href=&quot;http://pjp.dgplug.org/tools/introduction-python.pdf&quot;&gt;introduction to Python&lt;/a&gt;. Basic syntax, semantics of Python were covered, and we helped the participants in getting started in writing simple scripts. I then presented an overview of contributing to Fedora using the &lt;a href=&quot;http://shakthimaan.com/downloads.html#i-want-2-do-project-tell-me-wat-2-do&quot;&gt;i-want-2-do-project. tell-me-wat-2-do-fedora&lt;/a&gt; presentation, and the various communication channels that they need to be familiar with to work with the larger Fedora community.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;communication channels&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album71/2a_fedora_contribution.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

We had lunch at the &lt;a href=&quot;http://coepboatclub.com/&quot;&gt;COEP Boat Club&lt;/a&gt; canteen. After lunch, &lt;a href=&quot;http://fedoraproject.org/wiki/User:Kashyapc&quot;&gt;Kashyap Chamarthy&lt;/a&gt; presented &lt;a href=&quot;http://kashyapc.fedorapeople.org/Presentations/virtualization-in-fedora.pdf&quot;&gt;KVM virtualization&lt;/a&gt; in Fedora illustrating examples using libvirt and virt tools. &lt;a href=&quot;http://fedoraproject.org/wiki/User:Amitshah&quot;&gt;Amit Shah&lt;/a&gt; and Kashyap answered queries regarding virtualization. Saleem Ansari then presented an &lt;a href=&quot;https://github.com/tuxdna/conf_jmilug&quot;&gt;introduction to web development and Django&lt;/a&gt;, illustrating the use of model, view and template design. I concluded the day's sessions with an introduction to git using the &lt;a href=&quot;http://shakthimaan.com/downloads.html#di-git-ally-managing-love-letters&quot;&gt;di-git-ally managing love letters&lt;/a&gt; presentation.&lt;br /&gt;&lt;br /&gt;

Few photos taken at the event are available in my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album71&quot;&gt;/gallery&lt;/a&gt;.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Shaastra 2011, IIT Madras</title>
		<link href="http://shakthimaan.com/downloads/glv/2011/shaastra-2011/"/>
		<id>http://shakthimaan.com/downloads/glv/2011/shaastra-2011/</id>
		<updated>2011-10-03T10:10:00+00:00</updated>
		<content type="html">The Shaastra team has been trying to get me to speak at their event
for many years. This year I wanted to make it, and as part of
the &lt;a href=&quot;http://www.shaastra.org/2011/main/events/Hackfest/&quot;&gt;Hackfest at Shaastra 2011&lt;/a&gt;, September 28 to October
2, 2011 at &lt;a href=&quot;http://www.iitm.ac.in/&quot;&gt;IIT-Madras&lt;/a&gt;, Chennai, India I had presented the
  talk on &lt;a href=&quot;http://shakthimaan.com/downloads.html#i-want-2-do-project-tell-me-wat-2-do&quot;&gt;i-want-2-do-project. tell-me-wat-2-do&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Audience&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/shaastra-2011/1-audience.JPG&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

Most of the students were interested in participating in the Google
Summer of Code program. I was also able to meet and talk with past
Google Summer of Code students, who had already been introduced to
this presentation.&lt;br /&gt;&lt;br /&gt;

I visited the IITM Research Expo at the K V grounds on campus where
students had presented their research work. There were quite a few
interesting &lt;a href=&quot;http://www.ee.iitm.ac.in/mems/&quot;&gt;papers on MEMS&lt;/a&gt;. I also attended the Paper
and Poster presentation by students at the &lt;a href=&quot;http://respark.iitm.ac.in/&quot;&gt;IITM Research
  Park&lt;/a&gt;. A small memento that I received:&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;momento&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/shaastra-2011/3-momento.JPG&quot; /&gt;&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Fedora Activity Day I, Pune, 2011</title>
		<link href="https://fedoraproject.org/wiki/FAD_Pune_2011_Sep_24"/>
		<id>https://fedoraproject.org/wiki/FAD_Pune_2011_Sep_24</id>
		<updated>2011-09-25T06:30:00+00:00</updated>
		<content type="html">In preparation to &lt;a href=&quot;http://fedoraproject.org/wiki/FUDCon:India_2011&quot;&gt;FUDCon, Pune 2011&lt;/a&gt;, we had organized a &lt;a href=&quot;https://fedoraproject.org/wiki/FAD_Pune_2011_Sep_24&quot;&gt;Fedora Activity Day (FAD) I&lt;/a&gt; at Red Hat, Pune, India on Saturday, September 24, 2011.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Introductions&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/fad-1-rh-pune-2011/2-introductions.JPG&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

&lt;a href=&quot;https://fedoraproject.org/wiki/User:Sundaram&quot;&gt;Rahul Sundaram&lt;/a&gt; started the proceedings with a session on how to &lt;a href=&quot;http://sundaram.fedorapeople.org/presentations/fedora-how-to-contribute.pdf&quot;&gt;contribute to Fedora&lt;/a&gt;, and how people can get involved with the community. I showed the various communication channels that people need to use to connect with the large Fedora community.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Understanding Fedora&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/fad-1-rh-pune-2011/1-fedora-contribute.JPG&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

We then proceeded to do a hands-on session on RPM packaging. We used the &lt;a href=&quot;http://fedoraproject.org/wiki/How_to_create_a_GNU_Hello_RPM_package&quot;&gt;GNU Hello RPM packaging&lt;/a&gt; example from the fedoraproject.org wiki. Rahul and I explained each section of the .spec file, and showed them how to use rpmbuild. The participants learnt to write the .spec file, and also built, installed, and tested the hello package.&lt;br /&gt;&lt;br /&gt;

We then took a break for lunch following which I presented a hands-on session on git using the &lt;a href=&quot;file://tmp/news/downloads.html#di-git-ally-managing-love-letters&quot;&gt;di-git-ally managing love letters&lt;/a&gt; presentation. &lt;a href=&quot;http://fedoraproject.org/wiki/User:Siddhesh&quot;&gt;Siddhesh Poyarekar&lt;/a&gt; then took an introductory hands-on &lt;a href=&quot;http://meetbot.fedoraproject.org/fedora-classroom/2010-05-03/autotools_workshop.2010-05-03-13.29.log.html&quot;&gt;session on autotools&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Autotools session&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/fad-1-rh-pune-2011/3-autotools-siddhesh.JPG&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

All the presentations are available in the &lt;a href=&quot;https://fedoraproject.org/wiki/FAD_Pune_2011_Sep_24#Agenda&quot;&gt;FAD wiki&lt;/a&gt; page. Thanks to Red Hat for letting us use their facility, and for sponsoring the pizza! They were able to arrange for ten laptops with Fedora 15 installed for participants who didn't have laptops.&lt;br /&gt;&lt;br /&gt;

Thanks also to &lt;a href=&quot;http://fedoraproject.org/wiki/User:Kashyapc&quot;&gt;Kashyap Chamarthy&lt;/a&gt;, &lt;a href=&quot;http://fedoraproject.org/wiki/User:Kushal&quot;&gt;Kushal Das&lt;/a&gt;, &lt;a href=&quot;http://fedoraproject.org/wiki/User:Siddhesh&quot;&gt;Siddhesh Poyarekar&lt;/a&gt; for their help to the participants during the workshop sessions.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">From Python to Silicon: python-myhdl</title>
		<link href="http://www.shakthimaan.com/downloads.html#from-python-to-silicon"/>
		<id>http://www.shakthimaan.com/downloads.html#from-python-to-silicon</id>
		<updated>2011-09-20T04:10:00+00:00</updated>
		<content type="html">I had presented &lt;a href=&quot;http://www.shakthimaan.com/downloads.html#from-python-to-silicon&quot;&gt;From Python to Silicon: python-myhdl&lt;/a&gt; talk at &lt;a href=&quot;http://in.pycon.org/2011/&quot;&gt;PyCon India 2011&lt;/a&gt;, September 16-18, 2011 at Symbiosis, Pune, India.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;PyCon India sponsors&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album70/3_sponsors.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

The first day of the (un)conference was filled with tutorials. I attended the &lt;a href=&quot;http://in.pycon.org/2011/talks/4-functional-programming-with-python&quot;&gt;Functional Programming with Python&lt;/a&gt; talk by Anand Chitipothu. He had illustrated list comprehensions, recursions, higher-order functions, iterators and generators in Python with numerous examples.&lt;br /&gt;&lt;br /&gt;

On the second day, I attended the keynote by Raymond Hettinger on &lt;a href=&quot;http://urtalk.kpoint.in/kapsule/gcc-e7c717db-f77e-43dc-9dc0-255eb47e9dd3&quot;&gt;What Makes Python Awesome&lt;/a&gt;. It was a very informative talk illustrating the key characteristics of Python, and the community that surrounds it.&lt;br /&gt;&lt;br /&gt;

I also attended the &lt;a href=&quot;http://in.pycon.org/2011/talks/13-python-on-android&quot;&gt;Python on Android&lt;/a&gt; talk by Sajjad Anwar, who gave simple examples using android-scripting. The &lt;a href=&quot;http://in.pycon.org/2011/talks/7-emacs-as-a-python-ide&quot;&gt;Emacs as a Python IDE&lt;/a&gt; talk by Noufal Ibrahim had useful tips and tricks on using Emacs for development work, and issue tracking using &lt;a href=&quot;http://orgmode.org/&quot;&gt;org-mode&lt;/a&gt;. I also attended the &lt;a href=&quot;http://in.pycon.org/2011/talks/43-decorators-as-composable-abstractions&quot;&gt;Decorators as Composable Abstractions&lt;/a&gt; by Sidhant Godiwala which was an introduction to using decorators in Python.&lt;br /&gt;&lt;br /&gt;

On the final day of the event, I attended &lt;a href=&quot;http://in.pycon.org/2011/talks/35-network-programming-with-umit-project&quot;&gt;Network Programming with Umit Project&lt;/a&gt; by Narendran Thangaranjan who gave demos on network protocol implementation, and testing in Python using the &lt;a href=&quot;http://www.umitproject.org/&quot;&gt;Umit project&lt;/a&gt;. Jivitesh Singh Dhaliwal gave a demo of using PySerial to control robots in the &lt;a href=&quot;http://in.pycon.org/2011/talks/30-python-in-the-real-world-from-everyday-applications-to-advanced-robotics&quot;&gt;Python in the Real World: From Blinking LEDs to Advanced Robotics&lt;/a&gt; talk.&lt;br /&gt;&lt;br /&gt;

My presentation slides are &lt;a href=&quot;http://www.shakthimaan.com/downloads.html#from-python-to-silicon&quot;&gt;available&lt;/a&gt;. Thanks to Christopher Felton for his valuable feedback.&lt;br /&gt;&lt;br /&gt;

Few photos taken during the event are available at my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album70&quot;&gt;/gallery&lt;/a&gt;.</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Packaging RPM</title>
		<link href="http://shakthimaan.com/downloads.html#packaging-red-hot-paneer-butter-masala"/>
		<id>http://shakthimaan.com/downloads.html#packaging-red-hot-paneer-butter-masala</id>
		<updated>2011-09-10T03:40:00+00:00</updated>
		<content type="html">Released &lt;a href=&quot;http://shakthimaan.com/downloads.html#packaging-red-hot-paneer-butter-masala&quot;&gt;Packaging RPM&lt;/a&gt; (Packaging Red hot, Paneer (butter) Masala) presentation 1.7. The LaTeX sources are available at &lt;a href=&quot;https://gitorious.org/packaging-red-hot-paneer-butter-masala&quot;&gt;gitorious.org&lt;/a&gt;.&lt;br /&gt;
&lt;pre&gt;
  $ git clone git://gitorious.org/packaging-red-hot-paneer-butter-masala/mainline.git
&lt;/pre&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">seals</title>
		<link href="http://lalith.in/2011/09/09/seals/"/>
		<id>http://lalith.in/?p=1321</id>
		<updated>2011-09-09T16:20:06+00:00</updated>
		<content type="html">&lt;p&gt;&lt;strong&gt;3. YANC &amp;#8211; Seals&lt;/strong&gt;&lt;a href=&quot;http://lalithsuresh.files.wordpress.com/2011/09/seals.png&quot;&gt;&lt;img class=&quot;size-full wp-image-1327 aligncenter&quot; title=&quot;seals&quot; src=&quot;http://lalithsuresh.files.wordpress.com/2011/09/seals.png?w=700&amp;#038;h=560&quot; alt=&quot;&quot; width=&quot;700&quot; height=&quot;560&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1321/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1321/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1321/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1321/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1321/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1321/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1321/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1321/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1321/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1321/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1321/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1321/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1321/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1321/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1321&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">dido</title>
		<link href="http://lalith.in/2011/08/29/comic-utility/"/>
		<id>http://lalith.in/?p=1307</id>
		<updated>2011-08-29T15:37:40+00:00</updated>
		<content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;2. &lt;/strong&gt;&lt;/strong&gt;YANC - &lt;strong&gt;Utility&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://lalithsuresh.files.wordpress.com/2011/08/dido.png&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-1308&quot; title=&quot;dido&quot; src=&quot;http://lalithsuresh.files.wordpress.com/2011/08/dido.png?w=700&amp;#038;h=2379&quot; alt=&quot;&quot; width=&quot;700&quot; height=&quot;2379&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1307/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1307/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1307/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1307/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1307/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1307/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1307/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1307/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1307/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1307/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1307/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1307/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1307/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1307/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1307&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Introduction to GNU Make</title>
		<link href="http://www.shakthimaan.com/Mambo/gallery/album69"/>
		<id>http://www.shakthimaan.com/Mambo/gallery/album69</id>
		<updated>2011-08-29T08:40:00+00:00</updated>
		<content type="html">I had presented GNU Make, &lt;a href=&quot;http://shakthimaan.com/downloads.html#dum-ka-biryani-make-for-each-other&quot;&gt;Dum Ka Biryani, Make for each other&lt;/a&gt; at &lt;a href=&quot;http://icefoss.fisat.ac.in/&quot;&gt;ICE-FOSS 2011&lt;/a&gt;, August 26-27, 2011 at &lt;a href=&quot;http://www.fisat.ac.in/&quot;&gt;Federal Institute of Science and Technology&lt;/a&gt;, Angamaly, Kerala.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;FISAT&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album69/5_fisat.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

The conference had talks, hands-on workshops, and project demos. There were interesting projects displayed at the stalls by the students varying from Arduino-based hardware projects, to Python mobile application development to games, and applications developed using opencv. Pamphlets were made for each project, and given to the visitors at the stall. I reviewed the projects that were demoed and gave them feedback. The Institute is in the process of migrating their servers, so we should (hopefully) see the sources made available online.&lt;br /&gt;&lt;br /&gt;

I also had a chance to meet Anvar K Sadath, Executive Director at the &lt;a href=&quot;https://www.itschool.gov.in/index.php&quot;&gt;IT@School&lt;/a&gt; project. They have trained nearly 2 lakh teachers on F/OSS over the years. Their new initiative is &lt;a href=&quot;https://www.itschool.gov.in/animation/&quot;&gt;animation training&lt;/a&gt; using free/open source software.&lt;br /&gt;&lt;br /&gt;

The Institute does have a cluster setup called &quot;Dakshina&quot; which is used by students, and the faculty. They also do allow other nearby colleges to use the facility on request.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Dakshina cluster&quot; width=&quot;320&quot; height=&quot;427&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album69/17_dakshina_cluster.sized.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

Thanks to the Management of FISAT, for sponsoring my travel and for the wonderful hospitality. Photos taken during the trip are available at my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album69&quot;&gt;/gallery&lt;/a&gt;.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Introduction to TDD, BDD: Pune Institute of Computer Technology</title>
		<link href="http://www.flickr.com/photos/shreyankg/sets/72157627481625374/"/>
		<id>http://www.flickr.com/photos/shreyankg/sets/72157627481625374/</id>
		<updated>2011-08-22T05:20:00+00:00</updated>
		<content type="html">I had conducted a session on test driven, behaviour driven development on Saturday, August 20, 2011 at &lt;a href=&quot;http://www.pict.edu/&quot;&gt;Pune Institute of Computer Technology&lt;/a&gt;, Pune, Maharashtra, India using Ruby, Cucumber, and Rails with examples from &lt;a href=&quot;https://joindiaspora.com/&quot;&gt;Diaspora&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

Thanks to &lt;a href=&quot;http://www.j4v4m4n.in/&quot;&gt;Praveen Arimbrathodiyil&lt;/a&gt; for initiating this workshop and &lt;a href=&quot;http://fedoraproject.org/wiki/User:Shreyankg&quot;&gt;Shreyank Gupta&lt;/a&gt; for helping the students during the hands-on session.&lt;br /&gt;&lt;br /&gt;

Participants were new to Ruby, and we started off with &lt;a href=&quot;http://www.ruby-lang.org/en/documentation/quickstart/&quot;&gt;Ruby in Twenty Minutes&lt;/a&gt;. Using interactive ruby (irb) students were able to understand the language syntax and its usage. We then moved on to writing tests in Ruby, and writing them first before writing code.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;irc session&quot; src=&quot;http://shakthimaan.com/downloads/glv/2011/pict-aug-20-2011/pict-irb-aug-20-2011.JPG&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

User stories were introduced with explanation on understanding how features, and step definitions are written. &lt;a href=&quot;http://cukes.info&quot;&gt;Cucumber&lt;/a&gt; was used to run through the features with simple examples. We then moved on to using cucumber with Rails illustrating an &lt;a href=&quot;http://asciicasts.com/episodes/155-beginning-with-cucumber&quot;&gt;example of a Rails blog application&lt;/a&gt;. I had setup Diaspora on my laptop, and had then given them a visual demo of how cucumber runs feature tests with selenium webdriver. &lt;a href=&quot;http://www.flickr.com/photos/shreyankg/sets/72157627481625374/&quot;&gt;Photos&lt;/a&gt; taken from Shreyank's camera are available.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">ragsagar</title>
		<link href="http://ragsagar.wordpress.com/2011/08/21/php-script-to-generate-indian-flag/"/>
		<id>http://ragsagar.wordpress.com/?p=276</id>
		<updated>2011-08-21T16:13:03+00:00</updated>
		<content type="html">&lt;p&gt;A script written by &lt;a href=&quot;http://www.facebook.com/adhilnv&quot; title=&quot;Adhil's facebook profile&quot; target=&quot;_blank&quot;&gt;Adhil Azeez&lt;/a&gt; to generate Indian flag in php. Actually he wanted to share the code here on Independence day. But i was not able to post it that day. After that a series of things happened that prevented me from getting online and updating my blog. So here is the code..&lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: php;&quot;&gt;
&amp;lt;?php
/*
 * Filename: tricolor.php
 * Dependencies: GD Library mostly precombile with php 4.0+
 * Author: Adhil Azeez NV
 * Description: Generates Indian National Flag Image
 */

//Create a resource identifier for the image res in ration 3:2
$flag = imagecreate(1350, 900); 
if (!$flag) {
    die(&amp;quot;Some error occured&amp;quot;);
}
//Color identifiers definitions
$white = imagecolorallocate($flag, 255, 255, 255);
$saffron = imagecolorallocate($flag, 255, 153, 51);
$green = imagecolorallocate($flag, 18, 136, 7);
$blue = imagecolorallocate($flag, 00, 0, 137);

//Draw the tricolor sections.The white portion is no need to be specified since
//the background color is white.
imagefilledrectangle($flag, 0, 0, 1350, 300, $saffron);
imagefilledrectangle($flag, 0, 600, 1350, 900, $green);

//Draw the Ashoka Chakra
//The Circle can be created with imageellipse itself after setting the thickness.
//But unfortunetly due to a bug in GD library(reported more than 5 years ago :()
//the thickness is being ignored.
imagefilledellipse($flag, 675, 450, 240, 240, $blue);
imagefilledellipse($flag, 675, 450, 210, 210, $white);

//Draw the center small circle
imagefilledellipse($flag, 675, 450, 42, 42, $blue);

for ($angle = 0; $angle &amp;lt;= 360; $angle = $angle + 15) {

//Draw 24 small circles in the Ashoka Chakra at the border of the circle adjacent
// to 24-spoke
    $x = 675 + 105 * cos(deg2rad($angle+7.5));
    $y = 450 + 105 * sin(deg2rad($angle+7.5));
    imagefilledellipse($flag, $x, $y, 10.5, 10.5, $blue);

//Draw the 24 spooks
    $x1 = 675 + 8 * cos(deg2rad($angle));
    $y1 = 450 + 8 * sin(deg2rad($angle));
    $x2 = $x1 + 40 * cos(deg2rad($angle - 5));
    $y2 = $y1 + 40 * sin(deg2rad($angle - 5));
    $x3 = 675 + 105 * cos(deg2rad($angle));
    $y3 = 450 + 105 * sin(deg2rad($angle));
    $x4 = $x1 + 40 * cos(deg2rad($angle + 5));
    $y4 = $y1 + 40 * sin(deg2rad($angle + 5));
    imagefilledpolygon($flag, array($x1, $y1, $x2, $y2, $x3, $y3,$x4,$y4), 4, $blue);
}
//if the script being invocked from CLI and has a filename arguments then write
//the out put to the file else print to the outputstream.
if (isset($_SERVER['argv'][1])) {
    if(imagejpeg($flag, $_SERVER['argv'][1] . '.jpg', 100))
    	echo &amp;quot;National Flag saved to &amp;quot;.$_SERVER['argv'][1] . '.jpg';
    else
    	echo &amp;quot;Some error occured&amp;quot;;
} else {
    header(&amp;quot;Content-type: image/jpeg&amp;quot;);
    imagejpeg($flag, null, 100);
}
imagedestroy($flag);
?&amp;gt;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Design&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;    The script makes use of php GD library. It outputs the image to current&lt;br /&gt;
    output stream or save to a file. &lt;/p&gt;
&lt;p&gt;    If php GD library have anti aliasing support then we can enable that for much&lt;br /&gt;
    better render.Currently anti aliasing is not enabled in the script.&lt;/p&gt;
&lt;p&gt;    The output is in JPEG format but it can be changed to other format if necessary&lt;br /&gt;
    with a few modification in the script.&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
Dependencies&lt;/strong&gt;&lt;br /&gt;
    PHP needs GD Library support. Most of the php distribution compiled with it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;&lt;br /&gt;
    php flag.php filename&lt;/p&gt;
&lt;p&gt;    Filename argument is optional. If not present the script will output to the&lt;br /&gt;
    current output stream&lt;/p&gt;
&lt;p&gt;   for example:&lt;br /&gt;
        php flag.php | display&lt;br /&gt;
        will open the image in ImageMagick picture viewer&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/276/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/276/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/276/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/276/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/276/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/276/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/276/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/276/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/276/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/276/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/276/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/276/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/276/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/276/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=276&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Setting alarm at a particular time</title>
		<link href="http://ragsagar.wordpress.com/2011/08/15/how-to-automatically-wake-up-your-computer-at-a-particular-time-resume-by-rtc-alarm-in-arch-linux/"/>
		<id>http://ragsagar.wordpress.com/?p=216</id>
		<updated>2011-08-15T08:34:22+00:00</updated>
		<content type="html">&lt;p&gt;My ISP provides unlimited download from 2am to 8am. So i was not able to sleep after 2 from the time i switched to the new broadband plan. Keeping the system on and setting a cronjob to start downloading after 2 was an option. But i was more concerned about the increasing electricity charge, than my sleep. Besides it is my social responsibility to save energy as a gonna-be software engineer :p. After a bit of googling and hacking i was able to wake up my system at a particular time. Here i am going to explain how i made my arch linux system to boot automatically at 2 am.&lt;/p&gt;
&lt;p&gt;The configuration is done in Arch Linux. For automatic wakeup it needs a BIOS which supports RTC alarm. Most of them manufactured after 2000 supports this feature.&lt;/p&gt;
&lt;h2&gt;1) Check if your BIOS supports automatic wakeup&lt;/h2&gt;
&lt;p&gt;Execute the command below as root.&lt;br /&gt;
&lt;pre class=&quot;brush: plain;&quot;&gt;# grep rtc /var/log/messages.log
rtc_cmos 00:03: RTC can wake from S4
rtc0: alarms up to one month
&lt;/pre&gt;&lt;br /&gt;
If you can find something like this in the output.It says that the system can wakeup and a wakeup time can be setup.&lt;/p&gt;
&lt;h2&gt;2) Enable automatic wakeup in BIOS&lt;/h2&gt;
&lt;p&gt;Go to your BIOS setup, Under Power Management search for something like &amp;#8220;Wake by RTC Alarm&amp;#8221; or &amp;#8220;Resume by RTC alarm&amp;#8221; or &amp;#8220;RTC resume&amp;#8221;.Then enable it.&lt;/p&gt;
&lt;h2&gt;3) Set the hardware clock time standard as UTC&lt;/h2&gt;
&lt;p&gt;Edit the /etc/rc.conf file as root and set the HARDWARECLOCK variable to UTC&lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: plain;&quot;&gt;[ragsagar@h4ckb0x ~]$ grep ^HARDWARECLOCK /etc/rc.conf
HARDWARECLOCK=&amp;quot;UTC&amp;quot;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Make sure that your timezone is set correctly in /etc/rc.conf&lt;br /&gt;
More help : https://wiki.archlinux.org/index.php/Time&lt;/p&gt;
&lt;h2&gt;4) Set the alarm time&lt;/h2&gt;
&lt;p&gt;Execute the following commands as root&lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: plain;&quot;&gt;# echo 0 &amp;gt; /sys/class/rtc/rtc0/wakealarm
# echo `date '+%s' -d '+ 5 minutes'` &amp;gt; /sys/class/rtc/rtc0/wakealarm
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This will set the the alarm time as 5 minutes into the future. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ragsagar.files.wordpress.com/2011/08/set_alarm_5.png&quot;&gt;&lt;img src=&quot;http://ragsagar.files.wordpress.com/2011/08/set_alarm_5.png?w=500&amp;#038;h=313&quot; alt=&quot;&quot; title=&quot;set_alarm_5&quot; width=&quot;500&quot; height=&quot;313&quot; class=&quot;alignnone size-full wp-image-225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now run&lt;br /&gt;
&lt;pre class=&quot;brush: plain;&quot;&gt;$ cat /sys/class/rtc/rtc0/wakealarm&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If the output of above command is something like &amp;#8220;1313383930&amp;#8243;, the alarm is set. It is epoch time. If it doesn&amp;#8217;t yield any result make sure that the HARDWARECLOCK variable is set to UTC and reboot and try again to set the alarm time.&lt;/p&gt;
&lt;p&gt;Now run&lt;br /&gt;
&lt;pre class=&quot;brush: plain;&quot;&gt;$ cat /proc/driver/rtc
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ragsagar.files.wordpress.com/2011/08/proc_driver_rtc.png&quot;&gt;&lt;img src=&quot;http://ragsagar.files.wordpress.com/2011/08/prod_driver_rtc.png?w=500&amp;#038;h=313&quot; alt=&quot;&quot; title=&quot;proc_driver_rtc&quot; width=&quot;500&quot; height=&quot;313&quot; class=&quot;alignnone size-full wp-image-224&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Go through rtc_time, alrm_time and alrm_date and check if they are correct(will be in UTC).Turn off the system and leave the power on. Check if the system is booting automatically after five mintues.&lt;/p&gt;
&lt;h2&gt;5) Setting the alarm to a particular time and date.&lt;/h2&gt;
&lt;p&gt;To set the alarm to woke up the system at 16th Aug 2:05am, Run the following as root&lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: plain;&quot;&gt;# echo 0 &amp;gt; /sys/class/rtc/rtc0/wakealarm
# date --date &amp;quot;Aug 16 , 2011 02:05:00&amp;quot; +%s &amp;gt; /sys/class/rtc/rtc0/wakealarm&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You can convert the epoch time to readable format and check the alarm time is correct.&lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: plain;&quot;&gt;[root@h4ckb0x ragsagar]# cat /sys/class/rtc/rtc0/wakealarm
1313440500
[root@h4ckb0x ragsagar]# date -d @1313440500 +%F&amp;quot; &amp;quot;%T
2011-08-16 02:05:00
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ragsagar.files.wordpress.com/2011/08/particular_tme.png&quot;&gt;&lt;img src=&quot;http://ragsagar.files.wordpress.com/2011/08/particular_tme.png?w=500&amp;#038;h=313&quot; alt=&quot;&quot; title=&quot;Setting alarm at a particular time&quot; width=&quot;500&quot; height=&quot;313&quot; class=&quot;alignnone size-full wp-image-223&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt; The mythtv wiki about acpi wakeup says that setting the hardware clock after setting alarm will disable the alarm while most of the linux distribution sets hardware clock during shutdown. They suggest to disable hardware clock adjusting during shutdown. To do that in Archlinux set the HARDWARECLOCK=&amp;#8221;&quot; in /etc/rc.conf . But in my arch system the alarm was not working when i set HARDWARECLOCK=&amp;#8221;&quot; whereas it worked when i gave HARDWARECLOCK=&amp;#8221;UTC&amp;#8221;. So if the wake up alarm is not working do try after changing the value of this variable.&lt;/p&gt;
&lt;p&gt;To start downloading when the system boots up, i added a cronjob to &lt;a href=&quot;http://ragsagar.wordpress.com/2011/08/13/script-to-reboot-teracom-router/&quot; title=&quot;Script to restart router&quot; target=&quot;_blank&quot;&gt;restart the router&lt;/a&gt; at 2:15 and 7:45 (to account the download in happy hours). Also added &amp;#8220;transmission-gtk&amp;#8221; to the gnome-session-properties. So that transmission will be launched on startup and downloading will be started.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reference :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;http://www.mythtv.org/wiki/ACPI_Wakeup&lt;/p&gt;
&lt;p&gt;https://wiki.archlinux.org/index.php/Time&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/216/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/216/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/216/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/216/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/216/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/216/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/216/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/216/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/216/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/216/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/216/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/216/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/216/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/216/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=216&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">ERC</title>
		<link href="http://mwolson.org/static/doc/erc.html"/>
		<id>http://mwolson.org/static/doc/erc.html</id>
		<updated>2011-08-13T12:15:00+00:00</updated>
		<content type="html">&lt;a title=&quot;ERC&quot; href=&quot;http://www.emacswiki.org/emacs/ERC/&quot;&gt;ERC&lt;/a&gt; is a modular, extensible Emacs Internet relay chat client. It is available as part of GNU Emacs. You can use it to connect to irc.freenode.net (for example) chat server using:
&lt;pre&gt;
;; .emacs
(load &quot;/path/to/secrets.el&quot;)

;; erc
(defun erc-freenode-connect ()
  (interactive)
  (erc :server &quot;irc.freenode.net&quot; :port 6667 :full-name &quot;&quot; 
   :nick &quot;&quot;)
  (require 'erc)
  (require 'erc-match)
  (setq erc-keywords '(&quot;&quot;))
  (setq erc-current-nick-highlight-type 'nick)
  (setq erc-track-exclude-types '(&quot;JOIN&quot; &quot;PART&quot; &quot;QUIT&quot; &quot;NICK&quot; &quot;MODE&quot;))
  (setq erc-track-use-faces t)
  (setq erc-track-faces-priority-list
	'(erc-current-nick-face erc-keyword-face))
  (setq erc-track-priority-faces-only 'all)
  (setq erc-input-line-position -2)
  (setq erc-echo-notices-in-minibuffer-flag t)
  (setq erc-autojoin-channels-alist 
	'((&quot;freenode.net&quot; &quot;#fedora-india&quot; &quot;#fedora-devel&quot; &quot;##linux-india&quot; 
            &quot;#edev&quot; &quot;#fedora-arm&quot; &quot;#fedora-haskell&quot; &quot;#fudcon-planning&quot; &quot;#gcc&quot;
  	    ))))

(defun nickname-freenode-after-connect (server nick)
  (when (and (string-match &quot;freenode\\.net&quot; server)
	     (boundp 'irc-freenode-nick-passwd))
    (erc-message &quot;PRIVMSG&quot; (concat &quot;NickServ identify &quot; irc-freenode-nick-passwd))))
(add-hook 'erc-after-connect 'nickname-freenode-after-connect)
&lt;/pre&gt;
The secrets.el file loads your encrypted files that contain passwords:
&lt;pre&gt;
;; secrets.el
(load-library &quot;~/pass.el.gpg&quot;)
&lt;/pre&gt;
A sample pass.el.gpg file:
&lt;pre&gt;
;; pass.el.gpg
(set 'irc-freenode-nick-passwd &quot;your-password&quot;)
&lt;/pre&gt;
The first time you load the above, you will be prompted to create a password for the encryption. Remember it. Whenever you start Emacs thereafter, or when you try to modify the .gpg files, you will be prompted for the password. To initiate connection to irc.freenode.net within Emacs, you can use:
&lt;pre&gt;
M-x erc-freenode-connect
&lt;/pre&gt;
It should connect to the server, join you to the channels, and identify yourself to NickServ! Each channel is a buffer, and thus Emacs buffer commands work. Whenever someone sends you a message using your nick, you will get a notification in the Emacs status bar. For more ERC commands and options, please refer the &lt;a href=&quot;http://mwolson.org/static/doc/erc.html&quot;&gt;ERC user manual&lt;/a&gt;.
&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">ragsagar</title>
		<link href="http://ragsagar.wordpress.com/2011/08/13/script-to-reboot-teracom-router/"/>
		<id>http://ragsagar.wordpress.com/?p=212</id>
		<updated>2011-08-13T00:23:50+00:00</updated>
		<content type="html">&lt;p&gt;A slightly edited version of the script to restart router written by &lt;a href=&quot;http://www.madhusudancs.info/restart-router&quot; title=&quot;Madhusudan.C.S&quot; target=&quot;_blank&quot;&gt;Madhusudan.C.S&lt;/a&gt; to make it work with teracom router given by bsnl.&lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: bash;&quot;&gt;
#!/usr/bin/env expect

set username admin
set pass admin
set host 192.168.1.1

spawn telnet ${host}

expect -re &amp;quot;Login:&amp;quot;
send &amp;quot;${username}\r&amp;quot;

expect &amp;quot;Password:&amp;quot;
send &amp;quot;${pass}\r&amp;quot;

expect -re &amp;quot;successful&amp;quot;
send &amp;quot;console enable\r&amp;quot;
send &amp;quot;restart\r&amp;quot;
expect eof 

&lt;/pre&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/212/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/212/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/212/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/212/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/212/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/212/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/212/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/212/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/212/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/212/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/212/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/212/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/212/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/212/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=212&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Introduction to Python: Maharashtra Institute of Technology</title>
		<link href="http://www.shakthimaan.com/Mambo/gallery/album68"/>
		<id>http://www.shakthimaan.com/Mambo/gallery/album68</id>
		<updated>2011-08-08T07:10:00+00:00</updated>
		<content type="html">I had conducted a one-day hands-on &quot;Introduction to Python&quot; programming workshop at &lt;a href=&quot;http://mitcoe.edu.in/&quot;&gt;Maharashtra Institute of Technology, College of Engineering&lt;/a&gt;, Kothrud, Pune, India on Saturday, August 6, 2011.&lt;br /&gt;&lt;br /&gt;

The participants were engineering students who had some programming experience but were new to Python. I wanted to do a hands-on session so I could help them along the way. I decided to use the presentation &lt;a href=&quot;http://www-uxsup.csx.cam.ac.uk/courses/PythonProgIntro/&quot;&gt;Python: Introduction for Programmers&lt;/a&gt; by Bruce Beckles and Bob Dowling from the University Computing Service, University of Cambridge. I had requested permission to re-use the slides giving credit to the authors, for which they agreed.&lt;br /&gt;&lt;br /&gt;

Two software labs (I and II) were made available at the venue. Remote desktop was setup so the slides were visible on both the lab projectors. A speaker system was arranged so people could hear me from either lab. Gedit was used to write simple programs.&lt;br /&gt;&lt;br /&gt;

&lt;img alt=&quot;Software Lab I&quot; src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album68/4_lab_one.jpg&quot; /&gt;&lt;br /&gt;

Thanks to Prof. Reena D. Pagare (MIT, College of Engineering) for working with me during the last few weeks in organizing this workshop.&lt;br /&gt;&lt;br /&gt;

More photos taken at the venue and during the workshop are available at my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album68&quot;&gt;/gallery&lt;/a&gt;.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">comic-simulator</title>
		<link href="http://lalith.in/2011/08/07/comic-lrwl/"/>
		<id>http://lalith.in/?p=1290</id>
		<updated>2011-08-07T12:33:05+00:00</updated>
		<content type="html">&lt;p&gt;I always wanted to do comics, so here&amp;#8217;s a hello world:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. YANC &amp;#8211; A bad networking researcher&amp;#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://lalithsuresh.files.wordpress.com/2011/08/comic-simulator.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-1294&quot; title=&quot;comic-simulator&quot; src=&quot;http://lalithsuresh.files.wordpress.com/2011/08/comic-simulator.jpg?w=700&amp;#038;h=1590&quot; alt=&quot;&quot; width=&quot;700&quot; height=&quot;1590&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1290/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1290/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1290/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1290/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1290/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1290/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1290/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1290/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1290/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1290/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1290/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1290/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1290/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1290/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1290&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">EasyPG</title>
		<link href="http://epg.sourceforge.jp/"/>
		<id>http://epg.sourceforge.jp/</id>
		<updated>2011-08-05T06:45:00+00:00</updated>
		<content type="html">&lt;a title=&quot;EasyPG&quot; href=&quot;http://epg.sourceforge.jp/&quot;&gt;EasyPG&lt;/a&gt;, a GnuPG interface is available from Emacs 23 which provides automatic encryption of .gpg files. You can list all the required encrypted .gpg files to be used by Emacs in a secrets.el file (for example):
&lt;pre&gt;  
  ;; secrets.el
  (load-library &quot;~/pass.el.gpg&quot;)
&lt;/pre&gt;
You can then load this file in your Emacs initialization file:
&lt;pre&gt;  
  ;; .emacs
  (load &quot;/path/to/secrets.el&quot;)
&lt;/pre&gt;
The first time you load the above, you will be prompted to create a password for the encryption. Remember it. Whenever you start Emacs thereafter, or when you try to modify the .gpg files, you will be prompted for the password.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/08/03/students-arent-cattle-theyre-humans/"/>
		<id>http://lalith.in/?p=1275</id>
		<updated>2011-08-03T14:40:58+00:00</updated>
		<content type="html">&lt;p&gt;Recently, a teacher at my alma mater turned barber and &lt;a href=&quot;http://www.indianexpress.com/news/kv-teacher-turns-barber-to-punish-students/826558/&quot;&gt;forcibly cropped the hair of over 90 students&lt;/a&gt; who didn&amp;#8217;t follow the school&amp;#8217;s code of conduct for haircuts (we didn&amp;#8217;t even know there was one during our days). Obviously, the students, parents and locals weren&amp;#8217;t amused by this barb-er-ic act. Neither were those of us who are proud of being former students of that school.&lt;/p&gt;
&lt;p&gt;Indian educational institutions have always been rather conservative in their organisation. There is all too often a strict hierarchy visible in the way things work. Teachers have a commanding authority over students, and it&amp;#8217;s common for students to stand up and say &amp;#8220;good morning/afternoon/whatever&amp;#8221; in unison when the former enters a classroom. Failure to do so is often seen as an act of disrespect. In many schools, even at a high school level, you find that students are expected to form and walk only in a line when moving from one classroom to another. I&amp;#8217;ve seen institutions with really silly dress codes, like &amp;#8220;boys should only wear shirts/t-shirts that *have a collar*&amp;#8221;. There are many colleges where cell phones are banned on campus (and many that &lt;a href=&quot;http://ibnlive.in.com/news/college-girls-stripsearched-in-chennai/172214-3.html&quot;&gt;go too far to implement their policy&lt;/a&gt;). And there are also &lt;a href=&quot;http://3.bp.blogspot.com/_wMAC6frBFdw/SIRlHyc1pvI/AAAAAAAAANo/vmMbdKg2FhE/s1600-h/clipimage001zx4.jpg&quot;&gt;colleges where guys aren&amp;#8217;t allowed to talk to girls&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There is an overflow of rules, and unnecessary requirements on conformance. I&amp;#8217;ve had a lecturer yell at me for 15 minutes (out of a 40 minute lecture), ask me to never enter class again, and walk out of class herself in anger simply because I didn&amp;#8217;t &amp;#8220;write down&amp;#8221; the last few steps of a solution to a problem she handed out in class, which I managed to solve in my head to arrive at the answer.&lt;/p&gt;
&lt;p&gt;All the above is absolutely disgusting and is an antithesis to &lt;a href=&quot;http://www.youtube.com/watch?v=zDZFcDGpL4U&amp;amp;feature=player_embedded&quot;&gt;what is supposed to be education&lt;/a&gt;. We put a bunch of students into a classroom, expect all of them to conform to a strict set of rules, and punish the ones who don&amp;#8217;t with expulsion. Ultimately, all these students end up having to take charge of society in some way or the other, and we basically leave our country in the hands of those who abide by silly dogmas, are well trained in the art of superficial respect, can&amp;#8217;t think laterally, are used to hierarchies, and with regard to some of the specific cases I mentioned above, are incapable of working with the opposite sex.&lt;/p&gt;
&lt;p&gt;I wonder what the net gain is from putting so much effort into running a system like this?&lt;/p&gt;
&lt;p&gt;Our future leaders should be capable of making decisions that affect others positively. We need students to be well trained in networking with others, exchanging ideas, and communicating effectively. We need them to be open minded, embrace differences, and adapt to the pace at which the world around us is evolving. How on earth is all that supposed to happen if *this* is their education?&lt;/p&gt;
&lt;p&gt;Furthermore, where do teachers get the time and energy to enforce such rules when they have so many important things to attend to?&lt;/p&gt;
&lt;p&gt;Teachers have the responsibility of being a role model and not that of a dictator. All those teachers who&amp;#8217;d inspired me over my life _strictly_ fall into the former category (from junior school, through high school, and upto where I am now). They were the ones who invested enough effort into figuring out how best to convey their ideas to their students, learned how to tap into our creative potential, and at the same time, stayed up to date with whatever it is that they were supposed to teach. They also served as moral and social instructors not through an iron fist, but through inspiration. They gave us enough room to develop, spared us the fury when we made mistakes and instead, taught us how to learn from them. They made us go &amp;#8220;There is so much I can learn from that person!&amp;#8221; as opposed to &amp;#8220;That person will screw me over if I don&amp;#8217;t do this&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Sure, perfect pedagogy isn&amp;#8217;t easy, but chaining students to a gratuitous set of rules is definitely not the answer. They are humans after all.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1275/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1275/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1275/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1275/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1275/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1275/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1275/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1275/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1275/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1275/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1275/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1275/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1275/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1275/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1275&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">unjumbled output</title>
		<link href="http://ragsagar.wordpress.com/2011/07/24/python-code-to-find-solution-for-jumbled-word-puzzle/"/>
		<id>http://ragsagar.wordpress.com/?p=205</id>
		<updated>2011-07-24T09:44:17+00:00</updated>
		<content type="html">&lt;p&gt;Here is a python script to find solution for a jumbled word. Give a jumbled word as parameter, it will list the possible solutions.&lt;br /&gt;
&lt;pre class=&quot;brush: python;&quot;&gt;
import sys

dictfile = &amp;quot;/usr/share/dict/cracklib-small&amp;quot;

def get_words(text):
	&amp;quot;&amp;quot;&amp;quot; Return a list of dict words &amp;quot;&amp;quot;&amp;quot;
	return text.split()
	

def get_possible_words(words,jword):
	&amp;quot;&amp;quot;&amp;quot; Return a list of possible solutions &amp;quot;&amp;quot;&amp;quot;
	possible_words = []
	jword_length = len(jword)
	for word in words:
		jumbled_word = jword
		if len(word) == jword_length:
			letters = list(word)
			for letter in letters:
				if jumbled_word.find(letter) != -1:
					jumbled_word = jumbled_word.replace(letter,'',1)
			if not jumbled_word:
				possible_words.append(word)
	return possible_words		
			
				
if __name__ == '__main__':
	words = get_words(file(dictfile).read())
	if len(sys.argv) != 2:
		print &amp;quot;python %s &amp;lt;jumbled word&amp;gt;&amp;quot; % sys.argv[0]
		sys.exit()
	jumbled_word = sys.argv[1]
	words = get_possible_words(words,jumbled_word)
	print &amp;quot;possible words :&amp;quot;
	print '\n'.join(words)

&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;#8217;t forget to change the &amp;#8216;dictfile&amp;#8217; to the wordslist file you have in your system.&lt;/p&gt;
&lt;p&gt;Here is the screenshot of script output.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ragsagar.files.wordpress.com/2011/07/unjumbled.png&quot;&gt;&lt;img src=&quot;http://ragsagar.files.wordpress.com/2011/07/unjumbled.png?w=500&amp;#038;h=356&quot; alt=&quot;&quot; title=&quot;unjumbled output&quot; width=&quot;500&quot; height=&quot;356&quot; class=&quot;alignnone size-full wp-image-207&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/205/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/205/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/205/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/205/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/205/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/205/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/205/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/205/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/205/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/205/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/205/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/205/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/205/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/205/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=205&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Emacs-a-day-keeps-the-vi-zing-away</title>
		<link href="http://www.shakthimaan.com/downloads.html#emacs-a-day-keeps-the-vizing-away"/>
		<id>http://www.shakthimaan.com/downloads.html#emacs-a-day-keeps-the-vizing-away</id>
		<updated>2011-07-18T16:35:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://www.shakthimaan.com/downloads.html#emacs-a-day-keeps-the-vizing-away&quot;&gt;Emacs-a-day-keeps-the-vi-zing-away&lt;/a&gt;, a &lt;a href=&quot;http://shakthimaan.com/downloads/glv/presentations/emacs-a-day-keeps-the-vi-zing-away.pdf&quot;&gt;GNU Emacs reference card&lt;/a&gt; is now available under the GNU General Public License. You can get the LaTeX sources from:
&lt;pre&gt;
  $ git clone git://gitorious.org/emacs-a-day-keeps-the-vi-zing-away/mainline.git
&lt;/pre&gt;&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">freeDiameter</title>
		<link href="http://www.freediameter.net/trac/"/>
		<id>http://www.freediameter.net/trac/</id>
		<updated>2011-07-07T16:25:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://www.freediameter.net/trac/&quot;&gt;freeDiameter&lt;/a&gt;, a free/open source &lt;a href=&quot;http://en.wikipedia.org/wiki/Diameter_%28protocol%29&quot;&gt;Diameter&lt;/a&gt; protocol implementation is now available for Fedora/RHEL. Install it using:
&lt;pre&gt;
  $ sudo yum install freeDiameter freeDiameter-devel
&lt;/pre&gt;
It fully supports the Diameter Base Protocol as specified in &lt;a href=&quot;http://tools.ietf.org/html/rfc3588&quot;&gt;RFC 3588&lt;/a&gt;, Diameter Extensible Authentication Protocol (EAP) application server from &lt;a href=&quot;http://tools.ietf.org/html/rfc4072&quot;&gt;RFC 4072&lt;/a&gt;, and Diameter Session Initiation Protocol (SIP) application from &lt;a href=&quot;http://tools.ietf.org/html/rfc4740&quot;&gt;RFC 4740&lt;/a&gt;. Thanks to Sebastien Decugis for accepting the upstream patches.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">MyHDL</title>
		<link href="http://www.myhdl.org/doku.php"/>
		<id>http://www.myhdl.org/doku.php</id>
		<updated>2011-07-06T05:50:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://www.myhdl.org/doku.php&quot;&gt;MyHDL&lt;/a&gt;, a Python hardware description and verification language is now available for Fedora/RHEL. Install it using:
&lt;pre&gt;
  $ sudo yum install python-myhdl
&lt;/pre&gt;
A simple example of a D flip-flop is given below:
&lt;pre&gt;
#!/usr/bin/python

from myhdl import *
from random import randrange
 
def dff(q, d, clk):
    @always(clk.posedge)
    def logic():
        q.next = d
 
    return logic
 
def test_dff():
    q, d, clk = [Signal(bool(0)) for i in range(3)]
 
    dff_inst = dff(q, d, clk)
 
    @always(delay(10))
    def clkgen():
        clk.next = not clk
 
    @always(clk.negedge)
    def stimulus():
        d.next = randrange(2)
 
    return dff_inst, clkgen, stimulus
 
def simulate(timesteps):
    tb = traceSignals(test_dff)
    sim = Simulation(tb)
    sim.run(timesteps)
 
simulate(2000)
&lt;/pre&gt;
You can run it using:
&lt;pre&gt;
$ python test.py
&lt;/pre&gt;
The generated test_dff.vcd can be viewed in GTKWave:
&lt;img alt=&quot;python-myhdl generated .vcd file for d flip-flop&quot; src=&quot;http://www.shakthimaan.com/downloads/screenshots/gtkwave-python-myhdl.png&quot; /&gt;&lt;br /&gt;
You can also generate Verilog code using the toVerilog() function. For example:
&lt;pre&gt;
def convert():
    q, d, clk = [Signal(bool(0)) for i in range(3)]
    toVerilog(dff, q, d, clk)
 
convert()
&lt;/pre&gt;
The generated Verilog code looks like:
&lt;pre&gt;
`timescale 1ns/10ps

module dff (
    q,
    d,
    clk
);

output q;
reg q;
input d;
input clk;

always @(posedge clk) begin: DFF_LOGIC
    q = d;
end

endmodule
&lt;/pre&gt;
Refer their &lt;a href=&quot;http://www.myhdl.org/doku.php/start&quot;&gt;wiki&lt;/a&gt; for more documentation.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Essential Abstractions in GCC</title>
		<link href="http://www.cse.iitb.ac.in/grc/gcc-workshop-11/"/>
		<id>http://www.cse.iitb.ac.in/grc/gcc-workshop-11/</id>
		<updated>2011-07-04T14:00:00+00:00</updated>
		<content type="html">I have been wanting to attend the &lt;a href=&quot;http://www.cse.iitb.ac.in/grc/gcc-workshop-11/index.php&quot;&gt;'Essential Abstractions in GCC'&lt;/a&gt; workshop at &lt;a href=&quot;http://www.iitb.ac.in/&quot;&gt;IIT Bombay&lt;/a&gt;, Powai, Mumbai for many years, and I was finally able to make it this year (their fourth), June 30-July 3, 2011. Thanks to &lt;a href=&quot;http://www.redhat.com&quot;&gt;Red Hat&lt;/a&gt; for sponsoring me.&lt;br /&gt;&lt;br /&gt;

The first day started off with an introduction to the &lt;a href=&quot;http://www.cse.iitb.ac.in/grc/&quot;&gt;GCC Resource Center&lt;/a&gt; at IIT, Bombay, and their primary research interests in program analysis and optimization, translation validation, retargetable compilation, and parallelization and vectorization. They proceeded to give an overview of compiling GCC, and probing techniques used in understanding the functionality of the &lt;a href=&quot;http://gcc.gnu.org/&quot;&gt;GNU C compiler&lt;/a&gt;. Lab sessions were held in the afternoon, and assignments were given to illustrate the concepts discussed. In general, lectures were scheduled in the morning, and lab sessions in the afternoon.&lt;br /&gt;&lt;br /&gt;

The second day focussed on introducing the control flow in gcc, adding passes to gcc, and manipulating &lt;a href=&quot;http://gcc.gnu.org/wiki/GIMPLE&quot;&gt;GIMPLE&lt;/a&gt; for adding interprocedural and intraprocedural passes. Using simple GIMPLE API in gcc-4.6.0 were illustrated, along with adding static/dynamic plugin passes. The lab sessions were held in the afternoon. Teaching Assistants (students) were present to assist the participants during the lab sessions. There were regular tea breaks provided between breakfast, lunch, and dinner.&lt;br /&gt;&lt;br /&gt;

The third day began with an introduction to machine descriptions. Examples of retargetability mechanisms in gcc using &lt;a href=&quot;http://spimsimulator.sourceforge.net&quot;&gt;spim&lt;/a&gt;, a MIPS processor simulator were illustrated with examples. The instructions sets were added incrementally at different machine description levels, beginning from assignment operations to arithmetic to pointers and function calls. The issues of retargetability mechanisms in gcc were also discussed.&lt;br /&gt;&lt;br /&gt;

The final day started with an introduction on parallelization and vectorization, theory, and concepts. Their implementation in gcc-4.6.0 was illustrated, specifically for the case of loops with data dependency diagrams. The use of &lt;a href=&quot;http://gcc.gnu.org/wiki/Graphite&quot;&gt;graphite&lt;/a&gt;, and &lt;a href=&quot;http://www.cse.ohio-state.edu/~pouchet/software/pocc/&quot;&gt;polyhedral compilation&lt;/a&gt; in gcc-4.6.0 were also discussed. We had lab assignments in the afternoon, and the session concluded with a summary of the essential concepts required in understanding the internals of GCC.&lt;br /&gt;&lt;br /&gt;

The workshop is useful if you have worked with compiler internals. I only wish they would release the sources of their work under a Free/Open Source license for everyone to benefit from.&lt;br /&gt;&lt;br /&gt;

Few photos taken during the trip are available in my &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album67&quot;&gt;/gallery&lt;/a&gt;.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">MonadCatchIO-mtl</title>
		<link href="http://hackage.haskell.org/package/MonadCatchIO-mtl"/>
		<id>http://hackage.haskell.org/package/MonadCatchIO-mtl</id>
		<updated>2011-06-29T06:55:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://hackage.haskell.org/package/MonadCatchIO-mtl&quot;&gt;MonadCatchIO-mtl&lt;/a&gt;, a monad-transformer version of the Control.Exception.catch function is now available for Fedora. Install it using:
&lt;pre&gt;
  $ sudo yum install ghc-MonadCatchIO-mtl ghc-MonadCatchIO-mtl-devel
&lt;/pre&gt;
A simple example to throw or catch an exception that is an instance of the Exception class:
&lt;pre&gt;
{-# LANGUAGE DeriveDataTypeable #-}

import Control.Monad.CatchIO
import Data.Typeable
import Prelude hiding (catch)

data MyException = ThisException | ThatException
     deriving (Show, Typeable)

instance Exception MyException

main = do
     throw ThisException `catch` \e -&gt; putStrLn (&quot;Caught &quot; ++ show (e :: MyException))
&lt;/pre&gt;
Thanks to Daniel Gorín for the upstream changes.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/06/23/magic-numbers-in-distributed-systems/"/>
		<id>http://lalith.in/?p=1015</id>
		<updated>2011-06-23T17:54:27+00:00</updated>
		<content type="html">&lt;p&gt;I&amp;#8217;m officially done with the first half of my masters as of now, and it&amp;#8217;s been a fun swim so far in the violent sea of distributed systems, which by the way, is a really big &lt;a href=&quot;http://zookeeper.apache.org/&quot;&gt;zoo&lt;/a&gt; where anything can go wrong. To quote &lt;a href=&quot;http://en.wikipedia.org/wiki/Leslie_Lamport&quot;&gt;Leslie Lamport&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;A distributed system is one in which the failure of a computer you didn&amp;#8217;t even know existed can render your own computer unusable&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Thus, researchers over the last few decades have gone through great lengths to design distributed algorithms that ensure correct behaviour in the light of node failures and random activity by other processes. But if you&amp;#8217;re a student and you&amp;#8217;re going through these algorithms, it&amp;#8217;s not entirely obvious what some of the magic numbers mean at times, and what the intuition is behind them that ensures that an algorithm works correctly. This post is meant to help in that direction. As per distributed systems convention, &lt;em&gt;N&lt;/em&gt; refers to the number of processes in the system and &lt;em&gt;F&lt;/em&gt; refers to the number of failures that can be tolerated.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;&amp;gt; N/2&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;This is a simple majority &amp;#8220;quorum&amp;#8221;. There are many algorithms that exploit the fact that two quorums overlap in at least one process. Let&amp;#8217;s take an example to illustrate this. Consider a system with &lt;em&gt;N&lt;/em&gt; processes, serving as a distributed replicated database. There is a single process writing to the database and there can be more than one reader. One approach to doing this would be to have the writing process write to at least &lt;img src=&quot;http://s0.wp.com/latex.php?latex=%5Clceil+N%2F2%5Crceil+%2B+1&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;&amp;#92;lceil N/2&amp;#92;rceil + 1&quot; title=&quot;&amp;#92;lceil N/2&amp;#92;rceil + 1&quot; class=&quot;latex&quot; /&gt; replicas. If the reading process reads from at least &lt;img src=&quot;http://s0.wp.com/latex.php?latex=%5Clceil+N%2F2%5Crceil+%2B+1&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;&amp;#92;lceil N/2&amp;#92;rceil + 1&quot; title=&quot;&amp;#92;lceil N/2&amp;#92;rceil + 1&quot; class=&quot;latex&quot; /&gt; nodes, there will be at least one replica which has seen the latest write. This can used in scenarios where only less than half the nodes can fail. Some examples include &lt;em&gt;Majority ACK Uniform Reliable Broadcast, Majority Voting Regular Register, &lt;/em&gt;and &lt;em&gt;Read Impose Write Majority (1,N) Atomic Registers&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;&amp;gt; (N+F)/2&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;Referred to as &amp;#8220;Byzantine Quorum&amp;#8221;, this one&amp;#8217;s a bread and butter number for many &lt;a href=&quot;http://en.wikipedia.org/wiki/Byzantine_fault_tolerance&quot;&gt;Byzantine Fault Tolerant algorithms&lt;/a&gt;, which are algorithms that tolerate arbitrary failures. This means that the distributed algorithm produces a correct result in spite of having processes that either do not respond, send out garbage values and so forth. The behaviour can be either due to faulty hardware, software, or due to control by a malicious user. The essence of the number itself is that any two sets of size &lt;img src=&quot;http://s0.wp.com/latex.php?latex=%5Clceil%28N%2BF%29%2F2%5Crceil+%2B+1+&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;&amp;#92;lceil(N+F)/2&amp;#92;rceil + 1 &quot; title=&quot;&amp;#92;lceil(N+F)/2&amp;#92;rceil + 1 &quot; class=&quot;latex&quot; /&gt; overlap in at least one correct process. This is valid only when N &amp;gt; 3F (you can learn the &amp;#8220;why&amp;#8221; behind this from the &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/byz.pdf&quot;&gt;Byzantine Generals Problem&lt;/a&gt;). Example algorithms: &lt;em&gt;Authenticated Data Byzantine Quorum based Regular Register &lt;/em&gt;and&lt;em&gt; Byzantine Randomised Consensus.&lt;br /&gt;
&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;&amp;gt; (N+2F)/2&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;This is known as a Byzantine Masking Quorum. The intuition here is that any two quorums of size &lt;img src=&quot;http://s0.wp.com/latex.php?latex=%5Clceil+%28N%2B2F%29%2F2+%5Crceil%2B+1&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;&amp;#92;lceil (N+2F)/2 &amp;#92;rceil+ 1&quot; title=&quot;&amp;#92;lceil (N+2F)/2 &amp;#92;rceil+ 1&quot; class=&quot;latex&quot; /&gt; will overlap in 2F + 1 processes, thus ensuring that you have a worst case split up of F+1 correct processes and F faulty ones. Note that N &amp;gt; 4F is necessary for this condition to be true.This is particularly useful in the context of Byzantine Registers, and can be seen in algorithms that implement Byzantine Safe Registers. Let&amp;#8217;s take the example of our distributed replicated database that we&amp;#8217;d discussed above, but with byzantine faults.  The writing node attempts to write to all nodes and returns from the write upon receiving ACKs from &lt;img src=&quot;http://s0.wp.com/latex.php?latex=%5Clceil+%28N%2B2F%29%2F2%5Crceil+%2B+1&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;&amp;#92;lceil (N+2F)/2&amp;#92;rceil + 1&quot; title=&quot;&amp;#92;lceil (N+2F)/2&amp;#92;rceil + 1&quot; class=&quot;latex&quot; /&gt; replicas. A node that needs to read from the replicated servers reads from any &lt;img src=&quot;http://s0.wp.com/latex.php?latex=%5Clceil+%28N%2B2F%29%2F2%5Crceil+%2B+1&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;&amp;#92;lceil (N+2F)/2&amp;#92;rceil + 1&quot; title=&quot;&amp;#92;lceil (N+2F)/2&amp;#92;rceil + 1&quot; class=&quot;latex&quot; /&gt; nodes, and only picks a value if it has more than F occurrences in the set that was read (the Byzantine process can return garbage values upon the read request). The &lt;img src=&quot;http://s0.wp.com/latex.php?latex=%5Clceil+%28N%2B2F%29%2F2%5Crceil+%2B+1&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;&amp;#92;lceil (N+2F)/2&amp;#92;rceil + 1&quot; title=&quot;&amp;#92;lceil (N+2F)/2&amp;#92;rceil + 1&quot; class=&quot;latex&quot; /&gt; guarantees that there would be at least F+1 correct processes in such a set so that reads that are not concurrent with a write will for sure give you F+1 correct and up-to-date values.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;&amp;gt; F&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;This one is pretty straightforward, and you begin seeing this as soon as you&amp;#8217;re dealing with algorithms wherein processes crash. If you receive a message from at least F+1 processes, then you&amp;#8217;re sure that you&amp;#8217;ve received the message from at least one correct process (a process that &lt;em&gt;will not&lt;/em&gt; fail).&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;&amp;gt; 2F&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;Follows from the previous one, this ensures that if you receive 2F + 1 messages, you&amp;#8217;re sure that more than one correct processes is part of this set. This is particularly seen in Byzantine Algorithms where making a decision based on &amp;gt; F is risky. For instance, consider situations where uniform agreement is required. One such example is that of Leader Election in a distributed system. For correct functioning of the system, it is entirely necessary that all nodes have the same view of who the leader is. The algorithm fails if two nodes have picked two different nodes as their respective leaders, and in the presence of byzantine faults, this is quite possible. Consider the &lt;em&gt;Rotating Byzantine Leader Detection&lt;/em&gt; algorithm wherein nodes can choose to &amp;#8220;complain&amp;#8221; about the current leader under the suspicion of being byzantine. A node decides that it should shift to the next leader when it hears at least &amp;gt; 2F complaints. Here&amp;#8217;s why we can&amp;#8217;t use &amp;gt; F alone over here. Let&amp;#8217;s assume our system should tolerate one byzantine fault (F = 1). Assume, that a process P incorrectly suspects the current leader (who is legitimate) of being byzantine and broadcasts a &amp;#8220;complaint&amp;#8221; message. Now a byzantine node in the same system can go against the protocol, and send process P a &amp;#8220;complaint&amp;#8221; message, at which point process P now has &amp;gt; F (2 &amp;gt; 1) complaints about the current leader, causing it to change leaders. Since the byzantine process sent the complaint message only to process P and not the other processes in the system (who didn&amp;#8217;t find anything strange about the leader in order to complain), we now have process P with a leader &lt;img src=&quot;http://s0.wp.com/latex.php?latex=L_%7Bnew%7D&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;L_{new}&quot; title=&quot;L_{new}&quot; class=&quot;latex&quot; /&gt; and the remaining processes at leader &lt;img src=&quot;http://s0.wp.com/latex.php?latex=L_%7Bold%7D&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;L_{old}&quot; title=&quot;L_{old}&quot; class=&quot;latex&quot; /&gt; such that &lt;img src=&quot;http://s0.wp.com/latex.php?latex=L_%7Bnew%7D+%21%3D+L_%7Bold%7D&amp;amp;bg=ffffff&amp;amp;fg=1c1c1c&amp;amp;s=0&quot; alt=&quot;L_{new} != L_{old}&quot; title=&quot;L_{new} != L_{old}&quot; class=&quot;latex&quot; /&gt;. Byzantine process wins. On the other hand, if you rely on the 2F + 1 magic number, you&amp;#8217;re sure that there are at least F+1 correct entries in your set.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;&amp;gt; N-F&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;In algorithms where faulty nodes have the liberty of &amp;#8220;not responding&amp;#8221; (crash-stop processes for instance), N-F is the lowest number of responses you can hope to get if you ping all processes in the system. In byzantine scenarios, a set of N-F processes contains at least N-2F correct processes (F responses out of N-F can be corrupt). This number can be seen in many algorithms which require uniform agreement, one example being &lt;em&gt;Byzantine Randomized Consensus&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&amp;#8217;s it for now. Do let me know if there are any errors above or any important information I&amp;#8217;ve missed out on.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1015/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1015/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1015/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1015/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1015/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1015/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1015/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1015/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1015/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1015/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1015/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1015/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1015/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1015/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1015&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">ragsagar</title>
		<link href="http://ragsagar.wordpress.com/2011/06/15/python-script-that-ranks-hollywood-actors-based-on-number-of-appearances-in-top-100-movies/"/>
		<id>http://ragsagar.wordpress.com/?p=200</id>
		<updated>2011-06-15T14:11:35+00:00</updated>
		<content type="html">&lt;p&gt;Actually this is a sample question appeared in codejam contest conducted by mobme wireless. Imdbpy python module is used to retrieve movie informations from imdb.  &lt;/p&gt;
&lt;p&gt;For those who don&amp;#8217;t know about this event : http://codejam.mobme.in/&lt;/p&gt;
&lt;p&gt;Sample Question : &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Write a program that ranks Hollywood actors based on the number of their appearances in a list of top 100 movies. There are a number of top movie lists on the Internet and it&amp;#8217;s up to you to choose one. We&amp;#8217;d prefer you choose one that has an open API.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Solution in Python : &lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: python;&quot;&gt;
#!/usr/bin/env python

__author__ = &amp;quot;Rag Sagar.V&amp;quot;
__email__ = '@'.join(['ragsagar','.'.join([_ for _ in ['gmail','com']])])


from twisted.internet import reactor, threads
import re,imdb,itertools


actors_rating = {} #actors_rating['actor name'] = rank
rank = 0
count = 1
current_rank = 0
concurrent = 5
finished = itertools.count(1)
reactor.suggestThreadPoolSize(concurrent)


try:
	imdb_access = imdb.IMDb()
except imdb.IMDbError, err:
	print err
		
top_100 = imdb_access.get_top250_movies()[:100]


def populate_actors(mid):
	movie = imdb_access.get_movie(int(mid))
	#print movie
	for i in (0,1):
		actor_name =  movie['cast'][i]['name']
		if actors_rating.has_key(actor_name):
			actors_rating[actor_name] = actors_rating[actor_name] + 1
		else:
			actors_rating[actor_name] = 1
	if finished.next()==added:
		reactor.stop()
	
added = 0
for movie in top_100:
	added += 1	
	req = threads.deferToThread(populate_actors, movie.getID())

try:
	reactor.run()
except KeyboardInterrupt:
	reactor.stop()	

   
for actor in sorted(actors_rating, key=actors_rating.get, reverse=True):
	previous_rank = current_rank
	current_rank = actors_rating[actor]
	if previous_rank !=  current_rank :
		rank += count
		count = 1
	else:
		count += 1	
	print rank,actor   
    
    
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Dependency :&lt;br /&gt;
imdbpy&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/200/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/200/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/200/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/200/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/200/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/200/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/200/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/200/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/200/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/200/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/200/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/200/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/200/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/200/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=200&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">ragsagar</title>
		<link href="http://ragsagar.wordpress.com/2011/06/07/display-wishes-depending-on-time-when-you-open-the-console/"/>
		<id>http://ragsagar.wordpress.com/?p=187</id>
		<updated>2011-06-07T17:42:41+00:00</updated>
		<content type="html">&lt;p&gt;Here is a python script to wish you Good Morning or Good Evening according to the time of the day.&lt;/p&gt;
&lt;p&gt;&lt;pre class=&quot;brush: python;&quot;&gt;
#!/usr/bin/python
import time

current_hour = time.strptime(time.ctime(time.time())).tm_hour

if current_hour &amp;lt; 12 :
	print &amp;quot;Good Morning!&amp;quot;
elif current_hour == 12 :
	print &amp;quot;Good Noon!&amp;quot;
elif current_hour &amp;gt; 12 and current_hour &amp;lt; 18 :
	print &amp;quot;Good AfterNoon!&amp;quot;
elif current_hour &amp;gt;= 18 :
	print &amp;quot;Good Evening!&amp;quot;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Now if you want to display it when you open the console add the following line to your ~/.bashrc file.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;python /path/to/the/script.py&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Happy Hacking! &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/187/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/187/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/187/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/187/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/187/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/187/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/187/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/187/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/187/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/187/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/187/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/187/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/187/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/187/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=187&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/06/01/howto-getting-started-with-ns-3-click-%e2%80%93-part-ii/"/>
		<id>http://lalith.in/?p=951</id>
		<updated>2011-06-01T23:31:13+00:00</updated>
		<content type="html">&lt;p&gt;We now move into part II of the ns-3-click tutorial series wherein I&amp;#8217;ll walk you through an ns-3 script and explain how to load your Click scripts onto ns-3 nodes. This tutorial goes through the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Walkthrough of an example Click graph from ns-3-click.&lt;/li&gt;
&lt;li&gt;Using the Click graph in an ns-3 simulation.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Walkthrough of an example Click graph from ns-3-click&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The Click script I&amp;#8217;ll be explaining below is available in current ns-3-dev and stable releases from ns-3.11 onwards. You can find it in &lt;code&gt;src/click/examples/nsclick-lan-single-interface.click&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When working with ns-3-click, you will need to handle all layer 3 functionalities expected of a networked node from Click. The Click script that we&amp;#8217;ll be talking about here provides exactly this. It handles ARP, and forwards packets up and down the stack as required. It has a single network interface (eth0) to send and receive packets, and has a kernel interface (tap0) to send/receive packets from the kernel (in ns-3, this corresponds to communicating with layer 4).&lt;/p&gt;
&lt;p&gt;We first describe the interface to tap0 with the following functionalities:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;All packets received from tap0 should be forwarded down to the stack.&lt;/li&gt;
&lt;li&gt;All packets received from below the stack, destined to us, should be sent up the stack via tap0.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;brush: plain;&quot;&gt;
elementclass TapSimHost {
$dev |

// Packets go to tap0, which sends them to the kernel
input[0]
-&amp;gt; ToDump(tokernel.pcap,2000,IP,PER_NODE 1)
-&amp;gt; ToSimDevice($dev,IP);

// Packets sent out by the kernel get pushed outside
FromSimDevice($dev,4096)
-&amp;gt; CheckIPHeader2
-&amp;gt; ToDump(fromkernel.pcap,2000,IP,PER_NODE 1)
-&amp;gt; GetIPAddress(16)
-&amp;gt; [0]output;
}

kernel::TapSimHost(tap0);&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The above snippet does exactly what we&amp;#8217;ve described so far. We create an element class which has a single input and output. Packets received on the input are plumbed to tap0 (because $dev is now tap0, as per the instantiation in the last line). Packets received from tap0 are pushed outside. We now describe a LAN host, which will handle ARP, and check the destination IP to see if we should receive the packet.&lt;/p&gt;
&lt;pre class=&quot;brush: plain;&quot;&gt;
elementclass LanSimHost {
$ipaddr, $hwaddr |

cl::Classifier(12/0806 20/0001,12/0806 20/0002, -);
forhost::IPClassifier(dst host $ipaddr,-);
arpquerier::ARPQuerier(eth0);
arpresponder::ARPResponder(eth0);

ethout::Queue
-&amp;gt; ToDump(out_eth0.pcap,PER_NODE 1)
-&amp;gt; ToSimDevice(eth0);

// All packets received on eth0 are silently
// dropped if they are destined for another location
FromSimDevice(eth0,4096)
-&amp;gt; ToDump(in_eth0.pcap,PER_NODE 1,ENCAP ETHER)
-&amp;gt; cl;

// ARP queries from other nodes go to the ARP responder element
cl[0] -&amp;gt; arpresponder;

// ARP responses go to our ARP query element
cl[1] -&amp;amp;amp;amp;amp;gt; [1]arpquerier;

// All other packets get checked whether they are meant for us
cl[2]
-&amp;gt; Strip(14)
-&amp;gt; CheckIPHeader2
-&amp;gt; MarkIPHeader
-&amp;gt; GetIPAddress(16) // Sets destination IP address annotation
-&amp;gt; forhost;

// Packets for us are pushed outside
forhost[0]
-&amp;gt; [0]output;

// Packets for other folks or broadcast
// packets get sent to output 1
forhost[1]
-&amp;gt; ToDump(discard.pcap,2000,PER_NODE 1,ENCAP IP)
-&amp;gt; [1]output;

// Incoming packets get pushed into the ARP query module
input[0]
-&amp;gt; arpquerier;

// Both the ARP query and response modules send data out to
// the simulated network device, eth0.
arpquerier
-&amp;gt; ToDump(out_arpquery.pcap,PER_NODE 1)
-&amp;gt; ethout;

arpresponder
-&amp;gt; ToDump(out_arprespond.pcap,PER_NODE 1)
-&amp;gt; ethout;

}

lan::LanSimHost(eth0:ip,eth0:eth);
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now that we have a LanSimHost type ready, and instantiated (in the last line indicated above), we perform the final plumbing required to connect our LanSimHost to our kernel tap device:&lt;/p&gt;
&lt;pre class=&quot;brush: plain;&quot;&gt;
// Users can do some processing between the two elements
lan[0] -&amp;gt; kernel;
kernel -&amp;gt; lan;
// Packets for others or broadcasts are discarded
lan[1] -&amp;gt; Discard;
&lt;/pre&gt;
&lt;p&gt;This concludes our description of the nsclick-lan-single-interface.click file. Let&amp;#8217;s now describe an ns-3 simulation script for our scenario.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Using the Click graph in an ns-3 script&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll now describe a simple ns-3 script which makes use of the above described Click graph. Not surprisingly, the script is named &lt;code&gt;nsclick-simple-lan.cc&lt;/code&gt; and can be found within &lt;code&gt;src/click/examples/&lt;/code&gt;. The simulation scenario is a simple one: two nodes A and B connected via a CSMA channel, with A sending B a stream of packets using a TCP connection. A is Click based, whereas B is a normal ns-3 node.&lt;/p&gt;
&lt;p&gt;The first step would be to create the nodes.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
NodeContainer csmaNodes;
csmaNodes.Create (2);
&lt;/pre&gt;
&lt;p&gt;Next, we create a CSMA channel.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
CsmaHelper csma;
csma.SetChannelAttribute (&amp;quot;DataRate&amp;quot;, DataRateValue (DataRate (5000000)));
csma.SetChannelAttribute (&amp;quot;Delay&amp;quot;, TimeValue (MilliSeconds (2)));
NetDeviceContainer csmaDevices = csma.Install (csmaNodes);
&lt;/pre&gt;
&lt;p&gt;We then install a normal internet stack on node B.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
InternetStackHelper internet;
internet.Install (csmaNodes.Get (1));
&lt;/pre&gt;
&lt;p&gt;And then setup a Click based internet stack on node A. We need to specify the Click script that the particular node is supposed to use, and in the event that we require a Click based node to run a traffic generator on top, we need to specify a routing table element for the node to use. This can be seen by the name &amp;#8220;rt&amp;#8221; at the end of the nsclick-lan-single-interface.click file.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
ClickInternetStackHelper clickinternet;
clickinternet.SetClickFile (csmaNodes.Get (0), &amp;quot;src/click/examples/nsclick-lan-single-interface.click&amp;quot;);
clickinternet.SetRoutingTableElement (csmaNodes.Get (0), &amp;quot;rt&amp;quot;);
clickinternet.Install (csmaNodes.Get (0));
&lt;/pre&gt;
&lt;p&gt;Now that all the nodes have an internet stack, we assign IPv4 addresses to all the network interfaces.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
Ipv4AddressHelper ipv4;
ipv4.SetBase (&amp;quot;172.16.1.0&amp;quot;, &amp;quot;255.255.255.0&amp;quot;);
ipv4.Assign (csmaDevices);
&lt;/pre&gt;
&lt;p&gt;And then, we setup the traffic generators for talking between node A and node B.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
Address LocalAddress (InetSocketAddress (Ipv4Address::GetAny (), 50000));
PacketSinkHelper packetSinkHelper (&amp;quot;ns3::TcpSocketFactory&amp;quot;, LocalAddress);
ApplicationContainer recvapp = packetSinkHelper.Install (csmaNodes.Get (1));
recvapp.Start (Seconds (5.0));
recvapp.Stop (Seconds (10.0));
OnOffHelper onOffHelper (&amp;quot;ns3::TcpSocketFactory&amp;quot;, Address ());
onOffHelper.SetAttribute (&amp;quot;OnTime&amp;quot;, RandomVariableValue (ConstantVariable (1)));
onOffHelper.SetAttribute (&amp;quot;OffTime&amp;quot;, RandomVariableValue (ConstantVariable (0)));

ApplicationContainer appcont;
addressValue remoteAddress (InetSocketAddress (Ipv4Address (&amp;quot;172.16.1.2&amp;quot;), 50000));
onOffHelper.SetAttribute (&amp;quot;Remote&amp;quot;, remoteAddress);
appcont.Add (onOffHelper.Install (csmaNodes.Get (0)));
appcont.Start (Seconds (5.0));
appcont.Stop (Seconds (10.0));
&lt;/pre&gt;
&lt;p&gt;Lastly, we enable PCAP tracing on all the CSMA NetDevices in the scenario.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
csma.EnablePcap (&amp;quot;nsclick-simple-lan&amp;quot;, csmaDevices, false);
&lt;/pre&gt;
&lt;p&gt;And to conclude the script, we specify the running time for the simulation to be 20 seconds, and call Simulator::Run(). Don&amp;#8217;t forget to call Simulator::Destroy() lest tools like Valgrind start screaming about memory leaks.&lt;/p&gt;
&lt;pre class=&quot;brush: cpp;&quot;&gt;
Simulator::Stop (Seconds (20.0));
Simulator::Run ();
Simulator::Destroy ();
return 0;
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To see the results of running our simulation, execute the below in your terminal from the ns-3-dev top level directory once you&amp;#8217;ve built Click as described in the &lt;a href=&quot;http://lalith.in/2011/05/howto-getting-started-with-ns-3-click-part-i/&quot;&gt;previous article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
$: ./waf --run nsclick-simple-lan&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Have a look at the resulting pcap traces (nsclick-simple-lan-0-[0,1].pcap) using wireshark or tcpdump to see what happened through the simulation.&lt;/p&gt;
&lt;p&gt;Hope you found this little walkthrough helpful. If you find any bugs with ns-3-click, please don&amp;#8217;t hesitate to file a bug report on our &lt;a href=&quot;http://www.nsnam.org/bugzilla/&quot;&gt;bugzilla&lt;/a&gt;. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/1041/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/1041/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/1041/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/1041/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/1041/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/1041/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/1041/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/1041/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/1041/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/1041/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/1041/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/1041/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/1041/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/1041/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=1041&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Sahana Community Meetup @ Lisbon</title>
		<link href="http://feedproxy.google.com/~r/ArbitCrap/~3/5-ncNdyFccw/sahana-community-meetup-lisbon-portugal.html"/>
		<id>tag:blogger.com,1999:blog-10499320.post-7025772973483453315</id>
		<updated>2011-05-31T15:45:00+00:00</updated>
		<content type="html">Sahana Software Foundation had its Annual Meeting, Community Bar Camp and a Disaster Workshop at ISCRAM, in Lisbon from the 6th-8th this month. The whole event was fun and a great learning experience. Interacting with members of the community only acquainted through IRC and the mailing list was well worth the 24 hour journey from Kanpur to Lisbon. A special thanks to Google and Sahana software foundation for providing support for travel and stay for the meet. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-G97zwZzUD7c/TeU0DHt-XrI/AAAAAAAACxQ/cVwV0hbI8Iw/s1600/243376_503260037900_220900005_16605_7816418_o.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/-G97zwZzUD7c/TeU0DHt-XrI/AAAAAAAACxQ/cVwV0hbI8Iw/s320/243376_503260037900_220900005_16605_7816418_o.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
At the Community Bar Camp, We had a couple of productive discussions on interoperability and the functioning of Sahana Software Foundation. Thanks to the face to face time with the other members of the Eden community - I was able to understand the framework a bit better and work out the requirements for a possible Asynchronous processing API in Eden. The activities for the first 2 days were located at a space, generously donated by IBM Portugal, who also provided us with a huge supply of delicious pastries (Yum!), orange juice and coffee. Evenings were spent in long pleasant dinner sessions followed by late night social meetups at the hotel lounge, supplemented with great wine and amazing ideas/thoughts/people. In short it was a great event with some of the most dynamic and vibrant people I have ever met, who were fun to interact and work with. I very eagerly look forward to the next Sahana Software Foundation's annual meeting, hoping to meet the few who couldn't make it this time around.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-X3mVfJ5Qj0w/TeU0jeE51AI/AAAAAAAACxU/aUZpePkNwqQ/s1600/242981_503260292390_220900005_16622_6713655_o.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/-X3mVfJ5Qj0w/TeU0jeE51AI/AAAAAAAACxU/aUZpePkNwqQ/s320/242981_503260292390_220900005_16622_6713655_o.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-pzHUL5xpUzo/TeU0nLDtTVI/AAAAAAAACxY/T7pLJSKShug/s1600/244132_503260277420_220900005_16621_3965714_o.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://3.bp.blogspot.com/-pzHUL5xpUzo/TeU0nLDtTVI/AAAAAAAACxY/T7pLJSKShug/s320/244132_503260277420_220900005_16621_3965714_o.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://sahanafoundation.org/obrigado-lisbon-the-sahana-community-bonds-over-bacalhau-and-the-port/&quot;&gt;Sahana Software Foundation's Blog&lt;/a&gt; has a finer and a well written account of the entire event (&lt;a href=&quot;http://sahanafoundation.org/obrigado-lisbon-the-sahana-community-bonds-over-bacalhau-and-the-port/&quot;&gt;Click here&lt;/a&gt;). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would like to thank the following people/organisations for making my visit possible:&lt;br /&gt;
&lt;br /&gt;
1) Google and SSF for providing support for Travel.&lt;br /&gt;
2) Mark Prutsalis for patiently sending me all the documentation required for the visa.&lt;br /&gt;
3) To the unknown person who set the end semester exam timetable at IIT Kanpur, leaving me with the exact time to make it to the event.&lt;br /&gt;
&lt;br /&gt;
This blog post has been long over due - Mostly because, I just finished my Masters in Physics (Yay!) and am in the process of kick starting our tiny private limited (More about this later).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/10499320-7025772973483453315?l=blog.lifeeth.in&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Praneeth Bodduluri</name>
			<email>noreply@blogger.com</email>
			<uri>http://blog.lifeeth.in/</uri>
		</author>
		<source>
			<title type="html">Blog.</title>
			<link rel="self" href="http://feeds.feedburner.com/ArbitCrap"/>
			<id>tag:blogger.com,1999:blog-10499320</id>
			<updated>2012-01-12T02:35:09+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Hiredis</title>
		<link href="https://github.com/antirez/hiredis"/>
		<id>https://github.com/antirez/hiredis</id>
		<updated>2011-05-27T14:50:00+00:00</updated>
		<content type="html">&lt;a href=&quot;https://github.com/antirez/hiredis&quot;&gt;Hiredis&lt;/a&gt;, a minimalistic C client library for the &lt;a href=&quot;http://redis.io/&quot;&gt;Redis&lt;/a&gt; database is now available for Fedora/RHEL. Install it using:
&lt;pre&gt;
  $ sudo yum install hiredis hiredis-devel
&lt;/pre&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/05/22/howto-getting-started-with-ns-3-click-part-i/"/>
		<id>http://lalith.in/?p=925</id>
		<updated>2011-05-22T21:44:18+00:00</updated>
		<content type="html">&lt;p&gt;Since its development, I&amp;#8217;ve been seeing a lot of requests for an ns-3-click 101. So with no further ado, here&amp;#8217;s the first in a series of tutorials to help you get an idea of how to go about using ns-3-click. In this article, I&amp;#8217;ll provide an idea of what ns-3-click is and how to install it .&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;1. What is ns-3-click?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;ns-3-click, or the NS-3 Click Integration, is a feature of the ns-3 tool which allows a user to use a Click Modular Router instance to handle an ns-3 node&amp;#8217;s layer 3 functionality. Click is an architecture for designing highly flexible router configurations. Basically, it offers a large number of fine grained packet processing units called &amp;#8220;elements&amp;#8221;, which can be put connected in various combinations into a Click graph. A Click graph defines a particular configuration for a router. The motivation for bringing Click into ns-3 is simple. Click users get to test their Click graphs in a powerful simulation environment which ns-3 offers, and ns-3 benefits from the large feature set that Click brings with it in the form of elements. In ns-3-click, the design choice was to entirely delegate ns-3&amp;#8242;s layer 3 functionality to Click. This means that an ns-3 node running a Click router will now have to use Click&amp;#8217;s implementations of ARP, routing tables and so forth.&lt;/p&gt;
&lt;p&gt;So before you get started with ns-3-click, I suggest going through [0] and [1]. The first paper should tell you everything you need to know about what Click is, and the second one will inform you about where Click fits into ns-3. The latter will help you understand what ns-3-click can or cannot do for you.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;2. Installation&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By now, you know what ns-3-click is, and its time to get your hands dirty. The first step is to download and build Click.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$: git clone http://read.cs.ucla.edu/git/click DIR&lt;br /&gt;
$: cd DIR&lt;br /&gt;
$: ./configure --enable-nsclick --enable-userlevel&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Note: If you require additional modules, enable them as required using the &amp;#8211;enable-&amp;lt;module&amp;gt; flag.&lt;/p&gt;
&lt;p&gt;Now build Click:&lt;/p&gt;
&lt;p&gt;&lt;code&gt; $: make&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Once this is complete, we need to build ns-3 and point it to the Click source we&amp;#8217;ve just compiled. So let&amp;#8217;s proceed to fetch and build ns-3. Note that ns-3-click was merged post ns-3.10, and will be released with ns-3.11. It is currently available in ns-3-dev.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$: hg clone http://code.nsnam.org/ns-3-dev&lt;br /&gt;
$: cd ns-3-dev&lt;br /&gt;
$: ./waf configure --with-nsclick=&amp;lt;path-to-click-source&amp;gt; --enable-examples&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Once the last command has finished executing, you should see a list of features/modules that have been enabled. At this point, you should see the following line:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;NS-3 Click Integration        : enabled&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now, let&amp;#8217;s build ns-3:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$: ./waf build&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If all goes well, ns-3 should now be built successfully. To test whether things went well, try running one of the example scripts.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$: ./waf --run nsclick-simple-lan&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This should generate some PCAP traces (nsclick-simple-lan-*.pcap). If you see packets being exchanged in there, then you&amp;#8217;re good to go!&lt;/p&gt;
&lt;p&gt;This concludes part I of the ns-3-click tutorial. In the next part, I&amp;#8217;ll provide a code walk through of a simple example script that uses ns-3-click. If you find any bugs with ns-3-click, please don&amp;#8217;t hesitate to file a bug report on our &lt;a href=&quot;http://www.nsnam.org/bugzilla/&quot;&gt;bugzilla&lt;/a&gt;. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;[0] Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek, &amp;#8220;The Click Modular Router&amp;#8221;. ACM Transactions on Computer Systems 18(3), August 2000, pages 263-297. (&lt;a href=&quot;http://pdos.csail.mit.edu/papers/click:tocs00/paper.pdf&quot;&gt;Paper&lt;/a&gt; from the MIT-PDOS page)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;[1] Lalith Suresh P., Ruben Merz, ”NS-3-Click: Click Modular Router Integration for NS-3”. In Proc. of 3rd International ICST Workshop on NS-3 (WNS3), Barcelona, Spain. March, 2011. &lt;a href=&quot;http://lalith.in/wp-content/uploads/2008/12/wns3-ns3click-2011.pdf&quot;&gt;paper&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/925/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/925/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/925/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/925/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/925/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/925/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/925/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/925/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/925/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/925/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/925/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/925/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/925/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/925/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=925&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/04/29/ns-3-summer-of-code-2011-results-announced/"/>
		<id>http://lalith.in/?p=909</id>
		<updated>2011-04-29T20:33:39+00:00</updated>
		<content type="html">&lt;p&gt;The wait is over, and we hereby announce the students selected for the NS-3 Summer of Code 2011 programme!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ashwin Narayan with &amp;#8220;Click-MAC extensions for ns-3-click&amp;#8221;. Mentored by Ruben Merz and myself.&lt;/li&gt;
&lt;li&gt;Pankaj Gupta with &amp;#8220;LTE-RRC extensions&amp;#8221;. Mentored by Giuseppe Piro and Francesco Capozzi.&lt;/li&gt;
&lt;li&gt;Atishay Jain with &amp;#8220;IPv6 Global Routing&amp;#8221;. Mentored by Tom Henderson and Mitch Watrous.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Congratulations to all the students. Hoping to see a lot of good code come out of this effort and most importantly, some long term contributors to the ns-3 project itself. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/909/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/909/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/909/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/909/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/909/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/909/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/909/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/909/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/909/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/909/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/909/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/909/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/909/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/909/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=909&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/04/27/bavarian-vacation/"/>
		<id>http://lalith.in/?p=899</id>
		<updated>2011-04-27T21:14:21+00:00</updated>
		<content type="html">&lt;p&gt;Say you&amp;#8217;re a Masters student studying distributed systems, and you just completed 3 major project checkpoints, and wrapped up some work with a research project. So what do you do during the Easter break that immediately follows the deadlines? You go on vacation of course!&lt;/p&gt;
&lt;p&gt;So I just got back from a wonderful four day holiday split across the dreamy fields of &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwangau&quot;&gt;Schwangau&lt;/a&gt; and the Bavarian captial, &lt;a href=&quot;http://en.wikipedia.org/wiki/Munich&quot;&gt;Munich&lt;/a&gt;. Schwangau is a must see for anyone who wants to swim in a sea of breathtaking views and experience the European countryside. It is the home to the famous &lt;a href=&quot;http://en.wikipedia.org/wiki/Neuschwanstein_Castle&quot;&gt;Neuschwanstein&lt;/a&gt; castle, which was the main inspiration for Disney&amp;#8217;s Sleeping Beauty&amp;#8217;s castle. The village of Schwangau itself lies under the protective watch of the Alps, running through the border between Germany and Austria. I stayed with a good friend of mine, and had a wonderful Bavarian Easter with her family, sharing stories of our cultures and lifestyles. On Easter Sunday itself, we went hiking up the Alps, and I&amp;#8217;m still surprised that I made it alive at the end of a 3 hour ordeal. After years of not having any physical exercise of any form, this was indeed rather taxing, but I guess all the muscle strain was definitely worth the experience, the views, and most importantly, the satisfaction that followed taking a hard path up a 1.708km high mountain for your first ever hike. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;The latter half of the holiday involved a visit to old city of Munich. Culturally rich and with a Bavarian feel all over, it was a fun experience to walk through the city streets. One thing I found particularly funny was that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximilianeum&quot;&gt;Maximilianeum&lt;/a&gt; building, which houses the Bavarian parliament, had no gates nor security guards on the outside, which is in absolute contrast to equivalent buildings back home in India, which can be aptly labelled mini fortresses. The last day of the visit was reserved for a trip around the Munich marketplace and of course, the one and only &lt;a href=&quot;http://en.wikipedia.org/wiki/Allianz_Arena&quot;&gt;Allianz Arena&lt;/a&gt;, which I finally got the opportunity to visit as a long time Bayern Munich fan. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;As is always the case with my travels, cuisine formed an important component of the visit too. Thanks to Eva&amp;#8217;s help, I was able to compile a list of dishes/drinks I had: &lt;a href=&quot;http://krautundcracker.files.wordpress.com/2010/04/apfelstrudel.jpg&quot;&gt;Apfelstrudel&lt;/a&gt;, &lt;a href=&quot;http://www.istockphoto.com/file_thumbview_approve/7452307/2/istockphoto_7452307-n-rnberger-rostbratwurst-and-sauerkraut.jpg&quot;&gt;Neuernberger Rostbratwuerste mit sauerkraut&lt;/a&gt;, &lt;a href=&quot;http://www.kaufbeuren.de/Portaldata/1/Resources/tourismus/kaesspatzen.jpg&quot;&gt;Kaesspatzen&lt;/a&gt;, &lt;a href=&quot;http://www.lecker.de/rezept/1098200/Leberkaese-mit-Spiegelei-und-Kartoffelsalat.html&quot;&gt;Leberkaes mit Kartoffelsalat und Spiegelei&lt;/a&gt;, &lt;a href=&quot;http://www.flickr.com/photos/fkirigin/3149457838/&quot;&gt;Weisswuerst mit Suessem senf&lt;/a&gt;, &lt;a href=&quot;http://www.pitopia.de/pictures/standard/b/bernjuer/50/bernjuer_938350.jpg&quot;&gt;Schweinsbraten mit Kartoffelknoedel&lt;/a&gt;, &lt;a href=&quot;http://www.bavariangrill.com/images/newsletters/entenbraten.jpg&quot;&gt;Schweinshaxen&lt;/a&gt;, &lt;a href=&quot;http://t3.gstatic.com/images?q=tbn:ANd9GcQfxZH6CpDTusw78xRDBWSmtPuR1lKVKgqhKrZ4upo-ajrRGqwN&quot;&gt;Brezeln&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Radler&quot;&gt;Radler&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Weissbier&quot;&gt;Weissbier&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Wheat_beer&quot;&gt;Weizen&lt;/a&gt;. I particularly loved the German variety as far as beers are concerned. Radler from an altitude of 1.708km tastes heavenly by the way.&lt;/p&gt;
&lt;p&gt;I would have loved to stay a little longer, but as the saying goes, all good things must come to an end. Now back in Lisbon, I&amp;#8217;m finding it a little hard to shake off the vacation mood and get back to my projects, but I think I&amp;#8217;ll pull that off sooner or later.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/899/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/899/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/899/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/899/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/899/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/899/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/899/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/899/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/899/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/899/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/899/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/899/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/899/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/899/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=899&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/04/20/paper-review-adaptive-offloading-for-pervasive-computing/"/>
		<id>http://lalith.in/?p=883</id>
		<updated>2011-04-20T12:00:04+00:00</updated>
		<content type="html">&lt;p&gt;My friend &lt;a href=&quot;http://www.ljungblad.nu&quot;&gt;Marcus&lt;/a&gt; recently suggested a good idea to keep track of papers that we read by writing a publicly available review about the work. So here&amp;#8217;s the first in a series of such posts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Title&lt;/strong&gt;: Adaptive Offloading for Pervasive Computing&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Authors&lt;/strong&gt;: Xiaohui Gu and Klara Nahrstedt (UIUC), Alan Messer, Ira Greenberg, and Dejan Milojicic (HP Labs)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;: Certain applications have high memory requirements, and thus cannot be easily run on resource constrained devices like mobile devices which are an essential component of pervasive computing environments. In lieu of such constraints, the authors propose a scheme wherein the deployment of such applications on mobile devices is made possible by &amp;#8220;offloading&amp;#8221; objects in the code (the paper assumes an object oriented language like Java or C#) onto a network-nearby device, hereafter referred to as the surrogate. This needs to be achieved by keeping the application completely oblivious to what&amp;#8217;s happening underneath.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt;: when to trigger an offload, and which objects to offload.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Assumptions in the paper&lt;/strong&gt;: Object oriented languages need to be used. High speed wireless link required.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;The core of the work involves describing each Java program as a graph of classes called the Application Execution Graph (AEG). Classes are chosen as the basic unit for representing an application because: 1) Classes map directly to interactions in the system, 2) classes allow more precise/fine-grained decision making for the offloading process (while this line isn&amp;#8217;t explained clearly, I believe it has to do with the next point) 3) The said interactions are easier to represent with classes than with several thousand Java objects.&lt;/p&gt;
&lt;p&gt;The graph of classes is to be partitioned into two chunks, one of which will remain on the device, and will be locally referenced, whereas the remaining chunk will be offloaded onto another device called the surrogate, usually a desktop or some non-resource-constrained device. Objects on the surrogate will be referenced using remote object invocations. This partitioning will be transparent to the application itself. This means that the Java application would be completely oblivious to the physical locations of the objects that it&amp;#8217;s dealing with, but the underlying VM will perform this partitioning, and will use local or remote invocations as would be the case. The VM used for the work was HP&amp;#8217;s Chai JVM.&lt;/p&gt;
&lt;p&gt;The AEG has weights for the nodes, and the edges. Weights are assigned to the nodes based on the access frequency of the class, the memory size of an instance of the class, the current location of the object, and whether the object _has_ to be on the device (device specific classes like a touchscreen reader for instance, which make no sense on the surrogate). The last property is called the &lt;em&gt;IsNative&lt;/em&gt; property.&lt;/p&gt;
&lt;p&gt;The partitioning of the AEG is performed using a min cut algorithm, using the weights described above as a parameter for deciding the cut itself. Since determining the min-cut of a graph is an NP-Complete problem, the algorithm produces several possible min cut partitions, and maintains a set of such partitions. In run-time, one of these partitions is picked, depending on what is felt to be most optimal, given the particulars of the constraints in that scenario. All classes which have the &lt;em&gt;IsNative&lt;/em&gt; property set to true, are bound to the device and will _not_ be offloaded to the surrogate.&lt;/p&gt;
&lt;p&gt;The architecture of the proposed solution is decomposed into a form wherein resource constraints are expressed using Fuzzy Logic. The fuzzy values like &amp;#8220;low&amp;#8221; and &amp;#8220;high&amp;#8221; depend on the application itself. Each application can have its own rules for the partitioning of the AEG. Depending on the rules and the current status of resource availability (like bandwidth and memory), we can pick the appropriate partition of the AEG that was generated in the step above. The partitioning is performed in a timely manner such that this computation needn&amp;#8217;t be performed when an offload has to be initiated, and we already have a partition available when we hit the resource limit.&lt;/p&gt;
&lt;p&gt;The solution was evaluated in a real setting (for a change!) and tools like Dia, Biomer and Java Notes was run. I won&amp;#8217;t be elaborating much on the evaluation itself, as it is clearly explained in the paper. I don&amp;#8217;t consider it very strong, as it does not explore cases where bandwidth was constrained, but it&amp;#8217;s still better than some other evaluations out there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Weaknesses in the work&lt;/strong&gt;: Surrogates cannot be migrated on the fly, and this restricts how _far_ the mobile client can stray away from the surrogate. Furthermore, hacking the VM to achieve this may impact portability of the code, but this is much better than having to re-write applications.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/883/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/883/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/883/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/883/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/883/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/883/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/883/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/883/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/883/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/883/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/883/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/883/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/883/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/883/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=883&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/04/10/nsoc-student-application-deadline-is-nearby/"/>
		<id>http://lalith.in/?p=864</id>
		<updated>2011-04-10T20:21:49+00:00</updated>
		<content type="html">&lt;p&gt;The &lt;a href=&quot;http://www.nsnam.org/wiki/index.php/NSOC2011&quot;&gt;NS-3 Summer of Code&lt;/a&gt; programme has received a good deal of interest from students so far, and I&amp;#8217;m pretty excited to see what the final set of applications will look like.&lt;/p&gt;
&lt;p&gt;Anyhow, hurry up students, the deadline for NSoC is on the &lt;span&gt;15th of April, 2011 at 19:00 UTC&lt;/span&gt;! Visit the &lt;a href=&quot;http://www.nsnam.org/wiki/index.php/NSOC2011&quot;&gt;NSoC wiki&lt;/a&gt; to find information regarding the applying process. Meanwhile, we recommend that you discuss your proposals as much as possible on the ns-developers mailing list and with your potential mentors before you apply to keep your proposal focused and polished.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/864/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/864/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/864/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/864/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/864/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/864/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/864/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/864/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/864/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/864/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/864/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/864/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/864/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/864/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=864&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">ragsagar</title>
		<link href="http://ragsagar.wordpress.com/2011/04/01/reliance-customer-care-freaking-me-out/"/>
		<id>http://ragsagar.wordpress.com/?p=184</id>
		<updated>2011-04-01T15:24:23+00:00</updated>
		<content type="html">&lt;p&gt;Two months before i lost 10rs from my mobile balance without using it. When i contacted Reliance customer care they told me that &amp;#8220;A joke pack has activated in your account by me last month and this is for the second time they are taking money,It is not possible to refund the money now, but they will deactivate it. It is possible to refund the money only within 24hours after activation of the pack.&amp;#8221; I told them that i didn&amp;#8217;t activate any such packs and told to deactivate it. On this month 25th i again noticed a decrease in balance by 10rs. So i contacted the customer care executive on 25th morning. He told that a joke pack has been subscribed that&amp;#8217;s why i lost the money and it is possible to refund the money as no activation has yet taken place.So i told him to refund. As it didn&amp;#8217;t got activate after an hour, i contacted the Customer care again. They told me to wait for 24hours. I waited for 24 hours and contacted them again on 26th evening and what they said was the same, to wait for 24hours. Told the same when i called them on 27th. When i called on 28th one CC executive told me that a complaint has been registered and that i have to wait for two days and i will be getting the complaint no as sms. Within two days i got two messages from them one containing the complaint number and the other informing that the offer pack has been deactivated. But the money was still not refunded. So i contacted them on 31st (yesterday), a CC executive told me that i will be surely refunded within 24hours and told me to wait. Today when i called them one guy telling me that my pack is not yet deactivated, i can deactivate it through an sms and it is not possible to refund the money. WTF??????&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ragsagar.wordpress.com/184/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ragsagar.wordpress.com/184/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ragsagar.wordpress.com/184/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ragsagar.wordpress.com/184/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/ragsagar.wordpress.com/184/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/ragsagar.wordpress.com/184/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/ragsagar.wordpress.com/184/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/ragsagar.wordpress.com/184/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ragsagar.wordpress.com/184/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ragsagar.wordpress.com/184/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ragsagar.wordpress.com/184/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ragsagar.wordpress.com/184/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ragsagar.wordpress.com/184/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ragsagar.wordpress.com/184/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ragsagar.wordpress.com&amp;amp;blog=4629970&amp;amp;post=184&amp;amp;subd=ragsagar&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rag Sagar (ragsagar)</name>
			<uri>http://ragsagar.wordpress.com</uri>
		</author>
		<source>
			<title type="html">r4g54g4r's h4ckl0g</title>
			<subtitle type="html">an0th3r h4ck3r's w3blog</subtitle>
			<link rel="self" href="http://ragsagar.wordpress.com/feed/"/>
			<id>http://ragsagar.wordpress.com/feed/</id>
			<updated>2012-02-02T16:35:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/03/30/life-is-good/"/>
		<id>http://lalith.in/?p=787</id>
		<updated>2011-03-30T22:56:12+00:00</updated>
		<content type="html">&lt;p&gt;Last week&amp;#8217;s Barcelona trip was the perfect weekend getaway from a hectic masters programme. After a not-so-enjoyable stint with changing hostels on Thursday, I met my colleagues from &lt;a href=&quot;http://www.upc.edu/&quot;&gt;UPC, Barcelona&lt;/a&gt; for a nice round of drinks and tapas. I left for the &lt;a href=&quot;http://www.melia-barcelona.com/en/melia-barcelona.html&quot;&gt;Melia Barcelona&lt;/a&gt; early next day for &lt;a href=&quot;http://www.wns3.org/2011&quot;&gt;WNS3 2011&lt;/a&gt;, and I was obviously excited about meeting the rest of the ns-3 developers for the first time. It&amp;#8217;s been more than a year of my involvement with the project, and so far it&amp;#8217;s been an amazing experience to work with the really awesome people that comprise of the ns-3 community. So meeting the faces behind the names from the mailing list was something I was looking forward to, and I did. A lot of hand shakes and introductions later, we got started with the &lt;a href=&quot;http://www.wns3.org/2011/Programme/Schedule&quot;&gt;programme&lt;/a&gt;. My talk went pretty well too.&lt;/p&gt;
&lt;p&gt;After the talks, we  had a pre-meeting for next day&amp;#8217;s &lt;a href=&quot;http://www.nsnam.org/wiki/index.php/DevelMeetingMarch2011&quot;&gt;ns-3 developers&lt;/a&gt; meeting in order to decide the agenda, the priorities, and the action items we planned to walk away with (note that beer is part of the schedule &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;  ). The day ended with an amazing dinner at a rather classy restaurant in the city.&lt;/p&gt;
&lt;p&gt;The developers meeting took place at the &lt;a href=&quot;http://www.cttc.es/index.jsp&quot;&gt;CTTC&lt;/a&gt; demo center on Saturday and lasted around 7 hours in total including lunch, during which we discussed and planned ahead as far as solving a number of issues was concerned. We also came to a consensus on organising an &lt;a href=&quot;http://www.nsnam.org/wiki/index.php/NSOC2011&quot;&gt;NS-3 Summer of Code&lt;/a&gt; programme, for which I&amp;#8217;ll be handling the reigns. All in all, it was an awesome experience to meet these guys, from whom I&amp;#8217;ve been learning a lot over the past year. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;So in short, life is good. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/787/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/787/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/787/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/787/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/787/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/787/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/787/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/787/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/787/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/787/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/787/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/787/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/787/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/787/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=787&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;div class=&quot;sharedaddy&quot;&gt;&lt;/div&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">ForSyDe</title>
		<link href="http://www.ict.kth.se/forsyde/"/>
		<id>http://www.ict.kth.se/forsyde/</id>
		<updated>2011-03-25T13:18:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://www.ict.kth.se/forsyde/&quot;&gt;Formal System Design&lt;/a&gt; (ForSyDe) from &lt;a href=&quot;http://www.kth.se/ict?l=en_UK&quot;&gt;KTH Royal Institute of Technology&lt;/a&gt;, Sweden is now available for Fedora. It is a methodology with the objective to move system design (System on Chip, Hardware and Software systems) to a higher level of abstraction, and to bridge the abstraction gap by transformational design refinement. You can install it using:
&lt;pre&gt;
  $ sudo yum install ghc-ForSyDe
&lt;/pre&gt;
It is the 100th Haskell package in Fedora.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/03/20/gsoc-2011-results/"/>
		<id>http://lalith.in/?p=769</id>
		<updated>2011-03-20T00:56:36+00:00</updated>
		<content type="html">&lt;p&gt;Unfortunately, ns-3 wasn&amp;#8217;t selected as a mentoring organisation for GSoC 2011. But don&amp;#8217;t worry, it doesn&amp;#8217;t end with that. We are keen on self organising a summer of code programme of our own, so that we can support some student projects and offer mentoring for the same over the summer. While we haven&amp;#8217;t decided on the exact plan yet, it is on our agenda for next week&amp;#8217;s &lt;a href=&quot;http://www.nsnam.org/wiki/index.php/DevelMeetingMarch2011&quot;&gt;ns-3 developers&amp;#8217; meeting&lt;/a&gt; at Barcelona, co-located with &lt;a href=&quot;http://simutools.org/2011/&quot;&gt;Simutools 2011&lt;/a&gt; and &lt;a href=&quot;http://www.wns3.org/2011/&quot;&gt;WNS3 2011&lt;/a&gt;. So stay tuned for updates from our end. If you have any ideas, suggestions or expectations from such a programme, feel free to get in touch with me and let me know what you think.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/769/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/769/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/769/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/769/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/769/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/769/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/769/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/769/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/769/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/769/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/769/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/769/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/769/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/769/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=769&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Reading raw disks with python - Windows/Linux/Mac</title>
		<link href="http://feedproxy.google.com/~r/ArbitCrap/~3/I9ugcTwMZ4M/reading-raw-disks-with-python.html"/>
		<id>tag:blogger.com,1999:blog-10499320.post-8267238945347417246</id>
		<updated>2011-03-01T13:09:00+00:00</updated>
		<content type="html">We have been working for a while on an embedded solution that geo-tags jerks using an accelerometer (I know it sounds funny :)). Not wanting to increase the overhead on our tiny &amp;lt; 16MHz 8 bit AVR and maintain our precise sampling requirements, we came up with a simple filesystem that does the job and this fancy format meant that we needed some code on the computer end to read the sdcard. Took us a while to search out the raw disk file for Windows. The following snippet shows how to search the disk at a particular address - [Our disk structure had the word MOMS at that address.]&lt;br /&gt;
&lt;br /&gt;
tl;dr Snippet to read the raw disk using python on Windows/Linux/MacOSX   &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/10499320-8267238945347417246?l=blog.lifeeth.in&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Praneeth Bodduluri</name>
			<email>noreply@blogger.com</email>
			<uri>http://blog.lifeeth.in/</uri>
		</author>
		<source>
			<title type="html">Blog.</title>
			<link rel="self" href="http://feeds.feedburner.com/ArbitCrap"/>
			<id>tag:blogger.com,1999:blog-10499320</id>
			<updated>2012-01-12T02:35:09+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">lalithsuresh</title>
		<link href="http://lalith.in/2011/02/23/ns-3-click-integration-merged/"/>
		<id>http://lalith.in/?p=749</id>
		<updated>2011-02-23T18:45:02+00:00</updated>
		<content type="html">&lt;p&gt;As the title suggests, ns-3-click is finally &lt;a href=&quot;http://code.nsnam.org/ns-3-dev/rev/943a8b1adb26&quot;&gt;in&lt;/a&gt;. So go ahead, clone ns-3-dev, and test all your Click graphs today! And as always, patches and improvements are welcome. &lt;img src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/lalithsuresh.wordpress.com/749/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/lalithsuresh.wordpress.com/749/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/lalithsuresh.wordpress.com/749/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/lalithsuresh.wordpress.com/749/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/lalithsuresh.wordpress.com/749/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/lalithsuresh.wordpress.com/749/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/lalithsuresh.wordpress.com/749/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/lalithsuresh.wordpress.com/749/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/lalithsuresh.wordpress.com/749/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/lalithsuresh.wordpress.com/749/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/lalithsuresh.wordpress.com/749/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/lalithsuresh.wordpress.com/749/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/lalithsuresh.wordpress.com/749/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/lalithsuresh.wordpress.com/749/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=lalith.in&amp;amp;blog=4169371&amp;amp;post=749&amp;amp;subd=lalithsuresh&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>Lalith Suresh (nightstrike_)</name>
			<uri>http://lalith.in</uri>
		</author>
		<source>
			<title type="html">Comfortably Geek</title>
			<subtitle type="html">Lalith Suresh</subtitle>
			<link rel="self" href="http://lalith.in/feed/"/>
			<id>http://lalith.in/feed/</id>
			<updated>2012-01-18T17:10:07+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">EFY Expo 2011, New Delhi</title>
		<link href="http://www.shakthimaan.com/Mambo/gallery/album66"/>
		<id>http://www.shakthimaan.com/Mambo/gallery/album66</id>
		<updated>2011-02-22T15:30:00+00:00</updated>
		<content type="html">I had participated in the panel discussion on &quot;Free/Open Source Hardware - What it means to Design Engineers&quot; at the &lt;a href=&quot;http://www.efyexpo.com/&quot;&gt;Electronics For You Expo&lt;/a&gt; 2011, &lt;a href=&quot;http://en.wikipedia.org/wiki/Pragati_Maidan&quot;&gt;Pragati Maidan&lt;/a&gt;, New Delhi on Saturday, February 19, 2011 representing &lt;a href=&quot;http://fedoraproject.org&quot;&gt;Fedora&lt;/a&gt;, and &lt;a href=&quot;http://spins.fedoraproject.org/fel/&quot;&gt;Fedora Electronic Lab&lt;/a&gt;. &lt;a href=&quot;http://www.massimobanzi.com/about/&quot;&gt;Massimo Banzi&lt;/a&gt;
(Arduino) chaired the session. &lt;br /&gt;
&lt;img src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album66/4_ajith_kumar.jpg&quot; alt=&quot;panel discussion&quot; /&gt;&lt;br /&gt;
The &lt;a href=&quot;http://shakthimaan.com/downloads.html#free-open-source-hardware-what-it-means-to-design-engineers&quot;&gt;presentation&lt;/a&gt; and &lt;a href=&quot;http://www.shakthimaan.com/Mambo/gallery/album66&quot;&gt;photos&lt;/a&gt; are available. It was good to meet up with Massimo Banzi, &lt;a href=&quot;http://opencores.org/acc,view,marcus.erlandsson&quot;&gt;Marcus Erlandsson&lt;/a&gt; (&lt;a href=&quot;http://www.opencores.org&quot;&gt;OpenCores.org&lt;/a&gt;) and &lt;a href=&quot;http://www.ifixit.com/User/Contributions/2/Kyle+Wiens&quot;&gt;Kyle Wiens&lt;/a&gt; (&lt;a href=&quot;http://www.ifixit.com&quot;&gt;iFixit&lt;/a&gt;). Marcus Erlandsson gave a demo of the &lt;a href=&quot;http://www.orsoc.se/&quot;&gt;ORSoC&lt;/a&gt; development board:&lt;br /&gt;
&lt;img src=&quot;http://www.shakthimaan.com/Mambo/gallery/albums/album66/2_orsoc_board.jpg&quot; alt=&quot;orsoc board&quot; /&gt;&lt;br /&gt;
I was also able to catch up with few Arduino hackers from Delhi. We had a good discussion about open hardware, licensing, community development, hardware hacking, and of course Fedora Electronic Lab. Special thanks to Electronics For You for sponsoring the travel.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">parameterized-data</title>
		<link href="http://hackage.haskell.org/package/parameterized-data"/>
		<id>http://hackage.haskell.org/package/parameterized-data</id>
		<updated>2011-02-21T06:10:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://hackage.haskell.org/package/parameterized-data&quot;&gt;parameterized-data&lt;/a&gt; is now available for Fedora. Install it using:
&lt;pre&gt;
  $ sudo yum install ghc-parameterized-data
&lt;/pre&gt;
A &lt;a href=&quot;http://www.ict.kth.se/forsyde/files/tutorial/tutorial.html#FSVec&quot;&gt;tutorial&lt;/a&gt; illustrating vectors parameterized in size using the above is written by Alfonso Acosta.&lt;br /&gt;</content>
		<author>
			<name>Shakthi Kannan (mbuf)</name>
			<uri>http://www.shakthimaan.com/news.xml</uri>
		</author>
		<source>
			<title type="html">shakthimaan.com</title>
			<subtitle type="html">/news</subtitle>
			<link rel="self" href="http://www.shakthimaan.com/news.xml"/>
			<id>http://www.shakthimaan.com/news.xml</id>
			<updated>2012-01-15T13:20:11+00:00</updated>
		</source>
	</entry>

</feed>

