tag:blogger.com,1999:blog-20770748587665164892024-03-14T05:24:54.457-07:00Singing CodeMusings on software design, open source, book reviews, ruby, diverse aspects of development, and being a developer.Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-2077074858766516489.post-39048688969699640622011-02-10T09:28:00.000-08:002011-02-10T09:45:23.811-08:00Ubuntu: How to Auto Hide top and bottom panels?<div dir="ltr" style="text-align: left;" trbidi="on">Auto hiding top and bottom panels has become essential to have more usable space while working at my 14" laptop.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrDhGTBRIMvIOryEOEQYPSK-gEt6MSOOK9tFafXvtQwueDE2EjAyERKXWGwh-lU3jHI94DDgyPY-Fjp_atuGa2GCimGH1iPqhoDvA9855k0IfR99FSl8WsYuqb1uY-p2T_ybKLQsaG4ew/s1600/Screenshot.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/AVvXsEhrDhGTBRIMvIOryEOEQYPSK-gEt6MSOOK9tFafXvtQwueDE2EjAyERKXWGwh-lU3jHI94DDgyPY-Fjp_atuGa2GCimGH1iPqhoDvA9855k0IfR99FSl8WsYuqb1uY-p2T_ybKLQsaG4ew/s1600/Screenshot.png" /></a></div><br />
This is how it is done. <br />
<ol style="text-align: left;"><li>Right click on the panel which you want to auto hide once you move away from it</li>
<li>Goto properties<span id="goog_1111037407"></span><span id="goog_1111037408"></span></li>
<li>Pick up 'Auto Hide' option from there</li>
</ol><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUQkhYRAK3OVRuKlZulvWfWDOZ6xJ7G8cutrhqk2LG68dHuUxvijXU00uBHjhsm5c37Vm_-QxoQXXXeXy4Sr584F7z3QDrPrlEmSP-OYtgAJGK6jnztiEW75M2QatvRB_RkZrWYWeRLNk/s1600/properties.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUQkhYRAK3OVRuKlZulvWfWDOZ6xJ7G8cutrhqk2LG68dHuUxvijXU00uBHjhsm5c37Vm_-QxoQXXXeXy4Sr584F7z3QDrPrlEmSP-OYtgAJGK6jnztiEW75M2QatvRB_RkZrWYWeRLNk/s320/properties.png" width="255" /></a></div><ol style="text-align: left;"></ol> You can do the same for the top panel.<br />
<br />
The wonderful thing about Ubuntu is that it never comes in your way. Auto Hiding would make you even more distraction free.</div>Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com0tag:blogger.com,1999:blog-2077074858766516489.post-45159659919529854962010-11-03T19:24:00.000-07:002011-02-10T09:46:19.905-08:00Ubuntu - Input in Tamil | உபுண்டுவில் தமிழ் உள்ளீடு<div dir="ltr" style="text-align: left;" trbidi="on">ஒரு வழியாக உபுண்டு 10.10ல் (மாவரிக்) தமிழ் உள்ளீடிற்கு வழி செய்து விட்டேன். System > Preferences > Keyboardல் நமக்குத் தேவையான tamilnet99 மற்றும் tamil phonetic (தங்கிலீஷுல தட்ட) layouts இல்லையே என்று நீங்களும் அலை பாய்ந்து கொண்டிருந்தால், இத பண்ணுங்க:<br />
<ol><li><b>sudo apt-get install ibus ibus-m17n m17n-db m17n-contrib ibus-gtk</b></li>
<li><b>System > Administration > Language Support > Keyboard Input Method System [ibus]</b></li>
<li><b>System > Preferences > Keyboard Input Methods (ibus ஆரம்பிக்கச் சொல்லுங்க. logout செய்து அப்புறம் login பண்ணுங்க)</b></li>
<li><b>திரும்பவும் </b><b>System > Preferences > Keyboard Input Methods போய் Input Methodல உங்களுக்கு தேவையான layoutஅ தேர்ந்தெடுத்துக்குங்க. நான் </b>tamilnet99 மற்றும் tamil phonetic layouts <b>எனக்கு போதும். வெறும் சைனா layout மட்டும் இருந்துதுனா, முதல்ல குடுத்துருக்கற installationஅ ஒழுங்கா பண்ணுங்க.</b></li>
<li><b>இன்னொரு தரம் </b><b>logout செய்து அப்புறம் login.</b></li>
<li><b>ctrl+space குடுத்து தமிழுக்கும் ஆங்கிலத்துக்கும் மாத்திக்கலாம்.</b></li>
</ol><br />
<span style="font-size: xx-small;">நன்றி: <a href="http://ubuntuforums.org/showthread.php?t=1592226">http://ubuntuforums.org/showthread.php?t=1592226</a></span></div>Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com3tag:blogger.com,1999:blog-2077074858766516489.post-58048211054115622062010-05-17T16:56:00.000-07:002010-05-17T17:03:33.360-07:00Open source Is Not CharityUnlike most people think, open source is not charity. It is a viable business model which has tremendous of success. Let us see how some open source companies/products make money.<br />
<ul><li>Whenever you use firefox's search box, mozilla gets paid by the search providers, mostly google of course.</li>
<li>Ubuntu sells OS to netbook manufacturers. They also charge for professional support.</li>
</ul><span style="font-size: large;"><b>What are the ways to make money?</b></span><br />
<ul><li>Professional support is something companies would pay for.</li>
<li>Make the basic version free; Charge enterprisy features.</li>
<li>There are always innovative ways, like firefox, to get revenue without asking money from the user or throwing some flashy ads.</li>
</ul><span style="font-size: large;"><b>What do you get?</b></span><br />
<ul><li>Collaboration with the users. Open source is very close to agile methodologies in this aspect. Probably the user collaboration is the best in open source than the usual commercial development model.</li>
<li>Community who volunteers to help other users.</li>
<li>Voluntary contribution in all areas of software development like code, testing, packaging, documentation, project management you name it.</li>
<li>Good open source products usually don't need much of marketing; or separate training. Internet makes it possible to reach the users, rather user will reach you. </li>
</ul><span style="font-size: large;"><b>Challenges</b></span><br />
<br />
As they say, there is no such thing as free lunch. Creating a good community is the biggest challenge. Of course creating great product cannot be considered as any less of a challenge either.Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com0tag:blogger.com,1999:blog-2077074858766516489.post-89937468240964408492009-09-10T12:08:00.000-07:002009-09-10T12:19:22.204-07:00Design Patterns Study Group - Strategy<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjUSm8gis0pZyQPcC_vDUYg-oH0CO_KzEQ6UZ9F72ojtrtSSQNckRGW3F-E8rfnQMbK3ZVmDkgZmvGYzMzdu1dz4HrxV6mz15N9pUtPD29ctzgdXODcvTLKjlacIXo5yvYYKDSkE3wcb8/s1600-h/strategy.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 314px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjUSm8gis0pZyQPcC_vDUYg-oH0CO_KzEQ6UZ9F72ojtrtSSQNckRGW3F-E8rfnQMbK3ZVmDkgZmvGYzMzdu1dz4HrxV6mz15N9pUtPD29ctzgdXODcvTLKjlacIXo5yvYYKDSkE3wcb8/s400/strategy.png" alt="" id="BLOGGER_PHOTO_ID_5379918571521296130" border="0" /></a><br /><span style="font-size:85%;">(click to enlarge)</span><br /><br /></div>This is the mind-map for the material I have created to be discussed in Design Patterns Study Group on Strategy pattern at my office.<br /><br />The intention is to trigger the thought process. If you are interested know more about study groups check out <a href="http://onjava.com/pub/a/onjava/2005/04/06/designpatterns.html">this</a> and <a href="http://www.industriallogic.com/papers/learning.html">this</a>.Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com0tag:blogger.com,1999:blog-2077074858766516489.post-86845732722195212362009-03-27T07:54:00.000-07:002010-04-03T02:10:16.915-07:00Coolest Way To GoogleSearch box is among the cute features (apart from tabs, ad blocking, extensions, etc of course) which made me switch to Firefox. But do you know that is <span style="font-style: italic;">not</span> required anymore?<br />
<br />
You can put in your search text directly in your address bar. If the address bar does not contain a valid url, Firefox would consider it for searching. Here is an illustration:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ8PLo0Kw621xJQPO3RZVKS8o308qcy-Djpg6H62e-nkMdFjRaz8jbIkmzt_PjfLe1GgD10dwT6NkNpszknbdcb_iCPjdLjUXp8pFR7egsgBSSyhzf8UiSexwI7__7wjNANEbJibg3JnQ/s1600-h/direct_search.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5317885355635122770" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ8PLo0Kw621xJQPO3RZVKS8o308qcy-Djpg6H62e-nkMdFjRaz8jbIkmzt_PjfLe1GgD10dwT6NkNpszknbdcb_iCPjdLjUXp8pFR7egsgBSSyhzf8UiSexwI7__7wjNANEbJibg3JnQ/s320/direct_search.png" style="cursor: pointer; display: block; height: 98px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI-ZbjYACX_ri1AgrRIYQNF8U9leFpACWmwn_jKqrKlWus0JOeoJEgZ7-mJO-65yeXLOguS3oIIf3aJ_OZI2PRhRcrj__8exVD_IANPrLPoxnGSrRw7H8f_84REWpM6EWjBUuyWArLk20/s1600-h/direct_search_result.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5317885361211906594" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI-ZbjYACX_ri1AgrRIYQNF8U9leFpACWmwn_jKqrKlWus0JOeoJEgZ7-mJO-65yeXLOguS3oIIf3aJ_OZI2PRhRcrj__8exVD_IANPrLPoxnGSrRw7H8f_84REWpM6EWjBUuyWArLk20/s320/direct_search_result.png" style="cursor: pointer; display: block; height: 278px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
Based on the result it will either take directly to the best match or show you the search results page.<br />
<br />
All of the popular browsers (Opera, Chrome, IE) have this feature now.Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com0tag:blogger.com,1999:blog-2077074858766516489.post-82413615505767892602008-09-09T09:25:00.000-07:002010-05-17T17:50:59.374-07:00Costly Programming Error<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbb4nkunda0b-tlr6kiW_Ql7ImxBO1yE2FtH0fqwBy2FMl4vZIOGbIX2k0AYW3POqapgikIaM5RedAGJZKZe7gFZeRs3RVs4sonoicpKdOCWvVhl9lre5spO_Uvh90pcMSAvm_YGdmglc/s1600-h/costly_program_error.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5244059426305965042" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbb4nkunda0b-tlr6kiW_Ql7ImxBO1yE2FtH0fqwBy2FMl4vZIOGbIX2k0AYW3POqapgikIaM5RedAGJZKZe7gFZeRs3RVs4sonoicpKdOCWvVhl9lre5spO_Uvh90pcMSAvm_YGdmglc/s400/costly_program_error.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
<div style="text-align: center;"><span style="font-size: 78%;">Text: The Ariane-5 launch on June 4, 1996; it crashed 36 seconds after the launch due to a conversion of a 64-bit floating point into a 16-bit integer value.</span><br />
<span style="font-size: 78%;"> </span><br />
<span style="font-size: xx-small;">Courtesy: <a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11481">Principles Of Model Checking</a> (MIT Press)</span></div>Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com2tag:blogger.com,1999:blog-2077074858766516489.post-5675524605489573502008-06-17T09:23:00.000-07:002010-04-03T17:35:20.519-07:00'Temp'tingI was working on a <a href="http://code.google.com/p/diskpacker/">personal project</a>. I needed to create my outputs in temporary folder. How do we get the temporary folder path in Ruby?<br />
<br />
In Windows, we have an environment variable named TMP or TEMP to point to the temporary folder path. In order to access environment variables, Ruby defines ENV object. So<br />
<br />
<pre class="ruby:nocontrols" name="code">ENV['TMP']
</pre><br />
would get me the temporary folder path. But this is windows only. Linux need not have this environment variable defined. So we need some other portable technique.<br />
<br />
As you would know, it is easy to create a temporary file using Tempfile.<br />
<br />
<pre class="ruby:nocontrols" name="code">require 'tempfile'
tmp = Tempfile.new('foo')
</pre><br />
It is portable way of creating a temporary file. A temporary file will be created in temporary directory. Tempfile also has a neat path method which would help us.<br />
<br />
<pre class="ruby:nocontrols" name="code">require 'tempfile'
tmp_path = Tempfile.new('foo').path # we got the temporary directory for any platform
</pre><br />
But wait. Creating a dummy file just to get temporary folder path? Yuk. There must be a better way. Hey, you know what? There is a better way.<br />
<br />
I almost forgot Ruby is open source. We could take a look at tempfile and see how they did it. Here is what we get. I simplified it a little bit for readability.<br />
<br />
<pre class="ruby:nocontrols" name="code">require 'tmpdir'
class Tempfile
def initialize(basename, tmpdir=Dir::tmpdir)
end
end
</pre><br />
We have tmpdir library, which has a neat Dir::tmpdir just fit for our purpose. Let's just try it out with our little friend irb:<br />
<br />
<pre class="ruby:nocontrols" name="code">irb(main):008:0> require 'tmpdir'
=> true
irb(main):009:0> Dir::tmpdir
=> "/tmp"</pre><br />
I got what I want. I don't have time to snoop around further and see how Dir::tmpdir gets the temp path portably. May be some other time...Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com0tag:blogger.com,1999:blog-2077074858766516489.post-88752784882041989862008-06-11T05:08:00.001-07:002010-04-03T17:01:49.790-07:00Windows Tools Without Which I Will Feel Handicapped<div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><a href="http://tortoisesvn.net/downloads"><br />
</a></div><br />
<span style="font-size: 100%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3GkvGsd2tePgNlU673oTl53Woaspu4es2X6SxVvktEIgPsbjQag3rbnSgFJoA7EaWg8OeSo5_NBxp1hq0XD5mdQEuVNwyL7yXR1fnIvrmHJieg3Am5eRPwz3mBuRxwLryIJEoZ9hFR4k/s1600-h/liftarn_Cleaning_tools.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5210596032619812290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3GkvGsd2tePgNlU673oTl53Woaspu4es2X6SxVvktEIgPsbjQag3rbnSgFJoA7EaWg8OeSo5_NBxp1hq0XD5mdQEuVNwyL7yXR1fnIvrmHJieg3Am5eRPwz3mBuRxwLryIJEoZ9hFR4k/s320/liftarn_Cleaning_tools.png" style="float: right; margin: 0pt 0pt 10px 10px;" /></a><i><span style="font-family: ";">Right tool for the right job</span></i></span><span style="font-family: "; font-size: 100%;"> makes a lot of difference. I usually believe one big difference between the professionals and the ordinary is the tools and the way they are used.<br />
<br />
I have to use windows at work. I am not happy with the 'default' windows. So I am in constant look out for better tools. Here are some tools I use regularly that might help you. This list is for anyone who uses windows.</span><br />
<br />
<a href="http://notepad-plus.sourceforge.net/uk/download.php">Notepad++</a><br />
I cannot work without it. It is very useful notepad replacement. It has tabs, syntax coloring, and plenty of features. Open source.<br />
<br />
<a href="http://www.launchy.net/">Launchy</a><br />
Takes a big pain out of windows. Stop searching your programs in Start-->Programs. Open source.<br />
<br />
<a href="http://wistinga.online.fr/safarp/#downloads">Safarp</a><br />
Small and fast replacement for the Add or Remove Programs dialog of Windows 2000/XP. Open source.<br />
<br />
<a href="http://sourceforge.net/projects/pdfcreator/">PDFCreator</a><br />
Adds a new printer entry. If you print your file with that printer, you will get PDF file. Open source.<br />
<br />
<a href="http://rubyforge.org/projects/rubyinstaller/">Ruby one click installer</a> <br />
This is all you need to start coding in Ruby on windows.<br />
<br />
<a href="http://tortoisesvn.net/downloads">TortoiseSVN</a> <br />
Subversion source control (better CVS), which you can run from Windows Explorer. Easy. I use it for my code backup until I check in/commit to common source control. Open source.<br />
<br />
<a href="http://sourceforge.net/projects/supercopier">SuperCopier</a><br />
"SuperCopier replaces windows explorer file copy and adds many features, Transfer resuming, Copy speed control, Copy speed computation , Better copy progress display, Copy list editable while copying , Error log, Copy list saving/loading,..." Another must have windows tool. Open source.<br />
<br />
<a href="http://www.videolan.org/">VLC media player</a><br />
The only media player you need. Open source.<br />
<br />
<a href="http://winmerge.org/">Winmerge</a><br />
Visual text file/folder comparison tool. This is another tool I cannot work without. Open source.<br />
<br />
<a href="http://www.netbeans.org/downloads/">Netbeans IDE</a><br />
The IDE I use for coding in Ruby. Open source.<br />
<br />
<a href="http://notepad-plus.sourceforge.net/uk/download.php">CCleaner</a><br />
A system optimization and privacy tool. It removes unused files from your system - allowing Windows to run faster and freeing up valuable hard disk space. It also cleans traces of your online activities such as your Internet history. But the best part is that it's fast (normally taking less than a second to run). Freeware.<br />
<br />
<a href="http://www.microsoft.com/typography/ClearTypePowerToy.mspx">Clear Type Tuning control panel applet</a><br />
Improve your fonts display for your LCD screen. In windows xp the clear type is turned off by default. I have seen so many people don't make the best use of their costly LCD screen. Turn it on and improve the display with this goodie.<br />
<br />
<a href="http://www.defraggler.com/download">Defraggler</a><br />
Hard disk defragmentation tool. You can defrag individual files. Freeware.<br />
<br />
<a href="http://www.recuva.com/download">Recuva</a><br />
Recover the files you have mistakenly deleted. Freeware. <br />
<br />
<a href="http://www.google.com/url?q=http://www.orbitdownloader.com/download.htm&sa=X&oi=smap&resnum=1&ct=result&cd=1&usg=AFQjCNEXsr9vZcJ0Audr8LuYFYKT3jZ7bg">Orbit downloader</a><br />
Better download manager with Firefox and IE integration. Freeware. <br />
<br />
<a href="http://ccollomb.free.fr/unlocker/">Unlocker</a><br />
It shows whether the file is in use by an application and provides a way to unlock. Freeware.<br />
<br />
<a href="http://wordweb.info/free/">Wordweb</a><br />
Best free English dictionary for windows. Quite handy. Freeware.<br />
<br />
<a href="http://www.faststone.org/FSCaptureDetail.htm">FastStone Capture</a><br />
Screenshot utility.You can even do your arrows, text, and other markings for your screenshots easily. I think versions newer than 4.8 are not free.<br />
<br />
And of course, <a href="http://www.getfirefox.com/">Firefox</a>, one of the finest of the browsers! <br />
<br />
<span style="font-size: x-small;">What stuff you have in your tool box? I am also interested to hear about better alternatives to the above tools.</span><br />
<span style="font-family: "; font-size: 100%;"><o:p></o:p></span>Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com2tag:blogger.com,1999:blog-2077074858766516489.post-49140173244206464822008-06-05T23:38:00.000-07:002008-06-05T23:50:29.674-07:00Technical Reading & Heavy Weight Books<div class="content clear-block"> <p>This is the blog entry I have posted at <a href="http://twincling.org">TWINCLING</a>.<br /></p><p>I love reading technology books. But whenever I see a bulky technical book I stay far away. By bulky I mean the books that you cannot read by lying on your couch. Many people tend to believe the bigger the book the more useful it would be. It is incorrect. In my experience, the technical books have a paradoxical aspect.</p> <p class="rtecenter"><i>"The thinner the waist line of the book, the more you learn from it"</i></p> <p>It is natural to think the more pages a book contains the more information it has. But the question here is 'how much you can learn from it?' How many of us have <i>Technology XXXX Bible</i> and those biggies-with-reddish-jackets in their personal library? I could never imagine reading any of them completely.<img alt="" src="http://img236.imageshack.us/img236/9085/ee_Squirreled.png" align="right" /></p> <p>Think about it. I had to pay more money to buy these heavy weights since publishers seem to think the price of the book in terms of number of pages. I cannot read them at my convenience (Possibility to read the book while lying on the couch is a major criterion for me!). I have to spend more time to read them. And God knows how much I read is really useful to me, not to mention the space they invade in your book shelf!</p> <p><img style="width: 186px; height: 168px;" src="http://img236.imageshack.us/img236/9944/johnny_automatic_books.png" alt="" align="left" />Okay. Biggies make good reference books then? Nope. I would still stick with the humble ones. Thinner reference books are much more handy than the giant alternatives. If small reference books are not sufficient, web would be the best place to head to, not those inconvenient 'complete references'.</p> <p>Of course, there are exceptions to this. Occasionally I come across wonderful books no matter how big they are. 'Head First' books are the ones I am really addicted to. They are slightly big but they are the most entertaining and very practical technical books I have ever read.</p> <p>I will wrap it up with a short list of my all time favourites:</p> <ol><li><i>Effective C++</i> by <i>Scott Meyers</i> (288 pages) – This is the book that got me hooked to technical reading. The chapters are short and arranged like simple recipes. Scott Meyers is a master technical writer. The technical world need more such writers. (Is he writing anymore?)</li><li><i>Design Patterns</i> by <i>GoF</i> (416 pages) – GoF has changed the way I thought about software with this book. Good literature on software design is hard to find. I believe this one belongs to every developer’s book shelf.</li><li><i>Head First Design Patterns</i> by <i>Freeman</i> (676 pages) – Another design pattern book. It is graphical. Funny. But seriously very technical. It is not a kind of book you will just read. You will work with it. You will laugh with it. When it is all over, you will realize you have really learned something.</li></ol> <p>Coincidentally, all these books won the prestigious <i>Jolt award</i>. You can expect quality technical writing from <a href="http://www.joltawards.com/history/winners.html">Jolt award</a> winning.</p> <p><img alt="" style="width: 88px; height: 78px;" src="http://img236.imageshack.us/img236/4199/johnny_automatic_books_1.png" align="left" />Feel free to share your ideas on technical books, and of course I am interested to know about your favourite books.</p> </div>Raguhttp://www.blogger.com/profile/15734450068625643943noreply@blogger.com5