<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  <title type="text">Shalin Shah</title>
  <subtitle type="text">Random but useful thoughts</subtitle>

  <updated>2014-04-28T21:06:31-07:00</updated>

  <link rel="alternate" type="text/html" href="http://www.shalinshah.me" />
  <id>http://www.shalinshah.me</id>
  <link rel="self" type="application/atom+xml" href="http://www.shalinshah.me/atom.xml" />

  <author>
    <name>Shalin Shah</name>
    <uri>http://www.shalinshah.me</uri>
  </author>
  
  
  <entry>
    <title>My Internship Experience</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/my-internship-experience/"/>
    <id>http://www.shalinshah.me/my-internship-experience</id>
    <updated>2013-10-07T00:00:00-07:00</updated>
    <summary type="html"><![CDATA[This summer, I interned at this YC funded startup called MakeGamesWith.Us (during the summer after 8th grade) up near San Francisco, California. This was my first time interning at a company, and I have never learned so much in 6 weeks! I got to work with two awesome founders, Ashu and Jeremy. MakeGamesWith.Us is a...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/my-internship-experience/"><![CDATA[<p>This summer, I interned at this YC funded startup called <a href="https://www.makegameswith.us/" title="MGWU">MakeGamesWith.Us</a> (during the summer after 8th grade) up near San Francisco, California. This was my first time interning at a company, and I have never learned so much in 6 weeks! I got to work with two awesome founders, Ashu and Jeremy. <a href="https://www.makegameswith.us/">MakeGamesWith.Us</a> is a company that teaches high school (and middle school) kids how to build iOS Games. They have tutorials on <a href="http://en.wikipedia.org/wiki/Objective-C">Objective-C</a> and how to build and market games on their website, and it was a prerequisite to complete them. Their goal is to streamline the process of the fine-tuning things (like game art, music/sounds, and marketing the game) so that we, as developers, only have one focus and it is to code the app.</p>

<p>On my first day, when I was dropped off at the house (yes, the internship was in a house, because that was where the MakeGamesWithUs people lived), I was so nervous. There were people coding everywhere. I didn&rsquo;t expect even close to as many people as there were, and all of them had their laptops out and were all coding their games. It was like heaven. Then Ashu took all the new interns (I came on week two of the internship so there were people that had already started on their games) out to the backyard and introduced the MGWU crew to us. They asked us all if we had completed their online tutorials, which we were all required to do before the internship.</p>

<p>For the rest of the internship, I had a great experience working with MGWU and other interns. On my first day, I discussed my ideas with the MGWU team and selected a project worth working on for the rest of the summer. And from there, I just dove right in. I worked on my game every single day for 7-11 hours a day, with only one goal in mind: to get a game published.</p>

<p>Objective-C was kind of new for me at the time, and I didn&rsquo;t have much experience with it. Yes I built an iOS App, but come on, it was like the most simple app ever&hellip; and to make the jump from a very basic &ldquo;Hello World&rdquo; application to a real game, was kind of hard, especially with a complex object-oriented language like Objective-C. The tutorials definitely helped, but I had to read a book (that I rented from the library) because the tutorials are more aimed towards people with experience in an object-oriented programming language. I had none, so the tutorials were kind of hard for me. But the people at MGWU were really helpful and assisted with any bugs or code errors that I just didn&rsquo;t know how to fix.</p>

<p>And not only that, but almost every week, MGWU invited startup founders and game developers to give talks. In fact, the MGWU team somehow even got <a href="http://www.reddit.com/">Reddit</a> founder, <a href="http://en.wikipedia.org/wiki/Alexis_Ohanian">Alexis Ohanian</a>, to come and give a talk, which by the way, was very inspiring and gave me a whole new perspective on the tech world.</p>

<p>Even the friends I made while there, were people with similar interests as me. I would just like to thank MakeGamesWith.Us for actually having an internship because it gave me an opportunity to actually explore the real world, instead of just sitting in my bedroom programming in isolation.</p>

<p>Thanks <a href="https://www.makegameswith.us/" title="MakeGamesWith.Us">MGWU</a>, becuase now, I want to do an internship every summer that I can. (Maybe not sophomore summer because I need to study for the SAT).</p>
]]></content>
  </entry>
  
  <entry>
    <title>Installing Ubuntu on a Mac</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/get-ubuntu-on-a-mac/"/>
    <id>http://www.shalinshah.me/get-ubuntu-on-a-mac</id>
    <updated>2013-02-19T00:00:00-08:00</updated>
    <summary type="html"><![CDATA[I have a 13 inch Macbook Pro and I just wanted to see if I could get Ubuntu running alongside OSX Mountain Lion. It&rsquo;s really not as hard to do that as I expected. You can even add three Operating Systems if you like and it would run fine. I just wanted to show the...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/get-ubuntu-on-a-mac/"><![CDATA[<p>I have a 13 inch Macbook Pro and I just wanted to see if I could get Ubuntu running alongside OSX Mountain Lion. It&rsquo;s really not as hard to do that as I expected. You can even add three Operating Systems if you like and it would run fine. I just wanted to show the way I did it. Please, before beginning, <strong>Make a backup!!!</strong> Have a backup already? Great! Then let&rsquo;s get started.</p>

<h2>Step 1: Install rEFIt</h2>

<p>&lsquo;rEFIt&rsquo; is a beautiful boot-interrupter that allows you to boot between OS X and your Linux distribution(s) of choice (even Windows).</p>

<center><img src="/images/posts/rEFIt.jpg"></center>


<p>Unlike a typical PC where the GRUB boot-loader is used to present your dual-boot options, Intel Mac users need to install something extra. rEFIt is really easy to install and should only take like 5 minutes. It only has 3 steps!</p>

<ol>
<li>Download the <a href="http://prdownloads.sourceforge.net/refit/rEFIt-0.14.dmg?download">rEFIt-0.14.dmg</a> disk image and extract it (double-click on it)</li>
<li>Once the &lsquo;rEFIt&rsquo; folder opens, double-click the &lsquo;rEFIt.mpkg&rsquo; package</li>
<li>Finish installing it on your computer.</li>
</ol>


<p>And you&rsquo;re done! Incase any issues arise, rEFIt has a <a href="http://refit.sourceforge.net/help/">troubleshooting section</a> to help you.</p>

<h2>Step 2: Partition your hard-drive</h2>

<p>Partitioning your hard-drive is basically creating parts of if or resizing it.
We need to make some extra space for our Ubuntu install so we will need to create a partition.</p>

<!-- <center><img src="/images/posts/partition.jpg"></center> -->


<p>To partition your disk, just:</p>

<ul>
<li>Open up Disk Utility.</li>
<li>Click your main hard-drive from the left hand pane.</li>
<li>On the tabs, look for the tab that says &lsquo;Partition&rsquo; and click on it.</li>
<li>Click on the &ldquo;+&rdquo; button and add the size directly in the &ldquo;Size&rdquo; box. (I used 360 GB of space since I wanted to make sure I had enough memory.)</li>
</ul>


<p>Be generous when you choose the amount of space because changing it later on can cause some problems. This took a while for me, but this shouldn&rsquo;t take too long for you.</p>

<h2>Step three: Set up Ubuntu Disk</h2>

<!-- <center><img src="/images/posts/ubuntudisk.png" width="200px"></center> -->


<p>Phew! If you have the Ubuntu installer disk ready, skip this step. Okay so, first you have to <a href="http://www.ubuntu.com/download/desktop">download the Ubuntu OS</a> and burn onto a disk that has about 800 MB of free memory (you need 791.3 MB to be exact). That is if you got the Ubuntu 12.10 64 Bit one. After you download it (fast or slow depending on your internet connection), you can burn the disk with Disk Utility or with Finder (I used Finder). That should be pretty easy to do.</p>

<h2>Step 4: Reboot with a LiveCD</h2>

<center><img src="/images/posts/ubuntu-livecd.jpg"></center>


<p>Pop your cd right into your computer and then reboot. Upon reboot, press &ldquo;c&rdquo; to boot from the cd you just popped in.</p>

<h2>Step 5: Install to your partition</h2>

<p>If you&rsquo;re an iMac user using bluetooth peripherals do be aware that these will not work out of the box in Ubuntu, so have a wired keyboard and mouse to hand.</p>

<p>Proceed to install Ubuntu on the &ldquo;free space&rdquo; partition you created earlier. Ubuntu may prompt you to install it on freespace (double check the size) or, if it doesn&rsquo;t or you just want to be super-cautious choose the &ldquo;Advanced&rdquo; option from the partition screen.</p>

<p>From here select (check the box under &ldquo;format&rdquo;) &ldquo;free space&rdquo; and choose the &ldquo;EXT4&rdquo; filesystem when asked, and mount point should be set as &ldquo;/&rdquo;.</p>

<p>The above looks a bit crazy, but once you&rsquo;re in the partition editor of the LiveCD it&rsquo;s straightforward.</p>

<p>I should also add that I don&rsquo;t usually bother adding Swap space but you may wish to.</p>

<h2>Step 5: Reboot (and you&rsquo;re done!)</h2>

<center><img src="/images/posts/reboot.jpg"></center>


<p>Reboot you Mac and select Linux from the rEFIt bootloader when it comes up. If you&rsquo;re using a bluetooth keyboard you will need to press a button on your keyboard and wait a second before you are able to select boot entries with rEFIt. But other than that, congradualtions, you now have Linux Ubuntu running on you Mac!</p>
]]></content>
  </entry>
  
  <entry>
    <title>In 2012</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/in-2012/"/>
    <id>http://www.shalinshah.me/in-2012</id>
    <updated>2013-01-01T00:00:00-08:00</updated>
    <summary type="html"><![CDATA[2012 was the best year of my entire 14 years that I have lived. Here&rsquo;s why: Acheivements I learned the basis of programming with 0 knowledge. I built my first website: Middle School Notes. I figured out how to run an EC2 server while also learning PHP, MySQL, Linux, Apache, and lots more backend stuff....]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/in-2012/"><![CDATA[<p>2012 was the best year of my entire 14 years that I have lived. Here&rsquo;s why:</p>

<h3>Acheivements</h3>

<ul>
<li>I learned the basis of programming with 0 knowledge.</li>
<li>I built my first website: <a href="http://middleschoolnotes.org">Middle School Notes</a>.</li>
<li>I figured out how to <a href="/set-up-your-amazon-ec2/">run an EC2 server</a> while also learning PHP, MySQL, Linux, Apache, and lots more backend stuff.</li>
<li>I picked up on design and started learning Photoshop.</li>
<li>I read books on Objective-C and built an app: <a href="http://www.ideyaapp.tk">Ideya</a>.</li>
<li>I went to my first AT&amp;T Hackathon in L.A.</li>
<li>I figured out how to solve the Rubik&rsquo;s cube in around 30 seconds.</li>
<li>I won an acedemic acheivement award.</li>
<li>I got a scholarship to a UCLA programming class</li>
</ul>


<h3>In 2013</h3>

<ul>
<li>I need to finish a whole semester of the CS1B (Computer Science) college class in SaddleBack Valley College.</li>
<li>Need to get into the Troy Tech program.</li>
<li>I need to learn Ruby and build an awesome Social Network.</li>
<li>I need to build at least three new apps.</li>
<li>I need to learn at least 3 new programming languages.</li>
<li>I need to read <strong>at least</strong> 10 programming books.</li>
<li>I need to intern at one startup.</li>
<li>I need to finish all my current projects</li>
<li>I will run at least 3 days a week</li>
</ul>


<p>Those are my resolutions and reviews. What&rsquo;s yours?</p>
]]></content>
  </entry>
  
  <entry>
    <title>We all live in the past</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/we-all-live-in-the-past/"/>
    <id>http://www.shalinshah.me/we-all-live-in-the-past</id>
    <updated>2012-12-06T00:00:00-08:00</updated>
    <summary type="html"><![CDATA[Do we live in the present? Most people would say &ldquo;of course&rdquo; (duh!). But we don&rsquo;t. Here&rsquo;s why. As time passes, it becomes the past, right? Our brains, althought it may feel like it, are not instantaneous, meaning that they take a small fraction of a second to register things. So if you are poked,...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/we-all-live-in-the-past/"><![CDATA[<p>Do we live in the present? Most people would say &ldquo;of course&rdquo; (duh!). But we don&rsquo;t. Here&rsquo;s why.</p>

<p>As time passes, it becomes the past, right? Our brains, althought it may feel like it, are not instantaneous, meaning that they take a small fraction of a second to register things. So if you are poked, it would feel instant but it&rsquo;s taking a small amount of time for you to feel it. And since our brain reacts just a little bit slower than time, we live in the past.</p>

<iframe width="560" height="315" src="http://www.youtube.com/embed/BTOODPf-iuc" frameborder="0" allowfullscreen></iframe>


<p>So we may not live completely in the past, but we are living in the past by 80 ms.</p>

<p>What do you think?</p>
]]></content>
  </entry>
  
  <entry>
    <title>Never Forget Your Ideas</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/never-forget-your-ideas/"/>
    <id>http://www.shalinshah.me/never-forget-your-ideas</id>
    <updated>2012-12-05T00:00:00-08:00</updated>
    <summary type="html"><![CDATA[Ok, so a lot of us get all sorts of great ideas that run through our brains every day. So how can you store all of these ideas in your head without forgetting a lot of them? Well, you can use google docs, or notes on the iPhone or even use something like Evernote. But...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/never-forget-your-ideas/"><![CDATA[<p>Ok, so a lot of us get all sorts of great ideas that run through our brains every day. So how can you store all of these ideas in your head without forgetting a lot of them? Well, you can use google docs, or notes on the iPhone or even use something like Evernote. But if you get that many ideas, it will get really hard to manage and prioritize (especailly with <a href="http://lifehacker.com/5666954/avoid-everything-buckets-aka-why-i-cant-get-into-apps-like-evernote">everything buckets</a>). I have always had this problem whenever I think of new ideas. I am too lazy to pull out a peice of paper and write down my ideas. I also don&rsquo;t always have a pen and paper ready (and it&rsquo;s not convenient). But I do have my iPhone. So I built it. I built a simple an app that lets you write your ideas down.</p>

<p>But wait, aren&rsquo;t there thousands of other apps that do the same. I needed a <a href="http://mobile.smashingmagazine.com/2012//1107/succeed-with-your-app/">vacuum</a> to make this app different. So I sat down and thought, if I was going to use an app like this, then I would probably want it to have some way to prioritize it. I created a simple rating functionality with the iPhone slider so the higher the slider, the greater the rating. The greater the rating, the more it would be at the top. I still had to work a bit on better design. I added some more color and features to it (without making it look ugly) and I got Ideya!</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.getideya.tk"><img src="http://www.getideya.tk/images/icon.png" alt="Ideya" /></a></p>

<p>Okay, what the heck is Ideya? Ideya is an app that gives you control and organizes your ideas. Yes, it&rsquo;s that simple. And that is exactly what I wanted it to be &ndash; <strong>simple.</strong> That&rsquo;s the beauty of it. The app is completely private so no one can see/steal your ideas (unless they see it on your iPhone). I was going to add a login and register button, but whenever I see that, I feel like it&rsquo;s an obstacle keeping the user from actually using your app. The app can function without it so I didn&rsquo;t include it. I am going to add some better fonts and cleaner UI pretty soon, but I don&rsquo;t want to make it too clucky and slow.</p>

<p>I always remember that if you aim at one thing and become great at it instead of aiming at multiple things and not becoming great at any of them. Ideya serves one purpose but serves it well. I like that.</p>

<p>Ideya is on the <a href="https://itunes.apple.com/us/app/ideya/id578536295?mt=8&amp;uo=4">appstore</a><br>
Or you can go to the <a href="http://www.getideya.tk">ideya website</a></p>

<p><a href="http://www.getideya.tk"><img src="http://www.getideya.tk/images/ihand.png" alt="Ideya" /></a></p>

<p>All in all, Ideya isn&rsquo;t the most innovative product out there, but if you are <strong>constantly</strong> getting new ideas, it&rsquo;s a beautiful app to use. What do you think?</p>
]]></content>
  </entry>
  
  <entry>
    <title>Set Up Your Amazon EC2</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/set-up-your-amazon-ec2/"/>
    <id>http://www.shalinshah.me/set-up-your-amazon-ec2</id>
    <updated>2012-10-14T00:00:00-07:00</updated>
    <summary type="html"><![CDATA[So, if you want have an Amazon EC2 instance to run Wordpress or simply a website you made, you can do that for cheap using Amazon&rsquo;s Elastic Compute Cloud (EC2). So let&rsquo;s get right into it! You will be using the command line for this (or PuTTY), but if you don&rsquo;t know, that&rsquo;s okay, because...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/set-up-your-amazon-ec2/"><![CDATA[<p>So, if you want have an Amazon EC2 instance to run <a href="http://www.wordpress.org/" target="_blank">Wordpress</a> or simply a website you made, you can do that for cheap using Amazon&rsquo;s <a href="http://aws.amazon.com/ec2/" target="_blank">Elastic Compute Cloud</a> (EC2). So let&rsquo;s get right into it! You will be using the command line for this (or PuTTY), but if you don&rsquo;t know, that&rsquo;s okay, because I&rsquo;ll cover that.</p>

<p>Also, If I&rsquo;m going too slow, I&rsquo;m sorry, but please bare with me because I made this tutorial for people that had and didn&rsquo;t have any prior experience.</p>

<h2>Step 1: Create an Account</h2>

<p>Obviously, you need to create your AWS account; you can sign up <a href="http://aws.amazon.com/ec2/" target="_blank">here</a>. You have to provide your credit card to register and you&rsquo;ll need a valid phone number because Amazon will call you as part of the process. Amazon offers a <strong>Free Usage Tier</strong>, which is great to explore the services and even host real apps without being charged. You should look at the <a href="http://aws.amazon.com/free/" target="_blank">details</a>.</p>

<h2>Step 2: Create an Instance</h2>

<p>Now that you have an account, we can proceed to creating our instance.
So, go to your management console, and then click the EC2 tab (it should be under the Compute and Networking section)</p>

<p>What type of EC2 instance should you use? I used a Micro instance because it is free for 1 year and also very cheap. Here are the <a href="http://aws.amazon.com/ec2/instance-types/" target="_blank">instances</a> It may depend on your traffic. If you get a few thousand visitors a day, then you may want a larger instance. For now, I&rsquo;ll go with the micro instance.</p>

<p>Click the big &ldquo;Launch Instance&rdquo; button. Make sure &ldquo;Classic Wizard&rdquo; is selected and click &ldquo;Continue&rdquo;. Then choose an AMI. I chose the Basic 32-bit Amazon Linux AMI.
Instance details: Select the Instance Type you want to use. I chose Micro because it&rsquo;s free (t1.micro).
Create a new key pair. Enter a name for your key pair (i.e. shalin) and download your key pair (i.e. shalin.pem).</p>

<p><strong>NOTE: DO NOT give anyone your key pair. It the access key to your whole instance. Don&rsquo;t lose or delete it either, otherwise you won&rsquo;t be able to connect to your instance!</strong></p>

<p>Select the create new security group, give it a name and description, and then, for the create the new rule, select:
DNS (add rule)
SSH (add rule)
HTTP (add rule)
POP3 (add rule)
SMTP (add rule)
MYSQL (add rule)</p>

<p>Then, finally launch you instance.</p>

<h2>Step 3: SSH into your Instance</h2>

<p>On the sidebar, click on the tab &ldquo;Elastic IP&rsquo;s&rdquo; and find the button that says &ldquo;Allocate New Address&rdquo;
Make sure EC2 is selected and click &ldquo;Yes, Allocate&rdquo;. Once you do that, you want to click on the address you created and select &ldquo;Associate Address&rdquo; and associate it to your instance.</p>

<p>Once your instance is running, you can ssh into it. SSH stands for secure shell. It means you connecting to something that it remote from your computer. For example, you could connect to another device or computer if you had their ip address and password.</p>

<p>First, you need to identify the address of your instance: Select the instance in the AWS Management Console, and look for the Public DNS in the instance description (bottom part of the screen).</p>

<center><img src="/images/posts/EC2%20Management%20Console.png" /></center>


<p>Then, open up the terminal application. For mac, click &#8984; Command + Space and search terminal or open the terminal app. For linux, go the terminal app.</p>

<p>Once you are in terminal, enter this command
<code>chmod 600 Downloads/shalin.pem</code>
And change the .pem file&rsquo;s full path and name.</p>

<p>Then Connect:
<code>ssh -i Downloads/shalin.pem ec2-user@ec2-your-public-dns-of-your-instance.amazonaws.com</code>
or you can type
<code>ssh -i Downloads/shalin.pem ec2-user@your ip you just associated</code> either one works.
Make sure you change the .pem file&rsquo;s full path and name and your public DNS.</p>

<p>Hit &ldquo;Enter&rdquo;, you will be asked: &ldquo;Are you sure you want to continue connecting (yes/no)?&rdquo; Type <strong>yes.</strong></p>

<h2>Step 4: The Basics</h2>

<p>Okay, so now you&rsquo;ve most likely followed everything in this tutorial successfully and now have a running instance that you&rsquo;ve connected to. Lets begin the server stuff.</p>

<h3>The command line is only confusing at first..</h3>

<p>Here are the basic terminal commands</p>

<ul>
    <li>The <code>man</code> command is for a manual or help on something. (i.e. <code>man ls</code>)</li><br>
    <li>The <code>ls</code> command is to view the items in the directory.</li><br>
    <li>The <code>cd</code> command is to go into or out of a folder (directory) like this <code>cd /</code> moves you to the very very main directory and <code>cd ../</code> moves you back one directory.</li><br>
    <li>The <code>sudo</code> command is to become the Super-User, meaning you can do everything. Only use this when you have to, as this can be dangerous.</li><br>
</ul>


<p><strong>One of the most important command is vim or vi. It is a command line text editor. Type in <code>man vim</code> to read about vim. To edit something you type <code>vim file-name.txt</code></strong></p>

<p><a href="http://ss64.com/osx/" title="All commands" target="_blank">More Commands&hellip;</a></p>

<h2>Step 5: Useful Software</h2>

<p>You have a server running now, but it can&rsquo;t do anything useful&hellip;yet&hellip;</p>

<h3>Installing Apache</h3>

<p>So we will allow this server to display a simple website. For that, we will need to install Apache.
Before you do anything, become the root user of this server, so type
<code>sudo su</code></p>

<p>To install the Apache Web Server, type:
<code>yum install httpd</code><br>
Start the Apache Web Server:
<code>service httpd start</code><br>
Make sure it&rsquo;s running.
<code>service httpd status</code><br></p>

<p>Now your website is working! To test your Web Server, open a browser and access your web site: http://ec2-the-public-dns-of-your-instance.amazonaws.com (Use your actual public DNS name). You should see a standard Amazon place holder page.</p>

<h3>Installing PHP</h3>

<p>To install PHP, type:
<code>yum install php php-mysql</code></p>

<p>Restart the Apache Web Server:
<code>service httpd restart</code></p>

<p>Create a page to test your PHP installation:
<code>cd /var/www/html</code>
<code>vim test.php</code>
Type i to start the insert mode
Type <code>&lt;? php phpinfo() ?></code>
Press &ldquo;Control+C&rdquo; (mac, windows, and linux)
Then type :wq to write the file and quit vim</p>

<p>Open a browser and access test.php to test your PHP installation: http://ec2-the-public-dns-of-your-instance.amazonaws.com/test.php (Use your actual public DNS name).</p>

<p>If you don&rsquo;t want this file, go back onto terminal and type:
<code>rm test.php</code></p>

<p><code>/var/www/html/</code> is your root directory, meaning, that any files that you put in here, will automatically be put on your public DNS</p>

<h3>Installing MySQL</h3>

<p>To install MySQL, type:
<code>yum install mysql mysql-server</code><br>
Then Start MySQL
<code>service mysqld start</code><br>
Then Set A New Password:
<code>/usr/bin/mysqladmin -u root password &lsquo;new-password&rsquo;</code><br></p>

<h3>MySQL Security</h3>

<p>Before using MySQL in production, you&rsquo;ll want to improve your MySQL installation security. Run:</p>

<p><code>mysql_secure_installation</code>
This will help you set a password for the root account, remove anonymous-user accounts, and remove the test database.</p>

<h3>phpMyAdmin</h3>

<p>We will now set up an awesome php and mysql interface called phpmyadmin
That will help run queries and optimize our databases.
Run this command to download it</p>

<pre>wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.5.3/phpMyAdmin-3.5.3-all-languages.zip</pre>


<p>After it has downloaded, unzip it:
<code>unzip phpMyAdmin-3.5.3-all-languages.zip -C /var/www/html</code></p>

<p>Then rename the folder:
<code>mv phpMyAdmin-3.4.1-all-languages phpmyadmin</code></p>

<p>And finally remove the old folder
<code>rm -r phpMyAdmin-3.5.3-all-languages.zip</code></p>

<p>Open a browser and access phpmyadmin/ to test your PHP installation: http://ec2-your-public-dns-of-your-instance.amazonaws.com/phpmyadmin/ (Use your actual public DNS name).</p>

<p>Then configure all the stuff it tells you to.</p>

<h3>Keep MySQL In Good Shape</h3>

<p>Over time your MySQL tables will get fragmented and queries will take longer to complete. You can keep your tables in top shape by regularly running OPTIMIZE TABLE on all your tables. But, since you&rsquo;ll never remember to do this regularly, we should set up a cron job to do this.</p>

<p>Open up your crontab file:
<code>crontab -e</code></p>

<p>Then, add the following line:
<code>@weekly mysqlcheck -o &mdash;user=root &mdash;password=your password here -A</code></p>

<p>Also, you can do the same from phpmyadmin manually to verify that it works correctly.</p>

<h2>Step 6: Security</h2>

<p>If your going to make a website and put it on the internet, it has to be <strong>really</strong> secure. There are a bunch or people that will mess with your server or write a script to hack it. So, you have to prevent these.</p>

<h3>httpd.conf</h3>

<p>So first, enter this command:
<code>vim /etc/conf/httpd/httpd.conf</code></p>

<p>Your <strong>httpd.conf</strong> file should now be open. <strong>DO NOT</strong> mess around with this unless you know what you&rsquo;re doing otherwise you may screw everything up.</p>

<p>Scroll down and look for this piece of code:</p>

<pre>
&lt;directory "/var/www/html"&gt;
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
&lt;/directory&gt;
</pre>


<p>Press i then change this to:</p>

<pre>
&lt;directory "/var/www/html"&gt;
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
&lt;/directory&gt;
</pre>


<p>Make sure that <code>AllowOverride</code> is set to <code>All</code> otherwise, what we are about to do won&rsquo;t work.
Next hit Control+C and type <code>:wq</code></p>

<h3>.htaccess</h3>

<p>Great! Now do:
<code>cd /var/www/html/</code></p>

<p>and then, create a file named .htaccess:
<code>vim .htaccess</code></p>

<p>You should get a blank text document because we haven&rsquo;t put anything in it.
Here is a list of things you should put in this file to make it more secure.</p>

<h4>Remove Access To Your Important Files And .htaccess</h4>




<pre>
&lt;filesmatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"&gt;
 Order Allow,Deny
 Deny from all
&lt;/filesmatch&gt;
</pre>




<pre>
&lt;files ~ "^.*\.([Hh][Tt][Aa])"&lt;
order allow,deny
deny from all
satisfy all
&lt;/files&lt;
</pre>




<h4>Disable Directory Browsing</h4>


<div class="highlight"><pre><code class="bash">Options All -Indexes</code></pre></div>




<h4>No Spam (Bad Bots and Hackers)</h4>


<pre>
# ----------------------------------------------------------------------^M
# No Spam (Bad Bots and Hackers)
# ----------------------------------------------------------------------^M

RewriteEngine On ^M
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] 
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] ^M
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] ^M
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] ^M
RewriteCond %{HTTP_USER_AGENT} ^Zeus ^M
RewriteRule ^.* - [F,L]^M
</pre>




<h4>Compression</h4>


<pre>
# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------

&lt;ifmodule mod_deflate.c&gt;

  # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
  &lt;/ifmodule&gt;&lt;ifmodule mod_setenvif.c&gt;
    &lt;/ifmodule&gt;&lt;ifmodule mod_headers.c&gt;
      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding^M
    &lt;/ifmodule&gt;

  # HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
  &lt;ifmodule filter_module&gt;
    FilterDeclare   COMPRESS
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/plain
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/x-component
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/javascript
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/json
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xhtml+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/rss+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/atom+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/vnd.ms-fontobject
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/svg+xml
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/x-icon
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/x-font-ttf
    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $font/opentype
    FilterChain     COMPRESS
    FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no
  &lt;/ifmodule&gt;

  &lt;ifmodule !mod_filter.c&gt;
    # Legacy versions of Apache
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
    AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
    AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
  &lt;/ifmodule&gt;

</pre>




<h4>Error Documents</h4>


<pre>
#---------------ERROR DOCUMENTS---------------#

#BAD_REQUEST
ErrorDocument 400 /var/www/html/400.php
 
#UNAUTHORIZED
ErrorDocument 401 /var/www/html/401.php
 
#FORBIDDEN
ErrorDocument 403 /var/www/html/403.php
 
#NOT_FOUND (Most Common)
ErrorDocument 404 /var/www/html/404.php
</pre>


<h2>Amazon EC2 is Awesome!</h2>

<p>I hope you found my setup recipe (tutorial) for Amazon EC2 helpful. Sign up for <a href="https://aws.amazon.com/ec2" target="_blank">Amazon EC2</a>!</p>

<p>If you want to buy a domain, please use <a href="Http://www.namecheap.com?aff=39838">this link</a> and I will get $1.00 off on my yearly plan for my domains. If not, you can use the <a href="http://www.namecheap.com/" target="_blank">normal link</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title>How I learned objective-c in 7 days</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/learning-objective-c/"/>
    <id>http://www.shalinshah.me/learning-objective-c</id>
    <updated>2012-09-26T00:00:00-07:00</updated>
    <summary type="html"><![CDATA[I have just decided that I should learn my first object-oriented language, Objective-C. Objective-C is for iOS and Mac development and it allows people to create beautiful products. I have a few ideas for apps, but I&rsquo;m going to learn the language first. Plus, I have a computer in front of me and the ability...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/learning-objective-c/"><![CDATA[<p>I have just decided that I should learn my first object-oriented language, Objective-C. Objective-C is for iOS and Mac development and it allows people to create beautiful products. I have a few ideas for apps, but I&rsquo;m going to learn the language first. Plus, I have a computer in front of me and the ability to learn, so I have no excuse not to learn!</p>

<p>I am planning on learning by following some online tutorials.</p>

<h1>Day One.</h1>

<p>I am watching some of the tutorials on <a href="http://www.teamtreehouse.com" target="_blank">Team Treehouse</a>. If you visit their site, it is a paid membership, but I emailed them saying I&rsquo;m a student wanting to learn and I got it free for 6 months (which is loads of time). I am also using the Stanford CS193p course on iTunes-U for some of the fundamentals.
I took less than an hour to go through all of the Hello World stuff. I have made a few demo hello world apps, too. I think that is great progress so far. I understand all the very basics like when to use class methods and when to use instance methods. Also some stuff like NSLog&rsquo;s and some of Objective-C&rsquo;s syntax.</p>

<p>I also read a lot of <a href="https://developer.apple.com/devcenter/ios/index.action" target="_blank">apple&rsquo;s documentation for objective-c</a>. To me, the documentation and tutorials they have are absolutely genius! The link to the Stanford CS193p class is <a href="http://www.stanford.edu/class/cs193p/cgi-bin/drupal/blog/15" title="CS193P with Paul Hegarty" target="_blank">here</a>. It is on iOS5, though.</p>

<p>Even though I have school every day, I will try spend at least three hours a day every day (way more on the weekends!) and hopefully learn something awesome by then. :)</p>

<p>Wish me loads of luck!</p>

<h1>Day Two.</h1>

<p>Today I learned a ton of stuff done in Objective-C. I learned how to deal with strings, Automatic Reference Counting, Strong qualifiers vs. weak ones like: <code>@property (nonatomic,strong/weak)</code>, instance variables, class variables (not so familiar with these yet&hellip;), and the X-Code StoryBoard!</p>

<p>I still haven&rsquo;t even scratched the surface but I think I did pretty good so far! The team treehouse tutorials have helped me the most so far but they don&rsquo;t have everything so I looked in the apple documentation and it&rsquo;s great! I am also spending lots of time on stack overflow but I&rsquo;m trying to figure things out myself rather than to rely on other people&rsquo;s answers. Also, I have built a simple prediction app where I can ask a question and it randomly generates an answer. It isn&rsquo;t much, but I think I&rsquo;m grasping the Objective-C syntax although I do think it is a bit rigid.</p>

<p>I am thinking of building a simple but problem-solving project after I get a substancial amount of knowledge on Objective-C so that I can dive right in! I have a few ideas about the app I should build but I&rsquo;m not sure if the app will be easy or extremely hard to build.</p>

<h1>Day Three</h1>

<p>Learned a lot of new stuff in Obj-C like Web-Views (inserting html, loading a html or pdf page, or loading an actual website) and making a Safari type application with forward and back buttons.</p>

<p>I have been watching a lot of videos and doing a lot of quizes and homework they give.
One really good thing about TeamTreehouse is that it makes you pass all of your quizes before they let you move on, so if you don&rsquo;t pass, you either have to rewatch the video (the stuff they  ask on the quiz/test is always in the video) or post in their forums. But the quizes are easy. Another good thing is that their videos are only like 7 minutes long (they have a lot of videos, though) so I don&rsquo;t fall asleep (the stanford cs193p videos I watch are like 1+ hours long and I usually stay up until about 12pm &ndash; 1am learning and coding).</p>

<p>This is what I plan on learning next:</p>

<ol>
<li>More about Web Views</li>
<li>Core Data</li>
<li>Notifications</li>
</ol>


<p>I am still thinking of ideas on an app that I can make and aren&rsquo;t too complex.</p>

<h1>Day Four</h1>

<p>Today, I learned a lot about Web Views and I built a replica of the mobile safari app. My app has simple back and forward buttons and a google page where you can search. It&rsquo;s a really simple version of mobile Safari.</p>

<p>I also finally thought of a project I want to build that is simple enough but is useful. I am going to write a post about it when it is finished. I will post the link after I am done.</p>

<h2>The App.</h2>

<p>How many times have you had an idea that is great but you forget? I do a lot. This is an app where you can write down all you ideas before you forget them. Ranging from an idea about a recipe to a super-genius invention idea. Whatever it is, you won&rsquo;t forget, because now you have this app! (lol!) I still have to learn along the way. I have to learn about Core Data and a bunch of UI (user interface) stuff before it is fully done, but I will just make a functional version first.</p>

<p>The project itself isn&rsquo;t very hard, but I still have to learn.
Check back soon for more about my experience on how this project goes (if I successfully make it, or it miserably fails).</p>

<h1>Day Five</h1>

<p>I built a lot of stuff in the app. I learned the core data stuff for iOS development and I built a simple version that allows the user to write down their ideas with a simple + (add) sign on the top corner on the main view. The app allows them to save their ideas after writing them. Then, they have a table view with their idea displaying. I also added a simple rating system where the user can rate their idea, but it needs a lot of work to be nearly useful. Before you ask, there are bugs on this app, but its getting there.</p>

<p>It still needs a ton of work. I&rsquo;ll make the rating system efficient, add some facebook and twitter sharing features if the user wants to share their idea (like if they have a new recipe they want to share), delete buttons for bad ideas, custom UI, and I&rsquo;ll also probably make some money off it (sell it for 99cents?). I might even add autosave features (depending on if I can get around to it).</p>

<h1>Day Six</h1>

<p>Got a ton more stuff done with my app. I have a name for it: Ideya. I figured out how to build a rating system. I have also spent a lot of time on photoshop making the graphics for my app. I am still trying to develop a unique icon for the app.</p>

<p>I will post the icons on the next post I do.</p>

<p>The app still needs a ton of work. It isn&rsquo;t the best turnout, but it will be, once I add the graphics to the actual app.</p>

<p>On the to-do list, still:</p>

<p>Simple sharing buttons using the new iOS 6 Facebook integration and the Twitter integration (twitter integration was released iOS 5).
I still need to add delete buttons for bad ideas.
I need to implement custom UI and graphics
I want to make some money off it. (might as well..)
I probably won&rsquo;t add autosave features (maybe).</p>

<p>My goal is to finish this app by day 7 (tomorrow).</p>

<h1>Day Seven</h1>

<p>Woohoo! Ideya is now done! Well, at least for now, it is funtional and it looks pretty good, too.</p>

<h2>Today I accomplished:</h2>

<p>An awesome icon to go with the app!
An improved rating system.
A simple arrowed tutorial to help them figure the app out.
An email share button.
A LOT of bug fixes.
A more polished UI (significantly better!).</p>

<p>That&rsquo;s it really. It probably took me less than ten total hours spent building the actual app, and definitely less than thirty hours total including actually learning Objective-C from scratch (with no prior object-oriented programming knowledge). Not too bad.</p>

<p>I&rsquo;ll write about it soon after the app goes on the app store.</p>
]]></content>
  </entry>
  
  <entry>
    <title>Why Hacking Is Awesome</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/why-hacking-is-awesome/"/>
    <id>http://www.shalinshah.me/why-hacking-is-awesome</id>
    <updated>2012-08-07T00:00:00-07:00</updated>
    <summary type="html"><![CDATA[Not All Hacking Is BAD. First of all, it is a mentality built by people that hacking is bad. And I disagree. Hacking someone&rsquo;s personal information and stealing their identity or doing damage or destructive things is bad. But not all hacker do that, especially not me. Hacking is the practice of modifying the features...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/why-hacking-is-awesome/"><![CDATA[<h2><br />Not All Hacking Is <strong>BAD.</strong></h2>

<p>First of all, it is a mentality built by people that hacking is bad. And I disagree. Hacking someone&rsquo;s personal information and stealing their identity or doing damage or destructive things is bad. But not all hacker do that, especially not me.</p>

<blockquote>Hacking is the practice of modifying the features of a system, in order to accomplish a goal outside of the creator's original purpose. The person who is consistently engaging in hacking activities, and has accepted hacking as a lifestyle and philosophy of their choice, is called a hacker.

Computer hacking is the most popular form of hacking nowadays, especially in the field of computer security, but hacking exists in many other forms, such as phone hacking, brain hacking, etc. and it's not limited to either of them.

Due to the mass attention given to blackhat hackers from the media, the whole hacking term is often mistaken for any security related cyber crime. This damages the reputation of all hackers, and is very cruel and unfair to the law abiding ones of them, from who the term itself originated.</blockquote>


<h2>The Hacking I Do</h2>

<p>Okay, so I don&rsquo;t like hacking things for destructive purposes. But I love hacking. Somethings I like to hack are ipods (okay, not really hacking..), servers (simple ), browser (using simple JavaScript hacks), apps (iOS), web languages (CSS, JS, Ruby, etc.), I hack all day-to-day used objects and stuff&hellip; (from how I tie my shoes to hacking computer stuff). Hackers are not just for protecting computers or destroying them. They tweak things for and mod them for their own benefits. (Finding loopoles)</p>

<p>So just cause I like to hack, I am not a bad guy. And I&rsquo;m not saying that there aren&rsquo;t bad hackers, it&rsquo;s that not all of them are bad, and shouldn&rsquo;t be judged as bad either.</p>

<p>Still think hacking is bad? <a href="http://lifehacker.com" target="_blank">This</a> should change your mind! :)</p>
]]></content>
  </entry>
  
  <entry>
    <title>First Blog Post</title>
    <author>
      <name>Shalin Shah</name>
      <uri>http://www.shalinshah.me</uri>
    </author>
    <link rel="alternate" type="text/html" href="http://feross.org/first-blog-post/"/>
    <id>http://www.shalinshah.me/first-blog-post</id>
    <updated>2012-07-14T00:00:00-07:00</updated>
    <summary type="html"><![CDATA[Welcome to www.shalinvs.tk (soon to be www.shalin.me), the blog of Shalin Shah. I&rsquo;m just a 8th Grade (13 year old) student, web developer, and hacker. Please enjoy this blog. I will be posting cool articles, hacks, tips and tricks, and some stuff about the web (and programming). :) I started this blog to improve my...]]></summary>
    <content type="html" xml:base="http://www.shalinshah.me/first-blog-post/"><![CDATA[<p>Welcome to www.shalinvs.tk (soon to be www.shalin.me), the blog of Shalin Shah. I&rsquo;m just a 8th Grade (13 year old) student, web developer, and hacker. Please enjoy this blog. I will be posting cool articles, hacks, tips and tricks, and some stuff about the web (and programming).</p>

<p>:)</p>

<p>I started this blog to improve my writing and I want to get more known in the industry (and get to know other people).
I will post some stuff soon&hellip;</p>
]]></content>
  </entry>
  

</feed>