<?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>LaslowNET &#187; Linux</title>
	<atom:link href="http://laslow.net/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://laslow.net</link>
	<description></description>
	<lastBuildDate>Thu, 10 May 2012 20:19:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Gnome-Keyring Issues in Ubuntu 12.04</title>
		<link>http://laslow.net/2012/05/06/gnome-keyring-issues-in-ubuntu-12-04/</link>
		<comments>http://laslow.net/2012/05/06/gnome-keyring-issues-in-ubuntu-12-04/#comments</comments>
		<pubDate>Mon, 07 May 2012 06:11:02 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makes Sense]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Xubuntu]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1430</guid>
		<description><![CDATA[While trying to do a &#8216;repo sync&#8217; on the CyanogenMOD source after doing a fresh install of Xubuntu 12.04, I started getting the following error, repeated many times: WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-*****/pkcs11 Turns out, a package upgrade (I was too lazy to identify which one) changed/reverted /etc/xdg/autostart/gnome-keyring-pkcs11.desktop and caused gnome-keyring-daemon to not load properly with [...]]]></description>
			<content:encoded><![CDATA[<p>While trying to do a &#8216;repo sync&#8217; on the CyanogenMOD source after doing a fresh install of Xubuntu 12.04, I started getting the following error, repeated many times:</p>
<p><code>WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-*****/pkcs11<br />
</code></p>
<p>Turns out, a package upgrade (I was too lazy to identify which one) changed/reverted <strong>/etc/xdg/autostart/gnome-keyring-pkcs11.desktop</strong> and caused <em>gnome-keyring-daemon</em> to not load properly with XFCE. The fix was to find this line:</p>
<p><code>OnlyShowIn=GNOME;Unity</code></p>
<p>And append <em>;XFCE</em> to it, making it:</p>
<p><code>OnlyShowIn=GNOME;Unity;XFCE</code></p>
<p>After a quick reboot everything worked as normal.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2012/05/06/gnome-keyring-issues-in-ubuntu-12-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightmare: Pulseaudio, Nvidia HDMI Audio, and CentOS</title>
		<link>http://laslow.net/2012/02/27/nightmare-pulseaudio-nvidia-hdmi-audio-and-centos/</link>
		<comments>http://laslow.net/2012/02/27/nightmare-pulseaudio-nvidia-hdmi-audio-and-centos/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 07:20:22 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Hack]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Pulseaudio]]></category>
		<category><![CDATA[Rage]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1379</guid>
		<description><![CDATA[I&#8217;m in the process of converting my home server in to a CentOS SMB server and XBMC combination box. In the process, though, I ran in to a problem where PulseAudio would recognise the HDMI audio capabilities of the video card (after installing the Nvidia binary drivers), but wouldn&#8217;t output any sound. After a lot [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the process of converting my home server in to a CentOS SMB server and XBMC combination box. In the process, though, I ran in to a problem where PulseAudio would recognise the HDMI audio capabilities of the video card (after installing the Nvidia binary drivers), but wouldn&#8217;t output any sound. After a lot of digging and swearing, I finally fixed it by doing the following:</p>
<p>As a normal user, open a Terminal window and enter <em>alsamixer</em>. Press F6 and then unmute all of the audio channels (do so by selecting them with the arrow keys, and then pressing &#8216;m&#8217;. When done, press ESC to exit.</p>
<p>After this, <em>su -</em> to assume root, and then type <em>aplay -l </em>to get a list of your audio devices. In my case, I&#8217;ve disabled the onboard audio, so the only devices are the Nvidia ones. The output will look something like this:</p>
<blockquote><p>root@wormwood ~]# aplay -l<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0</p></blockquote>
<p>Note that while there are four devices, the first one (which Pulseaudio selects by default) doesn&#8217;t do anything. To get this to work, we need to tell it to use the second device (#7). This isn&#8217;t horribly easy. If you have another sound card, note the device numbers listed for it above &#8211; you&#8217;ll need them in a minute.</p>
<p>Finally we can tell Pulseaudio to actually use the correct devices. Still as root, open up <em>/etc/pulse/default.pa</em> and find these lines:</p>
<blockquote><p>### Automatically load driver modules depending on the hardware available<br />
#.ifexists module-udev-detect.so<br />
#load-module module-udev-detect<br />
#.else<br />
### Alternatively use the static hardware detection module (for systems that<br />
### lack udev support)<br />
#load-module module-detect<br />
#.endif</p></blockquote>
<p>Now, comment them all out as I have done above. This prevents Pulseaudio from trying to be smart. Now, scroll to the end of the file and add the following line (if you have more than one audio device, you will need to add it multiple times with the correct card and device numbers that you gathered from aplay above):</p>
<blockquote><p>load-module module-alsa-sink device=hw:0,7</p></blockquote>
<p>Now simply do a <em>killall pulseaudio</em> and try to play something. You should have audio output over HDMI now!</p>
<p><strong><span style="color: #ff0000;">Edit:</span></strong> Just a bit of follow-up if you&#8217;re having trouble with the sound muting after every reboot. As root, enter the following in a shell:</p>
<blockquote><p>touch /etc/asound.state</p>
<p>chmod 777 /etc/asound.state</p></blockquote>
<p>Now, as a standard user, follow the instructions above to unmute the Nvidia device channels via <em>alsamixer</em>. Once you&#8217;ve confirmed sound is working again, from a shell (still <strong><em>not</em></strong> as root!) type:</p>
<blockquote><p>alsactl store</p></blockquote>
<p>Now go back as root and:</p>
<blockquote><p>chmod 644 /etc/asound.state</p></blockquote>
<p>When you reboot, you shouldn&#8217;t have to unmute through alsamixer anymore.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2012/02/27/nightmare-pulseaudio-nvidia-hdmi-audio-and-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Java on CentOS 5.x</title>
		<link>http://laslow.net/2011/05/26/installing-java-on-centos-5-x/</link>
		<comments>http://laslow.net/2011/05/26/installing-java-on-centos-5-x/#comments</comments>
		<pubDate>Fri, 27 May 2011 04:44:48 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://laslow.net/?p=1233</guid>
		<description><![CDATA[There are a large number of articles floating around with outdated instructions for installing Sun Oracle Java on CentOS. I&#8217;m happy to report that the process is now very, very easier if OpenJDK doesn&#8217;t work for you. Browse to this page: http://www.java.com/en/download/manual.jsp Copy the URL of the &#8220;Linux RPM (self-extracting file)&#8221; link. On your CentOS box [...]]]></description>
			<content:encoded><![CDATA[<p>There are a large number of articles floating around with outdated instructions for installing <del>Sun</del> Oracle Java on CentOS. I&#8217;m happy to report that the process is now very, very easier if OpenJDK doesn&#8217;t work for you.</p>
<ol>
<li><span style="line-height: 19px;">Browse to this page: <a href="http://www.java.com/en/download/manual.jsp">http://www.java.com/en/download/manual.jsp</a></span></li>
<li>Copy the URL of the &#8220;Linux RPM (self-extracting file)&#8221; link.</li>
<li>On your CentOS box (assuming you&#8217;re SSH&#8217;d to it), use wget to download the file (eg, <em>wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=48333</em>)</li>
<li>Note that, when the file finishes downloading you may need to rename it. Due to the redirect process Oracle uses, you may end up with a filename like &#8220;jre-6u25-linux-i586-rpm.bin\?AuthParam\=1306440404_3678aad28a7b9aae044da147678b211e\&amp;GroupName\=JSC\&amp;FilePath\=%2FESD6%2FJSCDL%2Fjdk%2F6u25-b06%2Fjre-6u25-linux-i586-rpm.bin\&amp;File\=jre-6u25-linux-i586-rpm.bin\&amp;BHost\=javadl.sun.com&#8221; (this happened to me). If this is the case, rename it to &#8220;<strong>jre-6u25-linux-i586-rpm.bin</strong>&#8220;</li>
<li>Use chmod to allow execute permissions<strong>: chmod +x <strong>jre-6u25-linux-i586-rpm.bin</strong></strong></li>
<li>Execute the binary: <strong>./<strong>jre-6u25-linux-i586-rpm.bin</strong></strong></li>
<li>Verify the installation worked: <strong>java -version</strong></li>
</ol>
<p>That&#8217;s it. No extra compiling, no need to add extra repositories. Simple. (Disclaimer: because this is done without a package manager, you&#8217;ll have to remember to manually update the installation to keep your box secure.)</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2011/05/26/installing-java-on-centos-5-x/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fedora 14: Framebuffer and Xorg in 1680&#215;1050 with Nvidia Drivers</title>
		<link>http://laslow.net/2010/12/11/fedora-14-framebuffer-and-xorg-in-1680x1050-with-nvidia-drivers/</link>
		<comments>http://laslow.net/2010/12/11/fedora-14-framebuffer-and-xorg-in-1680x1050-with-nvidia-drivers/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 21:28:47 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Nvidia]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1070</guid>
		<description><![CDATA[So out-of-box, Fedora 14 does a pretty good job handling graphics, but if you want to run with Nvidia&#8217;s drivers you need to do a little leg work. Fortunately, it&#8217;s very, very easy if you know your way around the system even a little. First off, you should download the driver binaries from Nvidia&#8217;s site. [...]]]></description>
			<content:encoded><![CDATA[<p>So out-of-box, Fedora 14 does a pretty good job handling graphics, but if you want to run with Nvidia&#8217;s drivers you need to do a little leg work. Fortunately, it&#8217;s very, very easy if you know your way around the system even a little.</p>
<p>First off, you should download the driver binaries from <a href="http://www.nvidia.com" target="_blank">Nvidia&#8217;s site</a>. Save them in an easy-to-access place and then do a quick &#8216;chmod 777&#8242; on the package so you can execute it later. Also, make sure you have the kernel-headers and kernel-devel packages installed, plus gcc so the Nvidia installer can make the kernel module.</p>
<p>Now that the driver is downloaded, we need to disable the Nouveau driver that comes with Fedora. This is a two-step process.</p>
<ol>
<li>As root, edit &#8216;/etc/modprobe.d/blacklist.conf&#8217; and add the following lines to the bottom:</li>
<blockquote><p># Nouveau<br />
blacklist nouveau</p></blockquote>
<li>Now edit &#8216;/boot/grub/menu.lst&#8217; and add the following to the end of the kernel line:</li>
<blockquote><p>nouveau.modeset=0<br />
e.g, &#8220;kernel /vmlinuz-2.6.35.9-64.fc14.x86_64 ro root=UUID=00311e4e-0043-498c-8532-7301b19eae76 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet <strong>nouveau.modeset=0</strong>&#8220;</p></blockquote>
</ol>
<p>With that done, reboot. As your computer boots, press the Tab key repeatedly before the Fedora splash screen appears to get the Grub Menu to appear. Press &#8216;a&#8217; to do a one-time edit of the kernel options (you&#8217;ll see the line above appear) and add the number &#8217;3&#8242; (no quotes) to the end, like so:</p>
<blockquote><p>kernel /vmlinuz-2.6.35.9-64.fc14.x86_64 ro root=UUID=00311e4e-0043-498c-8532-7301b19eae76 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet nouveau.modeset=0 3</p></blockquote>
<p>This will do a one-time boot to Run Level 3, much like adding &#8216;single&#8217; to the end of the above line would put you in to Single User Mode. Once you&#8217;re at the text-mode long prompt (at a really low screen resolution, I might add), login as root and browse to the folder you saved the driver binary to, then run it. Let it go through it&#8217;s process and create the files it wants to, and when it finishes, you&#8217;re almost done.</p>
<p>The last thing to do is make the framebuffer work on the correct resolution. In my case, my monitor uses 1680&#215;1050 as it&#8217;s native resolution, so that&#8217;s what I want to set it to.</p>
<p>Reboot the computer again, and do the Tab key trick to get back to the Grub Menu. Once again, press &#8216;a&#8217; to edit the kernel options and this time add &#8216;vga=ask&#8217; in addition to the number &#8217;3&#8242; to the end of the line, and then press enter. You should get a list of the framebuffer modes. Find the one that matches your resolution, enter it (and make a note of it), and then press enter. When you get to the login prompt, you should see that everything is the correct size and resolution. If not, try again. For reference, 1680&#215;1050 in 32bit colour for my GeForce 260 is mode 369.</p>
<p>Once you have the correct mode, we&#8217;re ready to make it permanent. Login as root and edit the &#8216;/boot/grub/menu.lst&#8217; file again. Now add the following to the end of the kernel line:</p>
<blockquote><p>vga=873 video=nvidiafb</p>
<p>eg, kernel /vmlinuz-2.6.35.9-64.fc14.x86_64 ro root=UUID=00311e4e-0043-498c-8532-7301b19eae76 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet nouveau.modeset=0 3 vga=873 video=nvidiafb</p></blockquote>
<p>Where <em>873</em> is the the mode you entered above converted from hex to decimal (369 hex == 873 dec).</p>
<p>Save, reboot, and watch as both the framebuffer and Xorg now work at the proper resolution for your monitor. You&#8217;ll also now be able to turn on Desktop Effects in Gnome if you so choose.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/12/11/fedora-14-framebuffer-and-xorg-in-1680x1050-with-nvidia-drivers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IPTABLES Logging on a VPS</title>
		<link>http://laslow.net/2010/10/11/iptables-logging-on-a-vps/</link>
		<comments>http://laslow.net/2010/10/11/iptables-logging-on-a-vps/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 04:19:21 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1036</guid>
		<description><![CDATA[When you manage a *nix-based server, there are a few general guidelines that most admins follow; Doing things like setting a strong root password, changing SSHD to a non-standard port, and setting up logging are usually firsts. However, if you&#8217;re on a VPS, you may run in to a few issues (note that these instructions [...]]]></description>
			<content:encoded><![CDATA[<p>When you manage a *nix-based server, there are a few general guidelines that most admins follow; Doing things like setting a strong root password, changing SSHD to a non-standard port, and setting up logging are usually firsts. However, if you&#8217;re on a VPS, you may run in to a few issues (note that these instructions are for CentOS 5.x and may vary depending on your distro).</p>
<p>For example, when I was setting my the nice new VPS that I&#8217;m running this site from I attempted to enable IPTABLES logging to monitor attempts to get to the standard SSH port (22), and the port that I actually use for SSH (I won&#8217;t post the real one, but for the example I&#8217;ll use port 1234) with the following lines in &#8220;/etc/sysconfig/iptables&#8221;:</p>
<blockquote>
<pre id="_mcePaste"><em>&lt;Snip other rules&gt;</em></pre>
<pre>-A INPUT -m state --state NEW -p tcp -m tcp --dport 1234 -j LOG -m limit --limit 20/m --log-level warn --log-prefix "SSH Attempt on port 1234: "
-A INPUT -p tcp -m tcp --dport 1234 -j ACCEPT</pre>
<pre><em>&lt;Snip even more rules&gt;</em></pre>
<div>
<div>
<pre>-A INPUT -p tcp -m tcp --dport 22 -j LOG -m limit --limit 20/m --log-level warn --log-prefix "Dropped SSH on port 22: "</pre>
<pre>-A INPUT -j DROP</pre>
</div>
</div>
</blockquote>
<div>Note that you need to add the <em>LOG</em> lines<em> </em><strong>before</strong> the <em>ACCEPT</em> and <em>DROP</em> lines.  Only 20 lines will be logged per minute to prevent file sizes from going nuts in case of an attack.</div>
<div>After restarting IPTABLES with <em>service iptables restart</em>, I made a few access attempts and checked /var/log/messages &#8212; no log lines appeared, though. Then I realized I was missing something.</div>
<div>In &#8220;/etc/syslog.conf&#8221; I had to add the following to the end:</div>
<blockquote>
<div>kern.=warn   /var/log/firewall</div>
</blockquote>
<div>I opted to log to <em>firewall</em> instead of <em>messages</em> simply to keep the file clean.</div>
<div>I restarted SYSLOG with <em>service syslog restart</em>, made a few more attempts, and still nothing was appearing in &#8220;/var/log/firewall&#8221; or &#8220;/var/log/messages&#8221;. However, typing <em>dmesg</em> showed the relevant lines:</div>
<blockquote>
<div>SSH Attempt on port 1234: IN=venet0 OUT= MAC= SRC=10.0.0.1 DST=10.0.0.2 LEN=48 TOS=0&#215;00 PREC=0&#215;00 TTL=116 ID=28979 DF PROTO=TCP SPT=35291 DPT=1234 WINDOW=8192 RES=0&#215;00 SYN URGP=0</div>
</blockquote>
<div>So I knew that SYSLOG was working, however it wasn&#8217;t going all the way. Then I decided to see if KLOGD was running:</div>
<blockquote>
<div>[root@vps ~]# ps aux|grep klogd</div>
<div>root     13632  0.0  0.1   7188   788 pts/0    S+   00:07   0:00 grep klogd</div>
</blockquote>
<div>So that means that KLOGD isn&#8217;t running, which is the cause of the problem! I checked &#8220;/etc/rc.d/init.d/syslog&#8221; and found that the KLOGD lines were commented out, as such:</div>
<blockquote>
<div><em>&lt;snip&gt;</em></div>
<div><em> </em>passed klogd skipped #daemon klogd $KLOGD_OPTIONS</div>
<div><em>&lt;snip&gt;</em></div>
<div><em> </em>passed klogd skipped #killproc klogd</div>
</blockquote>
<div>In the &#8220;start()&#8221; and &#8220;stop()&#8221; areas respectively. I simply removed the &#8220;<em>passed klogd skipped #</em>&#8221; parts, saved and ran <em>service syslog restart</em> and presto, KLOGD was up and running:</div>
<blockquote>
<div>
<div>[root@vps ~]# ps aux|grep klogd</div>
<div>root      7542  0.0  0.0   3808   424 ?        Ss   Oct11   0:00 klogd -x</div>
<div>root     15402  0.0  0.1   7188   788 pts/0    S+   00:13   0:00 grep klogd</div>
</div>
</blockquote>
<div>I made a few more connection attempts and verified that now everything was working correctly:</div>
<blockquote>
<div>
<div>[root@vps ~]# cat /var/log/firewall</div>
<div>Oct 11 23:47:06 vps kernel: SSH Attempt on port 1234: IN=venet0 OUT= MAC= SRC=10.0.0.1 DST=10.0.0.2 LEN=48 TOS=0&#215;00 PREC=0&#215;00 TTL=116 ID=28979 DF PROTO=TCP SPT=35291 DPT=1234 WINDOW=8192 RES=0&#215;00 SYN URGP=0</div>
<div>Oct 12 00:13:03 vps kernel: Dropped SSH on port 22: IN=venet0 OUT= MAC= SRC=110.77.129.166 DST=10.0.0.2 LEN=60 TOS=0&#215;00 PREC=0&#215;00 TTL=45 ID=59383 DF PROTO=TCP SPT=33846 DPT=22 WINDOW=5840 RES=0&#215;00 SYN URGP=0</div>
</div>
</blockquote>
<div>Done and done! IPTABLES now properly logs to &#8220;/var/log/firewall&#8221; when someone attempts to hit port 22 or 1234.</div>
<blockquote>
<div><strong>TL;DR Version: If you want IPTABLES logging enabled on your VPS, follow the normal steps to enable IPTABLES logging and then make sure KLOGD is enabled in  &#8221;/etc/rc.d/init.d/syslog&#8221;.</strong></div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/10/11/iptables-logging-on-a-vps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Meta: Downtime</title>
		<link>http://laslow.net/2010/09/23/meta-downtime/</link>
		<comments>http://laslow.net/2010/09/23/meta-downtime/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 06:59:18 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=1032</guid>
		<description><![CDATA[Yesterday the site experienced a service disruption for several hours due to a DDoS attack against another site on the same hardware node as my VPS. Although the problem was resolved, there was some additional downtime tonight as my provider ran through a series of updates and patches, including one to fix the now-infamous x86_64 [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday the site experienced a service disruption for several hours due to a DDoS attack against another site on the same hardware node as my VPS. Although the problem was resolved, there was some additional downtime tonight as my provider ran through a series of updates and patches, including one to fix the now-infamous <a href="https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2010-3081" target="_blank">x86_64 kernel exploit</a>.</p>
<p>I&#8217;d like to thank my host, <a href="http://www.tdrevolution.com" target="_blank">TDRevolution</a>, for their quick response to the issues and their dedication to security. For anyone looking for a low-cost VPS, I highly recommend them.</p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/09/23/meta-downtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From The Search Results: CLI Basics</title>
		<link>http://laslow.net/2010/06/07/from-the-search-results-cli-basics/</link>
		<comments>http://laslow.net/2010/06/07/from-the-search-results-cli-basics/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 20:56:18 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makes Sense]]></category>
		<category><![CDATA[From the Search Results]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=815</guid>
		<description><![CDATA[To the person who found my blog by searching &#8220;what command to run on terminal emulator&#8220;, I&#8217;d probably suggest the following: help]]></description>
			<content:encoded><![CDATA[<p>To the person who found my blog by searching &#8220;<em><span style="color: #ff0000;">what command to run on terminal emulator</span></em>&#8220;, I&#8217;d probably suggest the following:</p>
<blockquote><p><em><strong>help</strong></em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/06/07/from-the-search-results-cli-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rogers Wireless Hijacks Wildcard DNS Records</title>
		<link>http://laslow.net/2010/06/07/rogers-wireless-hijacks-wildcard-dns-records/</link>
		<comments>http://laslow.net/2010/06/07/rogers-wireless-hijacks-wildcard-dns-records/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 18:14:11 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA["It's a Feature"]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Rogers]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=806</guid>
		<description><![CDATA[Although I can&#8217;t confirm when this happened (it may have happened a while ago and I just never noticed), I was browsing the internet last night on my Google Nexus One and noticed that, when I mistyped http://imdb.com, I was redirected to http://www20.search.rogers.com (which doesn&#8217;t work outside of Rogers&#8217; network) instead of receiving a normal Not Found [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.laslow.net/wp-content/uploads/2010/06/rogers_logo.jpg"><img class="alignright size-full wp-image-809" title="Rogers Logo" src="http://www.laslow.net/wp-content/uploads/2010/06/rogers_logo.jpg" alt="Rogers Logo" width="145" height="101" /></a>Although I can&#8217;t confirm when this happened (it may have happened a while ago and I just never noticed), I was browsing the internet last night on my Google Nexus One and noticed that, when I mistyped <a href="http://imdb.com" target="_blank">http://imdb.com</a>, I was redirected to <a href="http://www20.search.rogers.com" target="_blank">http://www20.search.rogers.com</a> (which doesn&#8217;t work outside of Rogers&#8217; network) instead of receiving a normal <em>Not Found</em> error. This all smacks of the infamous <a href="http://en.wikipedia.org/wiki/Site_Finder" target="_blank">VeriSign Site Finder fiasco</a>.</p>
<p>I&#8217;m no fan of browser redirects in any form, and I&#8217;m even less of a fan of Yahoo which Rogers partners with to, among other things, provide results on their hijacked landing page. But what can you do? It&#8217;s their service, and there&#8217;s no opt-out link on the page.</p>
<p>Well, the answer is to manually opt-out. Unfortunately, you need to have a rooted/jail-broken phone to do this. As stated above, I have a Google Nexus One which runs CyanogenMod, but this should work with any other rooted Android phone and even jail-broken iPhones (although the paths are different &#8212; you&#8217;ll need to alter them as applicable).</p>
<p>To manually opt-out, do the following (assumes Android phone):</p>
<ol>
<li>Open a shell on your phone. You can use ConnectBot, Terminal Emulator, or <em>adb shell</em>.</li>
<li>Assume root (<em>su</em> command).</li>
<li>Remount the system partition in to read/write mode &#8212;  <em>mount -o rw,remount /system</em></li>
<li>Browse to <em>/system/etc</em>.</li>
<li>Use your favourite text editor to open <em>hosts</em>.</li>
<li>Add the following to the bottom of the <em>hosts</em> file &#8212; <em>127.0.0.1 www20.search.rogers.com</em></li>
<li>Save and quit!</li>
</ol>
<p>You&#8217;re done! You&#8217;ve just manually opt&#8217;ed-out of Rogers Wildcard DNS hijack. Now you&#8217;ll just get the normal &#8216;Not Found&#8217; errors, as when Rogers see that the domain you&#8217;ve entered doesn&#8217;t exist and tried to redirect you to their search page, your phone will point that domain to itself and fail as it isn&#8217;t running a webserver.</p>
<p><strong>TL;DR Version: To prevent getting directed to Rogers&#8217; Search Page when you mistype an address, edit your <em>hosts</em> file to point <em>www20.search.rogers.com</em> to the <em>127.0.0.1</em> loopback address.</strong></p>
<p><span style="color: #ff0000;"><strong>Update (05/01/2011): You can now officially opt-out using this link: <a href="http://searchassist.teoma.com/templates/rogers/optout" target="_blank">http://searchassist.teoma.com/templates/rogers/optout</a></strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/06/07/rogers-wireless-hijacks-wildcard-dns-records/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rant: BP &#8220;SpillCam&#8221; is Windows-Only</title>
		<link>http://laslow.net/2010/05/26/rant-bp-spillcam-is-windows-only/</link>
		<comments>http://laslow.net/2010/05/26/rant-bp-spillcam-is-windows-only/#comments</comments>
		<pubDate>Wed, 26 May 2010 22:23:57 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=768</guid>
		<description><![CDATA[So in the wake of this whole oil-spill thing going on, BP was forced to drop a camera down to the source of the link and broadcast the footage out over the internet. Initially, the site was wanged (see the Penny-Arcade definition) due to the huge amount of traffic it was generating, however it&#8217;s working fine [...]]]></description>
			<content:encoded><![CDATA[<p>So in the wake of this whole oil-spill thing going on, BP was forced to drop a camera down to the source of the link and broadcast the footage out over the internet. Initially, the site was <a href="http://www.urbandictionary.com/define.php?term=wanged" target="_blank">wanged</a> (see the <em>Penny-Arcade</em> definition) due to the huge amount of traffic it was generating, however it&#8217;s working fine now, at this link:</p>
<p><a href="http://globalwarming.house.gov/spillcam" target="_blank">http://globalwarming.house.gov/spillcam</a></p>
<p>Of course, unless you&#8217;re using Windows, that link is no good to you. Why? Because, in this age of HTML5 video and Flash streaming, the video uses the Windows Media plugin &#8211; specifically, the Windows Media 9 Codec. There are ways to get it working short of a Virtual Machine running Windows, but it shouldn&#8217;t be difficult. The video should be in an open, available format to allow everyone easy access.</p>
<p>Now, I&#8217;m no Microsoft-hater, and I&#8217;m not a Linux fanboy. All I want is to be able to watch video on whatever platform I want, be it Windows, *Nix, or even OS X. I don&#8217;t think this is too much to ask, yet apparently it is.</p>
<p><strong><span style="color: #ff0000;">Update: A Flash-based stream is available here: </span></strong><a href="http://www.npr.org/templates/story/story.php?storyId=127258287&amp;ft=1&amp;f=1003">http://www.npr.org/templates/story/story.php?storyId=127258287&amp;ft=1&amp;f=1003</a></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/05/26/rant-bp-spillcam-is-windows-only/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android: Force Terminal Emulator to Open the BASH Shell as Root</title>
		<link>http://laslow.net/2010/05/20/android-force-terminal-emulator-to-open-the-bash-shell-as-root/</link>
		<comments>http://laslow.net/2010/05/20/android-force-terminal-emulator-to-open-the-bash-shell-as-root/#comments</comments>
		<pubDate>Thu, 20 May 2010 15:00:46 +0000</pubDate>
		<dc:creator>Laslow</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makes Sense]]></category>

		<guid isPermaLink="false">http://www.laslow.net/?p=711</guid>
		<description><![CDATA[Important! This article assumes that your phone is rooted. If you don&#8217;t know what that is or how to do it, this article won&#8217;t be able to help you. If your phone isn&#8217;t rooted, this won&#8217;t work. I love my Android phone, but the root side of it still has some quirks. The default shell, [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="color: #ff0000;">Important! This article assumes that your phone is rooted. If you don&#8217;t know what that is or how to do it, this article won&#8217;t be able to help you. If your phone isn&#8217;t rooted, this won&#8217;t work.</span></strong></p>
<p>I love my Android phone, but the root side of it still has some quirks. The default shell, for example, is pretty bare-bones. Fortunately, there are ROMs out there like <a href="http://www.cyanogenmod.com" target="_blank">CyanogenMod</a> that help with that side of things by providing little extras like, for example, the BASH shell. BASH is incredibly handy on an Android phone as the default shell doesn&#8217;t allow you to scroll back through your command history using the track ball.</p>
<p>So while BASH is included in some ROMs, it&#8217;s not the default shell. Typically, I&#8217;ve been using <em>ConnectBot</em> (available on the Android Market) which works well, however I&#8217;d usually end up starting out every session like this:</p>
<blockquote><p>su -c bash</p></blockquote>
<p>It&#8217;s only one line, but really, it&#8217;s annoying to have to type it out every time. I&#8217;m in the IT field, so my nature is to be lazy and automate everything. Enter <em>Terminal Emulator</em>.</p>
<p>Available for free from the Android Market, <em>Terminal Emulator</em> is very basic. It doesn&#8217;t allow you to SSH to remote systems or anything like that &#8211; instead, it just immediately opens a local shell. As an added bonus, the preferences let you specify the <em>Command Line</em> to the shell executable.</p>
<p>I thought this was my answer. I set the <em>Command Line</em> preference to &#8220;<em>/system/xbin/bash -</em>&#8221; (the location on CyanogenMod 5.x.x &#8212; this may differ depending on your ROM. Make sure the path is correct before hand, as if you set it incorrectly it&#8217;s <em>nearly</em> impossible to get Terminal Emulator back up and running) and re-launched it.</p>
<p>Success! I was in the BASH shell! However, I wasn&#8217;t root, and this <em>did </em>cause a problem. As soon as I typed <em>su </em>to become root, my shell was changed back to the default one<em>. </em>After doing a little more digging, though, I found my solution.</p>
<p>In the <em>Terminal Emulator </em>preferences, there&#8217;s another option for <em>Initial Command </em>- <em>Terminal Emulator </em>will execute this immediately on open. So, I inserted the line I was using in ConnectBot (<em>su -c bash</em>) and voilà! <em>Terminal Emulator </em>now immediately opens with a BASH shell as root.</p>
<p><strong>The TL;DR version: Install </strong><em><strong>Terminal Emulator</strong></em><strong> from the Android Market, open it, hit the Menu button, then Preferences. Tap </strong><em><strong>Initial Command</strong></em><strong> and enter &#8220;</strong><em><strong>su -c bash&#8221;</strong></em><strong> &#8212; now it will always open with BASH running as root.</strong></p>
<p><strong>Extra Note: If you are using an Android phone <em>without</em> a physical keyboard, simply hold the Menu button on your phone for a few seconds in <em>Terminal Emulator </em>to force the virtual keyboard to appear.</strong></p>
<p><strong><span style="color: #ff0000;">UPDATE: As it turns out, you <em>can</em> do this in ConnectBot as well. Tap-and-hold on the local connection, then choose &#8216;Edit Host&#8217; and &#8216;Post-login automation&#8217;. Note that if you do this, though, ConnectBot will enter the command, but you still have to press enter to active it.</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://laslow.net/2010/05/20/android-force-terminal-emulator-to-open-the-bash-shell-as-root/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

