<?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>Jtmcgee.net &#187; Technology</title>
	<atom:link href="http://jtmcgee.net/categories/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://jtmcgee.net</link>
	<description>A Technological Guru Blog</description>
	<lastBuildDate>Sun, 27 Nov 2011 04:50:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Data Structures, and why you need to actually learn them</title>
		<link>http://jtmcgee.net/archives/2011/11/data-structures-and-why-you-need-to-actually-learn-them/</link>
		<comments>http://jtmcgee.net/archives/2011/11/data-structures-and-why-you-need-to-actually-learn-them/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 04:50:48 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[data structures]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[kstate]]></category>
		<category><![CDATA[memory]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=242</guid>
		<description><![CDATA[This year, I am taking CIS 300 at Kansas State University. At first, I expected this class to be boring as it was a class on &#8220;data structures.&#8221; How much more boring could it get? Oooh, studying the differences in implementations between LinkedList and ArrayLists. The first day our professor proved to us just how ]]></description>
			<content:encoded><![CDATA[<p>This year, I am taking CIS 300 at Kansas State University. At first, I expected this class to be boring as it was a class on &#8220;data structures.&#8221; How much more boring could it get? Oooh, studying the differences in implementations between LinkedList and ArrayLists. The first day our professor proved to us just how wrong we were. He showed us two snippets of code:</p>
<pre><code>String results = "";
for(char c: String.toCharArray()) {
results += (char)(c+3);
}
</code></pre>
<p>and</p>
<pre><code>StringBuilder results = new StringBuilder();
for(char c: String.toCharArray()) {
results.append((char)(c+3));
}
</code></pre>
<p>He then proceeded to convert the entire collection of works by Shakespeare. Method 1 was estimated to take over 21 days by the computer. Method 2 finished in seconds. That caught my attention.<br />
There are several cool data structures and search techniques that I have found awesome throughout this semester.</p>
<h2><span id="more-242"></span><strong>Binary Search</strong></h2>
<p>The people who write these algorithims are brilliant. To search through a sorted array, why look at every element? Why not just jump to the middle, see if what you are looking for is less than or greater than the middle, then do it again, with the new middle being the middle of the selected half.</p>
<h2><strong>ArrayList</strong></h2>
<p>ArrayList&#8217;s is essentially a circular array that handles the dirty details of dealing with arrays. When programming simple projects, I prefer to use ArrayLists as they are just more friendly than arrays. It dynamically resizes to allow you to constantly add without having to handle the actual details of expanding the underlying arrays. Finding an element at a certain element is VERY cheap as it essentially an array wrapper, the problem with ArrayList is removing or adding as it requires all of the following elements to be moved which can be pricey in a large array (I don&#8217;t mean hundreds, I mean hundreds of thousands).</p>
<h2><strong>LinkedList</strong></h2>
<p>LinkedList&#8217;s can be awesome when used correctly. A LinkedList is a group of nodes, linearly linked together. Node A contains certain data and a link to B. B contains data and a link to C, etc. This can be quite efficient if all you need to do is traverse the list in order. Finding a certain index can be much more costly than an ArrayList, but adding and removing at the end, or having a certain Node is extremely cheap. While sounding sort of lame, it can be very useful.</p>
<h2><strong>Tries</strong></h2>
<p>Now Trie&#8217;s really got my attention the first day of class. While looping through every String in a String[] can be very expensive, say an 80,000 word dictionary. While a binary search can cut that down to around 30 loops. Imagine if you could do that in 5 for a 5 letter word, or 8 for an 8 letter word. Imagine a tree, with the head having 26 children, each corresponding to a letter. From each letter are more children, and more children from there. Say following from the root, &#8216;a&#8217; to &#8216;c&#8217; to &#8216;e&#8217;, and &#8216;e&#8217; contains a &#8216;emptyString&#8217; property that holds the boolean <code>true</code>. You have found the word &#8216;ace&#8217; in 3 actions. Mind boggling.</p>
<h2><strong>Conclusions</strong></h2>
<p>Knowing these staples of data structures enables you to mix and mash creating the perfect data structure for any ocassion. Today I mixed LinkedLists with float arrays to efficiently store millions of floating point numbers so that I could both stay memory efficient (arrays of primitive types) while keeping object sizes down (breaking the large arrays up through the LinkedLists). Note: I in no way claim to be a genius on this, or even know a good amount about it, as I have only spent a few months studying it, but it&#8217;s some awesome stuff that all developers should look into if they haven&#8217;t already.</p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2011%2F11%2Fdata-structures-and-why-you-need-to-actually-learn-them%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2011%2F11%2Fdata-structures-and-why-you-need-to-actually-learn-them%2F&title=Data+Structures%2C+and+why+you+need+to+actually+learn+them" rel="news, programming"><span style="display:none">This year, I am taking CIS 300 at Kansas State University. At first, I expected this class to be boring as it was a class on &#8220;data structures.&#8221; How much more boring could it get? Oooh, studying the differences in implementations between LinkedList and ArrayLists. The first day our professor proved to us just how </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2011/11/data-structures-and-why-you-need-to-actually-learn-them/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Plugin Update Logger</title>
		<link>http://jtmcgee.net/archives/2011/05/eclipse-plugin-update-logger/</link>
		<comments>http://jtmcgee.net/archives/2011/05/eclipse-plugin-update-logger/#comments</comments>
		<pubDate>Fri, 20 May 2011 16:48:55 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=225</guid>
		<description><![CDATA[If you have read my site for a while, or know what projects I am involved in, you know that for several summers I always do a little update on an Eclipse Plugin download logger. It started two years ago, then it just literally increased an integer in a text file for every download. You ]]></description>
			<content:encoded><![CDATA[<p>If you have read my site for a while, or know what projects I am involved in, you know that for several summers I always do a little update on an Eclipse Plugin download logger. It started two years ago, then it just literally increased an integer in a text file for every download. You could only see how many times a thing had been downloaded. Last year I upgraded it to two separate versions. Initially I wrote a logger that logged to an XML file. It kept a date, IP, and what was downloaded. This was infinitely better however when used it production it had a flaw where there were multiple file handles editing the file at the same time and it wiped the file. So later that summer I changed about 1/3 of the code to instead of logging to XML, to log to a MySQL database. It included a great backend that would provide Geo-location based on the IP address,  other WHOIS stats on the IP, and various other information. It&#8217;s backend was a copy of my old CMS for this website so it even had a decent looking backend. It allowed you to download your log in a CSV format for whatever purposes you wanted. It was great, just not so polished and debugged.</p>
<p>This year I moved the project to GitHub and you can find it <a href="http://github.com/jdeloach/Eclipse-Plugin-Update-Logger">here</a>. This years version features an install script that dramatically makes it simpler to setup. Once you clone the git repository just running the install.php will setup everything from the MySQL DB, to error reporting, to your Google Maps API (for the map on the geo-location). All that&#8217;s needed to install this correctly is giving the web server the ability to write/edit files.</p>
<p>If you have a plugin for eclipse that you release check it out. Worst case scenario is it breaks, and if that happens it will turn itself off, stop logging, and allow the downloads to continue as if it was never there. <a href="http://github.com/jdeloach/Eclipse-Plugin-Update-Logger">Check it out</a>.</p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2011%2F05%2Feclipse-plugin-update-logger%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2011%2F05%2Feclipse-plugin-update-logger%2F&title=Eclipse+Plugin+Update+Logger" rel="news, programming"><span style="display:none">If you have read my site for a while, or know what projects I am involved in, you know that for several summers I always do a little update on an Eclipse Plugin download logger. It started two years ago, then it just literally increased an integer in a text file for every download. You </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2011/05/eclipse-plugin-update-logger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Locked Down Laptop</title>
		<link>http://jtmcgee.net/archives/2011/01/one-locked-down-laptop/</link>
		<comments>http://jtmcgee.net/archives/2011/01/one-locked-down-laptop/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 02:22:20 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[lastpass]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[truecrypt]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=213</guid>
		<description><![CDATA[I was recently watching a YouTube video, about how a guys computer got stolen (and how he recovered it using SSH, VNC, and hacker skills!) and all the lack of security he put on it and all the potential damages it could have caused. It made me think, on my new laptop, I had absolutely ]]></description>
			<content:encoded><![CDATA[<p>I was recently watching <a href="http://www.youtube.com/watch?v=U4oB28ksiIo">a YouTube video</a>, about how a guys computer got stolen (and how he recovered it using SSH, VNC, and hacker skills!) and all the lack of security he put on it and all the potential damages it could have caused. It made me think, on my new laptop, I had absolutely no security, not even an account password (normally I do have one.) With me going more and more places with my laptop, starting college classes again Fall 2011, and going to college full time as a freshmen in 2013, laptop theft is a strong probability. That being so, I spent about a day just locking down my laptop and seeing how much data I could protect, some of those things also protect my desktop now too.</p>
<p><span id="more-213"></span></p>
<p>On my new laptop I got a few days ago (Intel Core 2 Duo 2.2 ghz, 3 gb. ram, Latitude D630 w/ docking station, 14.1&#8243;), I first started by heeding the advice of my favorite blog, <a href="http://lifehacker.com">Lifehacker</a>. I love Lifehacker, I have wallpaper for it, get emails daily with posts in it, read it daily on their website, follow it on Twitter, Liked it on Facebook, have it&#8217;s RSS on my iPod Touch, simply I like it a lot. Anyways, for a long time they have recommended LastPass as a great way of providing better security for your passwords. For a long time, I didn&#8217;t want to do it because I always thought it was important that I knew the passwords to all the places I used, and that if I was using a school computer or something, I wouldn&#8217;t be able to get the password. Well, I learned the cool part about LastPass is that it is stored online, making your passwords and other secure data accessible from anywhere, and providing syncing of passwords across browsers and OS&#8217;s. When I set it up, it was kinda scary cause it could see the passwords Firefox and Chrome had been storing, and the plain text of the password, which alone made it enough to convert and give up basic password managers. LastPass has some really cool login methods you can use, ranging from a printout grid that you have to input random parts from to having to have a certain USB drive plugged in to log into the website. I just use the simple log in method as I cannot guarantee myself that I will have one of those methods on me at all times. Another cool part about LastPass is its random password generators, I feel safe now knowing that all my online accounts have unique 12 character complex passwords, and the best part, I don&#8217;t know them. In short, I am a believer  in LastPass now in just about two days.</p>
<p>My second thought was, I still have information I don&#8217;t want losing on my PC besides just my laptop and for that I installed another Lifehacker recommendation, TrueCrypt. TrueCrypt has a lot of options for doing whatever you wanted, but what I wanted was a total OS encryption, before Windows can even boot, it must have my passphrase for decrypting the drive. I have not really seen that much of a slow down so far, and from what I read as long as you use AES encryption (DoD standard) you shouldn&#8217;t. *Random sidenote: In NCIS the forensics scientist Abby once talked about how to truly delete data you must write over the specific part of the hard drive several times, with TrueCrypt I was able to select that option when it encrypted, it wiped 3x to remove any traces*</p>
<p>And lastly, I added a double backup on my laptop (hadn&#8217;t set it up yet, only had it about a week or two), one backup to my local server, and one to my 2 TB. external hard drive.</p>
<p>I now feel fairly confident in the security I have put on my laptop (and desktop as my /home directory has always been LUKS encrypted, backed up, and now LastPass) and that I can deter most thieves from my data and the ones smart enough that get it won&#8217;t really be interested in what is on a 16 year olds laptop. If you haven&#8217;t taken at least one or two of these security measures, I recommend you do.</p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2011%2F01%2Fone-locked-down-laptop%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2011%2F01%2Fone-locked-down-laptop%2F&title=One+Locked+Down+Laptop" rel="news, programming"><span style="display:none">I was recently watching a YouTube video, about how a guys computer got stolen (and how he recovered it using SSH, VNC, and hacker skills!) and all the lack of security he put on it and all the potential damages it could have caused. It made me think, on my new laptop, I had absolutely </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2011/01/one-locked-down-laptop/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java &#8211; The Power Language (for Web or Console)</title>
		<link>http://jtmcgee.net/archives/2010/08/java-the-power-language-for-web-or-console/</link>
		<comments>http://jtmcgee.net/archives/2010/08/java-the-power-language-for-web-or-console/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 01:30:07 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=205</guid>
		<description><![CDATA[Recently, I wrote my first Facebook application. It was a small project, and it&#8217;s main purpose was to replace the common note entitled something like &#8220;Xth grade Schedule!!!&#8221; and it was designed to be more efficient for the end user. After inputting your schedule, you would go through and see who is in your classes ]]></description>
			<content:encoded><![CDATA[<p>Recently, I <a href="http://jtmcgee.net/archives/2010/08/social-schedules-my-first-facebook-application/">wrote my first Facebook application</a>. It was a small project, and it&#8217;s main purpose was to replace the common note entitled something like &#8220;Xth grade Schedule!!!&#8221; and it was designed to be more efficient for the end user. After inputting your schedule, you would go through and see who is in your classes (that the system already knows). There were other cool features like using some <a href="http://developers.facebook.com/plugins">Facebook Social Plugins</a> like the &#8220;Like&#8221; button and Facebook comments.</p>
<p>Now for this application, as I wrote it in a matter of days and released it the day of schedule releases, I had to go with a language I knew very well, and I had to have a reliable, dependable source to host it at. I automatically though of the <a href="http://code.google.com/appengine/">Google App Engine</a> as it is pretty sweet to play around with and now would be a great time to test it in a live environment. My previous application I had wrote on Google&#8217;s free, scalable engine was written in Python. It utilized the amazing Django framework, but I felt like I didn&#8217;t really understand the Python language as well as some others. The only other option for selection on the App Engine was Java. This was perfect as I had just completed a summer class on Java and it was extremely fresh in my mind.</p>
<p><span id="more-205"></span></p>
<h2>Core Java Servlets</h2>
<p>Now coming from PHP for web development the idea of Servlets and JSP&#8217;s was totally a different way of thinking. With PHP I was used to putting what code I needed to on each page to achieve what needed to be done. With a bit of Python/Django experience, Java&#8217;s way was still different, but not as different as PHP to Java. Java&#8217;s JSP method reminded me a lot of Django templates, except that JSP&#8217;s are a load more powerful. As Django templates (at least from my experience) only allow a few tags, a JSP allows practically any Java code (that would normally go inside a main method) and allows imports and special features unique to JSP&#8217;s, like includes. JSP&#8217;s includes in fact reminded me some more of Django&#8217;s templates with all the splitting up possible of the HTML files.</p>
<p>Now that we briefly know what a JSP is, a servlet is just like a Java class that implements the standard Apache servlet. Within these servlets you have two methods by default <code>doGet(HttpServletRequest req, HttpServletResponse resp)</code> and <code>doPost()</code> with the same arguments. There are a few differences from a standard Java class beyond those previously noted:</p>
<pre><code>resp.getWriter().println(); // to print to the screen you must get the PrintWriter via the resp.getWriter() method
resp.setContentType("text/html"); // must do if you print out any HTML and don't want it to appear as standard text
resp.sendRedirect(String url); // a simple way to send a user to be redirected
</code></pre>
<p>There is (obviously) no console input on a web browser, so the standard way to get input via the web is through GET and POST methods. These are handled via the corresponding <code>doGet()</code> and <code>doPost()</code> methods. Now to actually get the value passed, you must know the variable name and use it accordingly.</p>
<pre><code>req.getParameter(String paramName); // where paramName is the ?name=Joe&amp;age=18 name or age
</code></pre>
<p>Sometimes you will also find yourself in need of getting an array, from say a multiple choice drop down.</p>
<pre><code>req.getParameterValues(String paramName); // just once and it will return a String[]
</code></pre>
<p>Now onto more of the theory behind servlets, and less of the syntax. Now please remember when I say theory, this is just the way I perceive it. In my application if I would have a full blown HTML page, I would always put it in a JSP as it is so simple and better looking. However when there was a simpler page that had a bit more code behind it, I would make that a servlet. An example of a simpler page with more code that I used as a servlet would be my form handlers (any adding or updating interaction with the database), and also I handled the OAuth authentication with servlets.</p>
<h2>JSP&#8217;s</h2>
<p>JSP&#8217;s, or Java Server Pages, are a mix between Java code &amp; client-side scripting. It allows you to mix the power of Java and your the models in your MVC framework with the simplicity of a HTML file. You probably see them all over the web, as they are quite effective, especially in larger businesses and universities.<br />
I have not personally gone that far into all the powers of JSP&#8217;s but enough to know that I like them. I am not going to try and write a tutorial but just point out a few things I use and a good tutorial or two.<br />
Now one of the simplest, but greatest is the server-side include of static content. This allows you to keep your web pages on the server side leaner and able to easily change base things like headers or footers.</p>
<pre><code>&lt;%@ include file="/include.html" %&gt;
</code></pre>
<p>Other useful things to know, if you need to get any parameters or need to mess with the request or response, they are simply called <code>request</code> and <code>response</code> in all JSP&#8217;s. So you could use a <code>request.getParameter("id");</code> for example.<br />
If you need to write anything to the page from within the Java code just throw a <code>out.println(String value);</code> or <code>out.print(String value)</code>.</p>
<p>For anything more than what I included check Google for some JSP tutorials or here is a good looking <a href="http://www.jsptut.com/">one</a>.</p>
<h2>Benefits</h2>
<p>I see there being several benefits of using Java as the language behind more complex applications because of it is an object oriented language. It being OO allows code to get so many more times complex. Now, in web development at least, a OO language is only as good as the database that supports it . I happened to be very lucky with Google App Engine as it was powered by a OO database allowing me to store some of my unique data types like &#8220;Student&#8221;, &#8220;Teacher&#8221;, &#8220;Course&#8221;, and &#8220;Schedule&#8221; in the database and retrieve it like it has been open since it was created. Most of the interface for this was provided in the JDO classes in <code>javax.JDO</code>.<br />
With this and a few classes for getting and selecting certain Students/Teachers/Courses, it was very easy to get exactly the results I want in a few lines of code in a JSP. And I know that in Python and PHP you can have classes and objects, but it&#8217;s just not the same as it is in Java. While Java can be pretty strict with it&#8217;s types and defining them, it in turn gives a lot of power to create awesome and dynamic applications for the end user.</p>
<h2>Finally</h2>
<p>As I have been reading in my &#8220;Clean Code&#8221; book, it is better to take longer and write software better the first time. Better being Javadoc&#8217;d and Object-Oriented. If you were to write it the other way, with say PHP or Python and have each script access the relational database, get the results, sort the results into the data you need, and output it correctly, that is so much code duplication. One script could be anywhere from 20% &#8211; 50% of the same code over and over, why not just write it great in the beginning in an OO way so the only code duplication you have is one or two lines to load the pre-written-by-you libraries that does all that work in one place, one time.</p>
<p>And sorry <a href="http://epicserve.com">Brent</a> I think I like Java Servlets &amp; JSP&#8217;s a wee bit more than Python/Django even though I think Django is a great framework and would love if it were written in Java instead, Python just isn&#8217;t as big and powerful as Java.</p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F08%2Fjava-the-power-language-for-web-or-console%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F08%2Fjava-the-power-language-for-web-or-console%2F&title=Java+%26%238211%3B+The+Power+Language+%28for+Web+or+Console%29" rel="news, programming"><span style="display:none">Recently, I wrote my first Facebook application. It was a small project, and it&#8217;s main purpose was to replace the common note entitled something like &#8220;Xth grade Schedule!!!&#8221; and it was designed to be more efficient for the end user. After inputting your schedule, you would go through and see who is in your classes </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2010/08/java-the-power-language-for-web-or-console/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Social Schedules: My First Facebook Application</title>
		<link>http://jtmcgee.net/archives/2010/08/social-schedules-my-first-facebook-application/</link>
		<comments>http://jtmcgee.net/archives/2010/08/social-schedules-my-first-facebook-application/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 16:31:17 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[servlets]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=201</guid>
		<description><![CDATA[I have had this idea for several years, I had always thought the way of sharing schedules on Facebook was inefficient. At my high school I would have to go through 1200 notes, just to see who was in my class. My application, only available for MHS students, allows you to add your schedule (teachers and classes), ]]></description>
			<content:encoded><![CDATA[<p>I have had this idea for several years, I had always thought the way of sharing schedules on Facebook was inefficient. At my high school I would have to go through 1200 notes, just to see who was in my class.</p>
<p>My application, only available for MHS students, allows you to add your schedule (teachers and classes), see who&#8217;s in your class, comment and Facebook Like both your teachers and your hours.</p>
<p>It was written on the Google App engine, using an OO (object oriented) database with JSP&#8217;s and Core-servlets. I  will be writing a post about this stuff later.</p>
<p>For some who want to complain about how &#8220;bad&#8221; it is, I remind you this was about 8 days of work. However here is some of my attached code for it. Note: this is only SOME, not all.</p>
<p><a href="http://jtmcgee.net/wp-content/uploads/2010/08/socialschedulesSource.zip">socialschedulesSource</a> [zip]</p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F08%2Fsocial-schedules-my-first-facebook-application%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F08%2Fsocial-schedules-my-first-facebook-application%2F&title=Social+Schedules%3A+My+First+Facebook+Application" rel="news, programming"><span style="display:none">I have had this idea for several years, I had always thought the way of sharing schedules on Facebook was inefficient. At my high school I would have to go through 1200 notes, just to see who was in my class. My application, only available for MHS students, allows you to add your schedule (teachers and classes), </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2010/08/social-schedules-my-first-facebook-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java &#8211; From a PHP programmers perspective</title>
		<link>http://jtmcgee.net/archives/2010/07/java-from-a-php-programmers-perspective/</link>
		<comments>http://jtmcgee.net/archives/2010/07/java-from-a-php-programmers-perspective/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 19:03:29 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=179</guid>
		<description><![CDATA[Java has intimidated me for years mostly because all you have to do to just create a "Hello World", now I come to share about Java and a few tips so it doesn't seem so intimidating]]></description>
			<content:encoded><![CDATA[<p>Java has one heck of a complex &#8220;Hello World&#8221;, intimidating many away from it. However as I had no choice but to learn it as it was the language of 7/8 weeks of my summer programming class at K-State I had to start using it.</p>
<p>I do not see the &#8220;Hello World&#8221; that intimidating anymore, for the single reason is that I know what and why all those words are there at the beginning of the file, and the best way for you to get into it is to understand it.</p>
<pre><code>public class HelloWorld {

    public static void main(String[] args) {

        System.out.println("Hello World");

    }

}
</code></pre>
<p>The first line is public class HelloWorld. <code>public</code> simply means that from anywhere and by anybody this class can be called. The <code>class</code> simply means that it is a class, as all beginning files in Java will be. The <code>HelloWorld</code> I think should be pretty easy to understand. The second line, <code>public static void main(String[] args)...</code> is a bit more complicated. The <code>public</code> meaning that this method can be called from outside this class. <code>static</code> means that this method can be called without initializing the whole class as an object. <code>void</code> simply means that it returns no value, as methods in the future might, like <code>int</code> or <code>boolean</code>. The next part, <code>main</code> means that this method should be run whenever this program is run, for any Java program to run, there must be a main method. <code>String[] args</code> is probably the strangest part, <code>String</code> is a line of characters, like a word, sentence, anything really. In Java, this <code>[]</code> mean an array, so <code>String[] args</code> means that for it&#8217;s  parameters it takes an array of Strings. However you won&#8217;t deal with this for a while in your Java career. <code>System.out.println...</code> breaks down to <code>System</code>, which is a package (a folder full of classes) and <code>out</code> is a class within the package that deals with output. Finally <code>println</code> is a method (function) which prints the line.</p>
<p><span id="more-179"></span></p>
<h2>Understanding Strings</h2>
<p>Ever wondered why in Java, you see things like <code>int</code> and <code>double</code> and they are lower-cased, but <code>String</code> is capitalized? All class names in Java are capitalized, and so must <code>String</code> be.</p>
<pre><code>String myname = "Jordan";
</code></pre>
<p>You are creating a new object (unique version of a class) of the class <code>String</code>. With strings you can do so much more than a primitive type (<code>int</code>, <code>boolean</code>, <code>short</code>, etc.). As myname is an object, it has methods that uniquely work with it.</p>
<pre><code>System.out.print(myname.length()); // prints number of chars in myname

System.out.print(myname.charAt(4)); // prints a' for the 5th char in it
</code></pre>
<p>There are many more options, but that will do for examples of how this is an amazing way to store Strings.</p>
<h2>More on Classes and Objects</h2>
<p>To help you differentiate between classes and objects, I offer the following example.</p>
<pre><code>MathOps.factorial(5); // uses the class MathOps and static method factorial()

MathOps math = new MathOps();

math.factorial(5); // uses the unique object

// another example that shows benefits

ShoppingCart cart1 = new ShoppingCart();

ShoppingCart cart2 = new ShoppingCart();

cart1.add("blanket");

cart1.add("shampoo");

cart2.add("ice cream");

cart1.remove("shampoo");

System.out.println(cart1.list());

System.out.println(cart2.list());
</code></pre>
<p>Yes, I have not actually made any of those classes, but those were just for examples, see with the <code>ShoppingCart</code> example, you saw exactly the benefits of the different objects as opposed to storing them in one big class where it would get all mixed up together.</p>
<h2>User Input &amp; Reading Files</h2>
<p>It is quite strange, but in Java these are EXTREMELY similar so they shall be grouped together.  To read user input in Java, one must first look for it.</p>
<pre><code>Scanner s = new Scanner(System.in);
</code></pre>
<p><code>Scanner</code> is a great class. I used to oppose it, but now seeing it&#8217;s virsitility, it&#8217;s a great class. Anyways what this says is create a new object named &#8220;s&#8221; that reads System input. To get a line of input is as easy as <code>s.nextLine();</code></p>
<pre><code>System.out.print("Please enter your name: ");

String name = s.nextLine();

System.out.println("Hello " + name);
</code></pre>
<p>Now the reason it was grouped with reading files is because if you want to ready a file, just tell <code>Scanner</code> so.</p>
<pre><code>Scanner s = new Scanner(new File("filename.txt"));

while(s.hasNext()) { // hasNext() returns true as long is there more lines

    System.out.println(s.nextLine());

}
</code></pre>
<p>That would print out every line of the file. It is just like reading input, just a different start.</p>
<h2>Loops and If&#8217;s</h2>
<p>If your familiar with PHP this is extremely easy and only requires a paragraph or two.</p>
<pre><code>boolean a  = true;

if(a) {

    // then do this

} else if(!a) {

    // then do this, notice the space between else and if not elseif

} else {

    // else do this

}

if(a) {

    // one line only can use this format

} else {

    // same for loops too

}

for(int i = 0; i &lt; 10; i++) // you can use {} if you want

    System.out.println(i);

while(true) {

    // infinite loop

}
</code></pre>
<h2>Good Things to Know</h2>
<pre><code>Integer.parseInt("123"); // can take a string (like user input) and convert it

Double.parseDouble("2.3"); //ditto

String b = "hey";

b.charAt(0); // gets the a (parameter) character from a string
</code></pre>
<h2>Conclusion</h2>
<p>With just that basic two to three page intro, you should be pretty set. Using just the things desribed here, you can do just about anything text-based. If you want to start working with GUI&#8217;s you&#8217;ll have to go to google and find a nice tutorial on how to do that. It&#8217;s more work, but it is just an extension of this sort of thing.</p>
<h2>Glossary</h2>
<p>Method (Java) ~ Function (PHP)</p>
<p>Int ~ Medium ranged integers</p>
<p>Double ~ For numbers with a decimal</p>
<p>Boolean ~ True or false</p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F07%2Fjava-from-a-php-programmers-perspective%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F07%2Fjava-from-a-php-programmers-perspective%2F&title=Java+%26%238211%3B+From+a+PHP+programmers+perspective" rel="news, programming"><span style="display:none">Java has intimidated me for years mostly because all you have to do to just create a "Hello World", now I come to share about Java and a few tips so it doesn't seem so intimidating</span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2010/07/java-from-a-php-programmers-perspective/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>63 Reasons to Love Ubuntu, Linux, and Unix</title>
		<link>http://jtmcgee.net/archives/2010/06/63-reasons-to-love-ubuntu-linux-and-unix/</link>
		<comments>http://jtmcgee.net/archives/2010/06/63-reasons-to-love-ubuntu-linux-and-unix/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 02:23:42 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=170</guid>
		<description><![CDATA[Intro: Started as 10,20,30 reasons and would add up to 50. There are just too many great things about Ubuntu / Linux / Unix. Look, I sat down to write 50 and Ubuntu ( and Linux ( and Unix )) are so amazing I couldn’t stop until I got to 63 reasons why it is ]]></description>
			<content:encoded><![CDATA[<p>Intro: Started as 10,20,30 reasons and would add up to 50. There are just too many great things about Ubuntu / Linux / Unix. Look, I sat down to write 50 and Ubuntu ( and Linux ( and Unix )) are so amazing I couldn’t stop until I got to 63 reasons why it is amazing.</p>
<h2>11 Reasons to Love Ubuntu:</h2>
<ul>
<li>Ubuntuforums.org</li>
<li>Simple website, setup, all around simple</li>
<li>Apt-get</li>
<li>Apt-get</li>
<li>Ubuntu Wiki</li>
<li>The Ubuntu community</li>
<li>Most programs have a special install for it, or at least have specific instructions for Ubuntu.</li>
<li>Wonderful built in software</li>
<li>2 Updates a year</li>
<li>LTS updates</li>
<li>Ubuntu chartroom is great for instant support</li>
</ul>
<h2><span id="more-170"></span></h2>
<h2>28 Reasons to love Linux:</h2>
<ul>
<li>Open Source</li>
<li>Open Source</li>
<li>Open Source</li>
<li>Open Source</li>
<li>Great help base (though Ubuntu’s is superior)</li>
<li>Anything is possible with the right knowledge</li>
<li>Gnome</li>
<li>Reliability</li>
<li>Free</li>
<li>Lash / ffmpeg / lspci / lsusb (amazing, simple commands)</li>
<li>Grep</li>
<li>Amazing logging (try finding that in windows!)</li>
<li>File transfer speeds are shown (MAJOR)</li>
<li>Makes the best servers</li>
<li>Cron</li>
<li>Wget / fdisk / DF –H (so many great command)</li>
<li>Wine (the Windows emulator, not the alcoholic beverage)</li>
<li>Not graphically weighed down, but still looks good</li>
<li>You have a choice of gui ( Gnome, KDE, Xfce, etc. )</li>
<li>You can run just about any sort of server on Linux</li>
<li>So freaking customizable</li>
<li>X</li>
<li>X over SSH</li>
<li>Great built in support for encryption</li>
<li>Really easy to start making your own scripts and customizing it just the way you like it.</li>
<li>Best security, anywhere. No config necessary (but you still can)</li>
<li>CUPS</li>
<li>It can run on anything even a 200 MHz processor</li>
</ul>
<h2>24 Reasons to love Unix:</h2>
<ul>
<li>SSH</li>
<li>Amazing setup (root /) so much better than C: and D: and E: and F: etc.</li>
<li>Great integration with PHP, Python, etc.</li>
<li>Bash / SH</li>
<li>Mounting is SO easy</li>
<li>Terminal is worth knowing (cmd.exe is a joke)</li>
<li>Great built in support for compression (more than just windows zip!)</li>
<li>Transmission (app)</li>
<li>Finder/Nautilus are not the ugly  explorer.exe</li>
<li>Mounting more than a hard drive is possible (network and virtuals)</li>
<li>You don’t need extras; the basics do it (Ex: ISO making is included in Unix by default)</li>
<li>Efficiency</li>
<li>Rarely has Apps act up like Windows (You’ll forget what to do when you see a Don’t Send)</li>
<li>The Icons look good</li>
<li>You finally can break away from the start menu of windows.</li>
<li>Directory/File permissions are worth using</li>
<li>Directory/File owners are worth using</li>
<li>Groups are worth using</li>
<li>Customizabilicity. ( Yes, it’s not a word but even when you can customize your boot loader than is pretty amazing )</li>
<li><strong>SUDO</strong></li>
<li>Terminal can look pretty flashy ( compared to cmd.exe )</li>
<li>It doesn’t lie, it throws files away, it doesn’t recycle them ( attack on the Recycle Bin of Windows )</li>
<li>It gets along with everyting, Windows, Mac, Linux, Unix always communicates great.</li>
<li>There is hope for when you have problems</li>
</ul>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F06%2F63-reasons-to-love-ubuntu-linux-and-unix%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F06%2F63-reasons-to-love-ubuntu-linux-and-unix%2F&title=63+Reasons+to+Love+Ubuntu%2C+Linux%2C+and+Unix" rel="news, programming"><span style="display:none">Intro: Started as 10,20,30 reasons and would add up to 50. There are just too many great things about Ubuntu / Linux / Unix. Look, I sat down to write 50 and Ubuntu ( and Linux ( and Unix )) are so amazing I couldn’t stop until I got to 63 reasons why it is </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2010/06/63-reasons-to-love-ubuntu-linux-and-unix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Just an update</title>
		<link>http://jtmcgee.net/archives/2010/05/just-an-update/</link>
		<comments>http://jtmcgee.net/archives/2010/05/just-an-update/#comments</comments>
		<pubDate>Sat, 22 May 2010 18:59:25 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=162</guid>
		<description><![CDATA[I haven&#8217;t posted in a while, so here is an update on what I have been doing: I have installed a gigabit switch and patch panel. It rocks. I have got a server up and running beautifully that my family uses for backups and media streaming I am in the middle of setting up a ]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t posted in a while, so here is an update on what I have been doing:</p>
<ul>
<li>I have installed a gigabit switch and patch panel. It rocks.</li>
<li>I have got a server up and running beautifully that my family uses for backups and media streaming</li>
<li>I am in the middle of setting up a git server on my server.</li>
<li>I have been messing around with RSA and DSA and PGP keys.</li>
<li>Finishing up school</li>
<li>Prepping for taking CIS 200 at K-State. College class at 15 <img src='http://jtmcgee.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ( Software Design Fundamentals )</li>
<li>I have become an avid Ubuntu addict.</li>
<li>Can&#8217;t wait to get a Macbook.</li>
</ul>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F05%2Fjust-an-update%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F05%2Fjust-an-update%2F&title=Just+an+update" rel="news, programming"><span style="display:none">I haven&#8217;t posted in a while, so here is an update on what I have been doing: I have installed a gigabit switch and patch panel. It rocks. I have got a server up and running beautifully that my family uses for backups and media streaming I am in the middle of setting up a </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2010/05/just-an-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dropbox, lots of uses, lots of greatness.</title>
		<link>http://jtmcgee.net/archives/2010/02/dropbox-lots-of-uses-lots-of-greatness/</link>
		<comments>http://jtmcgee.net/archives/2010/02/dropbox-lots-of-uses-lots-of-greatness/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 14:05:42 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=133</guid>
		<description><![CDATA[I have decided that dropbox is so cool, it deserves a blog post! The uses for this is endless! I have seen people who keep their application data in here to keep applications synced or people who keep their keedb databases in here to keep them synced too. A really creative idea is to use ]]></description>
			<content:encoded><![CDATA[<p>I have decided that dropbox is so cool, it deserves a blog post! The uses for this is endless! I have seen people who keep their application data in here to keep applications synced or people who keep their keedb databases in here to keep them synced too. A really creative idea is to use it to start downloads on your home computer through uTorrent.</p>
<p>The things I use it for are more simple and normal however Dropbox still does a great job at it! Mostly I use it to keep my school papers synced between my desktop, laptop, and my iPod touch so I can work on them anywhere. Also it is extremely valuable with it&#8217;s version control system to use it for my code. I just use the free 2 gb version ( but they give out free upgrades and I am up to 2.5 gb ) but 2 gb holds a lot if your not storying videos or music. Also on the iPhone/iPod touch you can have &#8220;favorites&#8221; which are basically saved locally used for offline situations.</p>
<p>Written from the iPhone/iPod touch WordPress application during first hour at school. </p>
<p><a href="http://jtmcgee.net/wp-content/uploads/2010/02/p-480-320-da4e1bf6-2edf-4fcc-925e-c75ba88dfafc.jpeg"><img src="http://jtmcgee.net/wp-content/uploads/2010/02/p-480-320-da4e1bf6-2edf-4fcc-925e-c75ba88dfafc.jpeg" alt="" width="200" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://jtmcgee.net/wp-content/uploads/2010/02/p-480-320-2e23855e-57f1-492e-a9ea-757cea4061b1.jpeg"><img src="http://jtmcgee.net/wp-content/uploads/2010/02/p-480-320-2e23855e-57f1-492e-a9ea-757cea4061b1.jpeg" alt="" width="200" height="300" class="alignnone size-full wp-image-364" /></a></p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F02%2Fdropbox-lots-of-uses-lots-of-greatness%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F02%2Fdropbox-lots-of-uses-lots-of-greatness%2F&title=Dropbox%2C+lots+of+uses%2C+lots+of+greatness." rel="news, programming"><span style="display:none">I have decided that dropbox is so cool, it deserves a blog post! The uses for this is endless! I have seen people who keep their application data in here to keep applications synced or people who keep their keedb databases in here to keep them synced too. A really creative idea is to use </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2010/02/dropbox-lots-of-uses-lots-of-greatness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Terminal Twitter Client</title>
		<link>http://jtmcgee.net/archives/2010/01/linux-bash-twitter-client/</link>
		<comments>http://jtmcgee.net/archives/2010/01/linux-bash-twitter-client/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 02:04:07 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=115</guid>
		<description><![CDATA[Today I was bored so I decided to write a Twitter client centered in Terminal. It&#8217;s not a super-client, it&#8217;s just plain and simple. It was more of a test of myself. Anyways be looking for versions in more languages, hopefully in Python or Bash in a few days, maybe in Perl someday. Download &#38; ]]></description>
			<content:encoded><![CDATA[<p>Today I was bored so I decided to write a Twitter client centered in Terminal. It&#8217;s not a super-client, it&#8217;s just plain and simple. It was more of a test of myself. Anyways be looking for versions in more languages, hopefully in Python or Bash in a few days, maybe in Perl someday.</p>
<ol>
<li>Download &amp; Unzip</li>
<li>Put it into /home/<strong><em>youruser</em></strong>/scripts ( so tweet and twitter and etc. are in that directory )</li>
<li><em>sudo bash install.sh ( </em>it will try to install php5-curl if you don&#8217;t have it, you need this )</li>
<li><em>. ~/.bashrc </em>( include the period at the beginning )</li>
<li><em>setupTwitter</em> <strong><em>twitterusername twitterpassword</em></strong></li>
<li>You may now use <em>twitter</em> to view the 5 latest tweets or <em>tweet &#8220;<strong>YOUR Text here</strong>&#8220;</em> to tweet something</li>
</ol>
<p><a href="http://project.jtmcgee.net/downloads/phpTerminalTwitterClient.tar.gz">Download</a> [tar.gz]</p>
<p><a href="http://project.jtmcgee.net/downloads/phpTerminalTwitterClient.zip">Download</a> [zip]</p>
<p><a href="http://project.jtmcgee.net/downloads/phpTerminalTwitterClient.tar">Download</a> [tar]</p>
<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
										<iframe
											style="height:25px !important; border:none !important; overflow:hidden !important; width:340px !important;" frameborder="0" scrolling="no" allowTransparency="true"
											src="http://www.linksalpha.com/social?link=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F01%2Flinux-bash-twitter-client%2F&fc=333333&fs=arial&fblname=like">
										</iframe>
										</div>		<div style="float:right;margin:10px 10px 0px 0px;">
			<a class="DiggThisButton DiggCompact" href="http://digg.com/submit?url=http%3A%2F%2Fjtmcgee.net%2Farchives%2F2010%2F01%2Flinux-bash-twitter-client%2F&title=Linux+Terminal+Twitter+Client" rel="news, programming"><span style="display:none">Today I was bored so I decided to write a Twitter client centered in Terminal. It&#8217;s not a super-client, it&#8217;s just plain and simple. It was more of a test of myself. Anyways be looking for versions in more languages, hopefully in Python or Bash in a few days, maybe in Perl someday. Download &amp; </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2010/01/linux-bash-twitter-client/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

