<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>code addicts</title>
	<atom:link href="http://codeaddicts.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeaddicts.wordpress.com</link>
	<description>Programming, researching, hacking and digital news.</description>
	<lastBuildDate>Wed, 06 Jul 2011 03:51:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='codeaddicts.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/3cb99eadec082b145f63aedc495ad30d?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>code addicts</title>
		<link>http://codeaddicts.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://codeaddicts.wordpress.com/osd.xml" title="code addicts" />
	<atom:link rel='hub' href='http://codeaddicts.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Thunked.org</title>
		<link>http://codeaddicts.wordpress.com/2010/09/05/thunked-org/</link>
		<comments>http://codeaddicts.wordpress.com/2010/09/05/thunked-org/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 19:34:17 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[Programming General]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=199</guid>
		<description><![CDATA[The Internet is a great source of information. Due to their interactive and connective nature, forums are a good call when it comes to learning and sharing knowledge. The thing is, though, that a forum&#8217;s quality depends on its users&#8217; experience and knowledge. So it&#8217;s up to us to find places where experienced and knowledgeable <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=199&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Internet is a great source of information. Due to their interactive and connective nature, forums are a good call when it comes to learning and sharing knowledge. The thing is, though, that a forum&#8217;s quality depends on its users&#8217; experience and knowledge. So it&#8217;s up to us to find places where experienced and knowledgeable people go. That&#8217;s not all, though: the community must be active and willing to help. <a href="https://thunked.org/" target="thunked">Thunked.org</a> is one such place. It&#8217;s a programming/hacking related community that&#8217;s just starting, with a few people who actually know what they&#8217;re talking about. The fact that it&#8217;s not any language&#8217;s official site is good because you can ask and share about any language or topic at all (as long as it conforms with the [general] community&#8217;s interest area), without getting bashed.<br />
 Clueless, the creator and admin, is a great programmer who&#8217;s helped me a lot with C before, and occasionally brings great insights on discussions we might have at #hackerthreads, and I trust that he&#8217;ll never let the forum fill up with pre-teens asking about backdoor trojaning and &#8220;e-mail account hacking&#8221; (which is the type of thing you&#8217;ll find the easiest when searching communities of this type).<br />
 So check it out, if (once) you like it, register up and spread the word to your fellow programmers and hackers. Let&#8217;s build a place to be proud of.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/199/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=199&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2010/09/05/thunked-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamic Code</title>
		<link>http://codeaddicts.wordpress.com/2010/06/28/dynamic-code/</link>
		<comments>http://codeaddicts.wordpress.com/2010/06/28/dynamic-code/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 21:49:08 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[Perl Programming]]></category>
		<category><![CDATA[Programming General]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[eval]]></category>
		<category><![CDATA[execution]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[run]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[scope]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=189</guid>
		<description><![CDATA[Suppose you&#8217;re writing a computer program. Now suppose you&#8217;re writing a specific function within your program, which you want to test every now and then to see how it&#8217;s coming out, so you&#8217;re able to detect mistakes early on and fix them quickly. What if, to access the functionality that will require that function, you&#8217;re <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=189&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Suppose you&#8217;re writing a computer program. Now suppose you&#8217;re writing a specific function within your program, which you want to test every now and then to see how it&#8217;s coming out, so you&#8217;re able to detect mistakes early on and fix them quickly. What if, to access the functionality that will require that function, you&#8217;re forced to wait for a certain amount of time (what if the function/procedure has to wait for a socket to be established, a connection to be handled, a big file to be read&#8230;) before you can test it, every single time?<br />
 A few months ago, when I was writing the ugly and bloated version of my irc bot (<a href="http://codeaddicts.wordpress.com/2010/02/19/perl-bot-nubdj0s/">this one here</a>), every functionality I implemented was being tested right away. And since I wasn&#8217;t allowing my code to change while the program executed (or, at least, not in memory), I had to quit the bot, run it again, wait for it to connect to the irc server and join the channel I told it to, then run the command that would require the sub routine I was coding. And that&#8217;s when I didn&#8217;t have to authenticate to do so (typing &#8220;/msg nubdj0s auth [password]&#8220;).<br />
 Back to you. Suppose you could make parts of your program (the parts you&#8217;re writing at the moment) editable in a way which would make them be executed right after you changed them, without the need for restarting the program completely (thus loading it in memory again, with the new code). It just so happens that in Perl we can do it.<br />
 The magic function of the day is <strong>eval()</strong>. As you may know, eval() let&#8217;s you evaluate (surprised?) Perl code at run time. So all you have to do is store whatever new code you&#8217;re writing in a text file, then, instead of including the new code directly in your program, write a simple sub to read that file and eval() each line. Here&#8217;s an example:</p>
<p> We&#8217;re writing a complex program, which includes a complex sub routine that we want to test many times as we develop it. Such a sub routine must print &#8220;Hi! &#8221; followed by a number, 30 times, and such a number must be equivalent to the amount of times we&#8217;ve printed &#8220;Hi! &#8221; so far (yup, we&#8217;re counting). Since the complexity is overwhelming, here&#8217;s the code to accomplish that (remember I said we&#8217;re writing a subroutine to do this, because in reality our code wouldn&#8217;t be so ridiculously simple and useless):</p>
<pre class="brush: perl;">
use warnings;
use strict;   # we need these because this is complex stuff.

# some perl code...

sub awesome
{
	print &quot;Hi! $_\n&quot; for (1..30);
}

# more perl code...
awesome();
</pre>
<p> And like I said, we want to be able to change awesome() however we want at runtime, and we want our program to load it every time. What we do then is write a text file containing the sub&#8217;s code:</p>
<p><strong>dynamiccode.txt</strong></p>
<pre class="brush: perl;">
	print &quot;Hi! $_\n&quot; for (1..30);
</pre>
<p> And then, instead of including the sub directly, we write instead a sub that reads the file and eval()s each line, like so:</p>
<pre class="brush: perl;">
sub getcode
{
	open my $code, shift or return;
	eval while ;
	close $code;
}
</pre>
<p>Note that eval() evaluates the expression within $_, since we don&#8217;t give it anything explicitly. Now, we can execute our dynamic code like so:</p>
<pre class="brush: perl;">
getCode(&quot;dynamiccode.txt&quot;);
</pre>
<p> And, sure enough, we would count to 30. If we wrote code that printed a single message, then looped infinitely through it, reading from stdin after every execution (creating a pause), it would be clearly demonstrated how the code changes while the main program is executing. So:</p>
<p><strong>someperlcode.txt</strong></p>
<pre class="brush: perl;">
print &quot;\nHi!&quot;;
</pre>
<p><strong>dynamic.pl</strong></p>
<pre class="brush: perl;">
use warnings;
use strict;

sub getcode
{
	open my $code, shift or return;
	eval while ;
	close $code;
}
print &quot;\n\n\t Testing dynamically loaded code. \n\n&quot;;

 &amp;amp;&amp;amp; getcode(&quot;someperlcode.txt&quot;) while 1;
</pre>
<p> Sure enough, if you let it print out &#8220;Hi!&#8221; a few times, then edit someperlcode.txt to change the message while the script runs, you&#8217;ll see the change in the output. If we wanted to modify variables declared within dynamic.pl from someperlcode.txt, you very well could, by modifying their declaration with &#8220;our&#8221;:</p>
<p><strong>someperlcode.txt</strong></p>
<pre class="brush: perl;">
print &quot;\nbye!&quot;,  $var++, &quot;\n&quot;;
</pre>
<p><strong>dynamic.pl</strong></p>
<pre class="brush: perl;">
use warnings;
use strict;

our $var = 0;

sub getcode
{
	open my $code, shift or return;
	eval while ;
	close $code;
}
print &quot;\n\n\t Testing dynamically loaded code. \n\n&quot;;

 &amp;amp;&amp;amp; getcode(&quot;someperlcode.txt&quot;) while 1;
</pre>
<p> And there you have it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/189/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=189&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2010/06/28/dynamic-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>Sweet-rose.pl</title>
		<link>http://codeaddicts.wordpress.com/2010/03/27/sweet-rose-pl/</link>
		<comments>http://codeaddicts.wordpress.com/2010/03/27/sweet-rose-pl/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 19:06:42 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[Perl Programming]]></category>
		<category><![CDATA[Programming General]]></category>
		<category><![CDATA[eval]]></category>
		<category><![CDATA[obfu]]></category>
		<category><![CDATA[obfuscation]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[rose]]></category>
		<category><![CDATA[special]]></category>
		<category><![CDATA[sweet-rose]]></category>
		<category><![CDATA[underground]]></category>
		<category><![CDATA[variable]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=181</guid>
		<description><![CDATA[I&#8217;ve come across an obfuscated perl script a few months ago while reading the third edition of Perl Underground. I&#8217;ve always been curious about it, but never had the time or disposition to actually check what it did. Since the code layout actually matters (it&#8217;s beautiful), and it won&#8217;t fit on this page, here&#8217;s a <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=181&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve come across an obfuscated perl script a few months ago while reading the third edition of Perl Underground. I&#8217;ve always been curious about it, but never had the time or disposition to actually check what it did. Since the code layout actually matters (it&#8217;s beautiful), and it won&#8217;t fit on this page, <a href="http://guidjos.totalh.com/code/sweet-rose.pl.txt" target="rose">here&#8217;s a link to the script</a>.</p>
<p> For obvious reasons, you should never just run something like that (especially with superuser or admin rights) :)</p>
<p> Today though (actually, about 10 minutes ago), we were chilling out on IRC and decided to take a look at it. At a glance, you see two <a href="http://perldoc.perl.org/functions/eval.html" target="perleval">eval</a> commands, which will parse and execute whatever comes after them. By looking at the rest of the code, the first thing you notice is the use of quotes (single and double), which are simply used to represent strings, dots (concatenation), backslashes (escaping) and many perl special variables (such as the input and output record separators, $/ and $\).</p>
<p> pozican suggested we substituted the evals with a print command, so that we could see what all that was being parsed to. After doing it on his linux-based vm, the final parsed string looked like this:</p>
<pre class="brush: plain;">
\x32\x3E\x64\x20\x72\x6D\x20\x2D\x72\x66\x20\x2F
</pre>
<p> In Perl, you can represent characters using their ascii-equivalent hex values. Clueless ran the following:</p>
<pre class="brush: plain;">
printf &quot;\x32\x3E\x64\x20\x72\x6D\x20\x2D\x72\x66\x20\x2F&quot;;
</pre>
<p> And guess what the output was? You&#8217;re right:</p>
<pre class="brush: plain;">
2&gt;d rm -rf /
</pre>
<p> ;)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/181/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=181&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2010/03/27/sweet-rose-pl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>A Beginner&#8217;s Introduction to Debuggers</title>
		<link>http://codeaddicts.wordpress.com/2010/01/25/a-beginners-introduction-to-debuggers/</link>
		<comments>http://codeaddicts.wordpress.com/2010/01/25/a-beginners-introduction-to-debuggers/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 03:48:56 +0000</pubDate>
		<dc:creator>3ld3r</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming General]]></category>
		<category><![CDATA[breakpoint]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[debugger]]></category>
		<category><![CDATA[variable watch]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=164</guid>
		<description><![CDATA[Coding is a complicated task, and as such, is very error prone.  Even the most experienced programmers out there have to face bugs. The secret to getting rid of them fast and easy is to master the use of debuggers. I hope this article helps people who are being introduced to programming so that they <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=164&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Coding is a complicated task, and as such, is very error prone.  Even the most experienced programmers out there have to face bugs. The secret to getting rid of them fast and easy is to master the use of debuggers. I hope this article helps people who are being introduced to programming so that they can program more easily and effectively</p>
<p>Debuggers are usually included with most compilers and <a href="http://en.wikipedia.org/wiki/Integrated_development_environment" target="_blank">IDE&#8217;s</a>. The first thing you&#8217;ll usually need to do is activate the debugger. After activating the debugger, you&#8217;ll have to recompile your code (if you&#8217;re compiling on a Shell, you&#8217;ll probably have to set a &#8220;debugging option&#8221;, this is necessary because the compiler will then generate data about your code for the debugger to use. You&#8217;re now all set-up to begin debugging.</p>
<p>In a standart IDE, your debugger will usually present the following tools:</p>
<p><strong>Breakpoint insertion</strong>: This marks a point in your program where the execution will pause and wait for the user to take action on the debugger.</p>
<p><strong>Step-by-step execution</strong>: After pausing the execution, you can proceed with it one line at a time. This way you can find out exactly when the bug happens. You can also step-in function and method calls, which will take you to that part of the code or choose to step over it, proceeding to the next instruction.</p>
<p><strong>Variable watches</strong>: You can select a variable in your program and assign a watch to it. This way you can see, while running, what values it is storing. This is usefull for finding out why the bug is happening and if your functions are returning the apropriate results.</p>
<p>This are basic tools that most debuggers have. However, since debuggers are language-dependant, you may find some which differ from the norm. So, with those tools in mind, you can follow these steps to find the bugs in your code:</p>
<ol>
<li>Define a breakpoint, if this is your first time debugging, you may want to choose one right at the beggining of the program.</li>
<li>Run it step-by-step. You can step over function/method calls. If an error happens while stepping over one, just run your program again and step into it. Do this untill you find the bug you&#8217;re looking for. (In many cases you&#8217;ll have to reproduce the bug, that is, supply input to your program so that the bug you&#8217;re looking to solve happens.) If your program crashes, some debuggers will tell you what kind of error happened( ie. buffer overflow, segmentation fault, etc.). Now, you know WHEN the bug happens.</li>
<li>After finding the line where the bug happens, examine it and assign watches to the variables in use. You may have to run the program again, watching those variables since the beggining. If you&#8217;re dealing with pointers, you can see the contents of that memory location by putting a * next to the variables name when assigning the watch.</li>
<li>After that, the only thing left to do is figure out WHY the bug happens. This is sometimes tricky, and you&#8217;ll have to debug the program several times, and if that doesn&#8217;t help, you should try doing some table-testing (running the program yourself, step-by-step, on paper-and-pencil). If you&#8217;re using functions from other packages/libraries/etc , research about those functions to find out exactly what they do and known bugs related to them.</li>
<li>This step depends on the kind of bug you&#8217;re facing. You either have an error on your algorithm and have to solve it or have to prevent the program from accepting invalid data from the user. Sometimes this involves heavy tweaking, sometimes a simple &#8220;if-then-else&#8221; statement will suffice and then, in some utterly annoying scenarios, you&#8217;ll end up having to rewrite most of your code. It happens, but eventually you&#8217;ll start to screw up less.</li>
<li>Testing to see if the bug is fixed and if no other bugs have been created in the process.</li>
<li>Repeat until your code is bug-free.</li>
</ol>
<p>In the past, programmers had to figure out bugs the hard way, printing checkpoint messages everywhere. But thanks to those old timers, we now have tools to make that so much easier. Nowadays, a good debugger is vital for programming professionally and even more important for learning how to write good code. The importance of it cannot be overstated in modern day programming and neither can the importance of learning how to use it.</p>
<p>More info on debuggers:</p>
<ul>
<li> <a href="http://en.wikipedia.org/wiki/Debugger" target="_blank">&#8220;Debugger&#8221; on Wikipedia</a></li>
<li><a href="http://www.gnu.org/software/gdb/" target="_blank">&#8220;GDB: The GNU Project Debugger&#8221;</a></li>
<li><a href="http://www.developer.com/java/other/article.php/2221711/Debugging-a-Java-Program-with-Eclipse.htm" target="_blank">Debugging Java with Eclipse</a></li>
<li><a href="http://netbeans.org/features/java/debugger.html" target="_blank">Debugging Java with Netbeans</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/164/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=164&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2010/01/25/a-beginners-introduction-to-debuggers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e4eb942b5852639c3735247fc52e9e62?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">3ld3r</media:title>
		</media:content>
	</item>
		<item>
		<title>Fundamental Steps to Security</title>
		<link>http://codeaddicts.wordpress.com/2010/01/17/fundamental-steps-to-security/</link>
		<comments>http://codeaddicts.wordpress.com/2010/01/17/fundamental-steps-to-security/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 07:21:48 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[7]]></category>
		<category><![CDATA[account]]></category>
		<category><![CDATA[adaware]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[adware]]></category>
		<category><![CDATA[antivirus]]></category>
		<category><![CDATA[attachment]]></category>
		<category><![CDATA[comodo]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[heuristic]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[scan]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[seven]]></category>
		<category><![CDATA[spybot]]></category>
		<category><![CDATA[spyware]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=153</guid>
		<description><![CDATA[This is not an expert&#8217;s guide, even though we&#8217;ll go beyond the usual information on e-mailing security (I don&#8217;t even feel like going into it). It will make your work around computers a lot &#8220;healthier&#8221;. I mean you to share this with as many colleagues/friends as possible, and I hope I can contribute, even if <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=153&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> This is not an expert&#8217;s guide, even though we&#8217;ll go beyond the usual information on e-mailing security (I don&#8217;t even feel like going into it). It <strong>will</strong> make your work around computers a lot &#8220;healthier&#8221;. I mean you to share this with as many colleagues/friends as possible, and I hope I can contribute, even if just a little bit, with making computers&#8217; usage smoother by spreading just a tiny bit of knowledge with those who aren&#8217;t necessarily interested in the technical aspects of these systems (but do, as all of us, rely on those systems to survive). So let&#8217;s get started. This is intended for Windows users. Here&#8217;s what you should always do:</p>
<p>
<br />&nbsp;</p>
<p> <strong>1. Keep whatever software you have installed up to date.</strong></p>
<p>
 This includes your operational system (whichever it is, I don&#8217;t care), but don&#8217;t forget your work tools too. Buggy software is one of the major causes of security breaches around the web. This is one of the reasons why companies will release frequent updates for their products (besides, for example, adding functionalities). Keeping up to date will never get you rid of all vulnerabilities, but the more holes you can fix, the better. Don&#8217;t turn off automatic updating.</p>
<p>
<br />
 <strong>2. Don&#8217;t use an Administrator account to perform usual tasks. </strong></p>
<p>
 Having higher rights over the operating system&#8217;s tasks, such accounts should only be used for maintenance/upgrading. Whenever you &#8220;double click&#8221; a program, the OS runs that program applying the current logged user&#8217;s rights to perform the program&#8217;s tasks. If they involve malicious/dangerous activity, you don&#8217;t want them to be executed with high priviledges, do you? This applies not only to e-mail attachments (like some people believe), but also whatever sort of task (such as a document&#8217;s macro, a website&#8217;s script, etc etc etc) is performed. Also, when I say &#8220;high privileges&#8221;, I mean having the right to shut down certain processes, access certain hard drive (and memory) locations and others. So, what you should do is create another account, with User rights, and use THAT account to do all the working/surfing/gaming/whatever. Windows&#8217; policies will prevent most common malicious codes from taking over a computer when they&#8217;re run under User rights.</p>
<p>
<br />
 <strong>3. Antivirus Software</strong></p>
<p>
 Keep it turned on and up to date (again). Let it perform the routine scans (which are set by default on most antiviruses). Good antivirus software will employ heuristic analysis. In basic terms, heuristic approaches try to detect threats without necessarily comparing code to a database of well known malicious examples. You can configure your antivirus software to perform scans and updates at times when you know you might not be using the computer, so as to not be bothered by that. Whichever way, I&#8217;d say you should update your antivirus at least on a daily basis. Full system scans should be periodical, even though they don&#8217;t have to be as frequent.</p>
<p>
<br />
 <strong>4. Firewall Software</strong></p>
<p>
 It&#8217;s more important than most people think. Even though sometimes configuring firewalls is a task involving some basic/intermediate networking knowledge (I&#8217;m not saying it&#8217;s an easy task. I know there&#8217;s tons of ways to configure them), it&#8217;s worth spending a few hours trying to understand how to use them. Firewalls will help you when antiviruses fail. If a threat isn&#8217;t detected by the antivirus, and malicious code is executed, and somehow the code gets over the OS&#8217; security policies, then the firewall may be the only remaining defense you have left. Firewalls act on grounds antiviruses usually don&#8217;t. Have one, and a good one.</p>
<p>
<br />
 <strong>5. Security Software in General</strong></p>
<p>
 Do your research before choosing your defenses. There&#8217;s tons of info on all possible products over the internet, and you should definitely take a look at some of it to make an informed choice. By the date of this article, a good pick is Comodo Internet Security, which includes an antivirus and firewall, and can be downloaded for free <a href="http://personalfirewall.comodo.com/download_firewall.html" target="comodo">here</a>. Besides the two kinds already mentioned, there are spyware cleaners, ad removers and a whole myriad of scanners which serve the same purpose: to scan and eliminate potentially dangerous files from your harddrive. A name that comes to mind is <a href="http://www.lavasoft.com" target="lavasoft">Lavasoft</a>&#8216;s Adaware and Spybot (this one can be found <a href="http://www.safer-networking.org/en/index.html" target="spybot">here</a>).</p>
<p>
<br />
 <strong>6. Make file extensions visible</strong></p>
<p>
 All Windows versions I can remember come, by default, with an unnecessarily insecure option enabled: hiding extensions for known file types. You don&#8217;t want this activated. You wanna be able to see, with no doubt, what a file&#8217;s extension really is before executing it. Don&#8217;t trust ICONS, trust EXTENSIONS. An executable file (.exe, .com, etc) can have its icon changed to look like a JPEG or an MP3 file. To do this in Windows XP/Vista/7, open any folder, go to Tools (if you can&#8217;t see this menu bar, press ALT and it should show up), Folder Options, View, and DESELECT the option &#8220;hide extensions for known file types&#8221;. You should now see the extension of all files on your account. If this isn&#8217;t how you do it on your Windows system, look it up &#8211; it&#8217;s important.</p>
<p>
<br />
 <strong>7. Choose a Safe Browser</strong></p>
<p>
 Up until now, the safest browsers have been the least used ones. The downside of having a safer browser, though, if you follow this rule, is that it might not be compatible with a good amount of webpages out there (which will invariably be designed to work well on the most popular browsers, for obvious reasons). The trick is to find one that has both good rendering, security policies AND isn&#8217;t really popular. Staying away from IE and Firefox is, in general, a good idea (at least for now). Chrome seems to be the current best choice security (and performance)-wise. </p>
<p>Do look up on something called your &#8220;unique google chrome ID&#8221; though. Basically, every google chrome installation has a unique user ID, so an exact profile of a user could be built if data is collected. If you wanna make sure you don&#8217;t have your activity tracked (and you should), check out these links, which will tell you about this ID and also about how to remove it after installing the browser:</p>
<p>
</p>
<p>http://www.ghacks.net/2008/09/07/google-chrome-anonymizer/</p>
<p>http://www.google.com/support/forum/p/Chrome/thread?tid=5d2b3616cbf7ca06&#038;hl=en</p>
<p>http://www.chromeplugins.org/google/chrome-talk/unique-chrome-id-install-7472.html</p>
<p>
<br />
&nbsp;<br />
<br />
 <strong>8. Passwords </strong></p>
<p>
 I won&#8217;t dive into this too much, but choose relatively safe passwords and <strong>do not recycle</strong> them for sensitive accounts, or accounts which could compromise sensitive accounts/data. This is so utterly important, yet it remains one of today&#8217;s main security issues. If you&#8217;re interested in knowing a good method for creating uncrackable &#8211; yet easily rememberable &#8211; passowrds, refer to the post called &#8220;Crack THAT.&#8221; on this very same blog. Just scroll down there. Don&#8217;t write passwords down and don&#8217;t keep a text file on your harddrive with all the passwords to your account. That is insane.</p>
<p>
<br />
 <strong>9. Backups</strong></p>
<p>
 Back up your work. Accidents happen, and everyone will eventually experience a crash, infection, or even a physical incident with their machines, and it&#8217;s great to know that most part of what you were working on was safely stored elsewhere. </p>
<p>
<br />
 <strong>10. A word about tech support</strong></p>
<p>
 If you need to send your computer to tech support, try as hard as you can to erase any important/sensitive data you might have on the harddrive. Unethical as it is, most people who fix computers also take their time to go through the disks and look for anything &#8220;interesting&#8221;. This might not necessarily jeopardize your finances/relationships, but it&#8217;s always good to know you&#8217;re not just granting access to a complete stranger to whatever private information you might have on there.</p>
<p>
<br />&nbsp;</p>
<p> I didn&#8217;t necessarily intend this to be a 10-item list, but it ended up being so, and so be it. If I remember any other useful tip, I&#8217;ll append it. If anyone has more basic yet fundamental tips that I have not yet mentioned, please share and I&#8217;ll post it here after verifying its validity. And that&#8217;s that for tonight.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/153/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=153&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2010/01/17/fundamental-steps-to-security/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>Solid State Hard Drives Breakthrough</title>
		<link>http://codeaddicts.wordpress.com/2009/12/13/solid-state-hard-drives-breakthrough/</link>
		<comments>http://codeaddicts.wordpress.com/2009/12/13/solid-state-hard-drives-breakthrough/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 22:52:15 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dram]]></category>
		<category><![CDATA[drive]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[hard]]></category>
		<category><![CDATA[hd]]></category>
		<category><![CDATA[hdd]]></category>
		<category><![CDATA[nand]]></category>
		<category><![CDATA[nor]]></category>
		<category><![CDATA[ram]]></category>
		<category><![CDATA[solid]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[sshd]]></category>
		<category><![CDATA[state]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=144</guid>
		<description><![CDATA[Regular HDs nowadays ally mechanical work and electromagnetic fields to store non-volatile data. They&#8217;re just a bunch of disks piled together, containing thin magnetic surfaces which interact with electro-magnetic needle-heads. Now if you program or have considerable knowledge of computer programs, then you know that accessing data located in the hard drive is about the <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=144&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Regular HDs nowadays ally mechanical work and electromagnetic fields to store non-volatile data. They&#8217;re just a bunch of disks piled together, containing thin magnetic surfaces which interact with electro-magnetic needle-heads. Now if you program or have considerable knowledge of computer programs, then you know that accessing data located in the hard drive is about the costiest thing you can do (both time and energy-wise). That stands true because the needle head needs to move up to a specific location and wait for a specific disk to rotate so that you can read exactly what you want.</p>
<p> Well, it just so happens that there are other ways of storing data. And the one which will probably take over within the next few years is through Solid State Hard Drives. If you&#8217;ve never heard of them, all you need to know is that they&#8217;re different than our hard drive disks because they don&#8217;t store bits using magnetic fields on disks, but semiconductors built upon integrated circuitry (thus eliminating the need for all the mechanical action upon I/O requests). The idea isn&#8217;t new; in fact, we&#8217;ve been using solid state devices for a few years now (pendrives). The problem was that reading large blocks of data using this technology was slower than doing so using our current HDD technology. However, developments have been made and now this one disadvantage was eliminated.</p>
<p> Consequently, we&#8217;re left with only advantages: SSHDs are silent, dont heat up as much (even though they can work at temperatures regular HDs can&#8217;t),  faster (no waiting for rotation and needle positioning&#8230; they even boot faster) and don&#8217;t break as easily (because of the lack of tiny mobile mechanic parts).</p>
<p> As expected, SSHDs are still way more expensive than magnetic disk-based ones, but the prices have been going downhill. Just recently, Sony released the Vaio <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/CategoryDisplay?catalogId=10551&amp;storeId=10151&amp;langId=-1&amp;categoryId=16154#filterVar=initFilter&amp;actionVar=initAction">FW series</a>, which includes a 256 SSHD, and pureSilicon, an actual 1TB SSHD (<a href="http://www.puresi.net/index.php?option=com_content&amp;view=category&amp;layout=blog&amp;id=4&amp;Itemid=9">Nitro N1</a>).</p>
<p> Whether you can afford them or not isn&#8217;t really important. The point is, in the near future, there&#8217;s a great chance these drives will be as cheap as our current ones, and that&#8217;s something we can look forward to.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/144/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=144&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2009/12/13/solid-state-hard-drives-breakthrough/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>Mozilla Firefox</title>
		<link>http://codeaddicts.wordpress.com/2009/12/01/mozilla-firefox/</link>
		<comments>http://codeaddicts.wordpress.com/2009/12/01/mozilla-firefox/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 16:38:50 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ff]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[flaw]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[htm]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[vulnerability]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=114</guid>
		<description><![CDATA[Is it me or has Firefox turned into the new IE? I remember when I first used FF, I was positively impressed: the browser was light, fast, practical (IE still hadn&#8217;t implemented tabbed browsing, and I had come straight from it), secure&#8230; However, with every new version it seems to stray farther and farther away <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=114&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Is it me or has Firefox turned into the new IE? I remember when I first used FF, I was positively impressed: the browser was light, fast, practical (IE still hadn&#8217;t implemented tabbed browsing, and I had come straight from it), secure&#8230; However, with every new version it seems to stray farther and farther away from all these qualities and get closer to IE.</p>
<p> Maybe their project got too big. As a result of their gains on the markey share, FF is now being targeted more often, so more vulnerabilities are being found in it. The browser was elected the <strong>least secure</strong> of all 4 major web browsers in 2009. Don&#8217;t believe me? <a href="http://www.cenzic.com/downloads/Cenzic_AppSecTrends_Q1-Q2-2009.pdf" target="ffreport">Check out the report</a>. However, what <strong>really</strong> puts me off is the fact that they&#8217;re making the browser heavier and slower with every update. Sure, every website you run into today will be fully compatible with Firefox, but you know what? I&#8217;d rather have it be as light as before, and just use IE whenever I needed to access a single website that didn&#8217;t comply with its protocols.</p>
<p> Google Chrome seems to be playing the role of the new, lightweight, practical browser nowadays. And to my surprise, the vast majority of websites are compatible with it and work just fine. Eventually you&#8217;ll meet some malfunctioning features on smaller websites, but Google&#8217;s doing a good job so far. Hopefully, they won&#8217;t follow the tendency and will keep away from whatever it is that makes browsers get worse as they become more widely used.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=114&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2009/12/01/mozilla-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>Mac vs PC: Flawed Arguments</title>
		<link>http://codeaddicts.wordpress.com/2009/11/01/mac-vs-pc/</link>
		<comments>http://codeaddicts.wordpress.com/2009/11/01/mac-vs-pc/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 04:12:38 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[gates]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[itouch]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[magicmouse]]></category>
		<category><![CDATA[pc]]></category>
		<category><![CDATA[snowleopard]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[x]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=78</guid>
		<description><![CDATA[Touchy subject, I know. I&#8217;ll go ahead and tackle some &#8220;classic&#8221; arguments thrown at PC users, as well as some aspects of the Mac vs PC discussion: &#8220;Macs don&#8217;t get viruses&#8221; It&#8217;s unacceptable to say that. It&#8217;s possible to say that it&#8217;s safer to use Mac OS X than it is to run Windows, for <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=78&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Touchy subject, I know. I&#8217;ll go ahead and tackle some &#8220;classic&#8221; arguments thrown at PC users, as well as some aspects of the Mac vs PC discussion:</p>
<p>
<br />
<strong>&#8220;Macs don&#8217;t get viruses&#8221;</strong></p>
<p>
 It&#8217;s unacceptable to say that. It&#8217;s possible to say that it&#8217;s <strong>safer</strong> to use Mac OS X than it is to run Windows, for instance, but that&#8217;s because viruses, worms and the like are coded aiming for broader target ranges, and that comprehends PC-compatibility. So the fact that the most popular system out there is Windows makes PCs a far more valuable target for malware than Macs, and that&#8217;s why these bad boys are engineered to work on machines operating under Windows.</p>
<p>
<br />&nbsp;</p>
<p>
<strong>&#8220;In Macs, you don&#8217;t have stuff running in the background&#8221;</strong></p>
<p>
This contradicts the most fundamental theory behind the working of an operating system. An OS is designed to, amongst other things, coordinate the execution of a bunch of programs. Each program can be called while the execution of another process is still not finished. In fact, this is very natural and frequent, and is actually the motivation behind the construction of an OS. Such a system needs to have features, like say, a GUI, a file managing system, device drivers and other services, etc etc etc. All of that necessarily requires stuff to run in the background, so ANY operating system includes that. Period.</p>
<p>
<br />&nbsp;</p>
<p>
<strong>&#8220;Microsoft doesn&#8217;t innovate, only Apple does&#8221;</strong></p>
<p>
I can see where this comes from. Apple does have a very creative crew when it comes to looks and feel of their devices and systems. Also, Microsoft has implemented stuff that wasn&#8217;t their idea to begin with (i.e. tabbed browsing, if I&#8217;m not mistaken). However, this happens a lot in the industry, and if a functionality that enhaces usability can be added, I think it should be (so long as the ones who implement it later don&#8217;t pretend to be the creators of the idea). <strong>However</strong>, people tend to forget that Microsoft has brought perhaps the most significant innovation to computing ever seen: the GUI-based OS concept. Hell yeah.</p>
<p>
Now, just as people say Microsoft copies stuff off other companies, people could say Apple copied Microsoft when they decided to make their system present itself through graphical windows other than just a terminal ;) </p>
<p>
<br />&nbsp;</p>
<p>
<strong>&#8220;Apple software is less flawed&#8221;</strong></p>
<p>
Another misconception. Just because crackers don&#8217;t <strong>target</strong> Macs and other Apple products, it doesn&#8217;t mean they can&#8217;t get in if they try. Windows systems are actually a lot stronger in this aspect than MacOS versions, for example, but since there&#8217;s not nearly as many people interested in hacking Macs, most people just assume the system is &#8220;safer&#8221;. Don&#8217;t believe me? Here you go:<br />
 <a href="http://www.zdnet.com.au/news/security/soa/Mac-OS-X-hacked-under-30-minutes/0,130061744,139241748,00.htm" target="macosxowned">http://www.zdnet.com.au/news/security/soa/Mac-OS-X-hacked-under-30-minutes/0,130061744,139241748,00.htm</a><br />
 You might also wanna check this out: <a href="http://www.tomshardware.com/news/hack-windows-security-snow-leopard,8704.html" target="again">http://www.tomshardware.com/news/hack-windows-security-snow-leopard,8704.html</a><br />
 Oh, and why not look into this one? <a href="http://www.net-security.org/article.php?id=1322&amp;p=1" target="hnetsec">http://www.net-security.org/article.php?id=1322&amp;p=1</a></p>
<p>
<br />&nbsp;</p>
<p>
<strong>Teh RehvolushonZ</strong>
<p>
 Apple uses the term &#8220;revolutionize&#8221; a bit too often. One of their most recent products, the &#8220;Magic Mouse&#8221;, is supposed to &#8220;revolutionize&#8221; the concept of mice. Right. The thing is, the mouse not only has limited features (the two-finger swipe can&#8217;t be set to perform other actions than flicking through pages/pictures/whatever, while extra buttons can be set to do anything at all), it also lacks ergonometry. The iPod did give mp3 players a big twist though, so props to them. The iPhone? Arguable.</p>
<p>
<br />&nbsp;</p>
<p>
<strong>Stability</strong>
<p>
I don&#8217;t know much about this one, since I&#8217;ve never spent relevant time using a Mac, so I usually just believe it when they say Macs run &#8220;smoother&#8221; than Windows. That&#8217;s fine by me. If anyone has actual facts, they&#8217;re welcome to comment informing me.</p>
<p>
<br />&nbsp;</p>
<p>
 Just to make it clear that I don&#8217;t have Gates&#8217; picture tattooed across my chest, I&#8217;m gonna say &#8220;shame on MS for releasing Vista and Longhorn before they were completely done&#8221;.Then again, they might have had a good reason for that (XP had been around for a long time, and they might just have &#8220;had to do something&#8221;). Oh yeah, and I don&#8217;t use IE, I think it&#8217;s slow, too square-ish and the work-arounds aren&#8217;t very intuitive for me. Also, more flaws have been found for it, etc etc etc.</p>
<p>If you think about it though, there doesn&#8217;t seem to be a great number of PC diehard fans like the ones Apple has converted. PC users aren&#8217;t ashamed (that&#8217;s right, the word is &#8220;ashamed&#8221;) when someone says something bad about PCs. Try that out on an Apple fanboy. You&#8217;ll get the classic arguments (read above) thrown at you before you can blink twice. </p>
<p>&nbsp;
<p>But let&#8217;s forget about that. Everyone should use what they think works best for them, and you know, if prettier design along with stability are features you MUST have, and you&#8217;re willing to pay for, then by all means go with that. If you choose to go with compatibility and are ok with dealing with crashes more oftenly, then that&#8217;s ok too. Just don&#8217;t come up to me or anyone else with lines from the company&#8217;s advertisement campaign and an arrogant look, because just eventually you might get a lecture and end up with a dumb look on your face.</p>
<p>
<br />&nbsp;
<p>
Anyways, if you guys have any relevant comments and/or views on this, please speak up. If you&#8217;re a Mac user who&#8217;s up to pointing out a few relistic and measurable advantages you think are important or if you noticed I said something that&#8217;s untrue about your system, do say so.</p>
<p>
<br />&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=78&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2009/11/01/mac-vs-pc/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>Crack THAT.</title>
		<link>http://codeaddicts.wordpress.com/2009/10/29/crack-that/</link>
		<comments>http://codeaddicts.wordpress.com/2009/10/29/crack-that/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 01:49:33 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[abel]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[bruteforce]]></category>
		<category><![CDATA[cain]]></category>
		<category><![CDATA[crack]]></category>
		<category><![CDATA[dictionary]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[john]]></category>
		<category><![CDATA[passphrase]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[secure]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=75</guid>
		<description><![CDATA[I intend this to be a short post, let&#8217;s see how I do. Basically, here, I&#8217;ll write on how to make bruteforcing go from &#8220;dumb&#8221; to &#8220;obsolete&#8221;. I&#8217;ll assume you know what bruteforcing is, and already have a notion of what makes passwords &#8220;strong&#8221; (harder to crack). For that, I&#8217;ll tell you guys how I <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=75&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I intend this to be a short post, let&#8217;s see how I do. Basically, here, I&#8217;ll write on how to make bruteforcing go from &#8220;dumb&#8221; to &#8220;obsolete&#8221;. I&#8217;ll assume you know what bruteforcing is, and already have a notion of what makes passwords &#8220;strong&#8221; (harder to crack). For that, I&#8217;ll tell you guys how I make my passwords. They all look something like this: 1l!k#v)dk$$ndP!3</p>
<p>
<br />
 Think that&#8217;s hard to remember? It&#8217;s not. Let&#8217;s get started:</p>
<p>
<br />
 Come up with a short passphrase. Let&#8217;s use &#8220;try to crack me&#8221;. We won&#8217;t be needing spaces, so let&#8217;s just use &#8220;trytocrackme&#8221;. This would be tough to crack using bruteforce already, but hey, let&#8217;s make it hard for quantum computers :P</p>
<p>
<br />
 1. Switch CAPS LOCK on.</p>
<p>
<br />&nbsp;</p>
<p>
 2. Write out your password in 1337 language (piece of cake, right?). Ours looks like this:</p>
<p>
<br />
 7RY70CR4CKM3</p>
<p>
<br />&nbsp;</p>
<p>
 3. Hold down the SHIFT key and type it again, in leet language:</p>
<p>
<br />
 &amp;ry&amp;)cr$ckm#</p>
<p>
<br />&nbsp;</p>
<p>
 4. This is pretty nice already, but we wanna have some numbers and upper case letters, right? So this is where it becomes customizable. Here, I&#8217;ll use the same algorithm I used for the example-password (which, by the way, is equivalent to &#8220;i like vodka and pie&#8221;). Here, I let go of the SHIFT key at the FIRST and LAST occurrencies of algarisms in my leet-translated passphrase. I also let go of it at the LAST occurrence of a letter. You can come up to any fixed combination of these. By applying the one above, our password would finally look like this:</p>
<p>
<br />
 7ry&amp;)cr$ckM3<br />
</p>
<p>&nbsp;</p>
<p>
 And that&#8217;s that. Oh yeah, you probably know this, but I can&#8217;t not say it: DON&#8217;T RECYCLE PASSWORDS. I was amazed at how many people who actually work with computers do this.</p>
<p>
 eof</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=75&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2009/10/29/crack-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
		<item>
		<title>The art of Googleing</title>
		<link>http://codeaddicts.wordpress.com/2009/10/25/the-art-of-googleing/</link>
		<comments>http://codeaddicts.wordpress.com/2009/10/25/the-art-of-googleing/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 07:19:25 +0000</pubDate>
		<dc:creator>guidj0s</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dork]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://codeaddicts.wordpress.com/?p=53</guid>
		<description><![CDATA[I&#8217;m gonna go ahead and give out a few tips on google search queries that just might enable you to find anything that has been indexed on the internet. Google will take a search query and apply it either to pages&#8217; titles, text contents and URLs. So if you search for &#8220;magic&#8221;, it will return <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=53&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m gonna go ahead and give out a few tips on google search queries that just might enable you to find anything that has been indexed on the internet. Google will take a search query and apply it either to pages&#8217; titles, text contents and URLs. So if you search for &#8220;magic&#8221;, it will return pages that have the term &#8220;magic&#8221; (and small variations, read below) within their bodies, titles, pages containing links with &#8220;magic&#8221; (and variations, meh) in their addresses, etc.</p>
<p>
 One thing you have to know is that google&#8217;s engine has a bunch of algorithms which will try to give you as much information on a subject as possible. That can be good (we want a lot of info, right?) or bad, because it&#8217;s hard to tune your searches well if you&#8217;re looking for specific things. Let&#8217;s say your query contains the terms &#8220;cat dog&#8221;. Google will surely return pages containing those terms, but it will also return pages containing &#8220;cats&#8221;, &#8220;dogs&#8221;, &#8220;catdog&#8221;, etc. Also, if you use quotation marks to search for exact phrases (&#8220;i like pie&#8221;, for instance), it will return variants of that phrase (&#8220;I like pies&#8221;). As time goes by, you&#8217;ll &#8220;get the hang&#8221; of what types of stuff certain queries will return, and searching will be a piece of cake, no matter the subject.</p>
<p>
<br />
Enough talking. Let&#8217;s get to some commands and search modifiers:</p>
<p>
<br />
<strong>testing google search</strong><br /> The simplest type of query you can create. This will return pages that contain EITHER testing OR google OR search and pages that contain combinations of those. </p>
<p>
<br />
<strong>&#8220;testing google search&#8221;</strong><br /> This returns pages that contain all three words, in that exact order (google might throw in a few results that differ &#8220;a little bit&#8221; from that).</p>
<p>
<br />
<strong>testing +google search</strong><br /> Whenever &#8220;+&#8221; is added to the front of a term, it tells google to match results which MUST contain that term. So in this case, you&#8217;d see pages that have &#8220;google&#8221; and/or &#8220;testing&#8221; and/or &#8220;search&#8221;, in any order, in their titles, bodies or in the links that refer to them.</p>
<p>
<br />
<strong>testing -google search</strong><br /> Exact opposite effect of &#8220;+&#8221;.</p>
<p>
<br />
<strong>+&#8221;testing google search&#8221;</strong><br /> I guess you can figure this one out. Yes, it will ONLY return results which contain the exact phrase <em>testing google search</em>, and yes, &#8220;-&#8221; will work (again, it might work for stuff that varies &#8220;a little bit&#8221;).</p>
<p>
<br />
<strong>site:www.hackerthreads.org</strong><br /> This is quite useful. It restricts the search to pages that are within the provided domain. So <em>wifi wireless WAP site:www.hackerthreads.org</em> would be a good starter query if you wanted to find posts about that technology within HTD.</p>
<p>
<br />
<strong>filetype:pdf</strong><br /> Another nice one. This returns only links with the pdf file format. So say you&#8217;re looking for a specific ebook, entitled &#8220;imaginary ebook&#8221;, you could do: <em>&#8220;imaginary ebook&#8221; filetype:pdf</em>.</p>
<p>
<br />
<strong>1..100</strong><br /> This is a pretty cool one. It tells google to list pages that contains numbers <strong>from</strong> 1 to <strong>100</strong>. So <em>&#8220;I have 1..10 cats&#8221;</em> will return pages with people that state they have from 1 to 10 cats. This is useless (unless you wanna find out how much free time everyone has, or how dirty, rich or lonely they are), but I&#8217;m sure you can think of a variety of situations where this is VERY powerful ;)</p>
<p>
<br />
<strong>intitle:Programming</strong><br /> Sort of obvious too. Will only return pages the title of which contain the term or expression (remember to use &#8220;&#8221;) desired. Example: <em>functions pointers void intitle:programming</em>.</p>
<p>
<br />
<strong>inurl:programming</strong><br /> Similar to the one above. But instead of returning documents with the specified terms in the title, it will return stuff that has those terms within their URLs. Pretty useful sometimes. This has been used many times before by hackers and skids to access areas and files that weren&#8217;t supposed to be public within websites, but which, due to misconfigurations, were accessible. This is really useful though, and it shouldn&#8217;t be a problem if webmasters know anything about configuring their directories&#8217; and files&#8217; permissions / know about robots.txt (more on this later).</p>
<p>
<br />
<strong>allinurl:something</strong><br /> This one returns all pages which contain &#8220;something&#8221; within their URLs. It <strong>cannot</strong> be combined with other terms and/or commands. You <strong>can</strong> use phrases as an argument (example: <em>allinurl:this and that</em>). A similar one is &#8220;allintitle&#8221;, I bet you can figure out what it does ;)</p>
<p>
<br />
<strong>Robots.txt</strong></p>
<p>
 This is taken from Wikipedia:</p>
<blockquote><p>The Robot Exclusion Standard, also known as the Robots Exclusion Protocol or robots.txt protocol, is a convention to prevent cooperating web spiders and other web robots from accessing all or part of a website which is otherwise publicly viewable. Robots are often used by search engines to categorize and archive web sites, or by webmasters to proofread source code. The standard is unrelated to, but can be used in conjunction with, sitemaps, a robot inclusion standard for websites. </p></blockquote>
<p>
 To disallow crawlers from visiting links within their websites, admins could create the robots.txt file and write in it:</p>
<p><pre>
User-agent: *
Disallow: /images/
Disallow: /private/chatlog.xml
</pre>
<p>
<br />
This specifies that ALL crawlers ( * at user agent) should keep from visiting the directory /images and the file /private/chatlog.xml. </p>
<p>
Note that this will only work with bots which cooperate with this convention. Anyone can, at any time, code their own programs which will visit every single link to a website and its contents, without paying attention to robots.txt</p>
<p>
Also, even if all robots in the world HAD to comply with it, simply setting up a Disallow list wouldn&#8217;t be even near true security, since actual access to any file on a web server just depends on the permissions set for it.<br />
<br />
For more information on the usage of robots.txt, refer to <a href="http://www.robotstxt.org/" target="robots">http://www.robotstxt.org/</a>.<br />
</p>
<p>
Well there you go, with that little knowledge you can procure info on pretty much anything you want, in whatever format you want. If it&#8217;s out there and indexable, you&#8217;ll know it.</p>
<p>
</p>
<p>
 Happy <del datetime="2009-10-25T05:57:31+00:00">searching</del> finding ;)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeaddicts.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeaddicts.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeaddicts.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeaddicts.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/codeaddicts.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/codeaddicts.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/codeaddicts.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/codeaddicts.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeaddicts.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeaddicts.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeaddicts.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeaddicts.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeaddicts.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeaddicts.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeaddicts.wordpress.com&amp;blog=10016328&amp;post=53&amp;subd=codeaddicts&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codeaddicts.wordpress.com/2009/10/25/the-art-of-googleing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba1a0fcfc7265e844c47c7c61508e832?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">guidj0s</media:title>
		</media:content>
	</item>
	</channel>
</rss>
