<?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; computers</title>
	<atom:link href="http://jtmcgee.net/tags/computers/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>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>Computer bloopers &#8211; Screenshots</title>
		<link>http://jtmcgee.net/archives/2009/07/computer-bloopers-screenshots/</link>
		<comments>http://jtmcgee.net/archives/2009/07/computer-bloopers-screenshots/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 01:51:55 +0000</pubDate>
		<dc:creator>Jordan DeLoach</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bloopers]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[files.jtmcgee.net]]></category>
		<category><![CDATA[screenshots]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://jtmcgee.net/?p=53</guid>
		<description><![CDATA[I took a server speed test and I landed 1 millisecond behind Google for my file server speed. I am REALLY doubting it as it takes seconds to load any pages that uses images of it such as my projects sites. I don&#8217;t know why it showed up so great&#8230; cool Vista kind of lost ]]></description>
			<content:encoded><![CDATA[<div id="attachment_52" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-52" title="speedtest" src="http://jtmcgee.net/wp-content/uploads/2009/07/speedtest.png" alt="The supposed speed of my crappy file server." width="300" height="95" /><p class="wp-caption-text">The supposed speed of my crappy file server.</p></div>
<p>I took a server speed test and I landed 1 millisecond behind Google for my file server speed. I am REALLY doubting it as it takes seconds to load any pages that uses images of it such as my projects sites. I don&#8217;t know why it showed up so great&#8230; cool <img src='http://jtmcgee.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="attachment_54" class="wp-caption aligncenter" style="width: 427px"><img class="size-full wp-image-54" title="estimatedcopytime" src="http://jtmcgee.net/wp-content/uploads/2009/07/estimatedcopytime.png" alt="Vista was getting a little rash, from one hour to 25,193 days!" width="417" height="245" /><p class="wp-caption-text">Vista was getting a little rash, from one hour to 25,193 days!</p></div>
<p>Vista kind of lost it too&#8230; I understand the copy speed was a bit slow (2.6 MB/s) compared to the normal 8 or 10 from Disk to USB but still, no need to say maybe by the time I&#8217;ll die it will be done copying.</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%2F2009%2F07%2Fcomputer-bloopers-screenshots%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%2F2009%2F07%2Fcomputer-bloopers-screenshots%2F&title=Computer+bloopers+%26%238211%3B+Screenshots" rel="news, programming"><span style="display:none">I took a server speed test and I landed 1 millisecond behind Google for my file server speed. I am REALLY doubting it as it takes seconds to load any pages that uses images of it such as my projects sites. I don&#8217;t know why it showed up so great&#8230; cool Vista kind of lost </span></a>		
		</div>		
		]]></content:encoded>
			<wfw:commentRss>http://jtmcgee.net/archives/2009/07/computer-bloopers-screenshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

