<?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>All My Base</title>
	<atom:link href="http://allmybase.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://allmybase.com</link>
	<description>...are belong to some dude.</description>
	<lastBuildDate>Sun, 07 Apr 2013 07:33:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Overvolting the ATi Radeon 5970 in Linux with radeonvolt</title>
		<link>http://allmybase.com/2012/01/25/overvolting-the-ati-radeon-5970-in-linux-with-radeonvolt/</link>
		<comments>http://allmybase.com/2012/01/25/overvolting-the-ati-radeon-5970-in-linux-with-radeonvolt/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 16:34:29 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=343</guid>
		<description><![CDATA[A server I use to mine bitcoin has 2 individual ATi Radeon 5970 video cards. These cards each contain two individual GPUs, for a total of 4 GPU cores. These GPU cores hail from the Radeon 5870 video card, where they are stock clocked at 850 MHz. In the 5970, however, they are downclocked to [...]]]></description>
				<content:encoded><![CDATA[<p>A server I use to mine bitcoin has 2 individual ATi Radeon 5970 video cards. These cards each contain two individual GPUs, for a total of 4 GPU cores. These GPU cores hail from the Radeon 5870 video card, where they are stock clocked at 850 MHz. In the 5970, however, they are downclocked to 725 MHz, and the voltage is reduced to 1.05 volts to stay within the power consumption specifications of the PCI-Express standard. So, this video card is just ripe for overclocking.</p>
<p>Step 1 for me was to just play with the core clock. I have my VRAM underclocked to 1/3 of the core clock &#8211; it is unneeded in bitcoin mining and running it fast only serves to create more heat. I nudged the core clock north, but hit a pretty hard wall around 816 MHz. I wasn&#8217;t going any further on this overclocking journey without applying a little more voltage to the GPU cores. However, all the overvolting tools for ATi are Windows-only! After extensive googling, I found a project that someone wrote to overvolt his/her Radeon 5850 &#8211; named [<a href="https://github.com/ius/radeonvolt">radeonvolt</a>]. It didn&#8217;t quite work for me as-is, but after some hacking I was able to get the program to recognize both cores of each of my 5970&#8242;s, and change my core voltages successfully.</p>
<p>If you&#8217;re interested, click [<a href="http://allmybase.com/dropbox/radeonvolt-brose.patch">here</a>] to download a .patch file of my modifications. Otherwise, I will explain the few changes that needed to be made below.</p>
<p>1) Fix the card locating loop. Find the lines that look like this:</p>
<blockquote><p>
if(dev->device_class == PCI_CLASS_DISPLAY_VGA &#038;&#038;<br />
dev->vendor_id == 0&#215;1002 &#038;&#038; dev->device_id == 0&#215;6899) {
</p></blockquote>
<p>and change them to look like this:</p>
<blockquote><p>
if(dev->device_class == PCI_CLASS_DISPLAY_VGA ||<br />
dev->device_class == PCI_CLASS_DISPLAY_OTHER) {
</p></blockquote>
<p>One GPU core registers as a VGA compatible controller, the other is just a &#8220;helper core&#8221; with no outputs, so it gets the DISPLAY_OTHER identifier. We also strip out the vendor and device ID checks &#8211; this allows us to attempt to probe the I2C bus of any video card detected. This appears safe still, I&#8217;ve tried the code with non-reference GPUs and nothing broke, the software properly reported it was incapable of modifying non-reference cards.</p>
<p>2) The radeon 5&#215;70 cards, unlike the 5&#215;50 cards (for which radeonvolt was originally written), use power profile slot #3 for high-performance, not slot #2. So, we just have a couple more changes to make. Find the line:</p>
<blockquote><p>
float voltage = vt1165_get_voltage(i2c, 2);
</p></blockquote>
<p>and change the &#8220;2&#8243; to a &#8220;3&#8243;:</p>
<blockquote><p>
float voltage = vt1165_get_voltage(i2c, 3);
</p></blockquote>
<p>additionally, make a similar change on this line:</p>
<blockquote><p>
vt1165_set_voltage(&#038;i2c, 2, value);
</p></blockquote>
<p>&#8230;should of course read&#8230;</p>
<blockquote><p>
vt1165_set_voltage(&#038;i2c, 3, value);
</p></blockquote>
<p>And that&#8217;s all, folks. Compile, use, and enjoy. I was able to push my core voltage to anything I wanted, but with great power comes great responsibility. Running my core at 1.1125 volts, I have now achieved a rock-stable 900 MHz core clock. Just be sure to keep an eye on the VRM temperatures!</p>
<blockquote><p>
[root@localhost ~]# radeonvolt<br />
Device [6]: Device 689c<br />
        Current core voltage: 1.1125 V<br />
        Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V<br />
        Core power draw: 70.55 A (78.49 W)<br />
        VRM temperatures: 83 / 89 / 84 C</p>
<p>Device [7]: Device 689c<br />
        Current core voltage: 1.1125 V<br />
        Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V<br />
        Core power draw: 63.58 A (70.73 W)<br />
        VRM temperatures: 115 / 114 / 113 C</p>
<p>Device [14]: Device 689c<br />
        Current core voltage: 1.1125 V<br />
        Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V<br />
        Core power draw: 67.06 A (74.61 W)<br />
        VRM temperatures: 87 / 89 / 89 C</p>
<p>Device [15]: Device 689c<br />
        Current core voltage: 1.1125 V<br />
        Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V<br />
        Core power draw: 66.19 A (73.64 W)<br />
        VRM temperatures: 108 / 108 / 111 C
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2012/01/25/overvolting-the-ati-radeon-5970-in-linux-with-radeonvolt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Trouble with my head&#8230; gasket</title>
		<link>http://allmybase.com/2011/09/09/trouble-with-my-head-gasket/</link>
		<comments>http://allmybase.com/2011/09/09/trouble-with-my-head-gasket/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 14:49:36 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=334</guid>
		<description><![CDATA[The blue dragon was misbehaving once again. To repeat, it&#8217;s a 1987 Oldsmobile Cutlass Ciera with the Tech-4 variant of the 2.5L Iron Duke engine. She was idling really rough, had a lot of vapor coming from the exhaust, and was drinking coolant at an alarming rate. After replacing the faulty radiator, the coolant leakage [...]]]></description>
				<content:encoded><![CDATA[<p>The blue dragon was misbehaving once again. To repeat, it&#8217;s a 1987 Oldsmobile Cutlass Ciera with the Tech-4 variant of the 2.5L Iron Duke engine. She was idling really rough, had a lot of vapor coming from the exhaust, and was drinking coolant at an alarming rate. After replacing the faulty radiator, the coolant leakage got better, but didn&#8217;t stop. Sounded like a head gasket issue. Someone told me to check the oil, if it&#8217;s a milky color, that means there&#8217;s coolant in it, which signals a blown head gasket. So, when I popped the valve cover off, I saw this:</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/09/2011-07-27_19-34-04_706.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/09/2011-07-27_19-34-04_706-1024x577.jpg" alt="" title="2011-07-27_19-34-04_706" width="512" height="288" class="aligncenter size-large wp-image-335" /></a></p>
<p>I think that qualifies as a &#8220;milky color&#8221;. Yikes. Ok, so time to start pulling the engine apart to get to the head gasket. After about 4 more hours of labor and a few smashed arm incidents (those head bolts are tight!), I finally got the head off, and saw this:</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/09/2011-07-28_19-06-53_670.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/09/2011-07-28_19-06-53_670-1024x577.jpg" alt="" title="2011-07-28_19-06-53_670" width="512" height="288" class="aligncenter size-large wp-image-336" /></a></p>
<p>Now, a lot of this coolant got in there while I was taking the head off, so it&#8217;s really not as bad as it seems. But, notice that cylinder #1 (leftmost) is slightly more full than the others. After drying the water out, the problem became much more apparent:</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/09/2011-07-28_19-25-54_546.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/09/2011-07-28_19-25-54_546-e1315579441718-1024x577.jpg" alt="" title="2011-07-28_19-25-54_546" width="512" height="288" class="aligncenter size-large wp-image-338" /></a></p>
<p>Yikes again! And so was it really the gasket? I inspected the head and didn&#8217;t find any cracks. Then, taking a closer look at the gasket, I found the problem:</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/09/2011-07-28_19-07-46_192.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/09/2011-07-28_19-07-46_192-1024x577.jpg" alt="" title="2011-07-28_19-07-46_192" width="512" height="288" class="aligncenter size-large wp-image-337" /></a></p>
<p>So long story short, it was another 5 hours of labor to get everything back together into good working order. I think the total job ran me about $285, which isn&#8217;t bad considering I did pretty much an entire upper engine rebuild. That price includes new head bolts (which you should always do &#8211; if you reuse, they can snap. If they snap, you&#8217;re done), two oil changes, new exhaust manifold, more coolant, and all the associated gaskets.</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/09/09/trouble-with-my-head-gasket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some photos of Hurricane Irene&#8217;s Aftermath</title>
		<link>http://allmybase.com/2011/09/06/some-photos-of-hurricane-irenes-aftermath/</link>
		<comments>http://allmybase.com/2011/09/06/some-photos-of-hurricane-irenes-aftermath/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 20:22:38 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=318</guid>
		<description><![CDATA[Photos from my phone from Sunday, 8/28, the day after the storm went through. Photo of the lake behind my apartment, the water is supposed to stop a few feet short of that fence you see sticking up. The crushed stone is supposed to be a dam all the way across the end of the [...]]]></description>
				<content:encoded><![CDATA[<p>Photos from my phone from Sunday, 8/28, the day after the storm went through.</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/09/2011-08-28_11-50-18_40.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/09/2011-08-28_11-50-18_40-1024x577.jpg" alt="" title="2011-08-28_11-50-18_40" width="512" height="288" class="aligncenter size-large wp-image-319" /></a></p>
<p>Photo of the lake behind my apartment, the water is supposed to stop a few feet short of that fence you see sticking up.</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/09/2011-08-28_12-19-44_841.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/09/2011-08-28_12-19-44_841-1024x577.jpg" alt="" title="2011-08-28_12-19-44_841" width="512" height="288" class="aligncenter size-large wp-image-320" /></a></p>
<p>The crushed stone is supposed to be a dam all the way across the end of the lake, with probably a good 10-foot drop-off. As you can see, the water does no dropping. Houses past this dam had at least two feet of water against their walls.</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/09/2011-08-28_13-09-35_982.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/09/2011-08-28_13-09-35_982-1024x577.jpg" alt="" title="2011-08-28_13-09-35_982" width="512" height="288" class="aligncenter size-large wp-image-321" /></a></p>
<p>River, errr, Route 1. This is the view from the Route 95 overpass. Looking north, there were a few cars that had gotten stuck. The water was halfway up their windshields.</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/09/06/some-photos-of-hurricane-irenes-aftermath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rooting the Droid 3</title>
		<link>http://allmybase.com/2011/09/02/rooting-the-droid-3/</link>
		<comments>http://allmybase.com/2011/09/02/rooting-the-droid-3/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 12:40:34 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=315</guid>
		<description><![CDATA[I do have a droid 3, and have been waiting anxiously for a rooting mechanism. Yesterday, when someone on a mailing list I frequent posted a link to a forum announcing a droid 3 root, I had to get in on it. But the mechanism was in the form of a Windows binary-only application. Below [...]]]></description>
				<content:encoded><![CDATA[<p>I do have a droid 3, and have been waiting anxiously for a rooting mechanism. Yesterday, when someone on a mailing list I frequent posted a link to a forum announcing a droid 3 root, I had to get in on it. But the mechanism was in the form of a Windows binary-only application. Below the link were several people complaining that the file was tripping up their antivirus software. Running strings on the file, I was able to see that it was creating outgoing TCP connections to port 6667 (IRC). You do the math on that one. I was also able to extract the rooting method, though, and I&#8217;ll reproduce what I did for others:</p>
<p>Run &#8220;adb shell&#8221; on a computer connected to the droid to enter these commands.</p>
<blockquote><p>
mv /data/local/12m /data/local/12m.bak<br />
ln -s /data /data/local/12m
</p></blockquote>
<p>Now, reboot the phone. When it comes back up, adb shell into it again and run:</p>
<blockquote><p>
rm /data/local/12m<br />
mv /data/local/12m.bak /data/local/12m<br />
mv /data/local.prop /data/local.prop.bak<br />
echo ro.sys.atvc_allow_netmon_usb=0 > /data/local.prop<br />
echo ro.sys.atvc_allow_netmon_ih=0 >> /data/local.prop<br />
echo ro.sys.atvc_allow_res_core=0 >> /data/local.prop<br />
echo ro.sys.atvc_allow_res_panic=0 >> /data/local.prop<br />
echo ro.sys.atvc_allow_all_adb=1 >> /data/local.prop<br />
echo ro.sys.atvc_allow_all_core=0 >> /data/local.prop<br />
echo ro.sys.atvc_allow_efem=0 >> /data/local.prop<br />
echo ro.sys.atvc_allow_bp_log=0 >> /data/local.prop<br />
echo ro.sys.atvc_allow_ap_mot_log=0 >> /data/local.prop<br />
echo ro.sys.atvc_allow_gki_log=0 >> /data/local.prop
</p></blockquote>
<p>Reboot the phone again. When it comes back up, adb to it a third time, but this time notice that you have a root prompt! Setting atvc_allow_all_adb to 1 disallows adb from dropping its root privileges. Now, to make this accessible to the device, run:</p>
<blockquote><p>
mount -o remount,rw /dev/block/system /system<br />
cat /system/bin/sh > /system/xbin/su<br />
chmod 4755 /system/xbin/su
</p></blockquote>
<p>Now, go into the market and search for the &#8220;superuser&#8221; application. Install the one with the jolly-rogerish logo, then run it and have it install its su binary. Once that&#8217;s done, we need to remove the su application we created, so in the adb shell you still have open, run:</p>
<blockquote><p>
rm /system/xbin/su<br />
mount -o remount,ro /dev/block/system /system<br />
sync
</p></blockquote>
<p>That&#8217;s it! You&#8217;re all set. Enjoy having root on the droid 3!</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/09/02/rooting-the-droid-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The case against &#8220;best practice&#8221; documents</title>
		<link>http://allmybase.com/2011/08/24/the-case-against-best-practice-documents/</link>
		<comments>http://allmybase.com/2011/08/24/the-case-against-best-practice-documents/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 15:19:13 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=307</guid>
		<description><![CDATA[I took several classes in college that were all about corporate buzzwords, but all of them failed to mention a trend that is huge in corporate culture &#8211; that of the &#8220;best practice&#8221; document. In theory, these documents are great, and help you get the most out of your product, methodology, or technology. However, there [...]]]></description>
				<content:encoded><![CDATA[<p>I took several classes in college that were all about corporate buzzwords, but all of them failed to mention a trend that is huge in corporate culture &#8211; that of the &#8220;best practice&#8221; document. In theory, these documents are great, and help you get the most out of your product, methodology, or technology. However, there are a few problems that these documents tend to create, and it is up to the reader to take them with a grain of salt. Listed below are a few of the pitfalls of adhering directly to one of these documents.</p>
<p><strong>1) No one is perfect</strong><br />
&#8220;Best practice&#8221; documents are generally written by an idealist. This person has the responsibility to make the product or technique about which they are writing perform optimally. This means there is very little consideration for outside variables. Points in best practice documents tend to be very black and white &#8211; Do this, do not do this other thing, etc. Yet, how often is it the case that a reader is concerned with making only one piece of a puzzle work flawlessly? The answer is a resounding &#8220;never&#8221;, it takes the other 499 pieces of the puzzle working in tandem as well to produce something worthwhile and appealing.</p>
<p><strong>2) Context is key</strong><br />
While we&#8217;re on the subject of black and white bullet points, we should discuss context. While adhering directly to a &#8220;best practices&#8221; document, it becomes easy to miss apparent pitfalls right in front of you. The document might say, &#8220;XYZ should look like ABC.&#8221; It becomes increasingly easy to see only the fact that XYZ != ABC, and even easier to miss the circumstances that made XYZ a little different than ABC. As mentioned in point #1, the writer of the &#8220;best practices&#8221; document is concerned only with making XYZ the best it can be. Often it is the case, however, that the overall quality of a product can be increased by decreasing the effectiveness or simplicity of a single component in the equation. Hence, context really is everything.</p>
<p><strong>3) Stagnation is an enemy</strong><br />
&#8220;Best practice&#8221; documents literally define the status quo. Anyone who uses the same product or technology that you use will have access to this document. Therefore, it follows that they will have the same setup, the same features, and the same problems as you. At this point, what sets you apart? Where is the innovation, the fresh ideas to shake up the ordinary? As I remember reading elsewhere, what would have happened if Google followed the search engine &#8220;best practices&#8221; set forth by Yahoo and Alta Vista? Where would Apple be today if they took pages from IBM&#8217;s book about personal computers? This all lends itself very nicely to the next point.</p>
<p><strong>4) Opinions become squelched</strong><br />
Now suppose you or a member of your team has an idea that challenges something stated in the &#8220;best practices&#8221; document. Which do you follow? Who do you trust? Odds are that you or your team member has much more insight into the issue than a document. However, when adhering directly to one of these documents, it becomes way too easy to ignore the opposing opinions altogether and do what is recommended in the document.</p>
<p>Now, I&#8217;m not saying that &#8220;best practice&#8221; documents are complete garbage. Often they contain many helpful tips and tricks for getting the most out of whatever they are written about. Yet, it is important to remember they are not perfect. To summarize my feelings on the subject, context is everything, and if there&#8217;s one thing &#8220;best practice&#8221; documents lack, it is context.</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/08/24/the-case-against-best-practice-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why we haven&#8217;t run out of power yet</title>
		<link>http://allmybase.com/2011/08/10/why-we-havent-run-out-of-power-yet/</link>
		<comments>http://allmybase.com/2011/08/10/why-we-havent-run-out-of-power-yet/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 14:52:52 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=297</guid>
		<description><![CDATA[Mother nature&#8217;s kicking in some serious wattage via rainbow. There, I updated.]]></description>
				<content:encoded><![CDATA[<p>Mother nature&#8217;s kicking in some serious wattage via rainbow.</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/08/IMG_20110428_192949-e1312987393398.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/08/IMG_20110428_192949-e1312987393398-764x1024.jpg" alt="" title="IMG_20110428_192949" width="512" height="768" class="aligncenter size-large wp-image-298" /></a></p>
<p>There, I updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/08/10/why-we-havent-run-out-of-power-yet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>puias-arm alpha release</title>
		<link>http://allmybase.com/2011/05/31/puias-arm-alpha-release/</link>
		<comments>http://allmybase.com/2011/05/31/puias-arm-alpha-release/#comments</comments>
		<pubDate>Tue, 31 May 2011 23:05:41 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=286</guid>
		<description><![CDATA[PUIAS-arm is an effort to bring a stable, long-term support rpm-based Linux distribution to the arm architecture. This would be functionally equivalent to CentOS-arm or RHEL-arm (if they existed). It took long enough, but finally, a PUIAS-arm official release! Check out this site&#8217;s puias-arm page for more information on how to download. [Or just go [...]]]></description>
				<content:encoded><![CDATA[<p>PUIAS-arm is an effort to bring a stable, long-term support rpm-based Linux distribution to the arm architecture. This would be functionally equivalent to CentOS-arm or RHEL-arm (if they existed). It took long enough, but finally, a PUIAS-arm official release! Check out this site&#8217;s puias-arm page for more information on how to download. [<a href="/puias-arm/">Or just go straight to that page from here.</a>]</p>
<p>Basically, you&#8217;re going to need:<br />
- Pandaboard<br />
- 4+ gigabyte SD card (this is what I used, I&#8217;ll image a smaller card soon)</p>
<p>Features in the alpha version:<br />
- Core system utilities<br />
- Pandaboard wired and wireless network</p>
<p>Features planned for the beta version:<br />
- Graphics<br />
- Smaller SD card image</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/05/31/puias-arm-alpha-release/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Camshaft Timing Win</title>
		<link>http://allmybase.com/2011/05/01/camshaft-timing-win/</link>
		<comments>http://allmybase.com/2011/05/01/camshaft-timing-win/#comments</comments>
		<pubDate>Sun, 01 May 2011 14:43:28 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=261</guid>
		<description><![CDATA[Recently, my car died a [horrible death] on the highway. I posted a couple of pictures a little while ago, but to recap: After a couple of hours of research, I found out a few things about my 1987 Oldsmobile Cutlass Ciera. For one, it has the tech-4 engine (sometimes incorrectly called the 4-tech). This [...]]]></description>
				<content:encoded><![CDATA[<p>Recently, my car died a [<a href="http://allmybase.com/2011/04/12/camshaft-timing-fail/">horrible death</a>] on the highway. I posted a couple of pictures a little while ago, but to recap:</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_20110410_164030.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_20110410_164030-1024x764.jpg" alt="" title="IMG_20110410_164030" width="512" height="382" class="aligncenter size-large wp-image-222" /></a></p>
<p>After a couple of hours of research, I found out a few things about my 1987 Oldsmobile Cutlass Ciera. For one, it has the tech-4 engine (sometimes incorrectly called the 4-tech). This is a later throttle-body injected version of the classic 1970&#8242;s GM Iron Duke Engine. 2.5 liters of displacement over 4 cylinders. The timing is set up in such a way that the cam and crank gears synchromesh together directly and are designed to be as simple as possible. Unfortunately, the gear that is likely to fail is on the camshaft, as it is a fiber-nylon mesh. This gear is hydraulically pressed on to the camshaft, making replacement difficult. However, it is not impossible &#8211; my Iron Duke is now running better than ever. Without further ado, I present the Iron Duke timing set in-car replacement!</p>
<p><b>Step 1 &#8211; Accessing the Timing Set.</b><br />
1 ) Drain engine coolant. Some guides say to drain the oil and drop the oil pan &#8211; I found this step to be unnecessary as long as you let the oil drain to the bottom of the engine for a little while.</p>
<p>2 ) Remove the radiator overflow reservoir to clear some room to work. Your biggest enemy will be the lack of space between the engine and the chassis.</p>
<p>3 ) Remove the serpentine belt. The tensioner is on the engine block itself and is spring loaded &#8211; just push it back with a prybar to release.</p>
<p>4 ) Remove the crankshaft bolt and crankshaft pulley. The bolt isn&#8217;t that difficult to break free, but this step will probably require a friend&#8217;s help.</p>
<p>5 ) Remove the power steering pump. There are 3 bolts you need to take off. You will begin to hate this job when you realize one of the bolts is on the bottom of the pump. You must rotate the pump&#8217;s pulley and use the access holes provided to get to the 3 bolts. I tried using a universal joint and a 1-foot extension on my 3/8ths ratchet to get the bottom bolt, the u-joint just broke. I found the best method to be a 1/4&#8243; ratchet with a long socket, plus a little persuasion from Mr. Hammer. You do not need to disconnect all the lines to the pump or drain the system, just lay it aside once it is free.</p>
<p>6 ) Remove the tensioner assembly. There are, again, 3 bolts holding this onto the engine. When you remove this assembly, a hole in the engine block will appear, so I seriously hope you followed step #1.</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110331_180723.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110331_180723-1024x764.jpg" alt="" title="IMG_20110331_180723" width="512" height="382" class="aligncenter size-large wp-image-262" /></a></p>
<p>7 ) Remove the timing cover. There are 8 bolts in total that need to be removed. Then, using a razor blade or some such, slice the gasket between the timing cover and the oil pan. The timing cover will now come off easily by hand.</p>
<p><b>Step 2 &#8211; Replacing the gear.</b><br />
8 ) Get a new timing gear (or two). I&#8217;m assuming you&#8217;ve now seen something similar to the picture above under your timing cover. [<a href="http://www.rockauto.com/catalog/x,carcode,1220364,parttype,5745">A new fiber gear runs about $30 on RockAuto.com.</a>] I&#8217;ve heard of some people using all-metal gears, but I have my reservations about that. The fiber gear lasts well over 100,000 miles &#8211; a longer timing maintenance interval than most cars on the road today. Using pure metal will undoubtedly be louder, and may put the engine at risk when it fails. Shards of metal tend to be much less forgiving than shards of fibrous nylon. All proper documentation will tell you to replace the crankshaft timing gear while you&#8217;re in there. I don&#8217;t see why not, the crank gear comes on and off by hand. But, the engine is designed so that the fiber gear takes all of the abuse, so if you wanted to save some money and only replace the camshaft gear, you wouldn&#8217;t be the first person to get away with doing so.</p>
<p>9 ) Now comes the hard part, removing the old camshaft gear. Traditional service manuals will tell you to either pull the engine, or drop it in its cradle. I&#8217;m assuming you can&#8217;t or don&#8217;t want to do this &#8211; it&#8217;s ok, I didn&#8217;t want to, either. To evade a gigantic pulling process that requires special tools, drilling/tapping holes, and all-around suckiness, break the fiber off of the metal piece in the middle of the gear (the gear hub). Be extremely careful not to break the camshaft cover behind the gear &#8211; it is very fragile. Also be sure not to tap on the camshaft in any way. Doing so will lead to oil leaks at the rear-end of the engine. Then, using a dremel tool and a diamond bit, carve a hole in the middle of the hub. This process took me about 3 hours.</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110502_101540.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110502_101540-1024x764.jpg" alt="" title="IMG_20110502_101540" width="512" height="382" class="aligncenter size-large wp-image-263" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110502_101740.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110502_101740-1024x764.jpg" alt="" title="IMG_20110502_101740" width="512" height="382" class="aligncenter size-large wp-image-264" /></a></p>
<p>10 ) Clean up the mess you made. If you scored the camshaft while using the dremel, no big deal, just polish it up and remove any metal burrs that you may have created. The camshaft needs to be as smooth as possible to accept the new press-fit gear. Give the camshaft a good coat of oil as well to prevent rust under the gear. You will see that there is not a lot of room available:</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110414_180332.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110414_180332-1024x764.jpg" alt="" title="IMG_20110414_180332" width="512" height="382" class="aligncenter size-large wp-image-266" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110414_180312.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/05/IMG_20110414_180312-1024x764.jpg" alt="" title="IMG_20110414_180312" width="512" height="382" class="aligncenter size-large wp-image-265" /></a></p>
<p>11 ) Now the really hard part &#8211; getting the new gear on. The most back-asswards way of doing this is to torch up the hub on the new gear to expand it, then quickly slide it onto the camshaft. It&#8217;s a great idea in theory, but can easily damage the fibrous gear. I decided to go this route anyway for lack of a suitable timely alternative. It worked about 3/4ths of the way for me, then the hub cooled too much and I was stuck with a camshaft gear that wasn&#8217;t totally on the camshaft. I attempted to torch the hub for 5 minutes with a blue flame. If I was going to do this job again, I would torch the hub for 10 minutes and be much quicker about getting it onto the camshaft. Luckily, [<a href="http://www.farious.com/">my brother</a>] happened to own a [<a href="http://www.harborfreight.com/10-ton-super-heavy-duty-portable-hydraulic-equipment-kit-44900.html">10-ton Porta-Power</a>], which has a [<a href="http://www.harborfreight.com/10-ton-hydraulic-short-body-ram-95979.html">2" press attachment.</a>] After my error, I had about 2.25&#8243; of clearance. Phew! If you&#8217;re going to use the porta-power (which you may be able to rent), be sure to brace the backside of the engine, otherwise the porta-power will just push the whole thing over. I had fantastic results with this &#8211; the gear literally slammed into place with very little effort.</p>
<p>12 ) Timing. This is important. There is a dot in one of the troughs on the camshaft gear, and a dot on one of the teeth of the crankshaft gear. Make the two dots touch and you&#8217;re all set! Easy peasy.</p>
<p><b>Step 3 &#8211; Reassembly and other tune-ups.</b></p>
<p>13 ) Put the timing cover back on, be sure to use a healthy amount of RTV along the mating surfaces between the timing cover and the oil pan. Leaks here would be bad, mmmk?</p>
<p>14 ) The rest of the assembly process is the reverse of step 1. Putting the 3rd bolt back into the power steering pump is way easier than taking it out. Start it by hand, then use a universal joint and a long extension. It works going back in because you can rest the joint against the suspension column, as opposed to just slipping off when attempting to remove the bolt.</p>
<p>15 ) There are a number of additional tune-ups you should perform while your engine is disassembled. I replaced the coolant, oil, oil filter, air filter, MAP sensor, EGR valve, serpentine belt, crankshaft oil seal, spark plugs, spark plug wires, and I added a cleaning agent to my crank case and fuel tank. I used a product called SeaFoam &#8211; works really well and can be added to pretty much anything.</p>
<p>At this point, your Iron Duke is ready for another 100k+ miles. This whole process took me about a week to complete, but if I had to do it a second time, I think I could accomplish the deed in two days. Just make sure to have all the tools you need ahead of time!</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/05/01/camshaft-timing-win/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Easily managing SELinux policies with puppet</title>
		<link>http://allmybase.com/2011/04/26/easily-managing-selinux-policies-with-puppet/</link>
		<comments>http://allmybase.com/2011/04/26/easily-managing-selinux-policies-with-puppet/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 16:01:21 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=252</guid>
		<description><![CDATA[Managing custom SELinux modules can be a headache &#8211; there&#8217;s often a lot of guess-and-check work that goes into compiling a module from initial auditd failure logs. This is not to mention that the normal process for compiling a module involves running a bunch of different commands (audit2allow, checkmodule, semodule_package, semodule). It would be absolutely [...]]]></description>
				<content:encoded><![CDATA[<p>Managing custom SELinux modules can be a headache &#8211; there&#8217;s often a lot of guess-and-check work that goes into compiling a module from initial auditd failure logs. This is not to mention that the normal process for compiling a module involves running a bunch of different commands (audit2allow, checkmodule, semodule_package, semodule). It would be absolutely fantastic if I could just manage the text-based .te rule format and have all of the module compilation occur behind the scenes.</p>
<p>Enter puppet as, once again, the perfect solution to this dilemma. We start by creating a shell script to compile all of the SELinux .te files in a specific directory. This script gets put onto everyserver, a class we have which defines our standard build.</p>
<p>As a note, we define ${puppetfilespath} to be /var/lib/puppet/files, and ${cls} is set at the top of each class, defining class-local-storage, or the location where puppet can expect to find the fake-root for the current class.</p>
<blockquote><p>
[root@puppet ~]# cat /var/lib/puppet/files/everyserver/usr/bin/compile_selinux.sh<br />
#!/bin/bash<br />
MODDIR=/etc/selinux/mymodules</p>
<p>CHKMOD=/usr/bin/checkmodule<br />
MODPKG=/usr/bin/semodule_package<br />
SEMOD=/usr/sbin/semodule<br />
LS=/bin/ls</p>
<p>for i in $(${LS} -1 ${MODDIR}/*.te); do<br />
        j=${i/te/mod};<br />
        ${CHKMOD} -M -m -o ${j} ${i};<br />
        k=${i/te/pp};<br />
        ${MODPKG} -o ${k} -m ${j};<br />
        ${SEMOD} -i ${k};<br />
done
</p></blockquote>
<p>Note that this script can take a while to complete, as the last command (semodule -i) installs the compiled module, and this usually takes a good 30-60 seconds to complete.</p>
<p>Now we need to manage this new script and the directory it needs using puppet:</p>
<blockquote><p>
        file {<br />
                &#8220;/etc/selinux/mymodules&#8221;:<br />
                        ensure => directory,<br />
                        mode => 600;<br />
                &#8220;/usr/bin/compile_selinux.sh&#8221;:<br />
                        content => template(&#8220;${puppetfilespath}/${cls}/usr/bin/compile_selinux.sh.erb&#8221;),<br />
                        mode => 755,<br />
                        require => File["/etc/selinux/mymodules"];<br />
        }
</p></blockquote>
<p>Then we need to define a exec in puppet for this script to be run:</p>
<blockquote><p>
exec {<br />
        &#8220;repackage-semods&#8221;:<br />
                        command => &#8220;/usr/bin/compile_selinux.sh&#8221;,<br />
                        cwd => &#8220;/tmp/&#8221;,<br />
                        refreshonly=>true;<br />
}
</p></blockquote>
<p>To make our lives easier, we define a simple custom type that runs this exec after a change is detected:</p>
<blockquote><p>
define myselmod()<br />
{<br />
        file { $name:<br />
                owner => root,<br />
                group => root,<br />
                mode => 600,<br />
                path => &#8220;/etc/selinux/mymodules/${name}&#8221;,<br />
                notify => Exec["repackage-semods"],<br />
                require => File["/etc/selinux/mymodules"],<br />
                content => template(&#8220;${puppetfilespath}/${cls}/etc/selinux/mymodules/${name}.erb&#8221;)<br />
        }<br />
}
</p></blockquote>
<p>Now, in the manifests, you need only do this to manage a custom SELinux module:</p>
<blockquote><p>
myselmod {&#8220;mybasicmodule.te&#8221;: }
</p></blockquote>
<p>And in that file:</p>
<blockquote><p>
[root@puppet ~]# cat /var/lib/puppet/files/everyserver/etc/selinux/mymodules/mybasicmodule.te.erb<br />
module mybasicmodule 1.0;</p>
<p>require {<br />
	type snmpd_t;<br />
	type proc_mdstat_t;<br />
	class file { read ioctl getattr };<br />
}</p>
<p>#============= snmpd_t ==============<br />
allow snmpd_t proc_mdstat_t:file { read ioctl getattr };
</p></blockquote>
<p>Now suppose you want to add another SELinux rule to this module. All you need to do is edit the .te file and add in the rule you want. Then the client will check in and automatically compile and install the module for you. Really simple! Plus, another advantage is that this method now uses only text-files as opposed to binary data blobs, which is perfect for integration with your versioning system (if you use one). In fact, this is the original reason I decided to use this method over the built-in puppet semodule type. Dealing with .te files only is insanely easy, and takes a lot of the headache out of administering custom SELinux modules across an infrastructure, thus making everyone more likely to actually use SELinux rather than just disable it or put it into perpetual permissive mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/04/26/easily-managing-selinux-policies-with-puppet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Good times in San Antonio</title>
		<link>http://allmybase.com/2011/04/13/good-times-in-san-antonio/</link>
		<comments>http://allmybase.com/2011/04/13/good-times-in-san-antonio/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 13:04:36 +0000</pubDate>
		<dc:creator>brose</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://allmybase.com/?p=236</guid>
		<description><![CDATA[I attended the 2011 Security Professionals Conference in San Antonio last week. I met a ton of really smart people and got a bunch of new ideas for securing my networks. The day after the conference ended, I had the chance to walk around and do touristy things. I thought I&#8217;d post some of my [...]]]></description>
				<content:encoded><![CDATA[<p>I attended the 2011 Security Professionals Conference in San Antonio last week. I met a ton of really smart people and got a bunch of new ideas for securing my networks. The day after the conference ended, I had the chance to walk around and do touristy things. I thought I&#8217;d post some of my photos.</p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2944.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2944-682x1024.jpg" alt="" title="IMG_2944" width="512" height="768" class="aligncenter size-large wp-image-237" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2949.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2949-1024x682.jpg" alt="" title="IMG_2949" width="512" height="341" class="aligncenter size-large wp-image-238" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2959.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2959-1024x682.jpg" alt="" title="IMG_2959" width="512" height="341" class="aligncenter size-large wp-image-239" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2961.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2961-1024x682.jpg" alt="" title="IMG_2961" width="512" height="341" class="aligncenter size-large wp-image-240" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2967.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2967-1024x682.jpg" alt="" title="IMG_2967" width="512" height="341" class="aligncenter size-large wp-image-241" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2973.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2973-1024x682.jpg" alt="" title="IMG_2973" width="512" height="341" class="aligncenter size-large wp-image-242" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2981.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2981-1024x682.jpg" alt="" title="IMG_2981" width="512" height="341" class="aligncenter size-large wp-image-243" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_2999.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_2999-1024x682.jpg" alt="" title="IMG_2999" width="512" height="341" class="aligncenter size-large wp-image-244" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_3001.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_3001-1024x682.jpg" alt="" title="IMG_3001" width="512" height="341" class="aligncenter size-large wp-image-245" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_3008.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_3008-1024x682.jpg" alt="" title="IMG_3008" width="512" height="341" class="aligncenter size-large wp-image-246" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_3014.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_3014-1024x682.jpg" alt="" title="IMG_3014" width="512" height="341" class="aligncenter size-large wp-image-247" /></a></p>
<p><a href="http://allmybase.com/wp-content/uploads/2011/04/IMG_3024.jpg"><img src="http://allmybase.com/wp-content/uploads/2011/04/IMG_3024-1024x682.jpg" alt="" title="IMG_3024" width="512" height="341" class="aligncenter size-large wp-image-248" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://allmybase.com/2011/04/13/good-times-in-san-antonio/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
