<?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>TangoRangers.com's Blog</title>
	<atom:link href="http://blog.tangorangers.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tangorangers.com</link>
	<description>Misc crap and such</description>
	<lastBuildDate>Fri, 30 Jul 2010 01:13:05 +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>Secunia PSI is a must for any Windows machines</title>
		<link>http://blog.tangorangers.com/2010/07/secunia-psi-is-a-must-for-any-windows-machines/</link>
		<comments>http://blog.tangorangers.com/2010/07/secunia-psi-is-a-must-for-any-windows-machines/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 00:58:17 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[good to know]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=252</guid>
		<description><![CDATA[Keeping up with program patches and updates can be extremely difficult, but thanks to your friends over at Secunia, those problems can be all but eliminated! This is a (somewhat) complete guide on getting Secunia PSI (Personal Software Inspector), installing, and running it! This program is a must for anyone who runs any Windows OS. [...]]]></description>
			<content:encoded><![CDATA[<p>Keeping up with program patches and updates can be extremely difficult, but thanks to your friends over at Secunia, those problems can be all but eliminated! This is a (somewhat) complete guide on getting Secunia PSI (Personal Software Inspector), installing, and running it! This program is a must for anyone who runs any Windows OS. This is partly because it&#8217;s only available for Windows. These images were taken from a Windows 7 Home Premium 64-bit OS, but it should be pretty much the same for any other OS.</p>
<p>At the time of this writing Secunia PSI was on version 1.5.0.2.</p>
<p>First, lets get Secunia PSI downloaded. Head on over to <a href="http://secunia.com/vulnerability_scanning/personal/" target="_blank">Secuina.com</a> and look for the download button.</p>
<p><img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_1.jpg" alt="this is an image" /></p>
<p>After downloading head over to where ever you saved it to, and double-click to run. NOTE: Windows may ask is you want to run the program, click yes!</p>
<p>Now follow the instructions. Images below will help guide you through the process.</p>
<p>Select a language.<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_3.jpg" alt="this is an image" /><br />
Click Next<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_4.jpg" alt="this is an image" /><br />
I accept the terms of the License Agreement (Don&#8217;t forget to read it!)<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_5.jpg" alt="this is an image" /><br />
Select Personal Use, unless you are using it for business purposes.<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_6.jpg" alt="this is an image" /><br />
More reading<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_7.jpg" alt="this is an image" /><br />
Tell it where to install<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_8.jpg" alt="this is an image" /><br />
Once done, click finish<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_9.jpg" alt="this is an image" /><br />
It will ask if you want to run it. Say yes.<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/sec_10.jpg" alt="this is an image" /><br />
Once it starts you may see message saying &#8220;Please wait while network connectivity is verified.&#8221; Have no fear, this is normal. As soon as the program can see the servers it will continue. If you have a software firewall installed you may need to allow Secunia PSI access to the Internet.</p>
<p>Now onto usage!</p>
<p>After the program scans it will come up with a list like this. This image is a good scenario (of a bad situation), you may get one just like it or worse. If the insecure program is listed as a Microsoft product it should be dealt with by using Windows Update. I did not include how to do this because it varies from XP, Vista, and 7.<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/secunia_psi_1.jpg" alt="this is an image" /></p>
<p>Here I&#8217;m going to update Adobe Flash Player 10.x. I click on the Blue down arrow, I get a dialog box to download the new software.<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/secunia_psi_2.jpg" alt="this is an image" /></p>
<p>Save the file (remember where you save it to!)<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/secunia_psi_3.jpg" alt="this is an image" /></p>
<p>Then run it! Just follow the steps for each program. In this case there were many listings for Adobe Flash Player. You only need to download it once and run it once. Once you scan again it will show them all fixed up. (FYI: The reason it lists many copies is because Flash Player is installed in several places due to different web browsers)<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/secunia_psi_4.jpg" alt="this is an image" /></p>
<p>After you do this a few times and run windows update you can manually start the scan again. Once you are set you will see something like this.<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/secunia_psi_5.jpg" alt="this is an image" /></p>
<p>You are set! Look at you! You have already mastered this awesome utility!</p>
<p>By default Secunia PSI is set to run at system startup. This may not be best if you are on a laptop, or have a very slow computer. If Secunia PSI is running you will see a little icon in the bottom left corner of your screen. It looks a little like this.<br />
<img src="http://www.tangorangers.com/files_blog/secunia_psi_pics/secunia_psi_7.jpg" alt="this is an image" /></p>
<p>Questions?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2010/07/secunia-psi-is-a-must-for-any-windows-machines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use SSH Keys Instead of Passwords</title>
		<link>http://blog.tangorangers.com/2010/05/use-ssh-keys-instead-of-passwords/</link>
		<comments>http://blog.tangorangers.com/2010/05/use-ssh-keys-instead-of-passwords/#comments</comments>
		<pubDate>Sat, 08 May 2010 21:47:41 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[good to know]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=246</guid>
		<description><![CDATA[I have been living and working in SSH environments for quite some time now. I even created a little bash script to help me keep track of all my connections. Today I wanted to talk about a new way (well, it&#8217;s not really new, but new to me I guess) of connecting to other Linux [...]]]></description>
			<content:encoded><![CDATA[<p>I have been living and working in SSH environments for quite some time now. I even created a little bash script to help me keep track of all my connections. Today I wanted to talk about a new way (well, it&#8217;s not really new, but new to me I guess) of connecting to other Linux systems by using keys instead of passwords.</p>
<p>Normally when you open an SSH connection you are presented with a password request. The down side to using passwords is that if your not paying attention you can be hit with a brute force or dictionary attack. Because you allow passwords to be used there is a chance of someone gaining access. With keys only you have nothing to fear from these types of attacks.</p>
<p>Here is how it works. Normally you enter a password. With keys all you need to do is form the SSH connection and the keys transmit automatically. Once the keys are paired you are connected with a shell. There are two different ways of performing key pairs. The first way is just the key. No need for a passphrase. The other is a passphrased key. I will talk about both.</p>
<p>First is the “no passphrase key.” In this example you will create a key, upload it to the host, then every time you connect you will not be asked for a password or passphrase. Keep in mind that by doing this there are risks involved. More on that later.</p>
<p>To make a “no passphrase key” you need to generate a key pair. The simplest way of doing this is:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">ssh-keygen -t rsa</pre></div></div>

<p>When it asks you for the password just hit enter. You will get an output of something like this.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
52:b8:d4:fd:d3:f6:ef:46:d1:90:42:de:e2:94:f4:09 user@localhost
The key's randomart image is:
+--[ RSA 2048]----+
|           .E  . |
|       o . o.=o. |
|      o o . =.+..|
|     . o   + o ..|
|      o S   + o .|
|       .     o ..|
|               ..|
|                o|
|               oo|
+-----------------+</pre></div></div>

<p>NOTE: These are test keys I generated, they won&#8217;t work after today.<br />
This created two files. “id_rsa” and “id_rsa.pub”</p>
<p>Take the id_rsa.pub file and upload it to the remote system. There are several ways of doing this. You can use scp, or if you are already connected you can copy and paste the contents of the file in pico, nano, vi, vim, what ever your favorite editor it. Be sure if you use the copy and paste method you keep the entire key in one line!</p>
<p>For scp type:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">scp id_rsa.pub &lt;user&gt;@&lt;remote host&gt;:/.ssh/</pre></div></div>

<p>This will upload the pub file to the remote host. Once uploaded, login then navigate to ~/.ssh (your user&#8217;s home directory then to .ssh). Once there look for a file called “authorized_keys” and cat the contents of the pub file to it. If the file already exists type:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">cat id_rsa.pub &gt;&gt; authorized_keys</pre></div></div>

<p>If the file doesn&#8217;t exist use only one (1) “>”</p>
<p>For the copy and past method, cat the id_rsa.pub file to display the output. Select it. Login to the remote host. Open authorized_keys in an editor of your choice. Then paste the copied key. Make sure it stays all on one line! If you don&#8217;t it will not work. Save the file.</p>
<p>Once one of these two steps for implementing the key file has been completed you are good to go! You can delete the .pub file if you desire.</p>
<p>Now, onto part 2!</p>
<p>Here is where we generate passphrase keys. It&#8217;s basically the same task. When you generate a key put in a passphrase! Remember the passphrase. It is very important. Now when you login you will be prompted to enter you passphrase. This will unlock the key to be used for the connection. It should be different from your normal password.</p>
<p>Now, a few more little notes I want to talk about.</p>
<p>The problem with no passphrase keys: With out the need for a key is someone gains access to your system (like a laptop) they can gain access to any system you authorized that laptop to connect to. With passphrased keys you must type in a passphrase to authorize the key.</p>
<p>If you have problems make sure your ssh config is set to allow keys! Refer to your distro&#8217;s help files for more information. In the config you can also disallow passwords all together. The only way to login would be with the use the keys. The down side is if you lose your local key. If you do this method, ensure you have a backup plan. Like another computer with access keys. In Slackware Linux the lines to look for are in /etc/ssh/sshd_config</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no</pre></div></div>

<p>Note that it becomes a pain if you generate multiple keys for multiple machines. There are ways of doing it, but it adds longer lines to your ssh commands. You can use the same .pub file on any other remote machine you wish to connect to. I don&#8217;t know for sure if it would be considered bad practice to do so, but I don&#8217;t see what problems would truly arise.</p>
<p>What&#8217;s the true benefit to this instead of saving time typing a password? Security. If an attacker can&#8217;t use a password (since many users passwords are weak) it would essentially eliminate their ability to gain SSH access. What do you think if the likelihood of the attacker to guess your key. Look at id_rsa. It&#8217;s a pretty big key to guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2010/05/use-ssh-keys-instead-of-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Samba (cifs) through SSH</title>
		<link>http://blog.tangorangers.com/2010/04/samba-cifs-through-ssh/</link>
		<comments>http://blog.tangorangers.com/2010/04/samba-cifs-through-ssh/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 22:59:11 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[good to know]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=234</guid>
		<description><![CDATA[Ever needed to work from home, but have the problem of using a Samba share on the server while at work, but not at home? Well here is a simple fix. In my example I&#8217;m working on a &#8220;sandbox&#8221; from home. The folders I work in have files with more than one owner. This becomes [...]]]></description>
			<content:encoded><![CDATA[<p>Ever needed to work from home, but have the problem of using a Samba share on the server while at work, but not at home? Well here is a simple fix.</p>
<p>In my example I&#8217;m working on a &#8220;sandbox&#8221; from home. The folders I work in have files with more than one owner. This becomes a nightmare even when I ssh in. Some might think an NFS share would be better. Unfortunately with NFS you are stuck with the current file permissions. With Samba those file permissions are given to you. That may sound a bit confusing, so let me try to clear it up a bit. Let us say there is only one file in the Samba share. User &#8220;ender&#8221; has ownership of the file. I can&#8217;t alter it. When I login with Samba the file appears to be owned by me not &#8220;ender&#8221;. Now I can do my work and when I log out the file is still owned by &#8220;ender&#8221;&#8230; wow, I don&#8217;t think I did a good job there either. Lets just say that when in comes to file permissions, Samba is the way to go.</p>
<p>But I need to work over ssh? Only port 22 is open from the outside. No problem!</p>
<p>We simply need to create a ssh tunnel. For this we already know we need to connect to port 139 on &#8220;sandbox&#8221;, and we need a local port to connect to. I would say just make it 139 also. Unfortunately for me I&#8217;m also running Samba on my local machine, and I can&#8217;t do that. So any non used port will do. How about 1139?</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">ssh user@remotehost -L 1139:localhost:139</pre></div></div>

<p>Simple as that. That will connect port 1139 on your local machine to 139 of the remote host. The &#8220;localhost&#8221; actually refers to the remote host. It&#8217;s saying connect 1139 to my local machine to the remote host&#8217;s &#8220;localhost&#8221; port 139. If you are actually connecting to a windows box on that network you can &#8220;bounce&#8221; off the linux host to the windows. For more information you can refer to a previous post: <a href="http://blog.tangorangers.com/2008/12/secure-vnc-for-free/">Secure VNC for free</a> for more information.</p>
<p>Now comes the fun part. You have 1139 on your local machine tied to 139 on the server. Now to mount the share as a local disk.</p>
<p>As root we mount the share.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">mount -t cifs //sandbox/www /mnt/sandbox/ -o username=&lt;username&gt;,password=&lt;password&gt;,ip=127.0.0.1,port=1139,uid=&lt;your local UID&gt;,gid=&lt;your local GID&gt;,file_mode=0770,dir_mode=0770</pre></div></div>

<p>Fill in your Samba share&#8217;s username and password, then your local machine&#8217;s UID and GID. To find the UID and GID type:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">cat /etc/passwd | grep &lt;your local username&gt;
cat /etc/group | grep users</pre></div></div>

<p>This assumes your regular user is part of the &#8220;users&#8221; group.<br />
It will show 2 numbers. UID is most likely 500 or 1000, and GID is likely to be 100.</p>
<p>After filling in the blanks hit enter and your set! This will use the local port 1139 through the ssh connection to 139 on the server. It may seem a little slow at first, but that may be from the old server I&#8217;m connecting to.</p>
<p>If you want to store the info in fstab try:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">//sandbox/www    /mnt/sandbox     cifs        noauto,rw,username=&lt;username&gt;,password=&lt;password&gt;,ip=127.0.0.1,port=1139,uid=&lt;UID&gt;,gid=&lt;GID&gt;,file_mode=0770,dir_mode=0770          0   0</pre></div></div>

<p>Now for some reason I can&#8217;t quite get this to work, but others seem to have no problem with it. You can add the mount line above into your /etc/fstab file so a regular user can mount. I did this, but it doesn&#8217;t work for me. I get an error saying &#8220;only ROOT can mount this&#8221;. If you get this error try:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">chmod +s /usr/sbin/mount.cifs
chmod +s /usr/sbin/umount.cifs</pre></div></div>

<p>Like I said, it didn&#8217;t work for me, however after creating the ssh tunnel I simply open a new terminal window, su to root and then type &#8220;mount //sandbox/www&#8221; and it works fine.</p>
<p>Also, the reason I don&#8217;t background the ssh connection is because if it drops you may run into some problems with trying to mount it again (or umount even). I had this problem and it gave me a head ache to try to fix it without just rebooting. I&#8217;m sure I could have forced an umount.cifs, but I didn&#8217;t try (actually I didn&#8217;t realize it was actually still mounted). When logging in I recommend running a command that continuously sends data like &#8220;top&#8221;. That will help prevent the connection from being lost. If the connection is lost you must umount the share, reform the ssh tunnel, and try again.</p>
<p>NOTE: If you are connecting to a share on a Windows 7 box you must open 2 ports, 139 and 443 (or so I&#8217;m told). To do this open up a few terminal windows and create two separate connections. After that I do not know as I have never tried.</p>
<p>EDIT NOTE: I wrote this some time ago and just now got around to posting it. I hope everything works fine for you as the mount works fine for me (except under fstab for some reason). Don&#8217;t forget that by typing the command into the shell it will be stored in your history. If the password is sensitive I would recommend clearing out your history after mounting the share.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2010/04/samba-cifs-through-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project: SSHT</title>
		<link>http://blog.tangorangers.com/2009/11/project-ssht/</link>
		<comments>http://blog.tangorangers.com/2009/11/project-ssht/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 06:05:14 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[ssht]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=231</guid>
		<description><![CDATA[SSHT is also known as Secure SHell Tracker. Think of it like a tracker for your ssh connections. I wrote it a long time ago to help keep track of all my connections. It has evolved a bit since then. As of this writing I&#8217;m at version 1.3. I know this program (more of a [...]]]></description>
			<content:encoded><![CDATA[<p>SSHT is also known as Secure SHell Tracker. Think of it like a tracker for your ssh connections. I wrote it a long time ago to help keep track of all my connections. It has evolved a bit since then. As of this writing I&#8217;m at version 1.3. I know this program (more of a script right now) could be useful to many Linux admins. The problem? It is hard to find. I&#8217;m trying to get on the list at Google if you type &#8220;ssh tracker.&#8221; Unfortunately it only works if you type &#8220;SSHT&#8221; or &#8220;Secure shell tracker.&#8221; I hope in the future I can get this script out to the wild for everyone to enjoy. Check it out at <a href="http://www.tangorangers.com/projects/ssht.php">TangoRangers.com.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2009/11/project-ssht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShopSavvy, Compare Everywhere, and SnapTell for Android</title>
		<link>http://blog.tangorangers.com/2009/10/shopsavvy-compare-everywhere-and-snaptell-for-android/</link>
		<comments>http://blog.tangorangers.com/2009/10/shopsavvy-compare-everywhere-and-snaptell-for-android/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 01:28:21 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=219</guid>
		<description><![CDATA[Some time ago I wrote that I was going to start writing regular reviews on cool apps for Android. Well I got side tracked. So today I&#8217;m going to talk about 3! ShopSavvy, Compate Everywhere, and SnapTell. ShopSavvy and Compare Everywhere use the phone&#8217;s camera to scan barecodes! It&#8217;s pretty cool. I have both simply [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago I wrote that I was going to start writing regular reviews on cool apps for Android. Well I got side tracked. So today I&#8217;m going to talk about 3! ShopSavvy, Compate Everywhere, and SnapTell.</p>
<p>ShopSavvy and Compare Everywhere use the phone&#8217;s camera to scan barecodes! It&#8217;s pretty cool. I have both simply because they both have their own different databases. For example, what I like to do is go to at my local super store and see what movies I would like. I always cringe when I see an older movie for $25 or more. That&#8217;s when I scan the barcode. Now I can see where to go to get the better deal. Keep in mind that the local portions don&#8217;t do very well all the time. This is by no fault of the program or it&#8217;s writers. It&#8217;s just the way things are.</p>
<p>Below are screen caps from both programs. Thinking back when I did those shots, I don&#8217;t know why I didn&#8217;t check the same product to see how the results differ.</p>
<p>First up, ShopSavvy. (Click on the picture to see the full size!)<br />
Picture Index:<br />
1. Main Screen.<br />
2. Scan the Barcode. See the Use Keyboard button. You can type in what you want to find!<br />
3. It found the book just fine.<br />
4. Two different local businesses were found.<br />
5. And a local map showing where to go.<br />
1<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/ShopSavvy_001.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-ShopSavvy_001.png" alt="ShopSavy_1" /></a>&nbsp;&nbsp;2<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/ShopSavvy_002.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-ShopSavvy_002.png" alt="ShopSavy_2" /></a>&nbsp;&nbsp;3<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/ShopSavvy_003.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-ShopSavvy_003.png" alt="ShopSavy_3" /></a>&nbsp;&nbsp;4<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/ShopSavvy_004.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-ShopSavvy_004.png" alt="ShopSavy_4" /></a>&nbsp;&nbsp;5<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/ShopSavvy_005.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-ShopSavvy_005.png" alt="ShopSavy_5" /></a></p>
<p>Now I forgot to take a picture, but ShopSavvy will take you to the website where you can see more on the product and if you really want to you could buy it right away. That part is the same as the other programs.</p>
<p>Ok, so ShopSavvy is pretty cool. Now check out these pictures for Compare Everywhere:<br />
Picture Index:<br />
1. Main Screen<br />
2. Scan the Barcode<br />
3. Get your local and online store options.<br />
4. Just a scroll down from picture 3.<br />
5. Lets check these guys.<br />
6. Opened the browser and took me right there.<br />
1<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/Compare_Everywhere_001.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-Compare_Everywhere_001.png" alt="Compare_Everywhere_1" /></a>&nbsp;&nbsp;2<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/Compare_Everywhere_002.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-Compare_Everywhere_002.png" alt="Compare_Everywhere_2" /></a>&nbsp;&nbsp;3<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/Compare_Everywhere_003.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-Compare_Everywhere_003.png" alt="Compare_Everywhere_3" /></a>&nbsp;&nbsp;4<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/Compare_Everywhere_004.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-Compare_Everywhere_004.png" alt="Compare_Everywhere_4" /></a>&nbsp;&nbsp;5<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/Compare_Everywhere_005.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-Compare_Everywhere_005.png" alt="Compare_Everywhere_5" /></a>&nbsp;&nbsp;6<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/Compare_Everywhere_006.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-Compare_Everywhere_006.png" alt="Compare_Everywhere_6" /></a>&nbsp;&nbsp;</p>
<p>Not to bad so far right? Now I want to talk about SnapTell. If my memory serves me well, this app was originally written for the iphone, but it&#8217;s the same thing in the end. The difference here is that you take a picture of the movie, book, or what ever, and SnapTell tries the find you a match. As you will see in the pictures below, I took an alright picture of the book and SnapTell still figured it out very quickly.</p>
<p>Picture Index:<br />
1. The picture I took (This is an awesome book).<br />
2. The results.<br />
3. Took me right to the website I wanted.<br />
1<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/SnapTell_001.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-SnapTell_001.png" alt="SnapTell_1" /></a>&nbsp;&nbsp;2<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/SnapTell_002.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-SnapTell_002.png" alt="SnapTell_2" /></a>&nbsp;&nbsp;3<a href="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/SnapTell_003.png"><img src="http://www.tangorangers.com/files_blog/ShopSavy-Compare_Everywhere-and-SnapTell-for-Android/thumb-SnapTell_003.png" alt="SnapTell_3" /></a></p>
<p>As you can see, all three of these programs are very cool. I use them quite often. Did you find an app like these and really like it? Let me know so I can share the information.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2009/10/shopsavvy-compare-everywhere-and-snaptell-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Interesting Conversation About Computer Security</title>
		<link>http://blog.tangorangers.com/2009/10/an-interesting-conversation-about-computer-security/</link>
		<comments>http://blog.tangorangers.com/2009/10/an-interesting-conversation-about-computer-security/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 01:19:22 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[good to know]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[secunia]]></category>
		<category><![CDATA[spyware]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=215</guid>
		<description><![CDATA[A few days ago I was with one of my good friends who owns a computer repair shop. I love going there because he always has something new and cool to show me (and I get to change to &#8220;geek out&#8221; for a bit), plus I like helping out so I don&#8217;t forget how to [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I was with one of my good friends who owns a computer repair shop. I love going there because he always has something new and cool to show me (and I get to change to &#8220;geek out&#8221; for a bit), plus I like helping out so I don&#8217;t forget how to fix even the most basic computer problems. While there, a long time customer of his came in to pick up his computer and a very interesting conversation came up. The customer asked why his computer won&#8217;t stay clean after bringing it down to the shop.</p>
<p>It&#8217;s an interesting thing isn&#8217;t it? Why is it that we as admins and security experts and never seem to keep computers clean? Even the most skilled professionals can&#8217;t keep a computer clean. Well, it&#8217;s not our fault. There are so many security issues out there, and to be very blunt, the bad guys are always one step ahead of the security experts. Sometimes the good guys get a patch out (or publish the exploit) before the bad guys get a chance to exploit the security hole.</p>
<p>Unfortunately even when the good guys find the security hole before the bad guys there is the problem of getting the OS patched before someone becomes a victim. For example, a short time ago there was an ActiveX Draw exploit that affected millions of Windows PCs. Basically the bad guys somehow gained access to Google&#8217;s Adsence archive (and several other advertiser&#8217;s archives) and &#8220;infected&#8221; roughly 20% of the ads in the archive. I&#8217;m unsure of how the exploit functioned. I have heard everything from nothing to allowing someone to gain full control of your computer. Now, lets say for example that you visit a site, any site. You usually have two ads. One along the top and one down the side. So with one page view you have seen two ads. You click on something, new page, four ads have now been seen. You click again, six ads. Now you have reached the mark. There is a high probability you just saw one of the exploited ads. Whether you like it or not what you see in your web browser is also stored locally on your computer. No one was at fault with this (excluding the bad guys). Microsoft put out a patch after about a week of the exploit being known and Google fixed the hole allowing the bad guys to gain access to the Adsence servers. The problem now? Actually, two problems. One, some people are still making ads that are infected and trying to get them onto your computer. Two, there are still millions of computers that have not been updated.</p>
<p>There are always problems like this. I never like to blame any company directly unless they know of the issue but don&#8217;t bother fixing it. Other examples include more advanced techniques. You can gain access to a computer by sending certain information to it causing a hole to open temporarily.</p>
<p>The $1000 question is how do we keep out computer clean. Everyone has their own ways, but we came up with just a few basics. So if you run Windows try these out: Run <a href="http://www.mozilla.com">FireFox</a> instead of Internet Explore. Within FireFox get the extensions <a href="https://addons.mozilla.org/en-US/firefox/addon/1865">Adblock Plus</a> and <a href="https://addons.mozilla.org/en-US/firefox/addon/722">NoScript</a>. Make sure you have a good Virus Scanner and it&#8217;s up to date. Turn on Automatic Windows Updates and keep your Windows up to date. Get anti-spyware programs like <a href="http://www.lavasoft.com/">Adaware</a> (the free one is fine for me) and <a href="http://www.safer-networking.org/en/index.html">Spybot: Search and Destroy</a>. Make sure you have a firewall even if it&#8217;s the one built into Windows XP (or later), and lastly, be sure your not connected directly to the internet. Most ISPs will provide you with a modem or router, make sure you have a router even if it has the modem built in! It adds just that slight bit of extra protection.</p>
<p>Granted, those are just a few of the things you can do to keep your computer clean. I always recommend talking to an expert when wanting to try new software. If you feel your computer may not be clean find a &#8220;hole in the wall&#8221; style computer shop. Those are often the better choice compared to the larger companies. Ask questions to the shopkeep. Will they charge you even if they don&#8217;t fix the problem? Do they guarantee their work for at least 30 days? Will they wipe your computer&#8217;s hard drive or remove personal files without asking? Will they look at your personal files or web history? The best repair shops will answer honestly and quickly. Hesitation is a bad sign.</p>
<p>Lastly for all your Windows users out there. Get a program called <a href="http://secunia.com/vulnerability_scanning/personal/">Secunia PSI.</a> It is free for home users. This program will check almost every piece of software on your computer and see if there is an update for it. It works very well. For example a few weeks ago Adobe was consistently updating their Flash Player because of several security holes. Secunia PSI found the version I was running was insecure and provided me with a link to directly download and install the updated version! I must say it has been one of the best security programs I have seen for some time.</p>
<p>P.S. Just a note about NoScript. It can be hard for some users to get accustom to using it, and if you unblock the wrong script you will get infected.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2009/10/an-interesting-conversation-about-computer-security/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Free Burger from TGI Fridays</title>
		<link>http://blog.tangorangers.com/2009/10/free-burger-from-tgi-fridays/</link>
		<comments>http://blog.tangorangers.com/2009/10/free-burger-from-tgi-fridays/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 16:25:14 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[In The News]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=208</guid>
		<description><![CDATA[As many users on facebook have seen there is an offer from TGI Fridays to get a free burger. I signed up. Why not? It&#8217;s a free burger and you don&#8217;t have to do more than give out your e-mail. Well time came to get the free burger. I went to their website and notices [...]]]></description>
			<content:encoded><![CDATA[<p>As many users on facebook have seen there is an offer from TGI Fridays to get a <a href="http://www.facebook.com/fanwoody">free burger</a>. I signed up. Why not? It&#8217;s a free burger and you don&#8217;t have to do more than give out your e-mail. Well time came to get the free burger. I went to their website and notices a few things wrong. For starters, you have to be running windows. That&#8217;s a problem for me. I run Linux, but I do have my windows inside a virtual machine. Anyways, I load up my windows and try to get my coupon, but what do I see, but I download for a program called couponprinter.exe from coupons.com. That seems a bit strange to me. So before downloading it I did some checking. I found it has been reported at a malicious program and according to many users it installs spyware.</p>
<p>The next day I was at my parents house and while waiting for other family members to arrive I went to check my e-mail using my Mother&#8217;s computer that I keep clean&#8230; very clean. I found that exact couponprinter.exe program on her computer. I didn&#8217;t think much of it at the time. I did my thing including backups and cleaning as I do when ever I see my family. It turns out that the very next week I was back. I checked on my mom&#8217;s computer. She said the only time it was used was to check on her e-mail. I found more spyware. I thought that was pretty interesting.</p>
<p>To test I removed all the spyware and rebooted. It was back. I then decided to remove the couponprinter.exe program she installed just as a test. I rebooted and nothing. The computer was clean. Now why I didn&#8217;t write down what I found I will never know. Just a lapse in judgment. Just to double check when I got back home I downloaded the installer on my Linux machine and uploaded the file to jotti&#8217;s virus scanner. Only one program reported it bad. Dr Web reported it as Adware.Coupons.34. Check it out <a href="http://virusscan.jotti.org/en/scanresult/619039182cc6f4a5b58ff5332754392de5e4d3b6/a3358f3b31f1f166ddbdbaf56bf73d25287261c6">Here.</a> I&#8217;m pretty sure I saw more than just the one when I ran Spybot: Search &#038; Destroy.</p>
<p>So, as much as I hate to say it (for possible legal issues), I would recommend NOT installing this program. Screw the free burger. I don&#8217;t want it anymore.</p>
<p>If you installed the program I highly recommend removing it and use free programs like Adaware and Spybot: Search &#038; Destroy to remove any traces the coupon printer program installed. These programs are available for windows users. If your on a mac I&#8217;m not sure. I don&#8217;t have a mac nor did I test the mac version (if any) of the program to see if there was anything bad.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2009/10/free-burger-from-tgi-fridays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Other Day</title>
		<link>http://blog.tangorangers.com/2009/10/the-other-day/</link>
		<comments>http://blog.tangorangers.com/2009/10/the-other-day/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 05:55:58 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[In The News]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=204</guid>
		<description><![CDATA[The other day I was listening to Maximum PC&#8217;s podcast and I thought &#8220;Those must be so fun to make. I bet I could do a great one.&#8221; So I got out my microphone and started talking about some of the interesting things going on in the tech world. After about 5 min I stopped [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I was listening to Maximum PC&#8217;s podcast and I thought &#8220;Those must be so fun to make. I bet I could do a great one.&#8221; So I got out my microphone and started talking about some of the interesting things going on in the tech world. After about 5 min I stopped and realized how boring it would be to listen to just me, you need more people so you can banter back and forth. I need a friend to do this with. Unfortunately I only have 2 geek friends who would be willing to do it. One I can never get a hold of and the other is in Germany. Well crap. So in my weird own way I thought about posting more random crap since I don&#8217;t get very many hits here when I only post code information. Now my good friend over at <a href="http://spydersworld.com">SpydersWorld.com</a> posts about vulnerabilities. I will start posting there if I have something very cool and well documented. Otherwise it will be here. Lastly starting soon I&#8217;m going to start writing news and about programs I think are pretty cool (Windows, Linux, and Android). Check back soon and setup your rss readers now.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2009/10/the-other-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Javascript to hide single/multiple div tags with the same name Part 2</title>
		<link>http://blog.tangorangers.com/2009/08/using-javascript-to-hide-singlemultiple-div-tags-with-the-same-name-part-2/</link>
		<comments>http://blog.tangorangers.com/2009/08/using-javascript-to-hide-singlemultiple-div-tags-with-the-same-name-part-2/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 23:36:19 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=194</guid>
		<description><![CDATA[Recently I was asked by a comment from my previous post Using Javascript to hide single/multiple div tags with the same name on how to get multiple buttons to control multiple div tags. For example, 2 div classes need to be hidden or shown with 2 different buttons controlling them. Turns out this is fairly [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was asked by a comment from my previous post <a href="http://blog.tangorangers.com/2009/03/using-javascript-to-hide-singlemultiple-div-tags-with-the-same-name/">Using Javascript to hide single/multiple div tags with the same name</a> on how to get multiple buttons to control multiple div tags. For example, 2 div classes need to be hidden or shown with 2 different buttons controlling them. Turns out this is fairly simple. Basically you can use some previous code and alter some variable names in the javascript, but to make things simple here is the code.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> getElementsByClass<span style="color: #009900;">&#40;</span>searchClass<span style="color: #339933;">,</span> domNode<span style="color: #339933;">,</span> tagName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>domNode <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> domNode <span style="color: #339933;">=</span> document<span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>tagName <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> tagName <span style="color: #339933;">=</span> <span style="color: #3366CC;">'*'</span><span style="color: #339933;">;</span>
     <span style="color: #003366; font-weight: bold;">var</span> el <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #003366; font-weight: bold;">var</span> tags <span style="color: #339933;">=</span> domNode.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span>tagName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #003366; font-weight: bold;">var</span> tcl <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot; &quot;</span><span style="color: #339933;">+</span>searchClass<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot; &quot;</span><span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>j<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>tags.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #003366; font-weight: bold;">var</span> test <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot; &quot;</span> <span style="color: #339933;">+</span> tags<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">className</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; &quot;</span><span style="color: #339933;">;</span>
          <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>test.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>tcl<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>
               el<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> tags<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
     <span style="color: #000066; font-weight: bold;">return</span> el<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> hidden <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">function</span> toggle_hideme1<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     hidden <span style="color: #339933;">=</span> <span style="color: #339933;">!</span>hidden<span style="color: #339933;">;</span>
     <span style="color: #003366; font-weight: bold;">var</span> newDisplay<span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>hidden<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          newDisplay <span style="color: #339933;">=</span> <span style="color: #3366CC;">'block'</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #000066; font-weight: bold;">else</span>
     <span style="color: #009900;">&#123;</span>
          newDisplay <span style="color: #339933;">=</span> <span style="color: #3366CC;">'none'</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #003366; font-weight: bold;">var</span> showfirst <span style="color: #339933;">=</span> getElementsByClass<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div_class_name&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> showfirst.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          showfirst<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> newDisplay<span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> hiddenb <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">function</span> toggle_hideme2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     hiddenb <span style="color: #339933;">=</span> <span style="color: #339933;">!</span>hiddenb<span style="color: #339933;">;</span>
     <span style="color: #003366; font-weight: bold;">var</span> newDisplay<span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>hiddenb<span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
          newDisplay <span style="color: #339933;">=</span> <span style="color: #3366CC;">'block'</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #000066; font-weight: bold;">else</span>
     <span style="color: #009900;">&#123;</span>
          newDisplay <span style="color: #339933;">=</span> <span style="color: #3366CC;">'none'</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #003366; font-weight: bold;">var</span> showsecond <span style="color: #339933;">=</span> getElementsByClass<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div_class_name&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> k <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> k <span style="color: #339933;">&lt;</span> showsecond.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> k<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          showsecond<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> newDisplay<span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>For the variables &#8216;showfirst&#8217; and &#8216;showsecond&#8217; you can call them what ever you want, just make sure they stay the same in only one function, not two. Be sure to change &#8216;div_class_name&#8217; to a custom name for each field.</p>
<p>Also, these are setup to be hidden first, you can change that by swapping the &#8216;newDisplay = &#8216; lines.</p>
<p>For the HTML code we are going to use check boxes. We need two boxes each with names that call the function.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;input type=&quot;checkbox&quot; name=&quot;showone&quot; id=&quot;showone&quot; value=&quot;showone&quot; onClick=&quot;toggle_hideme1('showone');&quot;&gt;&lt;br /&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;showtwo&quot; id=&quot;showtwo&quot; value=&quot;showtwo&quot; onClick=&quot;toggle_hideme2('showtwo');&quot;&gt;&lt;br /&gt;</pre></div></div>

<p>If you want the boxes checked to start first swap the &#8216;newDisplay =&#8217; lines, and use this.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;input type=&quot;checkbox&quot; name=&quot;showone&quot; id=&quot;showone&quot; value=&quot;showone&quot; onClick=&quot;toggle_hideme1('showone');&quot; CHECKED&gt;&lt;br /&gt;</pre></div></div>

<p>As in my previous post you need to put what ever will be shown or hidden in a div class tag.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;div_class_name&quot; style=&quot;display: none;&quot;&gt;</pre></div></div>

<p>The style hides everything in the class until the box is checked.</p>
<p>That will start the boxed checked, when you un-check it the data in all div classes with that name will hide (remember the &#8216;div_class_name&#8217;? that&#8217;s what we are working with).</p>
<p>I wrote this up in just a couple minutes, so I truly help it makes scene. You can check out an example of how it works <a href="http://www.tangorangers.com/examples/jshidedivs_part2/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2009/08/using-javascript-to-hide-singlemultiple-div-tags-with-the-same-name-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Defcon 17 thoughts</title>
		<link>http://blog.tangorangers.com/2009/08/defcon-17-thoughts/</link>
		<comments>http://blog.tangorangers.com/2009/08/defcon-17-thoughts/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 06:30:57 +0000</pubDate>
		<dc:creator>DaijoubuKun</dc:creator>
				<category><![CDATA[In The News]]></category>
		<category><![CDATA[defcon]]></category>
		<category><![CDATA[ucod]]></category>

		<guid isPermaLink="false">http://blog.tangorangers.com/?p=188</guid>
		<description><![CDATA[First off, I want to say that Spyder wrote an excellent article that I&#8217;m kinda taking my ideas from. Check it out at spydersworld.com. This was my 4th year attending Defcon (all in a row!) and was by far the best year. I&#8217;m going to try putting everything in chronological order, lets see how well [...]]]></description>
			<content:encoded><![CDATA[<p>First off, I want to say that Spyder wrote an excellent article that I&#8217;m kinda taking my ideas from. Check it out at <a href="http://spydersworld.com/?p=286">spydersworld.com</a>.</p>
<p>This was my 4th year attending Defcon (all in a row!) and was by far the best year.  I&#8217;m going to try putting everything in chronological order, lets see how well I do.</p>
<p>It all started shortly after arriving at the Riviera Hotel and Casino in Las Vegas on Thursday, July 30th. We has just gotten to our room and started relaxing after the crappy plane ride when we realized that it was time to prepare for the Toxic BBQ. Having a good friend that lives in Vegas is very handy at times like these. After going to Walmart to pick up the items everyone forgets (Thanks again for paying for everything Spyder) like: Water, Ice, Napkins, Paper Plates, and Plastic Silverware, we arrived at Sunset Park. Everyone was very grateful to us for bringing ice and water. Many were dehydrated and were happy for cold clean water. We all had a great time, good food, good friends. We even ran into Winn and his daughter Ashley (maker of Hackers Are People Too).  When it was time to go we piled back into the truck (with about 9 or so people in the back that needed a ride) and went back to the Riviera. It was pretty quiet after that. We all thought it would be a good idea to take it easy so we could get up early for the fun.</p>
<p>Friday morning was just like any other&#8230; except having to stand in line for a few hours to try and exchange our paper badges for real ones. A special thanks there goes to my buddie Mikey for getting in line early. I don&#8217;t want to go into too much detail on the days, mostly the events and special occasions.</p>
<p>This year I was fortunate enough to meet Johnny Long who was there to do a talk about his charity work in Uganda.  If you don&#8217;t know about it goto <a href="http://johnny.ihackstuff.com/">johnny.ihackstuff.com</a> and help out! The next day (after winning a little extra cash in the casino) I got a book called &#8220;Stealing the Network: The Complete Series Collector&#8217;s Edition&#8221; and got it signed my Johnny Long and Ryan Russell, but unfortunately Timothy Mullen wasn&#8217;t there. A special thanks goes to Ryan Russell, I can&#8217;t wait to read the book, and thank you Johnny Long for also signing my book.</p>
<p>I was to talk a little bit about Hacker Jeopardy. As usual Winn was awesome, and Gmark did a great job this year. As Spyder said in his post, Bansee is no longer Vynl Vanna. She always did a great job, she will be missed. The questions this year were kinda lame, Spyder and I talked to Winn about it and gave a few suggestions (they were all Spyder&#8217;s ideas), lets see if they use them next year.</p>
<p>Moxie&#8217;s talk about SSL was a real eye opener. Spyder has been blogging about it for quite some time, but seeing it in the presentation was a real eye opener. It&#8217;s true, security is an illusion. Scary thought, but it&#8217;s true, I have seen it with my own eyes.</p>
<p>Adam Savage from Mythbusters did a talk, I missed it. I wanted to see it. After the talk he was signing autographs. I found out from defcon&#8217;s twitter feed. The instant it was posted I got it on my phone and rushed to the War Room. I got there a few minutes late and a Goon kept me out of the line. If I had a beer for him he probably would have let me in, but I don&#8217;t drink beer so I was out of luck.</p>
<p>I was fortunate enough (also thanks to Spyder) to meet Keven (DJ Shadowvex) and talk with him for a bit. I enjoy his music and always look forward to next year&#8217;s disk. I also meet up with a few of his friends, but I&#8217;m bad with names. Sorry guys!</p>
<p>Over all this year was a great year and I look forward to going back next year. I think I have started to get myself known to some of the best people at Defcon and I know they will recognize me next year and I can&#8217;t wait to see them again.  Special thanks to Spyder. If it wasn&#8217;t for you I&#8217;m not sure I would have made it since I couldn&#8217;t afford a room by myself. Special thanks to Mikey. You are an awesome friend. I couldn&#8217;t ask for a better one. You know how to get around town and even help me win a few extra bucks on the video poker machine. Thank you for picking us up and dropping us off at the airport, and for the ride to and from the Toxic BBQ. Thanks for everything! I feel very fortunate that I have good friends and good times. By the end I didn&#8217;t want to leave Vegas since I was having such a great time, but all good things must some to and end. So I went home and took a nap.</p>
<p>What was your Defcon 17 experience like? Did you meet me? Who did you meet? What fun things did you do? I was to hear all about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangorangers.com/2009/08/defcon-17-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
