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

<channel>
	<title>A Series of Uncool Events &#187; Education</title>
	<atom:link href="http://blog.uncool.in/category/education/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.uncool.in</link>
	<description>4 8 15 16 23 42</description>
	<lastBuildDate>Thu, 31 Dec 2009 18:11:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Episode 9: A Note to Myself</title>
		<link>http://blog.uncool.in/2009/10/27/episode-9-a-note-to-myself/</link>
		<comments>http://blog.uncool.in/2009/10/27/episode-9-a-note-to-myself/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 08:41:08 +0000</pubDate>
		<dc:creator>Ankur Sethi</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Things I Did]]></category>

		<guid isPermaLink="false">http://blog.uncool.in/?p=126</guid>
		<description><![CDATA[This post is exactly what the title says it is. Just a small note to remind me what I should be focusing on. Spending a weekend playing with genetic algorithms in Scheme is a wonderful learning opportunity, but it detracts from some of the bigger projects I&#8217;m working on. Idle curiosity can do more harm [...]]]></description>
			<content:encoded><![CDATA[<p>This post is exactly what the title says it is. Just a small note to remind me what I should be focusing on. Spending a weekend playing with <a href="http://en.wikipedia.org/wiki/Genetic_algorithms">genetic algorithms</a> in Scheme is a wonderful learning opportunity, but it detracts from some of the bigger projects I&#8217;m working on. Idle curiosity can do more harm than good if you&#8217;re trying to juggle college and code. Genetic algorithms can wait until Christmas.</p>
<h3>Ongoing Projects</h3>
<p>I never start projects. I bump into them. Sometimes they feel like a distant member of Grampa&#8217;s extended family. Other times, they feel like a close friend you&#8217;ve been dying to talk to for the past 6 months, but <em>gosh darn it</em> where&#8217;s his number? Unlike most seasoned hackers, I only have three large projects I wish to see to completion before I touch something new.</p>
<ul>
<li><a href="http://code.google.com/p/haiku-beacon/">index_server</a> &#8211; the full text indexing tool for <a href="http://haiku-os.org">Haiku</a> I wrote this summer.</li>
<li><a href="http://github.com/goonj/goonj/">Goonj</a> &#8211; a media player and music library manager for Mac OS X (I&#8217;m working on this with <a href="http://pratul.in">Pratul</a>).</li>
<li>Make the Dell Vostro 1520 100% Haiku compatible. For this, I need to write drivers for the following devices: (1) touchpad (2) wireless card (3) webcam and (4) sound card. I&#8217;ve already started digging through some driver code, but it will be a while before I have something usable.</li>
</ul>
<h3>Interests</h3>
<p>I&#8217;m a sad case, really. I need to write a blog post to remind myself what I&#8217;m interested in. If you don&#8217;t want your kids to turn out this way, make sure they take enough baths. Yes, even in winter.</p>
<p>High-level stuff bores me. I find I&#8217;m much more comfortable with C and C++ than Python. With that in mind, here&#8217;s a small overview of my fields of interest:</p>
<ul>
<li>Compilers</li>
<li>Virtual machines (and emulators)</li>
<li>Operating systems</li>
<li>File systems</li>
<li>Games (why not?)</li>
<li>Information retrieval</li>
</ul>
<p>Lately, I&#8217;ve been reading up on electronics. I&#8217;ve barely scratched the surface of what&#8217;s possible with just a few cheaply available components, and I&#8217;m already shaking with excitement. College does not permit me to learn as much as I&#8217;d like to, but I&#8217;m slowly getting there. I&#8217;ll have something to show for my efforts in a couple of months. Let&#8217;s see what comes of this new obsession <img src='http://uncool.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.uncool.in/2009/10/27/episode-9-a-note-to-myself/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Episode 4: Things Nobody Will Ever Tell You (At Least Not Nicely)</title>
		<link>http://blog.uncool.in/2009/04/03/episode-4-things-nobody-will-ever-tell-you-at-least-not-nicely/</link>
		<comments>http://blog.uncool.in/2009/04/03/episode-4-things-nobody-will-ever-tell-you-at-least-not-nicely/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 15:17:38 +0000</pubDate>
		<dc:creator>Ankur Sethi</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.uncool.in/?p=84</guid>
		<description><![CDATA[I have found that students of computer science (CS) and information technology (IT) in most Indian colleges have several misconceptions about programming and computers in general. This seems to be a common problem in other parts of the world, too. I&#8217;ve made a list of some of the most common problem areas, and I&#8217;m posting [...]]]></description>
			<content:encoded><![CDATA[<p>I have found that students of computer science (CS) and information technology (IT) in most Indian colleges have several misconceptions about programming and computers in general. This seems to be a common problem in other parts of the world, too. I&#8217;ve made a list of some of the most common problem areas, and I&#8217;m posting it here for the benefit of annoyed geeks all over the world who have to explain these things over and over to that annoying but <em>hawt</em> girl who never goes out with them. No offense meant to any annoying but <em>hawt</em> girls who might be reading this right now. Would you like to go out with me? I&#8217;m free this Friday at 7:00 PM.</p>
<p>Note that most of the problem areas I have listed deal with C++ and the Turbo C++ IDE. This is because most Indian colleges teach C and C++ in the first two years of the CS/IT course.</li>
<ul>
<li>C++ is a programming language, not a piece of software. To convert the C++ syntax into an executable, you need a compiler. In Indian colleges, Turbo C++ is a widely used compiler. So, if you need TC++, you have to ask me, &#8220;Do you have a C++ compiler?&#8221;, not, &#8220;Do you have C++?&#8221;. It&#8217;s not only annoying, but it shows you are incompetent.</li>
<li>Besides Turbo C++, there are many other compilers you could be using. Loosely speaking, C++ itself is a standard document containing all the rules of the language. Any compiler that follows these rules can compile your C++ code. Two compilers you will inevitably have to deal with are Microsoft Visual C++ and the GNU Compiler Collection (popularly known as GCC). More on this later.</li>
<li>A compiler is a command line tool. That means it has no graphical user interface (GUI) you can see. You just send it a C++ file, and it spits out an executable. The Turbo C++ IDE hides this compiler from you. When you press CTRL+F9, it sends your C++ code to the compiler along with several other options that tell the compiler to compile the code and produce an executable. If it wasn&#8217;t for the Turbo C++ IDE, you would have to type these commands by hand every time you wanted to compile your code. Again, more on this later.</li>
<li>Turbo C++ is a compiler. The Turbo C++ IDE is an integrated development environment (that&#8217;s what IDE stands for). The job of an IDE is to provide you with an editor (where you type your code), several tools to make your programming job easier (highlighting keywords, the ability to look up things in a help browser etc.) and to make it easy for you to organize your projects. That blue screen where you type all your code is not the compiler, it&#8217;s the IDE. A few of the most popular IDEs are Microsoft Visual Studio, Eclipse, NetBeans etc.</li>
<li>A C++ file (i.e., a file with a &#8220;cpp&#8221; extension) is just a plain text file containing code. You can open it in any text editor and make changes to it. Note that a text editor is a piece of software that is used to create plain text files without any formatting. Notepad is a plain text editor, whereas WordPad and Microsoft Word are not since they are used to create formatted documents.</li>
<li>Windows is an operating system from Microsoft. I&#8217;m sure you know what that means. What nobody ever told you was the fact that most of the popular operating systems differ from each other in many fundamental ways. If you compile a piece of code on Windows, and then run it on another computer running Windows, it will work perfectly. On the other hand, if you try to run that executable on a Linux or Mac OS X machine, it will not run because of these fundamental differences. That is the reason none of your Windows games work on Linux/OS X.
<li>
<li>Nope, you can&#8217;t &#8220;hack&#8221; a computer using just a simple tool. Ankit Fadia might claim he can teach you how to hack, but he knows no more about &#8220;hacking&#8221; than a tea leaf knows about the history of the East India Company. The correct term for breaking into a system by exploiting weaknesses in it is called &#8220;cracking&#8221;, and it&#8217;s not something you can learn in a classroom. That &#8220;ethical hacking&#8221; course is a fraud.</li>
<li>A programming language is supposed to be studied as a coherent whole. If you say &#8220;I&#8217;m great a loops, but I don&#8217;t understand functions.&#8221;, that indicates you don&#8217;t get programming.</li>
<li><b>Update [April 4]: </b>This is the most important part of this entire post, yet it inexplicably slipped my mind. Turbo C++ is a very old compiler from a bygone era. Nobody, I repeat, <em>nobody</em> uses it for actual development. I reccommend using the <a href="http://gnu.org/software/gcc">GNU Compiler Collection</a>. But GCC is just a set of compilers (and some related tools) which you will have to operate from the command line &#8211; not an easy task for someone who is just starting out. What you need is a decent IDE to go with your compiler. <a href="http://bloodshed.net">Bloodshed Dev C++</a> is a very nice IDE meant for beginners, and it comes with GCC so you won&#8217;t have to install that separately. Do yourself a favor and download it right now.</p>
</ul>
<p>I will keep adding new points to this list as I encounter them. Leave your suggestions in the comments section of this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.uncool.in/2009/04/03/episode-4-things-nobody-will-ever-tell-you-at-least-not-nicely/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
