<?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>Core Digest &#187; Code Snippets</title>
	<atom:link href="http://www.coredigest.com/code-snippets/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coredigest.com</link>
	<description>Digital &#38; Techno Feeds</description>
	<lastBuildDate>Thu, 07 Jul 2011 01:35:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
	<atom:link rel='hub' href='http://www.coredigest.com/?pushpress=hub'/>
		<item>
		<title>Embed YouTube Videos in both Flash and HTML5</title>
		<link>http://www.coredigest.com/code-snippets/embed-youtube-videos-in-both-flash-and-html5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=embed-youtube-videos-in-both-flash-and-html5</link>
		<comments>http://www.coredigest.com/code-snippets/embed-youtube-videos-in-both-flash-and-html5/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 19:18:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[embed_youtube_vidow]]></category>
		<category><![CDATA[html5_flash_youtube]]></category>

		<guid isPermaLink="false">http://www.coredigest.com/?p=974</guid>
		<description><![CDATA[YouTube, by default, offers a Flash-based video player for embedding videos in other web pages. Since most desktop based web browsers have the Adobe Flash Player plug-in, your embedded YouTube videos will play without issues. The scene is however a bit a different when it comes to mobile web browsers. Most of them don’t support <a href='http://www.coredigest.com/code-snippets/embed-youtube-videos-in-both-flash-and-html5/'>[...]</a>


Related posts:<ol><li><a href='http://www.coredigest.com/softwares/listen-to-a-song-on-youtube-without-all-the-hassles/' rel='bookmark' title='Permanent Link: Listen to a Song on YouTube, without all the hassles'>Listen to a Song on YouTube, without all the hassles</a></li>
<li><a href='http://www.coredigest.com/google/html5-support-in-popular-web-browsers/' rel='bookmark' title='Permanent Link: HTML5 Support in Popular Web Browsers'>HTML5 Support in Popular Web Browsers</a></li>
<li><a href='http://www.coredigest.com/how-to/how-to-capture-videos-of-google-earth/' rel='bookmark' title='Permanent Link: How to Capture Videos of Google Earth'>How to Capture Videos of Google Earth</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>YouTube, by default, offers a Flash-based video player for embedding videos in other web pages. Since most desktop based web browsers have the Adobe Flash Player plug-in, your embedded YouTube videos will play without issues.</p>
<p>The scene is however a bit a different when it comes to mobile web browsers. Most of them don’t support Flash videos but the modern ones do understand HTML5 video that is embedded using the new <video> element.</p>
<p><a href="http://www.coredigest.com/wp-content/uploads/2010/11/youtube_embed_code.png"><img src="http://www.coredigest.com/wp-content/uploads/2010/11/youtube_embed_code.png" alt="" title="youtube_embed_code" width="540" height="272" class="aligncenter size-full wp-image-975" /></a></p>
<p><strong>Embed YouTube Videos in an IFRAME</strong></p>
<p>If people are reading your content on both mobile and desktop browsers, an ideal solution therefore would be that you embed both the Flash version and the HTML5 version of a same YouTube video in your pages. Mobile users can then play the HTML5 video while the Flash video player will be visible only on desktops.</p>
<p>The good news is that new IFRAME based embed code from YouTube can easily handle this switching between Flash and HTML5 based players on its own.</p>
<p><a href="http://www.coredigest.com/wp-content/uploads/2010/11/embed_compare.jpg"><img src="http://www.coredigest.com/wp-content/uploads/2010/11/embed_compare.jpg" alt="" title="embed_compare" width="540" height="192" class="aligncenter size-full wp-image-976" /></a></p>
<p>The IFRAME auto-detects the browser /OS of the viewer and depending upon their environment, it will either use Flash or the HTML5 based video player to embed that YouTube video in your web page. </p>
<p><code>	&lt;iframe src="http://www.youtube.com/embed/VIDEO_ID"<br />
   width="320" height="190">&lt;/iframe&gt;<br />
</code></p>
<p>While all YouTube videos support IFRAME based embedding, you still have to write the embed code manually. Once the <a href="http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+YoutubeApiBlog+%28YouTube+API+Blog%29">preview period</a> is over, YouTube will make the IFRAME style a default for embedding YouTube videos since it offers you best of both HTML5 and Flash worlds.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=Embed+YouTube+Videos+in+both+Flash+and+HTML5+http%3A%2F%2Fcoredigest.com%2F%3Fp%3D974" title="Post to Twitter"><img class="nothumb" src="http://www.coredigest.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=Embed+YouTube+Videos+in+both+Flash+and+HTML5+http%3A%2F%2Fcoredigest.com%2F%3Fp%3D974" title="Post to Twitter">Tweet This Post</a></p></div>

<p>Related posts:<ol><li><a href='http://www.coredigest.com/softwares/listen-to-a-song-on-youtube-without-all-the-hassles/' rel='bookmark' title='Permanent Link: Listen to a Song on YouTube, without all the hassles'>Listen to a Song on YouTube, without all the hassles</a></li>
<li><a href='http://www.coredigest.com/google/html5-support-in-popular-web-browsers/' rel='bookmark' title='Permanent Link: HTML5 Support in Popular Web Browsers'>HTML5 Support in Popular Web Browsers</a></li>
<li><a href='http://www.coredigest.com/how-to/how-to-capture-videos-of-google-earth/' rel='bookmark' title='Permanent Link: How to Capture Videos of Google Earth'>How to Capture Videos of Google Earth</a></li>
</ol></p><p><a href="http://www.coredigest.com/code-snippets/embed-youtube-videos-in-both-flash-and-html5/" rel="bookmark">Embed YouTube Videos in both Flash and HTML5</a> originally appeared on <a href="http://www.coredigest.com">Core Digest</a> on November 17, 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coredigest.com/code-snippets/embed-youtube-videos-in-both-flash-and-html5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hackers Brew Self-Destruct Code to Counter Police Forensics</title>
		<link>http://www.coredigest.com/tools/hackers-brew-self-destruct-code-to-counter-police-forensics/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hackers-brew-self-destruct-code-to-counter-police-forensics</link>
		<comments>http://www.coredigest.com/tools/hackers-brew-self-destruct-code-to-counter-police-forensics/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 13:07:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[hackers_self_destructed_code]]></category>

		<guid isPermaLink="false">http://www.coredigest.com/?p=616</guid>
		<description><![CDATA[Hackers have released an application designed to thwart a Microsoft-packaged forensic toolkit used by law enforcement agencies to examine a suspect hard drive during a raid. The hacker tool, dubbed DECAF, is designed to counteract the Computer Online Forensic Evidence Extractor, aka COFEE. The latter is a suite of 150 bundled, off-the-shelf forensic tools that <a href='http://www.coredigest.com/tools/hackers-brew-self-destruct-code-to-counter-police-forensics/'>[...]</a>


Related posts:<ol><li><a href='http://www.coredigest.com/how-to/most-popular-virus-threats/' rel='bookmark' title='Permanent Link: Most Popular Virus Threats'>Most Popular Virus Threats</a></li>
<li><a href='http://www.coredigest.com/softwares/programmer-101-teach-yourself-how-to-code/' rel='bookmark' title='Permanent Link: Programmer 101: Teach Yourself How to Code'>Programmer 101: Teach Yourself How to Code</a></li>
<li><a href='http://www.coredigest.com/microsoft/download-microsoft-office-for-free/' rel='bookmark' title='Permanent Link: Download Microsoft Office for Free'>Download Microsoft Office for Free</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hackers have released an application designed to thwart a Microsoft-packaged forensic toolkit used by law enforcement agencies to examine a suspect hard drive during a raid.</p>
<p>The hacker tool, dubbed <a href="http://www.decafme.org/">DECAF</a>, is designed to counteract the Computer Online Forensic Evidence Extractor, aka COFEE. The latter is a <a href="http://www.wired.com/threatlevel/2008/04/microsoft-gives/">suite of 150 bundled</a>, off-the-shelf forensic tools that run from a script. Microsoft combined the programs into a portable tool that can be used by law enforcement agents in the field before they bring a computer back to their forensic lab. The script runs on a USB stick that agents plug into the machine.</p>
<p>The tools scan files and gather information about activities performed on the machine, such as where the user surfed on the internet or what files were downloaded.</p>
<p>Someone submitted the COFEE suite to the whistleblower site Cryptome last month, prompting Microsoft lawyers to issue a take-down notice to the site. The tool was also being distributed through the Bit Torrent file sharing</p>
<p>This week two unnamed hackers <a href="http://www.theregister.co.uk/2009/12/14/microsoft_cofee_vs_decaf/">released DECAF</a>, an application that monitors a computer for any signs that COFEE is operating on the machine.</p>
<p>According to the Register, the program deletes temporary files or processes associated with COFEE, erases all COFEE logs, disables USB drives, and contaminates or spoofs a variety of MAC addresses to muddy forensic tracks.</p>
<p>The hackers say that later releases of the program will allow computer owners to remotely lock down their machine once they detect that it has fallen into law enforcement hands. The hackers, however, have not released source code for the program, which would make it easy for anyone to see if the program contains malware that might also harm a computer or allow the attackers to take control of it.</p>
<p>Update: The developers of DECAF have taken issue with Threat Level referring to them as hackers. Were just two developers who support the free flow of information and privacy, one of them wrote Threat Level in an anonymous e-mail. You could say were just average joes</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=Hackers+Brew+Self-Destruct+Code+to+Counter+Police+Forensics+http%3A%2F%2Fcoredigest.com%2F%3Fp%3D616" title="Post to Twitter"><img class="nothumb" src="http://www.coredigest.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=Hackers+Brew+Self-Destruct+Code+to+Counter+Police+Forensics+http%3A%2F%2Fcoredigest.com%2F%3Fp%3D616" title="Post to Twitter">Tweet This Post</a></p></div>

<p>Related posts:<ol><li><a href='http://www.coredigest.com/how-to/most-popular-virus-threats/' rel='bookmark' title='Permanent Link: Most Popular Virus Threats'>Most Popular Virus Threats</a></li>
<li><a href='http://www.coredigest.com/softwares/programmer-101-teach-yourself-how-to-code/' rel='bookmark' title='Permanent Link: Programmer 101: Teach Yourself How to Code'>Programmer 101: Teach Yourself How to Code</a></li>
<li><a href='http://www.coredigest.com/microsoft/download-microsoft-office-for-free/' rel='bookmark' title='Permanent Link: Download Microsoft Office for Free'>Download Microsoft Office for Free</a></li>
</ol></p><p><a href="http://www.coredigest.com/tools/hackers-brew-self-destruct-code-to-counter-police-forensics/" rel="bookmark">Hackers Brew Self-Destruct Code to Counter Police Forensics</a> originally appeared on <a href="http://www.coredigest.com">Core Digest</a> on December 16, 2009.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coredigest.com/tools/hackers-brew-self-destruct-code-to-counter-police-forensics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programmer 101: Teach Yourself How to Code</title>
		<link>http://www.coredigest.com/softwares/programmer-101-teach-yourself-how-to-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programmer-101-teach-yourself-how-to-code</link>
		<comments>http://www.coredigest.com/softwares/programmer-101-teach-yourself-how-to-code/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 13:38:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Softwares]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Programmer 101:_Teach_Yourself_How_to_Code]]></category>

		<guid isPermaLink="false">http://www.coredigest.com/?p=479</guid>
		<description><![CDATA[You&#8217;ve always wanted to learn how to build software yourselfÃ¢â‚¬â€or just whip up an occasional scriptÃ¢â‚¬â€but never knew where to start. Luckily, the web is full of free resources that can turn you into a programmer in no time. Since the invention of the internet, programmers have been using it to discuss software development techniques, <a href='http://www.coredigest.com/softwares/programmer-101-teach-yourself-how-to-code/'>[...]</a>


Related posts:<ol><li><a href='http://www.coredigest.com/tools/hackers-brew-self-destruct-code-to-counter-police-forensics/' rel='bookmark' title='Permanent Link: Hackers Brew Self-Destruct Code to Counter Police Forensics'>Hackers Brew Self-Destruct Code to Counter Police Forensics</a></li>
<li><a href='http://www.coredigest.com/google/google-go-gets-going-w-video/' rel='bookmark' title='Permanent Link: Google Go gets going (w/ Video)'>Google Go gets going (w/ Video)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.coredigest.com/?attachment_id=481" rel="attachment wp-att-481"><img src="http://www.coredigest.com/wp-content/uploads/2009/12/500x_teachyourselftocode-hed-300x133.jpg" alt="500x_teachyourselftocode-hed" title="500x_teachyourselftocode-hed" width="300" height="133" class="alignnone size-medium wp-image-481" /></a></p>
<p>You&#8217;ve always wanted to learn how to build software yourselfÃ¢â‚¬â€or just whip up an occasional scriptÃ¢â‚¬â€but never knew where to start. Luckily, the web is full of free resources that can turn you into a programmer in no time.</p>
<p>Since the invention of the internet, programmers have been using it to discuss software development techniques, publish tutorials, and share code samples for others to learn from and use online. If you&#8217;re curious about how to become a programmer, you can get off to a running start using tons of great free web-based tutorials and resources.</p>
<p><strong>First Things First: Don&#8217;t Get Hung Up on Choosing a Language</strong></p>
<p><a href="http://www.coredigest.com/?attachment_id=482" rel="attachment wp-att-482"><img src="http://www.coredigest.com/wp-content/uploads/2009/12/languagechoice.png" alt="languagechoice" title="languagechoice" width="160" height="109" class="alignnone size-full wp-image-482" /></a></p>
<p>A common pitfall for beginners is getting stuck figuring out which programming language is best to learn first. There are a lot of opinions out there, but there&#8217;s no one &#8220;best&#8221; language. Here&#8217;s the thing: In the end, language doesn&#8217;t matter THAT much. Understanding data and control structures and design patterns does matter very much. Every languageÃ¢â‚¬â€even a simple scripting languageÃ¢â‚¬â€will have elements that you&#8217;ll use in other languages as well and will help you learn. In classes I took to get my degree in Computer Science, I programmed in Pascal, Assembly, and CÃ¢â‚¬â€languages I never actually got paid to program in professionally. I taught myself every language I&#8217;ve used in my career, reusing concepts I already knew, and referring to documentation and books to learn its syntax. So, don&#8217;t get hung up on what language to learn first. Pick the kind of development you want to do, and just get started using one that works.</p>
<p>There are several different kinds of software development you can do for various platforms, from the web to your desktop to your smartphone to a command line. In this article, we&#8217;ll outline some of our favorite starter tutorials and resources for teaching yourself how to program for each major platform. We&#8217;re going to assume you&#8217;re a savvy user, but a newb when it comes to wrangling code snippets, so we&#8217;ll keep things at the beginner level. Even just following through a beginner programming tutorial, you&#8217;ll be happy to see how far you can get.</p>
<p><strong>Desktop Scripting</strong></p>
<p>The easiest way to try your hand at programming for your Windows or Mac desktop is to start with a scripting or macro program like AutoHotkey (for Windows) or Automator (for Mac). Right now hardcore coders throughout the Lifehacker readership are yelling at their monitors, saying that AHK or AppleScript are not &#8220;real&#8221; programming. That may be trueÃ¢â‚¬â€technically these types of tools just do high-level scripting. But for those new to programming who just want to get their feet wet, automating actions on their desktop, these free tools are a fantastic way to startÃ¢â‚¬â€and you&#8217;d be surprised at how much you can do with them.</p>
<p><a href="http://www.coredigest.com/?attachment_id=483" rel="attachment wp-att-483"><img src="http://www.coredigest.com/wp-content/uploads/2009/12/340x_add-new-hotstring-300x132.png" alt="340x_add new hotstring" title="340x_add new hotstring" width="300" height="132" class="alignnone size-medium wp-image-483" /></a></p>
<p>For example, Adam developed the standalone Windows application we all know and love, Texter, using AutoHotkey, so this scripting language is capable of far more than just small-scale automation projects. To get started with AutoHotkey, check out Adam&#8217;s tutorial on how to turn any action into a keyboard shortcut using AutoHotkey. (Then, check out the source code for Texter to see the innards of a full-fledged AHK-based Windows application.)</p>
<p><strong>Web Development</strong></p>
<p>Instead of being bound to specific programming languages and the look and feel of a particular operating system, you can put your killer application in the browser and run it in the cloud, as a webapp. Welcome to the wonderful world of web development.</p>
<p><strong>HTML and CSS</strong>: The first thing you need to know to build any web site is HTML (the page markup that makes up web pages) and CSS (the style information that makes that markup look pretty). HTML and CSS are not true programming languagesÃ¢â‚¬â€they&#8217;re just page structure and style information. However, you should be able to author simple HTML and CSS by hand before you begin building web applications, because a web page is the frontend to every webapp. This HTML tutorial is a good place to start.</p>
<p><strong>JavaScript</strong>: Now that you can lay out a static web page with HTML and CSS, things get funÃ¢â‚¬â€because it&#8217;s time to learn JavaScript. JavaScript is the programming language of the web browser, the magic that makes dynamic in-page effects go. JavaScript is also the stuff of bookmarklets, Greasemonkey user scripts, and Ajax, so it&#8217;s the key to making all sorts of web goodies. Start learning JavaScript here.</p>
<p>Server-side scripting: Once you&#8217;re good at making things happen inside a web page, you&#8217;re going to need to put some dynamic server action behind itÃ¢â‚¬â€and for that, you&#8217;ll need to move into a server-side scripting language, like PHP, Python, Perl, or Ruby. For example, to make a web-based contact form that sends an email somewhere based on what a user entered, a server-side script is required. Scripting languages like PHP can talk to a database on your web server as well, so if you want to make a site where users can log in and store information, that&#8217;s the way to go. Excellent web development site <a href="http://webmonkey.com/">Webmonkey</a> is full of tutorials for various web programming languages. See their<a href="http://www.webmonkey.com/tutorial/PHP_Tutorial_for_Beginners"> PHP Tutorial</a> for </p>
<p><a href="http://www.coredigest.com/?attachment_id=484" rel="attachment wp-att-484"><img src="http://www.coredigest.com/wp-content/uploads/2009/12/diveintopythoncover-small.jpg" alt="diveintopythoncover-small" title="diveintopythoncover-small" width="106" height="140" class="alignnone size-full wp-image-484" /></a><br />
Beginners. When you&#8217;re ready, check out how to use PHP to talk to a database in WebMonkey&#8217;s PHP and <a href="http://www.webmonkey.com/tutorial/PHP_and_MySQL_Tutorial_-_Lesson_1">MySQL tutoria</a>l. PHP&#8217;s online documentation and function reference is the best on the web. Each entry (like this one on the strlen function) includes user comments at the bottom which are often as helpful as the documentation itself. (I happen to be partial to PHP, but there are plenty of other server-side scripting languages you might decide to go with instead.)</p>
<p><strong>Web frameworks</strong>: Over the years, web developers have had to solve and resolve the same problems and rewrite similar code to build dynamic web sites. To avoid making everyone reinvent the wheel for every new web development project, some programmers have come up with development frameworks that do some repetitive work for you. The popular <a href="http://rubyonrails.org/">Ruby on Rails framework</a>, for example, takes the Ruby programming language and offers a web-specific structure for getting common web application tasks done. In fact, Adam used Rails to build his first serious (and impressive!) web application, <a href="http://mixtape.me/">MixTape.me</a>. Here&#8217;s <a href="http://lifehacker.com/5336113/how-to-build-a-web-site-from-scratch-with-no-experience">his take on how to build a web site from scratch with no experience</a>. Other popular web development frameworks include CakePHP (for PHP programmers), <a href="http://www.djangoproject.com/">Django</a> (for Python programmers), and<a href="http://jquery.com/"> jQuery </a>(for JavaScript).</p>
<p><strong>Web APIs</strong>: An <a href="http://en.wikipedia.org/wiki/API">API (Application programming interface) </a>is a programmatic way for different pieces of software to talk to one another. For example, if you want to put a dynamic map on your web site, you want to use a Google Map instead of building your own custom map. The <a href="http://code.google.com/apis/maps/">Google Maps API</a> makes it easy to programmatically include a map in a page with JavaScript. Almost every modern web service you know and love has an API that lets you include data and widgets from it in your application, like Twitter, Facebook, Google Docs, Google Maps, and the list goes on. Integrating other webapps into your web application via API&#8217;s is the final frontier of rich web development. Every good, major web service API offers thorough documentation and some sort of quick start guide to try it out (here&#8217;s <a href="http://apiwiki.twitter.com/">Twitter&#8217;s,</a> for example). Go crazy.</p>
<p><strong>Command Line Scripting</strong></p>
<p>If you want to write a program that takes textual or file input and outputs something useful, the command line is the right place to do it. While the command line isn&#8217;t as sexy or good-looking as a webapp or desktop app, for rapid development of quick scripts that automate processes, you can&#8217;t beat it.</p>
<p>Several scripting languages that work on a Linux-based web server also work at the command line, like Perl, Python, and PHPÃ¢â‚¬â€so learning one of those baddies makes you conversant in two contexts. My path never took me too far down the Perl road, but I taught myself Python using the excellent and free online book, <a href="http://diveintopython.org/">Dive into Python.</a></p>
<p><a href="http://www.coredigest.com/?attachment_id=485" rel="attachment wp-att-485"><img src="http://www.coredigest.com/wp-content/uploads/2009/12/500x_todotxt20-header-300x154.jpg" alt="500x_todotxt20-header" title="500x_todotxt20-header" width="300" height="154" class="alignnone size-medium wp-image-485" /></a></p>
<p>If becoming a Unix ninja is one of your programmer goals, you absolutely must get good at shell scripting with bash. Bash is the command line scripting language of a *nix environment, and it can do everything from help you set up automated backups of your database and files to building out a full-fledged application with user interaction. Without any experience writing bash scripts beyond a dozen lines, I wound up developing a full-on personal to-do list manager in bash, <a href="http://todotxt.com/">Todo.txt CLI.</a><br />
<strong>Add-ons</strong></p>
<p>Nowadays, modern webapps and browsers are extensible with with bits of software that bolt onto them and add features. Add-on development is gaining in popularity as more developers look at existing software, like Firefox or WordPress, and think &#8220;But if only it could do THIS&#8230;&#8221;</p>
<p>You can do a whole lot in any web browser with just a mastery of HTML, JavaScript, and CSS. Bookmarklets, <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> user scripts, and <a href="https://addons.mozilla.org/en-US/firefox/addon/2108">Stylish</a> user styles are created with the same bits of code that make regular web pages, so they&#8217;re worth learning even if you just want to tweak an existing site with a small snippet of code.</p>
<p>More advanced browser add-ons, like Firefox extensions, let you do more. Developing Firefox extensions, for example, requires that you&#8217;re conversant in JavaScript and XML (markup that&#8217;s similar to HTML, but way more strict in format). Back in 2007 I ran down <a href="http://lifehacker.com/264490/how-to-build-a-firefox-extension">how to build a Firefox extension,</a> a skill I picked up after I stumbled upon a free tutorial.</p>
<p>Many free and well-loved web applications offer an extension framework as well, like WordPress and MediaWiki. Both of those apps are written in PHP, so comfort with PHP is a prerequisite for getting started. Here&#8217;s<a href="http://codex.wordpress.org/Writing_a_Plugin"> how to write a plug-in for WordPress.</a> Developers who want to ride the cutting edge of Google Wave can get started writing gadgets and bots in HTML, JavaScript, Java, and Python. I wrote my first Wave bot following this <a href="http://code.google.com/apis/wave/extensions/robots/python-tutorial.html">quick start tutorial in one afternoon.</a><br />
<strong>Web Development for the Desktop</strong></p>
<p>The best part about getting started programming in one context is when you can take those skills and apply them elsewhere. Learning web development first is a great way to start because now there are ways to put those skills to work on desktop applications, too. For example, Adobe AIR is a cross-platform run-time environment that lets you build your app once and release it to run on the desktop for every operating system AIR runs on. AIR apps are written in HTML, Flash, or Flex, so it lets you apply your web development skills in a desktop context. AIR is a great option for deploying desktop apps like one of our <a href="http://lifehacker.com/396393/top-10-apps-worth-installing-adobe-air-for">top 10 apps worth installing Adobe AIR for</a>.<br />
<strong>Mobile App Development</strong></p>
<p>Mobile applications like the ones you run on your iPhone or Android smartphone are all the rage right now, so you may have dreams of striking it rich in the iTunes App Store with the next killer app. However, for the new coder, diving headfirst into mobile development can be a rough learning curve, since it requires comfort with advanced programming languages like Java and Objective C. However, it&#8217;s worth checking out what iPhone and Android development looks like. Check out this<a href="http://www.cimgf.com/2008/10/01/cocoa-touch-tutorial-iphone-application-example/"> simple iPhone application development example</a> to get a taste of what iPhone developers do. Android apps are written in Java, and here&#8217;s a <a href="http://www.youtube.com/watch?v=I6ObTqIiYfE">friendly video tutorial of what building a &#8220;Hello Android&#8221; application workflow looks like.</a><br />
Patience, Elbow Grease, Trial and Error</p>
<p>Good coders are a special breed of persistent problem-solvers who are addicted to the small victories that come along a long path of trial and error. Learning how to program is very rewarding, but it can also be a frustrating and solitary experience. If you can, get a buddy to work with you along the way. Getting really good at programming, like anything else, is a matter of sticking with it, trying things out, and getting experience as you go</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=Programmer+101%3A+Teach+Yourself+How+to+Code+http%3A%2F%2Fcoredigest.com%2F%3Fp%3D479" title="Post to Twitter"><img class="nothumb" src="http://www.coredigest.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/home/?status=Programmer+101%3A+Teach+Yourself+How+to+Code+http%3A%2F%2Fcoredigest.com%2F%3Fp%3D479" title="Post to Twitter">Tweet This Post</a></p></div>

<p>Related posts:<ol><li><a href='http://www.coredigest.com/tools/hackers-brew-self-destruct-code-to-counter-police-forensics/' rel='bookmark' title='Permanent Link: Hackers Brew Self-Destruct Code to Counter Police Forensics'>Hackers Brew Self-Destruct Code to Counter Police Forensics</a></li>
<li><a href='http://www.coredigest.com/google/google-go-gets-going-w-video/' rel='bookmark' title='Permanent Link: Google Go gets going (w/ Video)'>Google Go gets going (w/ Video)</a></li>
</ol></p><p><a href="http://www.coredigest.com/softwares/programmer-101-teach-yourself-how-to-code/" rel="bookmark">Programmer 101: Teach Yourself How to Code</a> originally appeared on <a href="http://www.coredigest.com">Core Digest</a> on December 10, 2009.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coredigest.com/softwares/programmer-101-teach-yourself-how-to-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

