<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Wiredbyte</title>
  <subtitle>A Place to Rant and Muse over all things Tech</subtitle>
  <link rel="alternate" type="text/html" href="http://www.wiredbyte.com"/>
  <link rel="self" type="application/atom+xml" href="http://www.wiredbyte.com/atom/feed"/>
  <id>http://www.wiredbyte.com/atom/feed</id>
  <updated>2008-10-07T18:01:09-07:00</updated>
  <entry>
    <title>Making a Page footer STAY at the bottom</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2009/jan/making-a-page-footer-stay-at-the-bottom" />
    <id>http://www.wiredbyte.com/2009/jan/making-a-page-footer-stay-at-the-bottom</id>
    <published>2009-01-18T14:55:23-08:00</published>
    <updated>2009-01-18T14:55:57-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>I have tried many, MANY ways over the years to reliably get a web page footer to stay at the bottom of the page.  Most methods involve setting many div heights to 100%, which somehow makes it all magically happen.</p>
<p>I have found a much more reliable method.</p>
<p>
<div class="geshifilter">
<ol>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">.footer<span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; position: absolute;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; bottom: <span style="color: #cc66cc;">0</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; z-index: <span style="color: #cc66cc;">5</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; width: *your page width*</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
</p>
<p>I have only tried this method with fixed width pages, but it seems to work well. Better than any other method I used. Please note that the z-index is set to make sure the footer appears on top of other elements, and may need to be adjusted.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I have tried many, MANY ways over the years to reliably get a web page footer to stay at the bottom of the page.  Most methods involve setting many div heights to 100%, which somehow makes it all magically happen.</p>
<p>I have found a much more reliable method.</p>
<p><div class="geshifilter"><ol><li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">.footer<span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; position: absolute;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; bottom: <span style="color: #cc66cc;">0</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; z-index: <span style="color: #cc66cc;">5</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; width: *your page width*</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #66cc66;">&#125;</span></div></li></ol></div></p>
<p>I have only tried this method with fixed width pages, but it seems to work well. Better than any other method I used. Please note that the z-index is set to make sure the footer appears on top of other elements, and may need to be adjusted.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Funny Link</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2009/jan/funny-link" />
    <id>http://www.wiredbyte.com/2009/jan/funny-link</id>
    <published>2009-01-13T15:51:50-08:00</published>
    <updated>2009-01-13T15:51:50-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>This made my laugh hysterically, then I realized they weren't serious..<a href="http://www.adequacy.org/stories/2001.12.2.42056.2147.html">Lunix</a>.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>This made my laugh hysterically, then I realized they weren't serious..<a href="http://www.adequacy.org/stories/2001.12.2.42056.2147.html">Lunix</a>.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Thoughts and ramblings</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2009/jan/thoughts-and-ramblings" />
    <id>http://www.wiredbyte.com/2009/jan/thoughts-and-ramblings</id>
    <published>2009-01-12T18:42:57-08:00</published>
    <updated>2009-01-12T18:42:57-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>Wow, You know when it's been a while since you've posted on your blog when you forgot what it looks like..<br />
I haven't been able to get much time for blogging, as I was brought on full-time at my new job, and had several projects to work on. Unfortunately, this means I also put Nanobyte on a backburner for a bit too. I was hoping for an alpha release of the CMS this month, but that likely won't happen now.<br />
The weather in Wisconsin has been bitter cold, with random snow storms. I've forgotten that people's I.Q. seems to drop about 50 points in the winter.. must be the cold air hitting their brain. 2 days <i>after</i> a snow storm, I saw 4 cars spin out on my 12 mile drive to work. People just need to learn to slow down, and that they wont get there more than a few minutes faster by going 10MPH faster than they should be.<br />
After all my hard drive issues, I finally got my server (Taranis) back up and running on OpenSuse 11.1. I must say, it has some nice features. It came with the drivers for my HP Photosmart 2700 printer built right in, and I haven't had any issues at all with it. I also use the same distro at work as my main desktop, and it works fairly well, but I had a few issues specific to development work.<br />
I found out today that the <a href="http://www.jqueryhelp.com">jQuery Help </a>forums that I help moderate might become the official jQuery forums. That is exciting news, and I hope that it happens, as the forums jQuery has in place at the moment seem to be lacking.<br />
On a final note: Nanobyte will be available under the Mozilla Public License (MPL) beginning with the Alpha release of the CMS. I believe Open Source is what drives the IT world, and I plan on keeping it that way.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Wow, You know when it's been a while since you've posted on your blog when you forgot what it looks like..</p>
<p>I haven't been able to get much time for blogging, as I was brought on full-time at my new job, and had several projects to work on. Unfortunately, this means I also put Nanobyte on a backburner for a bit too. I was hoping for an alpha release of the CMS this month, but that likely won't happen now.</p>
<p>The weather in Wisconsin has been bitter cold, with random snow storms. I've forgotten that people's I.Q. seems to drop about 50 points in the winter.. must be the cold air hitting their brain. 2 days <i>after</i> a snow storm, I saw 4 cars spin out on my 12 mile drive to work. People just need to learn to slow down, and that they wont get there more than a few minutes faster by going 10MPH faster than they should be.</p>
<p>After all my hard drive issues, I finally got my server (Taranis) back up and running on OpenSuse 11.1. I must say, it has some nice features. It came with the drivers for my HP Photosmart 2700 printer built right in, and I haven't had any issues at all with it. I also use the same distro at work as my main desktop, and it works fairly well, but I had a few issues specific to development work. </p>
<p>I found out today that the <a href="http://www.jqueryhelp.com">jQuery Help </a>forums that I help moderate might become the official jQuery forums. That is exciting news, and I hope that it happens, as the forums jQuery has in place at the moment seem to be lacking.</p>
<p>On a final note: Nanobyte will be available under the Mozilla Public License (MPL) beginning with the Alpha release of the CMS. I believe Open Source is what drives the IT world, and I plan on keeping it that way.</p>
    ]]></content>
  </entry>
  <entry>
    <title>T Minus 12</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/dec/t-minus-12" />
    <id>http://www.wiredbyte.com/2008/dec/t-minus-12</id>
    <published>2008-12-17T17:25:21-08:00</published>
    <updated>2008-12-17T17:25:21-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>It's now just after 7 PM, that means that in 12 hours, OpenSuse 11.1 is released, and all hell will break loose on the OpenSuse servers.<br />
Why am I so excited for this release? I'm not entirely sure. I was working on my server last night, trying to get it ready to be rebuilt. The storage drive died a few weeks ago, and I just got it back from repairs, and I was able to to a zero-fill on the OS drive to fix a few S.M.A.R.T. errors on that drive. I was about ready to install OpenSuse11.0 again, and realized that I had about 36 hours before I could get the latest and greatest.<br />
I could have just as easily installed 11.0 and upgraded after the fact, but I am a firm believer of clean installs.<br />
In other news, as an early Christmas present, I found out that I am going to be getting full-time hours at my new job- at least until January.. we will see what happens after that. It is so great to have a job that I love. I have gone from help desk support to PHP Programmer. It is the greatest thing in the world to know that all of the work I put into learning PHP and honing my skills was all FOR something besides having a constructive hobby.<br />
Left4Dead came out in November, and I was lucky enough to be given a copy as a gift. It is such an awesome game. It is infinitely better than Team Fortress 2 (which I never really got into) and is very fast-paced. A 5 level campaign takes about 90-120 minutes to complete, and is dependent on Teamwork. If you are into FPS type games, and have NOT played L4D, I suggest getting on the bandwagon.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>It's now just after 7 PM, that means that in 12 hours, OpenSuse 11.1 is released, and all hell will break loose on the OpenSuse servers.</p>
<p>Why am I so excited for this release? I'm not entirely sure. I was working on my server last night, trying to get it ready to be rebuilt. The storage drive died a few weeks ago, and I just got it back from repairs, and I was able to to a zero-fill on the OS drive to fix a few S.M.A.R.T. errors on that drive. I was about ready to install OpenSuse11.0 again, and realized that I had about 36 hours before I could get the latest and greatest. </p>
<p>I could have just as easily installed 11.0 and upgraded after the fact, but I am a firm believer of clean installs.</p>
<p>In other news, as an early Christmas present, I found out that I am going to be getting full-time hours at my new job- at least until January.. we will see what happens after that. It is so great to have a job that I love. I have gone from help desk support to PHP Programmer. It is the greatest thing in the world to know that all of the work I put into learning PHP and honing my skills was all FOR something besides having a constructive hobby.</p>
<p>Left4Dead came out in November, and I was lucky enough to be given a copy as a gift. It is such an awesome game. It is infinitely better than Team Fortress 2 (which I never really got into) and is very fast-paced. A 5 level campaign takes about 90-120 minutes to complete, and is dependent on Teamwork. If you are into FPS type games, and have NOT played L4D, I suggest getting on the bandwagon.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Compressing included javascript files</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/dec/compressing-included-javascript-files" />
    <id>http://www.wiredbyte.com/2008/dec/compressing-included-javascript-files</id>
    <published>2008-12-11T09:22:32-08:00</published>
    <updated>2008-12-11T09:23:34-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>I have been hard at work on Nanobyte, trying to get it ready for Alpha status. I recently worked out file compression to make the pages load faster, and thought I would share.</p>
<p>When I built Nanobyte, I wrote a function to include JS and CSS files with a function that adds each filename to an array for inclusion. With this array, I can combine all of the files into one large file and compress it for viewing.</p>
<p>
<div class="geshifilter">
<ol>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066;">static</span> <span style="color: #000000; font-weight: bold;">function</span> CompressFiles<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fileArray</span>,<span style="color: #0000ff;">$type</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$type</span> != <span style="color: #ff0000;">'css'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$ob</span> = <span style="color: #ff0000;">&quot;&lt;?php </span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ob_start (<span style="color: #000099; font-weight: bold;">\&quot;</span>ob_gzhandler<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$ob</span> = <span style="color: #ff0000;">&quot;&lt;?php</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ob_start(<span style="color: #000099; font-weight: bold;">\&quot;</span>ob_gzhandler<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; header(<span style="color: #000099; font-weight: bold;">\&quot;</span>Content-type: text/css; charset: UTF-8<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; header(<span style="color: #000099; font-weight: bold;">\&quot;</span>Cache-Control: must-revalidate<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?&gt;&quot;</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$filename</span> = <span style="color: #ff0000;">'./templates/'</span>.THEME_PATH.<span style="color: #ff0000;">'/'</span>.<span style="color: #0000ff;">$type</span>.<span style="color: #ff0000;">'/compressed.php'</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$fh</span> = <span style="color: #000066;">fopen</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$filename</span>, <span style="color: #ff0000;">'w'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">fwrite</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fh</span>, <span style="color: #0000ff;">$ob</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">foreach</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fileArray</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$contents</span> = <span style="color: #000066;">file_get_contents</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">fwrite</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fh</span>, <span style="color: #0000ff;">$contents</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">fclose</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fh</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$filename</span>;</div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
</p>
<p>This function does several things.<br />
First, we set the output buffer and headers to add to the new file.<br />
We then tell the function where the file is going to be created, and open it for writing.<br />
Once it is open, we write our PHP code block to the file. To get this to work correctly, the file must have a .php extension.</p>
<p>Next, we read the contents of every included file one by one, and append them to our new file. This makes for one large conglomerated file to include.<br />
After all files have been added, we close the file and return the filename of the new file to be included. </p>
<p>Since the page is a php file, the code block will run, which uses ob_gzhandler to compress the file. Using this on Nanobyte, I have reduced a 420KB total page size down to 168KB.</p>
<p>A side effect of this process is that we also reduce the amount of server requests tht our server hs to process. Overall, I gained just over 3 full seconds for the page to load. before this function, the average load time was 6.2 seconds, we are down to 3.19. Incredible!</p>
<p>One last note: Though the file is a .php file, it CAN be included like a regular JS file.. e.g.<br />
<span class="geshifilter"><span class="geshifilter"><code class="geshifilter-drupal6">&amp;lt;script type=&lt;span style=<span style="color: #ff0000;">&quot;color: #ff0000;&quot;</span>&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; src=&lt;span style=<span style="color: #ff0000;">&quot;color: #ff0000;&quot;</span>&gt;&amp;quot;/js/compressed.php&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;</code></span></span></p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I have been hard at work on Nanobyte, trying to get it ready for Alpha status. I recently worked out file compression to make the pages load faster, and thought I would share.</p>
<p>When I built Nanobyte, I wrote a function to include JS and CSS files with a function that adds each filename to an array for inclusion. With this array, I can combine all of the files into one large file and compress it for viewing.</p>
<p><div class="geshifilter"><ol><li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066;">static</span> <span style="color: #000000; font-weight: bold;">function</span> CompressFiles<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fileArray</span>,<span style="color: #0000ff;">$type</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$type</span> != <span style="color: #ff0000;">'css'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$ob</span> = <span style="color: #ff0000;">&quot;&lt;?php </span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ob_start (<span style="color: #000099; font-weight: bold;">\&quot;</span>ob_gzhandler<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$ob</span> = <span style="color: #ff0000;">&quot;&lt;?php</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ob_start(<span style="color: #000099; font-weight: bold;">\&quot;</span>ob_gzhandler<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; header(<span style="color: #000099; font-weight: bold;">\&quot;</span>Content-type: text/css; charset: UTF-8<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; header(<span style="color: #000099; font-weight: bold;">\&quot;</span>Cache-Control: must-revalidate<span style="color: #000099; font-weight: bold;">\&quot;</span>);</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?&gt;&quot;</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$filename</span> = <span style="color: #ff0000;">'./templates/'</span>.THEME_PATH.<span style="color: #ff0000;">'/'</span>.<span style="color: #0000ff;">$type</span>.<span style="color: #ff0000;">'/compressed.php'</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$fh</span> = <span style="color: #000066;">fopen</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$filename</span>, <span style="color: #ff0000;">'w'</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">fwrite</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fh</span>, <span style="color: #0000ff;">$ob</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">foreach</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fileArray</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$contents</span> = <span style="color: #000066;">file_get_contents</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$file</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">fwrite</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fh</span>, <span style="color: #0000ff;">$contents</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">fclose</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$fh</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$filename</span>;</div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #66cc66;">&#125;</span></div></li></ol></div></p>
<p>This function does several things.<br />
First, we set the output buffer and headers to add to the new file.<br />
We then tell the function where the file is going to be created, and open it for writing.<br />
Once it is open, we write our PHP code block to the file. To get this to work correctly, the file must have a .php extension.</p>
<p>Next, we read the contents of every included file one by one, and append them to our new file. This makes for one large conglomerated file to include.<br />
After all files have been added, we close the file and return the filename of the new file to be included. </p>
<p>Since the page is a php file, the code block will run, which uses ob_gzhandler to compress the file. Using this on Nanobyte, I have reduced a 420KB total page size down to 168KB.</p>
<p>A side effect of this process is that we also reduce the amount of server requests tht our server hs to process. Overall, I gained just over 3 full seconds for the page to load. before this function, the average load time was 6.2 seconds, we are down to 3.19. Incredible!</p>
<p>One last note: Though the file is a .php file, it CAN be included like a regular JS file.. e.g.<br />
<span class="geshifilter"><code class="geshifilter-drupal6">&lt;script type=<span style="color: #ff0000;">&quot;text/javascript&quot;</span> src=<span style="color: #ff0000;">&quot;/js/compressed.php&quot;</span>&gt;&lt;/script&gt;</code></span></p>
    ]]></content>
  </entry>
  <entry>
    <title>Fun with windows commands</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/nov/fun-with-windows-commands" />
    <id>http://www.wiredbyte.com/2008/nov/fun-with-windows-commands</id>
    <published>2008-11-30T12:08:17-08:00</published>
    <updated>2008-11-30T12:08:17-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>Now that all of my PCs are on the same domain, I have been playing with different commands on the command line, and thought that this one could come in handy for some of you:<br />
From the command line, type <i>shutdown -i</i>.<br />
This will open a  dialog box (pictured) and allow you to remotely send shutdown commands to other machines on your network as long as you have the correct privileges on them.<br />
With this command you can specify reasons for the shutdown and allow a set amount of time for any users to save their work before the system shuts down.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Now that all of my PCs are on the same domain, I have been playing with different commands on the command line, and thought that this one could come in handy for some of you:</p>
<p>From the command line, type <i>shutdown -i</i>.</p>
<p>This will open a  dialog box (pictured) and allow you to remotely send shutdown commands to other machines on your network as long as you have the correct privileges on them.</p>
<p>With this command you can specify reasons for the shutdown and allow a set amount of time for any users to save their work before the system shuts down.</p>
    ]]></content>
  </entry>
  <entry>
    <title>The NXE</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/nov/the-nxe" />
    <id>http://www.wiredbyte.com/2008/nov/the-nxe</id>
    <published>2008-11-20T15:05:39-08:00</published>
    <updated>2008-11-20T15:06:29-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>This is a day late, but I got the NXE (New Xbox Experience) downloaded yesterday,a nd I must say, I am impressed. The new interface is easy to use, Graphically Pleasing and I can see why Microsoft thinks this will help target 'non-gamers'.<br />
Elsewhere, I was offered a part-time position as a PHP developer, so I finally got a break and can follow my dreams to a great career. I am also working with 2 friends to form a partnership and get our business license. Stay tuned more for that.<br />
Nanobyte is coming along quickly. I got comment functionality working, but not fully implemented. I also broke my backend to allow posting articles, so it's been a few days since an update has been posted there.<br />
More Good news, My webhost has extended my plan to include UNLIMITED STORAGE AND BANDWIDTH.<br />
I'll wait for you to close your mouth and wipe your chin..<br />
Now for some not-so-good news. My server had a catastrophic failure. First, the largest of the 2 Hard drives went out, and I spent about 3 days getting everything recovered from it. That one is under warranty. 3 days ago, the OS drive started failing. Another 18 hours of drive recovery.. and this one is out of warranty. I think it was the power supply, as once I replaced that and changed P2P-EXT timeout in the BIOS to 1MS everything is working more stably, still need a new hard drive though.<br />
I leave you with the hard drive I WISH I could get:<br />
<a href="http://gizmodo.com/393198/blazing-samsung-256gb-ssd-is-the-one-weve-been-waiting-for">Dream Hard Drive</a></p>
    ]]></summary>
    <content type="html"><![CDATA[<p>This is a day late, but I got the NXE (New Xbox Experience) downloaded yesterday,a nd I must say, I am impressed. The new interface is easy to use, Graphically Pleasing and I can see why Microsoft thinks this will help target 'non-gamers'.</p>
<p>Elsewhere, I was offered a part-time position as a PHP developer, so I finally got a break and can follow my dreams to a great career. I am also working with 2 friends to form a partnership and get our business license. Stay tuned more for that.</p>
<p>Nanobyte is coming along quickly. I got comment functionality working, but not fully implemented. I also broke my backend to allow posting articles, so it's been a few days since an update has been posted there.</p>
<p>More Good news, My webhost has extended my plan to include UNLIMITED STORAGE AND BANDWIDTH.</p>
<p>I'll wait for you to close your mouth and wipe your chin..</p>
<p>Now for some not-so-good news. My server had a catastrophic failure. First, the largest of the 2 Hard drives went out, and I spent about 3 days getting everything recovered from it. That one is under warranty. 3 days ago, the OS drive started failing. Another 18 hours of drive recovery.. and this one is out of warranty. I think it was the power supply, as once I replaced that and changed P2P-EXT timeout in the BIOS to 1MS everything is working more stably, still need a new hard drive though.</p>
<p>I leave you with the hard drive I WISH I could get:<br />
<a href="http://gizmodo.com/393198/blazing-samsung-256gb-ssd-is-the-one-weve-been-waiting-for">Dream Hard Drive</a></p>
    ]]></content>
  </entry>
  <entry>
    <title>Reccomended System Requirements</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/nov/reccomended-system-requirements" />
    <id>http://www.wiredbyte.com/2008/nov/reccomended-system-requirements</id>
    <published>2008-11-14T12:17:40-08:00</published>
    <updated>2008-11-14T12:17:40-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>I came across something I just just <i>HAD</i> it share today. I decided it was about time I reinstall Steam, since I formatted my PC a few weeks ago.  While I was downloading the Steam installer, I noted the system specs:<br />
System Requirements<br />
    * Windows 2000, XP or Vista<br />
    * 64 MB RAM<br />
    * 400 Mhz processor<br />
    * 1GB HD space (recommended)<br />
    * Internet connection (broadband recommended)<br />
Sure, they look pretty standard, unless you are familiar with Steam. I knew there was one serious flaw in the requirements, but went on installing anyways.<br />
Before I formatted my system, I had backed up my Steam folder - all 21GB of it. That would be for exactly 4 games from Steam. 21 is a little more than 1 if I may say so.<br />
Anyways, I finished installing the client, and decided to download the Left4Dead demo. I received a dialog stating: <b>Disk Space Required: 2220MB</b> Once again, That is over 2BG of data, that I was told by the steam requirements I wouldn't need!<br />
My goal here is not to complain that I was lied to. It is instead to bring a humorous to people's attention. If you are going to install Steam, PLEASE make sure you have at LEAST 20GB of free space.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I came across something I just just <i>HAD</i> it share today. I decided it was about time I reinstall Steam, since I formatted my PC a few weeks ago.  While I was downloading the Steam installer, I noted the system specs:</p>
<p>System Requirements</p>
<p>    * Windows 2000, XP or Vista<br />
    * 64 MB RAM<br />
    * 400 Mhz processor<br />
    * 1GB HD space (recommended)<br />
    * Internet connection (broadband recommended)</p>
<p>Sure, they look pretty standard, unless you are familiar with Steam. I knew there was one serious flaw in the requirements, but went on installing anyways.</p>
<p>Before I formatted my system, I had backed up my Steam folder - all 21GB of it. That would be for exactly 4 games from Steam. 21 is a little more than 1 if I may say so.</p>
<p>Anyways, I finished installing the client, and decided to download the Left4Dead demo. I received a dialog stating: <b>Disk Space Required: 2220MB</b> Once again, That is over 2BG of data, that I was told by the steam requirements I wouldn't need!</p>
<p>My goal here is not to complain that I was lied to. It is instead to bring a humorous to people's attention. If you are going to install Steam, PLEASE make sure you have at LEAST 20GB of free space.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Big Day for Nanobyte Updates</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/nov/big-day-for-nanobyte-updates" />
    <id>http://www.wiredbyte.com/2008/nov/big-day-for-nanobyte-updates</id>
    <published>2008-11-10T15:52:51-08:00</published>
    <updated>2008-11-10T15:52:51-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>I had quite a bit of accomplishment on Nanobyte today. User profiles are in place and functional, code highlighting is working and I was able to fix a handful of bugs as well!<br />
The updated code has been committed to <a href="http://svn.wiredbyte.com">SVN</a>.<br />
You can view all the Nanobyte updates at: <a href="http://www.nanobytecms.com">www.nanobytecms.com</a></p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I had quite a bit of accomplishment on Nanobyte today. User profiles are in place and functional, code highlighting is working and I was able to fix a handful of bugs as well!</p>
<p>The updated code has been committed to <a href="http://svn.wiredbyte.com">SVN</a>.</p>
<p>You can view all the Nanobyte updates at: <a href="http://www.nanobytecms.com">www.nanobytecms.com</a></p>
    ]]></content>
  </entry>
  <entry>
    <title>Super Tuesday</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/nov/super-tuesday" />
    <id>http://www.wiredbyte.com/2008/nov/super-tuesday</id>
    <published>2008-11-04T13:53:11-08:00</published>
    <updated>2008-11-04T13:53:11-08:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>I always try to keep politics out of my rants.. not because I am afraid of starting something.. but because there is always something to say. That said, I have one thing to say:<br />
<b><i> Get out and vote, or don't whine about the electees!</i><b></b></b><br />
Alright.. now on to more important matters.<br />
My Xbox finally came back for repairs today. This is the end of a 6 week process that made me rip out my hair. IN late September Mary and I planned on a night of Guitar Hero, but instead got the 3 red rings of death (RROD). I called Xbox, and they were very cordial and stated that I would be shipped a box to return the unit to them in.<br />
2 days later that repair was canceled. I called back and repeated the process. I was told that I would receive a mailing label by email to use this time. This was also canceled 48 hours later.<br />
My third call did not turn out any better, but I was assured it would go through. Now, please note all these calls were canceled because I do not have a standard street address, and instead have a "Grid Address" in the form of <i>N12W12345 MyStreet Dr.</i>, where <i>N</i> is North, and <i>W</i> is West.<br />
The fourth call I was pretty upset, and was told that they were not allowed to make any more service calls for me because it had failed too many times. I spent 30 minutes on the phone with that person's manager, and was once again told I would be emailed the shipping label.<br />
Can we guess what happened next? Yes, this call too, was canceled. I put it off for about a week, then finally called back. When I was asked if I was <i>SURE</i> I could receive mail at this address, I went off on the person on the other end. They put me on hold for no less than 19 minutes and finally explained that my address would not validate because it was in their system twice.<br />
Twice. Wouldn't that send up a flag that someone maybe should have taken as "Oh, I guess this is the correct address". I received a Box overnight, and finally got my Xbox back today - exactly 7 days later. The only consolation is that I was sent a brand new unit (mfgr date 8/29/08) which means it will not have the same flaws, and will be MUCH MUCH quieter. Oh, and a free month of Xbox Live.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I always try to keep politics out of my rants.. not because I am afraid of starting something.. but because there is always something to say. That said, I have one thing to say:</p>
<p><b><i> Get out and vote, or don't whine about the electees!</i><b></b></b></p>
<p>Alright.. now on to more important matters. </p>
<p>My Xbox finally came back for repairs today. This is the end of a 6 week process that made me rip out my hair. IN late September Mary and I planned on a night of Guitar Hero, but instead got the 3 red rings of death (RROD). I called Xbox, and they were very cordial and stated that I would be shipped a box to return the unit to them in.</p>
<p>2 days later that repair was canceled. I called back and repeated the process. I was told that I would receive a mailing label by email to use this time. This was also canceled 48 hours later.</p>
<p>My third call did not turn out any better, but I was assured it would go through. Now, please note all these calls were canceled because I do not have a standard street address, and instead have a "Grid Address" in the form of <i>N12W12345 MyStreet Dr.</i>, where <i>N</i> is North, and <i>W</i> is West.</p>
<p>The fourth call I was pretty upset, and was told that they were not allowed to make any more service calls for me because it had failed too many times. I spent 30 minutes on the phone with that person's manager, and was once again told I would be emailed the shipping label.</p>
<p>Can we guess what happened next? Yes, this call too, was canceled. I put it off for about a week, then finally called back. When I was asked if I was <i>SURE</i> I could receive mail at this address, I went off on the person on the other end. They put me on hold for no less than 19 minutes and finally explained that my address would not validate because it was in their system twice.</p>
<p>Twice. Wouldn't that send up a flag that someone maybe should have taken as "Oh, I guess this is the correct address". I received a Box overnight, and finally got my Xbox back today - exactly 7 days later. The only consolation is that I was sent a brand new unit (mfgr date 8/29/08) which means it will not have the same flaws, and will be MUCH MUCH quieter. Oh, and a free month of Xbox Live.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Early Christmas!</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/oct/early-christmas" />
    <id>http://www.wiredbyte.com/2008/oct/early-christmas</id>
    <published>2008-10-30T19:14:41-07:00</published>
    <updated>2008-10-30T19:17:11-07:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>My good friend <a href="http://wiredbyte.com/users/nick">Nick</a> has given me an early Christmas present. I had previously mentioned that I have been laid off. I have been planning on finishing Nanobyte in my spare time beginning next week.<br />
Nick was nice enough to get Nanobyte an official website. The new home of Nanobyte is now <a href="http://www.nanobytecms.com">www.nanobytecms.com!</a>. So far I have just copied the files over, so it looks identical to the test site. I soon plan to make it "pop" if you will..<br />
All Nanobyte news will now be posted on NanobyteCMS.com.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>My good friend <a href="http://wiredbyte.com/users/nick">Nick</a> has given me an early Christmas present. I had previously mentioned that I have been laid off. I have been planning on finishing Nanobyte in my spare time beginning next week.</p>
<p>Nick was nice enough to get Nanobyte an official website. The new home of Nanobyte is now <a href="http://www.nanobytecms.com">www.nanobytecms.com!</a>. So far I have just copied the files over, so it looks identical to the test site. I soon plan to make it "pop" if you will..</p>
<p>All Nanobyte news will now be posted on NanobyteCMS.com.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Blindsided</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/oct/blindsided" />
    <id>http://www.wiredbyte.com/2008/oct/blindsided</id>
    <published>2008-10-29T11:00:00-07:00</published>
    <updated>2008-10-29T13:15:16-07:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>Well, I had planned a great post for yesterday, seeing as I got Bacula working on my domain at home. Unfortunately I was dealt a blow and had to skip out on the posting for the night.<br />
I was informed yesterday that my last day at my current job will be Friday. This is not due to any reason other than over budgeting. Thus is the life of a contractor - thrown to the proverbial curb. What is even worse is I was in the middle of several automation projects and I was defining standard procedures for PC imaging - something that was needed desperately here.<br />
My next few days will be busy - but I sincerely hope I can get some posting in, as I have been having slight withdrawls from it.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Well, I had planned a great post for yesterday, seeing as I got Bacula working on my domain at home. Unfortunately I was dealt a blow and had to skip out on the posting for the night.</p>
<p>I was informed yesterday that my last day at my current job will be Friday. This is not due to any reason other than over budgeting. Thus is the life of a contractor - thrown to the proverbial curb. What is even worse is I was in the middle of several automation projects and I was defining standard procedures for PC imaging - something that was needed desperately here.</p>
<p>My next few days will be busy - but I sincerely hope I can get some posting in, as I have been having slight withdrawls from it.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Samba+Ldap+OpenSUSE</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/oct/sambaldapopensuse" />
    <id>http://www.wiredbyte.com/2008/oct/sambaldapopensuse</id>
    <published>2008-10-20T16:05:39-07:00</published>
    <updated>2008-10-20T16:07:41-07:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>I spent the majority of last week trying to set up my server as a PDC (Primary Domain Controller).  I followed a tutorial online to do this, and got pretty far in. When it came time to add users however, I received several errors.</p>
<p>
<div class="geshifilter">
<ol>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #808080; font-style: italic;"># usr/local/sbin/smbldap-useradd -m michael</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">failed to perform search; No such object at /usr/local/sbin<span style="color: #808080; font-style: italic;">//smbldap_tools.pm line 427.</span></div>
</li>
<li style="font-family: monospace; font-weight: normal;">
<div style="font-family: monospace; font-weight: normal; font-style: normal">Error looking <span style="color: #b1b100;">for</span> <span style="color: #000066;">next</span> uid in sambaDomainName=WIREDBYTE.COM,dc=wiredbyte,dc=com:No such object at /usr/local/sbin<span style="color: #808080; font-style: italic;">//smbldap_tools.pm line 1175.</span></div>
</li>
</ol>
</div>
</p>
<p>I was trying to add a user using the <a href="http://www.iallanis.info/">smbldap-tools</a>, which once working proved to be very handy.</p>
<p>The road I took to get the scripts working on the other hand - not so fun.</p>
<p>I tried various tutorials, then decided to stick with one that seemed the most relevant for my situation on the <a href="http://en.opensuse.org/Howto_setup_SUSE_10.3_as_Samba_PDC">opensuse wiki<a>.</p>
<p>I followed it through, and still got my error. I spent hours on Linux IRC channels without much help, and was even told that I was stupid for trying to get help for 3rd party tools (the smbldap-tools). I finally decided to give it one more go myself. I removed openldap2, deleted ALL my databases from /var/lib/ldap and reinstalled openldap2. I then populated the database again as described in the tutorial. Lo-and-behold.. it worked! t turns out I was missing some files required for LDAP to run correctly which was causing the issue.</p>
<p>I then tried to add my Windows XP Virtual machine to the new domain, and could not get it to accept credentials. Error: The user name was not found.</p>
<p>I Googled this error and came up with the <a href="http://help.lockergnome.com/linux/Longer-Join-Domain-ftopict419768.html">solution</a>:</p>
<p><i>There is another trick: go to Local Area Connection Properties of windows ><br />
Tcp/ip properties > Advanced TCP/IP Settings > WINS tab, then add the ip<br />
address of your PDC server (assumed it's a wins server either) and in the<br />
netbios setting choose "Enable NetBIOS over TCP/IP". Good luck. </i></p>
<p>I plan on writing my own tutorial that is more explanatory about how to go about this massive configuration, but for now, please refer to the tutorials I have linked.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I spent the majority of last week trying to set up my server as a PDC (Primary Domain Controller).  I followed a tutorial online to do this, and got pretty far in. When it came time to add users however, I received several errors.</p>
<p><div class="geshifilter"><ol><li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: #808080; font-style: italic;"># usr/local/sbin/smbldap-useradd -m michael</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">failed to perform search; No such object at /usr/local/sbin<span style="color: #808080; font-style: italic;">//smbldap_tools.pm line 427.</span></div></li>
<li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">Error looking <span style="color: #b1b100;">for</span> <span style="color: #000066;">next</span> uid in sambaDomainName=WIREDBYTE.COM,dc=wiredbyte,dc=com:No such object at /usr/local/sbin<span style="color: #808080; font-style: italic;">//smbldap_tools.pm line 1175.</span></div></li></ol></div></p>
<p>I was trying to add a user using the <a href="http://www.iallanis.info/">smbldap-tools</a>, which once working proved to be very handy.</p>
<p>The road I took to get the scripts working on the other hand - not so fun.</p>
<p>I tried various tutorials, then decided to stick with one that seemed the most relevant for my situation on the <a href="http://en.opensuse.org/Howto_setup_SUSE_10.3_as_Samba_PDC">opensuse wiki<a>.</p>
<p>I followed it through, and still got my error. I spent hours on Linux IRC channels without much help, and was even told that I was stupid for trying to get help for 3rd party tools (the smbldap-tools). I finally decided to give it one more go myself. I removed openldap2, deleted ALL my databases from /var/lib/ldap and reinstalled openldap2. I then populated the database again as described in the tutorial. Lo-and-behold.. it worked! t turns out I was missing some files required for LDAP to run correctly which was causing the issue.</p>
<p>I then tried to add my Windows XP Virtual machine to the new domain, and could not get it to accept credentials. Error: The user name was not found.</p>
<p>I Googled this error and came up with the <a href="http://help.lockergnome.com/linux/Longer-Join-Domain-ftopict419768.html">solution</a>:</p>
<p><i>There is another trick: go to Local Area Connection Properties of windows ><br />
Tcp/ip properties > Advanced TCP/IP Settings > WINS tab, then add the ip<br />
address of your PDC server (assumed it's a wins server either) and in the<br />
netbios setting choose "Enable NetBIOS over TCP/IP". Good luck. </i></p>
<p>I plan on writing my own tutorial that is more explanatory about how to go about this massive configuration, but for now, please refer to the tutorials I have linked.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Where do I begin?</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/oct/where-do-i-begin" />
    <id>http://www.wiredbyte.com/2008/oct/where-do-i-begin</id>
    <published>2008-10-15T10:01:33-07:00</published>
    <updated>2008-10-15T10:13:13-07:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>Well, last week was no less eventful that the week before it. Taranis - my server - was having some issues and it turns out the OS drive in it went out. This was due to a few reasons. Windows Home server balances storage every60 - 90 mins regularly, and the OS drive was having some write errors which were aggravated by the constant activity. On top of that, I ran some hardware diagnostics and saw the Hard Drive operating temperature was about 120 degrees F. With proper airflow, they should be closer to 90 degrees or less.<br />
Unfortunately, I only had an 80GB hard drive for a replacement. Instead of putting the smaller drive in the server, I replaced my desktop hard drive, then used that drive for the server. I spent alot of time debating whether I wanted to use Linux, or stick with WHS. After hours of backing up my data, I decided to try openSuse.<br />
OpenSuse is great. It's very easy to install and very robust. It has a package manager similar to aptitude on Debian. My plans for the server now are being extended to PDC, File and Printer server, as well as VM host for 1 or 2 virtual machines. When the server is Idle, it uses 244 MB of RAM and 300-400MHz of CPU. I am very very happy with the performance of Novell's Linux Distro.<br />
To find out more about openSuse, you can visit their website at <a href="http://opensuse.org">Opensuse Dot Org </a>.<br />
In other news,, not much has been happening. I hope to have some time to put more work into Nanobyte soon, since the server has taken priority. Once I get the server into a functional state once more, I'll have a chance to post a few tutorials based on the new setup - including Bacula, tightvnc, xrdp, samba, ldap and more!</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Well, last week was no less eventful that the week before it. Taranis - my server - was having some issues and it turns out the OS drive in it went out. This was due to a few reasons. Windows Home server balances storage every60 - 90 mins regularly, and the OS drive was having some write errors which were aggravated by the constant activity. On top of that, I ran some hardware diagnostics and saw the Hard Drive operating temperature was about 120 degrees F. With proper airflow, they should be closer to 90 degrees or less. </p>
<p>Unfortunately, I only had an 80GB hard drive for a replacement. Instead of putting the smaller drive in the server, I replaced my desktop hard drive, then used that drive for the server. I spent alot of time debating whether I wanted to use Linux, or stick with WHS. After hours of backing up my data, I decided to try openSuse.</p>
<p>OpenSuse is great. It's very easy to install and very robust. It has a package manager similar to aptitude on Debian. My plans for the server now are being extended to PDC, File and Printer server, as well as VM host for 1 or 2 virtual machines. When the server is Idle, it uses 244 MB of RAM and 300-400MHz of CPU. I am very very happy with the performance of Novell's Linux Distro.</p>
<p>To find out more about openSuse, you can visit their website at <a href="http://opensuse.org">Opensuse Dot Org </a>.</p>
<p>In other news,, not much has been happening. I hope to have some time to put more work into Nanobyte soon, since the server has taken priority. Once I get the server into a functional state once more, I'll have a chance to post a few tutorials based on the new setup - including Bacula, tightvnc, xrdp, samba, ldap and more!</p>
    ]]></content>
  </entry>
  <entry>
    <title>Busy - Busy</title>
    <link rel="alternate" type="text/html" href="http://www.wiredbyte.com/2008/oct/busy-busy" />
    <id>http://www.wiredbyte.com/2008/oct/busy-busy</id>
    <published>2008-10-07T18:01:09-07:00</published>
    <updated>2008-10-07T18:01:09-07:00</updated>
    <author>
      <name>Michael</name>
    </author>
    <summary type="html"><![CDATA[<p>The past few days have been extraordinarily busy. Mary ended up winning the contest to play onstage with Weezer, and I didn't get home that night until 1:30 AM. She did awesome, and rocked..Hard. Unfortunately, they were having security issues so no one got to go backstage, and Weezer didn't even do autographs, so Mary was pretty bummed.<br />
I also ended up working on the theming for Nanobyte quite a bit more, and I really <a href="http://beta.wiredbyte.com/WiredCMS">like it</a> now. I'm going for Blues and Blacks for simplicity and professionalism.<br />
I also have been working Second shift Yesterday and Today to cover for a Co-Worker that just got married (Congratulations Chris!!), so my entire schedule has been thrown off this week so far - and to add to it, I get to come in at 7 AM tomorrow.<br />
Ive decided I am going to try to go back to school and get my AA degree in Network Administration, and maybe persue a BA. I've taken up some scripting tasks at work and I'm trying to relearn VB and VB scripting, which is actually not as hard as I remember luckily. Maybe I can get out of the Helpdesk someday!<br />
Anyways, I guess that is it for now, but stay tuned!<br />
P.S. - The picture is from the concert, Mary is the Violinist up front in the skirt.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>The past few days have been extraordinarily busy. Mary ended up winning the contest to play onstage with Weezer, and I didn't get home that night until 1:30 AM. She did awesome, and rocked..Hard. Unfortunately, they were having security issues so no one got to go backstage, and Weezer didn't even do autographs, so Mary was pretty bummed. </p>
<p>I also ended up working on the theming for Nanobyte quite a bit more, and I really <a href="http://beta.wiredbyte.com/WiredCMS">like it</a> now. I'm going for Blues and Blacks for simplicity and professionalism. </p>
<p>I also have been working Second shift Yesterday and Today to cover for a Co-Worker that just got married (Congratulations Chris!!), so my entire schedule has been thrown off this week so far - and to add to it, I get to come in at 7 AM tomorrow. </p>
<p>Ive decided I am going to try to go back to school and get my AA degree in Network Administration, and maybe persue a BA. I've taken up some scripting tasks at work and I'm trying to relearn VB and VB scripting, which is actually not as hard as I remember luckily. Maybe I can get out of the Helpdesk someday!</p>
<p>Anyways, I guess that is it for now, but stay tuned!</p>
<p>P.S. - The picture is from the concert, Mary is the Violinist up front in the skirt.</p>
    ]]></content>
  </entry>
</feed>
