tag:blogger.com,1999:blog-74799282921272395142024-02-20T06:41:37.741+05:30Bits From My LifeTo share bits of knowledge, experiences, lessons & fun stuff from my life.Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-7479928292127239514.post-55153151933416774282012-11-16T22:21:00.003+05:302012-11-16T23:59:10.945+05:30Correct way to structure your Django 1.4 projects<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: -webkit-auto;">
<span style="color: #222222; font-family: monospace;"><span style="font-size: 14px;"><b><i><br />
</i></b></span></span><script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script></div>
<div>
<br /></div>
<br />
PS: This post is written assuming you're familiar with <a href="https://www.djangoproject.com/" target="_blank">Django</a> and at-least have some basic experience trying to set-up a Django project (for learning or for some cool project).<br />
<br />
Purpose: To show how to properly set-up your Django1.4 project after seeing other developers getting it wrong (seen it wrongly structured by my mentee, senior developers and junior developers at my firm.).<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifsqBDwPnLraOX-8XU2TTmYn738CV-P-UnTbSfoJcQonHLsS_3hVHhy6tCZXNLjCaOl_m8LpMTdP8YGxAiyGy4y8h4yTDy55ITCsmcMRK1Aed95kEgheyEQd2WnEBrgFai8XSb6ODur3o/s1600/django1.3.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Django 1.3 Project structure: Initial structure followed by two apps added to the project." border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifsqBDwPnLraOX-8XU2TTmYn738CV-P-UnTbSfoJcQonHLsS_3hVHhy6tCZXNLjCaOl_m8LpMTdP8YGxAiyGy4y8h4yTDy55ITCsmcMRK1Aed95kEgheyEQd2WnEBrgFai8XSb6ODur3o/s400/django1.3.png" title="Django 1.3 Project structure: Initial structure followed by two apps added to the project." width="370" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Django 1.3 Project structure: Initial structure followed by two apps added to the project.</td></tr>
</tbody></table>
<br />
Refer above picture, where I shown a Django < 1.4 project structure. (I know, at least Django 1.2 & 1.3 follows this structure).<br />
<div>
<br /></div>
<div>
First tree view is of the initial structure that you will get by calling<br />
<div>
<blockquote class="tr_bq">
$ django-admin startproject Proj</blockquote>
Take a note that manage.py, settings.py, urls.py are in the main folder.<br />
Following tree display is after creating two apps named app1 & app2. You'll do it as follows<br />
<br />
<blockquote class="tr_bq">
$ ./manage.py startapp app1</blockquote>
<blockquote class="tr_bq">
$ ./manage.py startapp app2</blockquote>
Those apps are created in the same level as settings.py and manage.py<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMT0OWh7-trU4nL8QymlyiwIx1WZ9-AiOyvpu-tPBMCjF_2pcideHvtgM7CcZYaR-iJLZI_o5YDAjZC6yKiTAUE6ppO4pRlnQ7A-Ut1HtqOBbsWB90tu9BrU6CkHaiLyIdpMJAwDqqvXs/s1600/django1.4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Django 1.4 Project structure: Initial structure followed by two apps added to the project. And at last a wrong structure that I've seen people adopting. " border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMT0OWh7-trU4nL8QymlyiwIx1WZ9-AiOyvpu-tPBMCjF_2pcideHvtgM7CcZYaR-iJLZI_o5YDAjZC6yKiTAUE6ppO4pRlnQ7A-Ut1HtqOBbsWB90tu9BrU6CkHaiLyIdpMJAwDqqvXs/s640/django1.4.png" title="Django 1.4 Project structure: Initial structure followed by two apps added to the project. And at last a wrong structure that I've seen people adopting. " width="410" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Django 1.4 Project structure: Initial structure followed by two apps added to the project. And at last a wrong structure that I've seen people adopting.</td></tr>
</tbody></table>
<br />
<br />
<div>
Now, Django 1.4 changed this organization slightly. They now make settings.py & urls.py into a separate module (or app, whatever you like) along with added wsgi.py (which can be used as is for your Apache wsgi configuration, in most cases).</div>
<div>
<br /></div>
<div>
First tree view shows basic project structure after createproject.</div>
<blockquote class="tr_bq">
~/Django1.4/bin/ $ django-admin.py createproject Proj</blockquote>
Note that an module called Proj is created with settings.py, urls.py and wsgi.py within Proj main folder.<br />
You can rename main folder to anything you wanted (or keep it as it is).<br />
<br />
Also note that manage.py is still kept at higher level (although Django1.4's manage.py is different from from the manage.py found in earlier Django releases).<br />
<br />
Following tree display is obvious & correct way to structure your project. It's result after running startapp to create two applications app1 & app2.<br />
<blockquote class="tr_bq">
~/Project/ $ ./manage.py startapp app1</blockquote>
<blockquote class="tr_bq">
~/Project/ $ ./manage.py startapp app2</blockquote>
Now app1, app2 and Proj modules will be available to each other if outer Proj folder is in python path.<br />
<div>
Which will be in path, because manage.py is kept at outer Proj folder and runserver will do the necessary. Here every apps and django settings & routing are kept as separate modules. Isn't this great?</div>
<div>
Well, I like it, it help me better organize things and was so obvious for me from start.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Just to show how others get it wrong by emulating previous project structuring - i.e.,your apps laying beside settings.py, urls.py and all (you know, we hate change :-/ ) - see the last tree view.</div>
<div>
Now, you have one app/module called Proj and your supposed to be apps app1 & app2 are - well correctly speaking - become sub-modules of your app called Proj.</div>
<div>
<br /></div>
<div>
Does it make sense now! Well then I succeeded, if not go and read from beginning, shoot me a mail, leave a comment or abuse (at least show some passion; eventhough I'm going to delete most of 'em anyway). </div>
<div>
Caution: Some might even try to copy manage.py into Proj module ;-)</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b>Update: </b>An attempt to make it a screen cast happen just after posting this. I know there're lots of rough edges out there. Please bare with me and provide constructive feed-backs.<br />
Find it at <a href="http://youtu.be/X2ksbJ5N9-I" target="_blank">YouTube</a> Or <a href="https://vimeo.com/53695740" target="_blank">Vimeo</a></div>
<div>
<br /></div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-79296980393868082202012-09-24T18:42:00.000+05:302012-09-24T18:51:18.409+05:30Finding per user contributions in an SVN repo<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: -webkit-auto;">
<span style="color: #222222; font-family: monospace;"><span style="font-size: 14px;"><b><i><br /></i></b></span></span><script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script></div>
<div>
There was a need to get per user contributions in a project last year.<br />
That project was versioned using Subversion (svn).<br />
<br />
At last we came up with the following script, which surely is not fool proof, provides an over all per user contribution.<br />
<br />
Here it's:<br />
<script src="https://gist.github.com/3775813.js"> </script>
<br />
However, I left it to you to improve further; who knows the unmodified version might be good enough for you.<br />
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-40975659734885513362012-07-12T00:15:00.001+05:302012-07-12T01:02:26.802+05:30Set difference: Data provided from two big files with one number at a line<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="gmail_quote">
<div>
Today, I had to find out difference between two huge lists of numbers.<br />
Numbers are 17 digits long and list are of around 1 lac.<br />
<br />
PS: I'm documenting both versions here for my future reference.<br />
<br />
I used python, because diff doesn't felt good for me. because it will print both ins and outs of both files. Also, I ruled out diff's possibility, because I didn't felt it will work at that time.<br />
<script src="https://gist.github.com/3092361.js">
</script>
<br />
Later, at home: I give diff a try.<br />
Yes, it's not that beautiful as in python. I'd cut and sed a bit.<br />
But still, it's a "one liner" and I like 'em a lot.<br />
<script src="https://gist.github.com/3092321.js">
</script>
<br />
<div>
<br /></div>
</div>
<br /></div>
</div>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-83179746660054767612011-10-03T01:13:00.001+05:302011-10-03T01:18:45.970+05:30Finally, I have my hands on them<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8x-HL88FeHJXq-5PHHx8Ri0upGbrILkHOwvUtJetqUUO3pTAA3K9dLuhtcCKr4yTnNkqiPgi34t6YVMo3RTTcXMYVjq5keBTJUo2_VmXtz7I5k0cGuJhHUSqNmeGPEvxZ84d9_631Nt8/s1600/Photo0441.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8x-HL88FeHJXq-5PHHx8Ri0upGbrILkHOwvUtJetqUUO3pTAA3K9dLuhtcCKr4yTnNkqiPgi34t6YVMo3RTTcXMYVjq5keBTJUo2_VmXtz7I5k0cGuJhHUSqNmeGPEvxZ84d9_631Nt8/s640/Photo0441.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It had been so long, since I started to think about buying a book titled "<a href="http://www.cs.bell-labs.com/cm/cs/cbook/index.html">The C Programming Language</a>" by <a href="http://www.cs.princeton.edu/~bwk/">Bryan W. Kernighan</a> and <a href="http://en.wikipedia.org/wiki/Dennis_Ritchie">Dennis M. Ritchie</a>. If I put it as accurately I can as possible now a days, It'll be 3 year after I learned how to program (Obviously, In C, we initiated). This book is a standard reference for "C" language till the date, a gift from authors of the language, themselves. It wasn't available at local book stalls. (I do think, that's the case, even now.)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The other book shown here, Is called "<a href="http://www.hackersdelight.org/">Hacker's Delight</a>.". Well, it's no immediate use to me. But I liked the content of that Book. It's a bible of Bit level Algorithms and techniques. What I already know about bit arithmetic become nothing in front of this Excellent book. A must have, If you want to know your machine.</div>
<div class="separator" style="clear: both; text-align: left;">
Want to become a Embedded expert and so on. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And If I say, these are first Computer Science books that I'm buying with my own money and Out of requirements by academic needs. And I already have a copy of e-version of these books, long back. I just needed a printed version, to serve as a quick reference.</div>
<br />
Also, It's <a href="http://flipkart.com/">flipkart.com</a> which made my long desire to earn these books possible. Their delivery is very good and on time. Packaged really well, with a book-mark-let & bill.<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
What I use daily is Python, I love to code in python, think in python, (not eating python, never tried, or haven't got a chance ;-) ). If you come to know any book about python worth buying as reference, and is small like these two listed here ( I don't want to buy a {Java, ...} "Black Book" or {C++, ..}"Complete Reference" kind of mammoth book. And most likely I may already having a e-book of your suggestion. What I need is a strong reason to have that book in print.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
By the way, one of this books are worth owing (if not both). Go ahead, have it handy...</div>
<script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script></div>
Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-33935274317914984292011-09-20T11:55:00.001+05:302011-09-20T12:18:07.271+05:30Software Engineering - Continues refinement<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="font-family: Verdana,sans-serif;">
Every programmer wishes to write some code, which is both elegant, and readable. A master piece to reference to...</div>
<div style="font-family: Verdana,sans-serif;">
And there may not be a single programmer, who said at least once in their life time that, "If I had time, I'd rewrite it" or any similar one.</div>
<div style="font-family: Verdana,sans-serif;">
<br /></div>
<div style="font-family: Verdana,sans-serif;">
Today, let's discuss, how the idea of sorting a list of list went on, </div>
<div style="font-family: Verdana,sans-serif;">
<br /></div>
<div style="font-family: Verdana,sans-serif;">
I had to sort a list of lists, that's the result of a search, comes from Web Service. After that, the result is extracted from the XML document that's returned and formatted for front end. So, now all the data is in the form of strings. And I'm ended up with the task of sorting a list of list of strings, based on different items in the inner lists @ different times. And Obviously we can't compare the data as strings, we have to convert them into their proper data type before comparison.</div>
<div style="font-family: Verdana,sans-serif;">
<br /></div>
<span style="font-family: Verdana,sans-serif;">Since, I works on a Python based project, First thing, that came to mind is to use, <i>sorted</i> inbuilt function, and pass it a function to compare. But the new way of doing this pass a function to <i>key</i> argument of sorted instead of <i>cmp</i> argument. </span><br />
<script src="https://gist.github.com/1227363.js">
</script><br />
<div style="font-family: Verdana,sans-serif;">
This is a bad idea, that we are doing array sub-scripting on the lambda itself. Which is a lot inflexible. A quick visit to <a href="http://wiki.python.org/moin/HowTo/Sorting">python wiki</a> showed me, how to convert a <i>cmp</i> to <i>key</i> argument. This is more flexible, Now I can tell, which column to sort, how to convert that particular column to proper data type etc.
<script src="https://gist.github.com/1227300.js">
</script></div>
<div style="font-family: Verdana,sans-serif;">
Now, <i>compare()</i> is a very simple function, which I don't have to define separately, so I put that into <i>cmp_to_key()</i> function as a default parameter, a lambda.
<script src="https://gist.github.com/1227327.js">
</script></div>
<br />
<div style="font-family: Verdana,sans-serif;">
But, hold on, Why should we create a lambda, if we can do that comparison directly, without creating a function first? So, our lambda got removed and comparison is performed directly on <i>__lt__</i> special function
<script src="https://gist.github.com/1227330.js">
</script></div>
<br />
<div style="font-family: Verdana,sans-serif;">
Ok, now we are in good shape. Now, we can shift our focus into, How to specify a a function, which will convert a string in the lists to a proper data type.
I'm using<a href="http://datatables.net/usage/server-side"> DataTables jQuery plugin</a> for client side display of paginating table. So, what I get back to server to determine column is a number. So, I made a list, which I can map to in sorting function based on which column to sort.
<script src="https://gist.github.com/1227345.js">
</script></div>
<br />
<div style="font-family: Verdana,sans-serif;">
Here, we are making a lot of repetitions, with <a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY principle</a> in mind, I decided to normalize those, like Database normalizations, you can say. But there's another reason for the decision, we have another type of searches, whose return records varies, and in effect will create a lot of duplicates of anonymous functions which does same thing. So here goes the solution
<script src="https://gist.github.com/1227359.js">
</script> </div>
<br />
<div style="font-family: Verdana,sans-serif;">
Here goes final solution, bear in mind this is simplified version, I removed all the complexities and simplifications involved, because of Classes, packages, etc., which is there in real system. But, I do believe, this shows how a piece of code evolved to solve a problem, And why it took time and knowledge to become perfect / or near perfect.
<script src="https://gist.github.com/1227375.js">
</script> </div>
<div style="font-family: Verdana,sans-serif;">
NB: sorted function uses a condition at end to assign a value to reverse, which is actually a Boolean. That single statement alone undergone a lot of transformation in the process. Well, that's for another blog entry.
<script src="http://platform.linkedin.com/in.js" type="text/javascript">
E
</script><script data-counter="top" type="in/share">
</script></div>
</div>
Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-54746483130284234362011-09-06T01:31:00.004+05:302011-09-06T01:44:40.708+05:30Start on Microchip programming... for hobby or for money<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">One of my friend asked me today the following question, </span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">I'm often asked about this, someway or other.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Let me answer this now for all....</span><br />
<br />
<br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Q: "<b>I want to start programming on chip.. Can you suggest a good chip and a device to program it? Also tell me any sites which can help me</b>."</span><br />
<br />
<br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">A:"<b>Simple one is Arduino. You will get it packaged with a programmer.</b></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;"><b>If you want some more powerful and commercial one, Go for Microchip's PIC family of processors. After you are familiar with those, and need even more power, try AVR from ATMEL</b>."</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyX7ARh_AnW1z1aEZIEdaT_z2aKR6Ma6scAoFdkhbMZgZo1a50HZOMfZwMlD7lXpgIal0JPUYxnamVLN6ofXb5_ScV0YNriX-45QGaFme-sWkEMUL4lYV3NDtOmAGPBQpilLGZtbdPRTk/s1600/ArduinoDiecimilaComponents.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyX7ARh_AnW1z1aEZIEdaT_z2aKR6Ma6scAoFdkhbMZgZo1a50HZOMfZwMlD7lXpgIal0JPUYxnamVLN6ofXb5_ScV0YNriX-45QGaFme-sWkEMUL4lYV3NDtOmAGPBQpilLGZtbdPRTk/s400/ArduinoDiecimilaComponents.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwjfFt4uYqz1fkbjJWUhqCbCZIBQ1ixpOrmjx15jn6W9ZSs42pwEcVPixdYhwtN17ntqoHmm9tZb3dETo81DvEvO4VxQ9H6Ogcd_vQ_TN7Q2xzg0e_Zze03vtAzOlHtUfkz6Nhw0OE5zw/s1600/avrs.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwjfFt4uYqz1fkbjJWUhqCbCZIBQ1ixpOrmjx15jn6W9ZSs42pwEcVPixdYhwtN17ntqoHmm9tZb3dETo81DvEvO4VxQ9H6Ogcd_vQ_TN7Q2xzg0e_Zze03vtAzOlHtUfkz6Nhw0OE5zw/s400/avrs.jpeg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeoV-OeUCfRMz_W83Q-nZ466KgVa0zN2qz9Ir4YHeb3Ru25AOhWBPL4HZMrZJyIPoarnH_Bt1saNSdQFP83nQFBROmAx0QAgPAcsJc1MqdGH3a-PC22gH0-3oMMim0u5U-4yOUU695Cok/s1600/sisteme_cu_microcontroller.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeoV-OeUCfRMz_W83Q-nZ466KgVa0zN2qz9Ir4YHeb3Ru25AOhWBPL4HZMrZJyIPoarnH_Bt1saNSdQFP83nQFBROmAx0QAgPAcsJc1MqdGH3a-PC22gH0-3oMMim0u5U-4yOUU695Cok/s400/sisteme_cu_microcontroller.jpg" width="400" /></a></div>
<br />
<br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">Some resources from my Bookmarks is given below:</span><br />
<a href="http://www.voti.nl/swp/"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">http://www.voti.nl/swp/</span></a><br />
<a href="http://www.embedds.com/"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">http://www.embedds.com/</span></a><br />
<a href="http://www.instructables.com/id/Business-Card-PIC-Programmer/step2/Parts/"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">http://www.instructables.com/id/Business-Card-PIC-Programmer/step2/Parts/</span></a><br />
<a href="http://www.arduino.cc/playground/Main/ElectroInfoResources"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">http://www.arduino.cc/playground/Main/ElectroInfoResources</span></a><br />
<a href="http://www.piclist.com/techref/microchip/index.htm"><span class="Apple-style-span" style="font-family: Verdana, sans-serif;">http://www.piclist.com/techref/microchip/index.htm</span></a><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">My bookmarks become so messy now a days, and I'm not getting time to organize them.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">So, these are the quickest ones that I picked up from it. I'll let you know, if I found some others.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">My old Book mark is here at<a href="http://www.delicious.com/atharvan">http://www.delicious.com/atharvan</a></span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif;">you may find it useful."</span><br />
<script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script></div>
Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-3308876709329054092011-05-11T21:50:00.000+05:302011-05-11T21:50:31.303+05:30Tic Tac Toe in python - Just for fun<div dir="ltr" style="text-align: left;" trbidi="on">The other day, I was looking for some GNU/Linux administration reference, I ended up viewing a "tic tac toe" program in Ruby at a Linux admin's blog.<div><br />
</div><div>He wrote that in ruby and took him 90mins. That was written using class.</div><div>But "Zen of Python in mind", I wrote my own version without class.</div><div>I prefer this way (sparse is better than dense), and I enjoy Python more when, I think of my Java days. </div><div>I haven't read ruby code before hand so, I did not wrote a clone of ruby code.</div><div>And this took me around 40min. Because, I realized some missing features only when I played it several times.</div><div>Then only I added those.</div><div>Specifically, drawing complete board after someone wins and stopping the game when all fields are filled out.<br />
<script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script><br />
<div><br />
</div><div><script src="https://gist.github.com/966678.js">
</script></div></div><div><br />
</div><div>I'll not say, the program is beautiful and very readable.</div><div>However, it's good enough for playing with it.</div></div>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-37445046313373455182011-04-15T20:11:00.000+05:302011-09-20T01:42:04.080+05:30Structures: C -> Java -> Python -> Erlang<div dir="ltr" style="text-align: left;" trbidi="on">
With C we had structures and unions.<br />
I like them, because, I don't always need to embed behaviors with data(class).<br />
<br />
So you'll do something like<br />
<blockquote style="color: #6aa84f;">
<script src="https://gist.github.com/1227399.js">
</script></blockquote>
<br />
With Java, I'm forced to use classes, because that's how java is structured.<br />
They are purely object oriented. (eg: in C++)<br />
<br />
<script src="https://gist.github.com/1227403.js">
</script><br />
<br />
In python, you can take java's approach; but since Python is not Java ;-) and we<br />
tend to write less,<br />
We'll use dictionaries (or hashes in Perl)<br />
<br />
<blockquote style="color: #6aa84f;">
<script src="https://gist.github.com/1227411.js">
</script></blockquote>
<br />
I'm a newbie to earlang (and to functional programming),<br />
I think there's no dictionaries, but tuples.<br />
<br />
Here's how we use tuples to achieve same (also applicable to python)<br />
<br />
<script src="https://gist.github.com/1227430.js">
</script><br />
much like json, isn't it?<br />
notice, there are no quotes around someone, that's an atom (this is erlang dude).<br />
<br />
This in python: <script src="https://gist.github.com/1227435.js">
</script><br />
Well, how do we understand what's what?<br />
<br />
hmm, ok, we can tag them with atoms, (this is a programming practice in erlang world)<br />
so our earlier example becomes,<br />
<script src="https://gist.github.com/1227440.js">
</script><br />
That's it.<br />
You can do this with python too, like as I've shown below;<br />
(but I personally prefer the use of dictionaries, as I've shown before)<br />
<blockquote style="color: #6aa84f;">
<script src="https://gist.github.com/1227458.js">
</script> </blockquote>
But don't try to write programs in earlnag way in python, why?<br />
Python got dicts, it's just an overkill to use tuples like this.<br />
Also, in earlang, there're some language specific features that we can make use of.<br />
<br />
In Earlang, we extarct values using pattern matching operator,<br />
<script src="https://gist.github.com/1227463.js">
</script><br />
2nd line will cause error.<br />
<br />
it'll fail with an error. see, how it matches atoms at LHS and RHS.<br />
(in python, we don't have this feature, since '=' is just an assignment operator as every<br />
other object oriented/proceedural programmer think it is.)<br />
we can use this in many interesting ways, for example, to distuinguish different<br />
data structures at runtime and extarct them properly.<br />
<br />
Just for the sake of it, I'll show another method to extract values called<br />
"unification", which is useful for selective extarction; here it is...<br />
<blockquote style="color: #6aa84f;">
<script src="https://gist.github.com/1227468.js">
</script></blockquote>
But differntially from object oriented approch, we no more had a template now.<br />
We'll use functions to create and parse these dictionaries and tuples.<br />
(Pythonists like to write more functions than classes, because, python make it<br />
really unncessary to write classes always, and we have 'Zen of python'.)<br />
<div>
<br /></div>
<script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script></div>
Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-80577038964735232642011-04-04T21:47:00.004+05:302011-04-04T23:44:03.098+05:30My Desktop setup<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVi38szNI0eKxb53RSgQimsFOPhSmlkMABcxWAk2bto6G-1Htd8r9PxGqNRNcZCQZDf2ByXsq1j-KFd-Vz84d0YEbLYIh6sVAN6QRmSvxA-tmmzpPVpXTFK-Y-Eyae0YGyS3UogStw_1O1/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="359" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVi38szNI0eKxb53RSgQimsFOPhSmlkMABcxWAk2bto6G-1Htd8r9PxGqNRNcZCQZDf2ByXsq1j-KFd-Vz84d0YEbLYIh6sVAN6QRmSvxA-tmmzpPVpXTFK-Y-Eyae0YGyS3UogStw_1O1/s640/Screenshot.png" width="640" /> </a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Here goes my desktop.</div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><b>Operating System</b>:<a href="http://www.gnu.org/gnu/why-gnu-linux.html"> GNU/Linux</a></div><b>Flavour</b>: <a href="http://www.debian.org/">Ubuntu (Debian Derivative)</a><br />
<div class="separator" style="clear: both; text-align: left;"><b>Version</b>: <a href="http://releases.ubuntu.com/10.10/">10.10</a> (kept up to date)</div><div class="separator" style="clear: both; text-align: left;"><b>Kernel</b>: <a href="http://www.kernel.org/">2.6.35-28-generic-pae</a></div><div class="separator" style="clear: both; text-align: left;"><b>Hardware(striped down)</b>: Intel C2D, 4GB, 320GB. </div><div class="separator" style="clear: both; text-align: left;"><b>Manufacture & Model:</b> <a href="http://us.toshiba.com/computers/laptops/satellite-pro/C650">Toshiba Satellite Pro.</a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><b>Desktop Manager</b>: <a href="http://www.gnome.org/">Gnome </a></div><div class="separator" style="clear: both; text-align: left;"><b>Compositing Manager</b>: <a href="http://www.compiz.org/">Compiz</a></div><div class="separator" style="clear: both; text-align: left;"><b>Gnome-panel</b> : set to be hidden always and removed all that I can from the panel. (ie., panel is empty now, but we can't remove last panel completely.)</div><div class="separator" style="clear: both; text-align: left;"><b>Icon Theme</b>: <a href="http://gnome-look.org/content/show.php/Faenza?content=128143">Fenza Dark.</a> (see link for ppa)</div><div class="separator" style="clear: both; text-align: left;"><b>Dock</b>: <a href="http://www.webupd8.org/2010/10/video-how-to-customize-avant-window.html">Avant (trunk) </a></div><div class="separator" style="clear: both; text-align: left;"><b>Menu</b>: <a href="http://www.omgubuntu.co.uk/2010/06/cardapio-alternative-gnome-panel-menu-launcher-so-much-more/">Cardapio Menu (using ppa)</a> it even have awn applet. </div><div class="separator" style="clear: both; text-align: left;"><b>Conky</b>: <a href="http://bitsfromlife.blogspot.com/2011/04/fwd-my-conky-configuration-file.html">for configuration look here</a> </div><div class="separator" style="clear: both; text-align: left;"><b>Dock theme</b>: <a href="http://gnome-look.org/content/show.php/Divergence+IV+-+%22A+New+Hope%22?content=133892">Divergence-IV A New Hope</a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><b>Other gtk themes in use</b>: <a href="http://gnome-look.org/content/show.php/Elegant+Gnome+Pack?content=127826">Elegent</a>, <a href="http://www.google.co.in/url?sa=t&source=web&cd=1&sqi=2&ved=0CB8QFjAA&url=http%3A%2F%2Fgnome-look.org%2Fcontent%2Fshow.php%2FEquinox%2BGTK%2BEngine%3Fcontent%3D121881&rct=j&q=equinox%20theme&ei=_QKaTazFIcjIccaKracH&usg=AFQjCNGWeqNdap-zZR-sMCTViscYC3SWTw&sig2=P4sjnhPmP6EbmX21GAKuIQ">Equinox</a>, <a href="http://gnome-look.org/content/show.php/Divergence+IV+-+%22A+New+Hope%22?content=133892">A new hope.</a></div><div class="separator" style="clear: both; text-align: left;"><b>Other Icon theme in use:</b> <a href="http://gnome-look.org/content/show.php/AwOken+-+Awesome+Token+icon+set?content=126344">awoken</a></div><div class="separator" style="clear: both; text-align: left;"><b>Cursor theme</b>: <a href="http://gnome-look.org/index.php?xsortmode=down&logpage=0&xcontentmode=36&page=9">X11-Gear</a> (Sorry, I can't find exact package now, but it's there)</div><div class="separator" style="clear: both; text-align: left;"><b>File Manager:</b> <a href="http://www.webupd8.org/2010/09/ubuntu-1010-nautilus-elementary-ppa.html">nautilus-elementary </a> (nautilus isn't complete with this, sleek elegant look,breadcrumbs, inbuilt terminal, clutter view) and make use of extra pane and tabs ;)</div><div class="separator" style="clear: both; text-align: left;"><b>File Preview: </b><a href="http://gloobus.net/">Gloobus preview</a></div><script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script></div>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com2tag:blogger.com,1999:blog-7479928292127239514.post-85174872802678450762011-04-04T21:18:00.006+05:302013-08-18T02:46:13.808+05:30My Conky Configuration File<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="gmail_quote">
<div>
<div class="h5">
<div class="gmail_quote">
<div>
<div>
<div class="gmail_quote">
<div>
<b>Edit : </b>(Aug 17, 2013)<br />
All my configurations including conky's are now hosted at <a href="https://github.com/kra3/dot_files">https://github.com/kra3/dot_files</a><br />
<br />
<br />
<br />
I've been hearing about this conky for a long time.</div>
<div>
I think I tried it once in my 5 years of linux experience.</div>
<div>
But, I haven't experienced it till last day.</div>
<div>
<br /></div>
<div>
Conky is a system monitor originally based on torsmo! What the heck is this "torsomo"?</div>
<div>
Honestly, I don't know. Le me google that for you....</div>
<div>
<br /></div>
<div>
<div>
<a href="http://torsmo.sourceforge.net/" target="_blank"><b>Torsmo</b></a> is a system monitor that sits in the corner of your desktop. It's very simple, customizable and it renders only text on the desktop (and percentagebars if you want it to ;) and the only lib it uses is Xlib.</div>
<div>
Torsmo can show various information about your system and it's peripherals, including:</div>
</div>
<div>
<div>
<ol>
<li>Kernel version</li>
<li>Uptime</li>
<li>System time</li>
<li>Network interface information</li>
<li> Memory and swap usage</li>
<li>Hostname</li>
<li>Machine, i686 for example</li>
<li>System name, Linux for example</li>
<li>Temperatures from i2c-sensors</li>
<li>Temperature from ACPI</li>
<li>Battery capacity from ACPI/APM</li>
<li>Number of processes running or sleeping</li>
<li>Local mails (unread and all)</li>
<li>Filesystem stats</li>
</ol>
<div>
<br /></div>
</div>
</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3pUGiUpeu3JglutklBVsyYtorcWAZYpxgigV2xAgTbQns_P7dPQj58O_1ugqfb0BcGrYpjIh2fgd7ofKmMzhsyIK0lFdteiUSSQniBlCwbdwiyhVLtE57SF0yu4NPqID1MDvEBl9TvzLZ/s1600/Screenshot-1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3pUGiUpeu3JglutklBVsyYtorcWAZYpxgigV2xAgTbQns_P7dPQj58O_1ugqfb0BcGrYpjIh2fgd7ofKmMzhsyIK0lFdteiUSSQniBlCwbdwiyhVLtE57SF0yu4NPqID1MDvEBl9TvzLZ/s1600/Screenshot-1.png" /></a><br />
Enough, right?<br />
Ok, Now what's conky?<br />
<br /></div>
<div>
</div>
<div>
<b><a href="http://conky.sourceforge.net/" target="_blank">Conky</a></b> seems to fit in the same reign as of torsmo, but with more awesomeness, customizability and lots of inbuilt variables(almost 300) to access almost all features of system. Even bindings for POP, IMAP, music players like mpd, moc, audacious...</div>
<div>
You can use Lua scripts to customize it and use cairo to draw whatever way you wish...</div>
<div>
<br /></div>
<div>
Enough said, I don't need another resource hog, well, you are wrong, conky is designed to be lightweight. </div>
<div>
<a href="http://conky.sourceforge.net/documentation.html" target="_blank">Conky Documentation can be found at sourceforge.</a></div>
<div>
<br /></div>
<div>
search <a href="http://gnome-look.org/" target="_blank">gnome-look.org</a> for conky themes various configurations. </div>
<div>
<br /></div>
<div>
OK, Now goes my custom conky configuration file. I customized it the last day.</div>
<div>
You can mix and match it however you like it.</div>
<div>
You can see the result here. </div>
</div>
<br /></div>
</div>
</div>
<br />
Looks nice, how can I try this,<br />
<br />
All that's easy, if you are on linux.<br />
<br />
See conky documentation on how to install it on your system.<br />
<br />
<a href="https://bitbucket.org/kra3/dotconky/src">After that install .conkyrc from here</a> <br />
<br />
And place, ".conkyrc" on your home directory.<br />
<br />
More on readme file.</div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com2tag:blogger.com,1999:blog-7479928292127239514.post-55570453218961497352011-01-06T15:21:00.007+05:302011-01-06T16:52:13.353+05:30AJAX File Upload with Web2pyIt was not that long, since I experienced a problem while trying to upload a file using an ajax trapped form. I thought, it must be me doing something wrong. I was using <a href="http://www.web2py.com/"><b>web2py</b></a> to embed another page into a page via ajax. That is better known to web2py folk as LOADing a component.<br />
<br />
It's just happened that one of such component contains a file upload form. It was my first time using LOAD function provided by web2py. Basically it make use of<b> <a href="http://www.jquery.com/">jQuery</a></b> to load the page via ajax into a target div and traps input of any form in that page, so that page doesn't reload. Oh, I forgot to say that web2py is bundled with jQuery.<br />
<br />
It's always boring and tedious to understand a problem without experiencing it. So, Let's play with an example, (PS: I"m using web2py a full stack python framework, but you can use any language at server side and this problem will be there because, it's a problem with ajax)<br />
<br />
My model which defines table like this, <br />
<br />
<script src="http://pastebin.com/embed_js.php?i=U7whG99G"></script><br />
<br />
In RDBMS world, it column 'file' of table 'image' will transformed to a type of CHAR(or VARCHAR) and column must not be empty (notnull)<br />
Web2py can enforce this at many levels.<br />
notnull = True is enforced by database<br />
required = True is enforced by DAL (database abstraction layer) of web2py<br />
requires = IS_NOT_EMPTY() is enforced by SQLFORM.<br />
You are free to use any of them and it's up to you to use all of them or only one of them. (we give choice :-) )<br />
<br />
<br />
Now, the index function which maps a url and renders output <br />
<br />
<script src="http://pastebin.com/embed_js.php?i=p4wAwAvp"></script><br />
<br />
As you see web2py automates almost everything (yes, you can customize everything, and do it manually, if you want). This code generate an upload form as per database table IMAGE. automatically upload file into database, and if there's errors shows them to the user. After successful upload page is redirected to<span class="Apple-style-span" style="color: cyan;"> /upload/default/index.html</span>. Wow, Magick! :-)<br />
<br />
Now go to myform.html > You will be greeted with a file upload form and it just work.<br />
<br />
OK, now we decided to embed myform.html into another page(say index.html).<br />
<br />
For that we wrote <code><b><span class="Apple-style-span" style="color: cyan;">{{=LOAD(URL(c='default', f='myform.load'))}}</span></b> </code>in index.html and it got transformed to:<br />
<br />
<script src="http://pastebin.com/embed_js.php?i=hzRXsB2V"></script><br />
<br />
for non-web2py folks, URL function generate url, and here .load is served with a content type of text/html. By using .load extension page is rendered without any template we set up for regular html display. The url /example/default/myform.load is of course a relative url, it get interpreted as <span class="Apple-style-span" style="color: cyan;">http://xyz.com/upload/component/index.load</span>. Here 'example' is application, 'default' is controller and myform is a function. ie., <span class="Apple-style-span" style="color: cyan;">http://xyz.com/example/default/myform.load</span> will map to a function called myform() in a file default.py in an application called example and rendered based on extension(.load, .html, .json, .xml etc).<br />
<br />
I can't figure out what's going on. It always showed an error message stating that file is empty.<br />
And I fire up my browser's developer plugins and it become clear that file is not being sent to server via ajax. Yes, it's because ajax can't sent files (read XMLHTTP object).<br />
<br />
There are two remedies for this (as far as I can think of)<br />
1) use an iframe to load component. Since there is no AJAX there, it'll work.<br />
this is as simple as writing <code><b><span class="Apple-style-span" style="color: cyan;">{{=IFRAME(_src=URL(c='default', f='myform.load'))}}</span></b> </code>in your view. (here index.html).<br />
<br />
But, I hate iframe you may say (whether you say it or not, I'll). I learned a lesson in past that users care about functionality and not a bit about whether we use this or that and follows standard. So, I'm ready to break some if that cause better usability. (So I used iframe). Don't be disappointed, I have another option for you folks,<br />
<br />
2) Use one of many ajax file upload plugins. I am going to show a solution based on <b><a href="http://www.uploadify.com/">uploadify</a></b> library. It uses<b> <a href="http://www.swfupload.org/">swfupload</a></b>. and jQuery. So, if you really want to avoid iframe and burden users by making them download few more dependencies download uploadify library and extarct it into your server. (That said, this library is great if you want to implement multi-file upload). By using uploadify, you are going to do DB insert yourself. (if that's OK go ahead). Extract uploadify download into a folder called 'uploadify' under static directory.<br />
<br />
change myform function to: <br />
<br />
<script src="http://pastebin.com/embed_js.php?i=ZNH716HA"></script><br />
<br />
<br />
However, I tried it without embedding into another page, but it'll work even if it's embedded.<br />
There are many different plugins available to do the same, each differs in their approach(like submitting form to an embed iframe.<br />
So take your time to find them and go through them. (So server side code may change depending on your library of choice).<br />
Please look these libraries:<br />
<br />
<ol><li><a href="http://valums.com/files/2009/ajax-upload/demo-jquery.htm"><b>valums ajax upload</b></a></li>
<li><b><a href="http://jquery.malsup.com/form/">jQuery Form plugin</a></b></li>
</ol><br />
<br />
Happy experimentations :)<br />
<br />
<script src="http://platform.linkedin.com/in.js" type="text/javascript">
</script><script data-counter="top" type="in/share">
</script>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com2tag:blogger.com,1999:blog-7479928292127239514.post-17321141223486153932010-11-30T23:13:00.007+05:302010-12-05T19:26:29.079+05:30Rich Internet Application & GWT : Angel of Java ProgrammersWe all are hearing the buzz about <a href="http://en.wikipedia.org/wiki/Rich_Internet_application">Rich Internet Applications</a> (RIA) about a year or so. But, <b>what the heck is that beast</b>? You may ask. For the user's perspective, it's the desktop like experience delivered over web. Yes, you feel like you are using a real desktop application (well, at least sort of). The richness of desktop controls is transferred to web.<br />
<br />
<b>How RIA is build?</b> Arise another question. These all started with that amazing kid called AJAX (Asynchronous JavaScript And XML). Then more and more tools become available, like <a href="http://javafx.com/">Java FX</a>, <a href="http://www.adobe.com/products/air/">Adobe Air</a>, <a href="http://www.adobe.com/products/flex/">Adobe Flex</a> (and <a href="http://www.adobe.com/products/flash/">Adobe Flash</a>), <a href="http://www.silverlight.net/">Microsoft Silverlight</a>. But these tools, though it gives rapid and organized web application development, required some kind of plug-ins to be installed on your browser. There is the importance of AJAX based RIAs, because JavaScript is enabled in almost all browsers in use today.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div>However, It's not a fool proof solution, because there are people who switch off JavaScript for some reason, like me ;-). But it's still far more effective. To develop a RIA with JavaScript we can use<a href="http://jquery.com/"> jQuery</a>, <a href="http://mootools.net/">Moo-tools</a>, <a href="http://developer.yahoo.com/yui/">YUI,</a><a href="http://www.sencha.com/products/js/"> ExtJS</a> etc., frameworks, if you are a JavaScript ninja . Only because I'm not, but still eager to try my hand on RIA, I looked for another solution. There is <b>GWT.</b><br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<b>What is GWT?</b> It's<a href="http://code.google.com/webtoolkit/"> Google Web Toolkit</a>. Another amazing product from <a href="http://www.google.com/corporate/">Google Inc</a>. It let us write RIA in Java (Yes, Java, <strike>Sun's</strike> Oracle's) Let GWT compiler do the translation of your beautiful Java code into JavaScript, CSS and bootstrap HTML. That said, a little experience in JavaScript, CSS & HTML will not hurt at all.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><b>Where we are heading to?</b> Great question. I'm glad you asked this. As you see this far this isn't a tutorial or intro (it's too late..) of RIA. I'm here to show you some snaps of my GWT based project done at January 2010. Due to some reason, I forget to post about it.<br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<b>Why I choose GWT? </b>Sites I love, use GWT, <a href="https://wave.google.com/wave/?pli=1">Google Wave</a>, <a href="http://www.gmail.com/">Gmail</a>, new <a href="http://www.orkut.com/">Orkut</a>. <br />
<br />
Here it's, It uses, GWT, Hibernate JPA, Ext GWT etc., <br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<embed flashvars="host=picasaweb.google.com&hl=en_GB&feat=flashalbum&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fthe1.arun%2Falbumid%2F5545410825814022113%3Falt%3Drss%26kind%3Dphoto%26authkey%3DGv1sRgCPa-iKOWh4ipKQ%26hl%3Den_GB" height="400" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" type="application/x-shockwave-flash" width="600"></embed><br />
<br />
<b>Update: </b>Later, I thought I haven't given anything useful. So here it's.<br />
Even though project look(and is) simple, it's a considerable learning experience for me. I learned many things, not to mention GWT and related libraries, I learned bits of web programming in Java. Till then I only coded for desktop, through this project I'm introduced to Java Servelets, bits of JSP, concepts like ORM, Hibernate, JPA, RIA, GAE and ExtJS library. All this within 2-3 months.<br />
<br />
<b><a href="http://safelymanage.appspot.com/">Working Demo</a></b><br />
<br />
URL: <b><a href="http://safelymanage.appspot.com/">http://safelymanage.appspot.com/</a></b><br />
User Name: <b>demo</b><br />
Password: <b>demo</b><br />
<br />
It's a RIA application, so make sure JavaScript is enabled in your browser. <br />
I managed to change code to work partially on GAE. You can see the UI. However, you can't do anything useful. Because, I haven't got time to change Control Layer to work on GAE. (Model and View are functional.<br />
Also,It's a different theme and less aesthetically pleasing than one in above slide show (actual project.)Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-9379621952630354122010-11-24T01:18:00.000+05:302010-11-24T01:18:47.559+05:30XML: Is it worth<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iTe65zg15Yg/TOwWdXenGwI/AAAAAAAABG8/NjavKCPltvw/s1600/xml_ascent.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="273" src="http://1.bp.blogspot.com/_iTe65zg15Yg/TOwWdXenGwI/AAAAAAAABG8/NjavKCPltvw/s400/xml_ascent.png" width="400" /> </a></div><div class="separator" style="clear: both; text-align: center;">[ Source is from<a href="http://harmful.cat-v.org/software/xml/"> http://harmful.cat-v.org/software/xml/ </a>]</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Yes, I confess, I don't like XML at all. Reason, It's way too complication and I personally feels like it's a waste of storage space. Please, don't tell me that storage(be it memory or disk) is so cheap now a days. I still care. May be because, I started my programming (Computer Science) education with mighty "C". I always prefer to squeeze memory and make my programs as small as possible, (reason, why I changed from C++ to Java, then to Python: not to mention rapid development.) .</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Why use XML at all. There are good old RDBMS. Well if you find buzz about ODBMS, use them. Or use simple <a href="http://www.json.org/">JSON</a>. Or better, go for Google's <a href="http://code.google.com/p/protobuf/">ProtocolBuffers.</a></div><div class="separator" style="clear: both; text-align: left;">Web programming in Java, now days become full of xml configuration files.And it'll go on, getting multiplied as your system gets bigger, web services included and so on. So much work, if some one ask me about it! Thanks to <a href="http://web2py.com/">web2py</a>, I can make the same applications that I used to do with Java (on web) or with<a href="http://code.google.com/webtoolkit/"> GWT</a> (of course with <a href="http://pyjs.org/">pyjamas</a>) with absolutely no xml. I'm sure other python frameworks also qualify. </div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">So, avoid xml as much as you can. I'll not, because, I (read, clients) still need Java based web solutions no matter there's no significant advantage they can derive from not using python but java, and make it take almost double or tipple time than it take, if it developed in python. I also use xml, because I'm an html coder too. (Well html now a days get standardized to add an 'x' before html ==> xHTML. So many things changed for bad coders. I have to change headers only)</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Aaahhh,, we are deviating. so what's we are upto??</div><div class="separator" style="clear: both; text-align: left;">Oh I got, "XML"!!! Decide yourself. I've other things to do...</div>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-62037586779093488832010-10-21T19:25:00.000+05:302010-10-21T19:25:22.149+05:30SDLC: No more words....<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkgMcYSjismqbQxr3hah9BXQZgHoBtmmnVP5PUjj3hayImbwuOiAc6uohn2t7Gg4F_iOjtFp933zQcPH6ZeOam6IrJ3nv33qsFC7YA5w6ilwk1C1qDOVjJGvV-4RtIk3XK-GBjpL0l1dM8/s1600/sdlc-big.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkgMcYSjismqbQxr3hah9BXQZgHoBtmmnVP5PUjj3hayImbwuOiAc6uohn2t7Gg4F_iOjtFp933zQcPH6ZeOam6IrJ3nv33qsFC7YA5w6ilwk1C1qDOVjJGvV-4RtIk3XK-GBjpL0l1dM8/s640/sdlc-big.jpg" width="640" /></a></div>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-45641804607685531082010-07-06T00:06:00.000+05:302010-07-06T00:06:27.728+05:30My Strength : What I think I possess!<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_iTe65zg15Yg/TDImJIX3RaI/AAAAAAAABBE/W8fA_C_fZMc/s1600/6a00d834516a5769e200e54feee5548834-800wi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_iTe65zg15Yg/TDImJIX3RaI/AAAAAAAABBE/W8fA_C_fZMc/s1600/6a00d834516a5769e200e54feee5548834-800wi.jpg" /></a></div><br />
I love to learn new things throughout my life, and it seems that’s my greatest strength. Also I’m a quick learner once I feel interest in things.And willingness to work hard to achieve my goals is certainly with me.I must say, I’m technical proficient. Also, I have great problem-solving skills and am willing to learn new things to get the job done.<br />
<br />
I’m an open minded person. In most situations, I maintain a positive attitude & outlook. One of my greatest strength is that I’m a good listener. I think, I possess the ability to think and evaluate situations in other person’s point of view. I think I can work under pressure well enough and take wise decisions.<br />
<br />
The belief in myself is strong for me. So this self-confidence must be accounted as my greatest strength. I’m a good helper towards those who need it. I’m a slow starter but once started I’ll be fully committed and dedicative. I like to organize things and like to be neat with anything that I do. Certainly I’m co-operative and ready to work with a team and alone if necessary.<br />
<br />
All being said, passion to learn new things and being a quick learner, being a good listener and open minded & belief in myself, a.k.a. self-confidence are my biggest strengths.Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-73524708392785183192010-06-10T00:00:00.000+05:302010-07-06T00:05:07.211+05:30Dilemma<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iTe65zg15Yg/TDIkxhvRVLI/AAAAAAAABBA/lRCI956gPOQ/s1600/6a00d834516a5769e200e54feee5548834-800wi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_iTe65zg15Yg/TDIkxhvRVLI/AAAAAAAABBA/lRCI956gPOQ/s1600/6a00d834516a5769e200e54feee5548834-800wi.jpg" /></a></div><br />
For the first time in my life, I started to feel dilemma about my future.<br />
Do I've to pursue MBA now or Is it better to go for WASE program of WIPRO or as System associate in iGATE Global Solutions.<br />
<br />
I don't know. My mind is swinging like a pendulum. I've hope, 'cause it's not swinging hard.<br />
Reasons are many,<br />
I know I can do well with Computers and I love them. My friends keep saying that Computer is good for me. Teachers are saying that, Join for the job and do higher studies as part-time.<br />
<br />
But in both interviews sessions, the HR's told me to pursue higher studies after seeing my score. My Family and relatives says that, do higher studies now.<br />
<br />
And do I need any more reasons to be confused. Can I perform well as a businessman. As a manager or as a financial consultant., etc.,<br />
I've such doubts too.<br />
<br />
I know I don't like to be a marketing guy. So the finance and HR are my hopes. Yes systems, IT and operations are not there in the institute I joined.<br />
<br />
College doesn't have an AICTE approval, So I'm concerned about the feasibility to get a loan. So far college is doing well. And I trusted them and doesn't even applied to any other college.<br />
<br />
Before I'm in a similar problem, when I joined for B.Sc computer science since that years B.Tech admissions are lagged a lot. After getting a Mechanical seat I decided to not go for it in favor of Computer Science. Now, After 3 years I feel no guilty. I landed in two good job opportunities and my friends are still studying. And their future opportunities are tallied with mine. In short I earned 1 year, That's precious.<br />
<br />
But this time I cannot able to land in a solid decision as before. But I hope after one month at MILE, Pune, I can successfully prove that I'm not wrong.Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-9041567202173256942010-06-06T23:57:00.000+05:302010-07-05T23:58:18.247+05:30Hopes: all are different<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iTe65zg15Yg/TDIj9ak5-rI/AAAAAAAABA8/19PZoNfYeqE/s1600/6a00d834516a5769e200e54feee5548834-800wi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_iTe65zg15Yg/TDIj9ak5-rI/AAAAAAAABA8/19PZoNfYeqE/s1600/6a00d834516a5769e200e54feee5548834-800wi.jpg" /></a></div><br />
<br />
Hope doesn't have any ends. It have wings; and it's so mesmerizing. My hopes are no different. But they all aims a different set of targets than most of the people out there.Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-74505661202973721942008-12-31T20:46:00.001+05:302010-07-05T23:34:11.066+05:30Files in C++<div style="text-align: left;">I know all of you, who tried to learn C++, someday wishes to have a good understanding on Files in C++. But It's not easy to find all that stuff in one place. Today I completed writing a seminar paper on the same topic. Although it's for my collage, and is a work given by my C++ lecturer, I decided to publish it for interested audience. So I uploaded it to my <a href="http://docs.google.com/">Google Docs</a> account. You can find it <a href="http://docs.google.com/Doc?docid=dcqkdv74_8ddpjsmch&hl=en">here</a>.<br /></div><br />But still you may find that it's not so explanatory or there is not so enough examples., etc. But don't worry, I am going to write a series on the same topic. So wait for it. And I guarantee to provide many examples too.<br /><br />One more thing this document is published under <b><u><span><span style="color:#000000;"><span style="font-family:FreeSans, sans-serif;"><span style="font-size:85%;"><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><b><u><span style="font-size:100%;">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.</span></u></b></a></span></span></span></span></u></b>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-8088231060226805102008-12-27T00:07:00.002+05:302011-01-06T16:57:31.524+05:30Contact Manager ExtendedThe program I wrote recently. That I posted here in an early post.<br />
Now I made some changes. That is now you can add as many emails and phone contacts. Also you can add a new email or phone after a contact is created. ie., missing form previous version.<br />
But one ToDo is still not done. It's verifying whether email is correct format.<br />
It can be done another day. But not now.<br />
<br />
<br />
You can download <a href="http://the1.arun.googlepages.com/ContactManager_v2.0.zip">source here</a>.<a href="http://creativecommons.org/licenses/by-sa/3.0/" rel="license"><img alt="Creative Commons License" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" style="border-width: 0pt;" /></a><br />
<span dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type">contact manager</span> by <a cc="http://creativecommons.org/ns#" href="http://www.blogger.com/www.krarun.co.cc" property="cc:attributionName" rel="cc:attributionURL">Arun.K.R</a> is licensed under a <a href="http://creativecommons.org/licenses/by-sa/3.0/" rel="license">Creative Commons Attribution-Share Alike 3.0 <span class="blsp-spelling-error" id="SPELLING_ERROR_0">Unported</span> License</a>.<br />
<br />
<br />
<br />
<br />
cb.py<br />
<script src="http://pastebin.com/embed_js.php?i=WUFb5FKy"></script><br />
<br />
<br />
cm.py<br />
<script src="http://pastebin.com/embed_js.php?i=jry3t7Hw"></script>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-76090684466835282092008-12-25T00:26:00.002+05:302011-01-06T17:02:06.978+05:30My First Python Program<div style="text-align: left;">I am very glad today. Because I finally wrote a python program all by myself. I am programming for about 3 years. Of which 2 are using C++ (Old standard and using Turbo C++ IDE ver 3.0 and yet to master Templates and STL. [:-p]) and After starting python using <a href="http://www.diveintopython.org/">Dive into Python</a> an excellent book by Mark Pilgrim during my 1st year summer vacation, and I only completed Data Structure section. Then I found an excellent <a href="http://www.javapassion.com/">Java tutorial by Sang Shin </a>and obtained a certificate by completing First and basic course in Java.</div><br />
Now I am working with My Friend to develop applications in java. We established a <a href="http://www.megaware.co.nr/">web site</a> already. He started programming when he is in 10, ie. more than 2 years of experience. He has Visual Basic too in his side. Now he is doing with JSP and I am concentrating on Python, Ruby (yet to start) and CSS.<br />
<br />
Today My pleasure is that I completed a python program myself. Which is asked to do in '<a href="http://www.swaroopch.com/notes/Python">A byte of Python</a>' by Swaroop.C.H. Which is a command line program; and helps us to organize and store our contacts. But I found many Optimizations, that can be possible, when I wrote the code.<br />
But I decided to do it later and possibly with another version number. It's licensed under <a href="http://creativecommons.org/licenses/by-sa/3.0/" rel="license">Creative Commons Attribution-Share Alike 3.0 <span class="blsp-spelling-error" id="SPELLING_ERROR_0">Unported</span> License</a>.<br />
<br />
All your suggestions are welcome. Also if there is any errors that I don't found, but your seasoned I found and any improvements; all are valuable to me. After a certain period I'll put this into <a href="http://www.krarun.co.cc/">my site</a>.<br />
<br />
you can download the sources:<br />
<a href="http://the1.arun.googlepages.com/ContactManager_v1.0.zip">source</a><br />
and the book it self.<br />
<a href="http://www.ibiblio.org/swaroopch/byteofpython/files/120/byteofpython_120.pdf">A byte of Python</a><br />
**************************************************************<br />
<br />
<br />
<a href="http://creativecommons.org/licenses/by-sa/3.0/" rel="license"><img alt="Creative Commons License" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" style="border-width: 0pt;" /></a><br />
<span dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type">contact manager</span> by <a cc="http://creativecommons.org/ns#" href="http://www.blogger.com/www.krarun.co.cc" property="cc:attributionName" rel="cc:attributionURL">Arun.K.R</a> is licensed under a <a href="http://creativecommons.org/licenses/by-sa/3.0/" rel="license">Creative Commons Attribution-Share Alike 3.0 <span class="blsp-spelling-error" id="SPELLING_ERROR_0">Unported</span> License</a>.<br />
<br />
<br />
<script src="http://pastebin.com/embed_js.php?i=wrVDNFN3"></script><br />
<br />
<script src="http://pastebin.com/embed_js.php?i=eZzH7PsF"></script>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-27696428156900789582008-07-22T22:55:00.001+05:302010-07-05T23:38:42.482+05:30Science: Physics: Animated Wave Diagrams on the Wave Structure of Matter<a href="http://www.spaceandmotion.com/science-physics-wsm-wave-diagrams.htm">Science: Physics: Animated Wave Diagrams on the Wave Structure of Matter</a>: "http://www.spaceandmotion.com/science-physics-wsm-wave-diagrams.htm"<br /><br />Very nice blog with a lot of visualizations.<br />Do you know that a image or video enhances our interest in subject and what we understand out of theory.<br />So if you are struggling with waves just have a look.Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-78425876449393563392008-07-22T22:50:00.001+05:302010-07-05T23:38:42.484+05:30Metaphysics: Philosophy of Science: Deducing Most Simple Science Theory of Reality<a href="http://www.spaceandmotion.com/Most-Simple-Scientific-Theory-Reality.htm">Metaphysics: Philosophy of Science: Deducing Most Simple Science Theory of Reality</a>: "http://www.spaceandmotion.com/Most-Simple-Scientific-Theory-Reality.htm"<br /><br />Interested in physics, Just read, it's interesting....Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-10195342680019674582008-06-17T22:03:00.001+05:302010-07-05T23:38:42.487+05:30Java Certification<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_JhQbYf-QmkM/SFfn4JgmNRI/AAAAAAAAAb0/rNGF85edgR8/s1600-h/javacertificate.jpeg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_JhQbYf-QmkM/SFfn4JgmNRI/AAAAAAAAAb0/rNGF85edgR8/s320/javacertificate.jpeg" alt="" id="BLOGGER_PHOTO_ID_5212890045515969810" border="0" /></a><br /><div style="text-align: right;"> There is no validity for this course. I mean currently no institution or firms consider this as a qualification. But may be in future they consider so.<br />This course differs from ordinary course. There is no projects or assignments.<br />All we want to do is study the material provided by them and submit the home works. We have more than five months of time for that. And in total more than twenty home works.<br /></div><br /><div style="text-align: right;"> This course covers Basic of Java or Core Java.<br />It starts from novice (ie., loops and declaring variables too ) and advances from there. This covers swing, File handling, Little bit RMI and client/server networking, Threads, Java Beans etc. etc. ...<br /><br />The course is maintained and developed by Mr. Sang Shin. Also there are many to help him. We get support from class mailing list. And if we complete the course successfully, we also get a certificate like above one that get to me.<br />There are other courses too. For example Java Performance tuning, Java EE, Java FX etc. And like this course all of them are <span style="font-weight: bold;">free</span>...<br />And for that matter quality never sacrificed for this course. This course also utilizes the tutorial in the java's site which is provided by Sun. And most of the slides provided as study materials are from JEDI project. more details are available from <a href="http://www.java.net">www.java.net</a>. This project is for Quality education via universities. You may also benefit from this too. That is why I refer it here.<br /><br />To know more about the Java courses go to <a href="http://www.javapassion.com">www.javapassion.com</a><br />If you want to know about this course, in which I earned the certificate go to <a href="http://www.javapassion.com/javaintro">www.javapassion.com/javaintro.</a> The coming section is 6th one. Stay tuned and make your first step to Java Technologies. Good Luck :-D<br /></div>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-51011221172788629682008-03-06T19:01:00.001+05:302010-07-05T23:38:42.492+05:30microsoft's antipairacy raid
You need to know the reasans to shift to linux or any other open sou<span style="font-weight: bold;font-family:courier new;" >This article is obtained from http://www.zyxware.com/</span><br /><span style="font-weight: bold;font-family:courier new;" >You need to know the reasans to shift to linux or any other open source Operating systems,Aren't you?</span><br /><span style="font-weight: bold;font-family:courier new;" >Read the following....</span><br /><span style="font-weight: bold;font-family:courier new;" >comment your thoughts. :-)</span><br /><br /><span style="font-style: italic;font-family:courier new;" >In a bid to throttle organized piracy and in retaliation to drop in revenues (or rather, failure in achieving targeted sales) from software sales in Kerala, Microsoft Corporation launched aggressive anti-piracy raids in computer assembling stores in Trivandrum, Kollam and Thrissur districts in Kerala. This we think is a right time for those of you who are worried about using pirated software to shell out large chunks of money to buy licensed software or better SWITCH TO UBUNTU :).</span><br /><br /><span style="font-style: italic;font-family:courier new;" >At least in Trivandrum the raids were conducted in not-so prominent stores to not really irritate the major players but at the same time give a good warning to everybody in the market. The raids were no joke either. Microsoft officials were accompanied by local police during their Anti-piracy raid. Cases under the Indian Copyright act have been filed against the retailers who were caught red handed with pirated Windows CDs. Cases if proven will result in fines up to Rs. 2,000,000. In response, and as a defensive strategy, all retailers made sure to take out all the evidences of piracy from their stores.</span><br /><br /><span style="font-style: italic;font-family:courier new;" >This is the second of such series of raids that Microsoft has done in Kerala. Sooner or later they are going to target the home user also. So if you are using pirated Microsoft software then beware. You only options are</span><br /><span style="font-style: italic;font-family:courier new;" >a) To shell out at least Rs. 15,000 for your original Microsoft Windows and Microsoft Office licenses or</span><br /><span style="font-style: italic;font-family:courier new;" >b) To switch to the free (as in free = zero) and fully licensed world of GNU Linux</span><br /><br /><span style="font-style: italic;font-family:courier new;" >If you are a PC owner and has worries about Microsoft catching you by your scruff and are in no way planning to shell out 15,000 rupees for your licensed copies of Microsoft Software then give us a call. We can help you switch to GNU Linux.</span><br /><br /><span style="font-style: italic;font-family:courier new;" >Not only do we provide free Linux Installation assistance we give free online support via website and forums. We also can send trained professionals to give you Linux Training at the conveniences of your home for a nominal fees. You can rest assured that you will get all the functionalities that you used to get in Windows including watching movies, listening to songs, browsing internet, chatting online, video conferencing and last but not least gaming.</span><br /><br /><span style="font-style: italic;font-family:courier new;" >The flavor of Linux that we provide normally is Ubuntu Linux. If however you have any other preference we would be happy to oblige you and provide you with that. So if you would like to give it a shot and try out linux give us a call at 0471-2437711 or drop by our office to get more information. In any case it is not going to cost you to try. Call us and get Linux installed on your computer for free.</span>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0tag:blogger.com,1999:blog-7479928292127239514.post-40577431827818868012008-02-26T18:07:00.001+05:302010-07-05T23:38:42.495+05:30Google Summer of Cods 2008<div style="text-align: justify;"><br />Hi I think you all already informed abot the opening of <a href="http://code.google.com/soc/">Google Summer of codes</a> 2008.Here is its flyer.Take a minute to look at it.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBrhyjxqo_FjV8dCcbH_7IAScf4z6qNfd2dcuJNLc3LwjbPdseL27fqofKnsrU2npPpoeZcOoEITNAfDCyL9mBVu5asIZUapW42QGh9jl9zCcDOd1k5uFzF6AK_1XpWFft91FMwgk9-Ll/s1600-h/h.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBrhyjxqo_FjV8dCcbH_7IAScf4z6qNfd2dcuJNLc3LwjbPdseL27fqofKnsrU2npPpoeZcOoEITNAfDCyL9mBVu5asIZUapW42QGh9jl9zCcDOd1k5uFzF6AK_1XpWFft91FMwgk9-Ll/s320/h.jpg" alt="" id="BLOGGER_PHOTO_ID_5171267430372048226" border="0" /></a><br /></div><div style="text-align: center;"> <span style="color: rgb(0, 102, 0);font-size:180%;" > Want to write open source code?<br /> Want to make money?<br /> Want to do both?</span><br /></div>In 2007 alone, Google Summer of CodeTM brought together 900 students and nearly<br />1500 mentors across 90 countries to contribute to over 130 different open source<br />software projects. We’re looking for mentors and students to join us in making 2008<br />the best Summer of Code yet! We’ll be offering successful student contributors a<br />4500 USD stipend, enabling them to focus on their coding projects for three months.<br />The Google Summer of Code program is designed to encourage student participation<br />in open source development. Kicking off in 2005, the program has several goals:<br /> <br /><br /> ●Inspire young developers to begin participating in open source development<br /> <br /> ●Provide students in Computer Science and related fields the opportunity to do<br /> work related to their academic pursuits during the summer<br /> <br /> ●Give students more exposure to real-world software development scenarios<br /> (e.g., distributed development, software licensing questions, mailing-list etiquette,<br /> etc.)<br /> <br /> ●Get more open source code created and released for the benefit of all<br /> <br /> ●Help open source projects identify and bring in new developers and committers.<br /><br />Google will accept applications from open source projects from 3 – 12 March 2008.<br />Student applications will be accepted from 24 – 31 March.<br />Full details on requirements for participating, including how to apply and more on the<br />all-important t-shirt at<br /> <a href="http://www.blogger.com/img/gl.link.gif">http://code.google.com/soc/</a>Anonymoushttp://www.blogger.com/profile/01882886178677764178noreply@blogger.com0