<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>phly, boy, phly - Linux</title>
    <link>http://weierophinney.net/matthew/</link>
    <description>Ramblings on PHP, Linux, and other Geeky Topics</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.0.4 - http://www.s9y.org/</generator>
    <pubDate>Mon, 31 Aug 2009 19:34:37 GMT</pubDate>

    <image>
        <url>http://weierophinney.net/matthew/templates/matthew/img/s9y_banner_small.png</url>
        <title>RSS: phly, boy, phly - Linux - Ramblings on PHP, Linux, and other Geeky Topics</title>
        <link>http://weierophinney.net/matthew/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Enabling VPN split tunnel with NetworkManager</title>
    <link>http://weierophinney.net/matthew/archives/223-Enabling-VPN-split-tunnel-with-NetworkManager.html</link>
            <category>Linux</category>
    
    <comments>http://weierophinney.net/matthew/archives/223-Enabling-VPN-split-tunnel-with-NetworkManager.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=223</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=223</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;ve been using &lt;a
        href=&quot;http://projects.gnome.org/NetworkManager/&quot;&gt;NetworkManager&lt;/a&gt; for
    some time now, and appreciate how easy it makes both connecting to wifi as
    well as VPNs. That said, I&#039;ve had an issue with it that I only resolved
    today.
&lt;/p&gt;

&lt;p&gt;
    When working from home, I prefer to use a VPN split tunnel setup -- I&#039;m
    behind a firewall all the time, and it&#039;s useful to be able to run virtual
    machines while still connected to my VPN (e.g., when doing training or
    webinar sessions). However, I noticed some months ago that this wasn&#039;t
    working. I assumed at first it was a change in our network setup, but others
    reported that the split tunnel was working fine. It&#039;s been particularly
    problematic when on IRC -- if the VPN drops, I lose my IRC connection,
    meaning I have to re-connect and re-claim my nick.
&lt;/p&gt;

&lt;p&gt;
    So, I did some searching, and found an interesting setting. In
    NetworkManager, &quot;Configure...&quot; then &quot;Edit&quot; your VPN connection,
    and navigate to the &quot;IPv4 Settings&quot; tab. Once there, click the button that
    says &quot;Routes...&quot; and select the checkbox next to &quot;Use this connection only
    for resources on its network&quot;. Press Ok to close the dialog, then &quot;Apply&quot; to
    exit out of the VPN configuration. Re-connect to the VPN, and you should be
    all set.
&lt;/p&gt;

&lt;p&gt;
    &lt;em&gt;Note: this will only work if your VPN server is configured to allow
    split tunnels. Additionally, only do so if you are behind a firewall.
    Practice safe networking.&lt;/em&gt;
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 31 Aug 2009 15:34:37 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/223-guid.html</guid>
    <category>linux</category>
<category>security</category>
<category>wifi</category>

</item>
<item>
    <title>VirtualBox Networking</title>
    <link>http://weierophinney.net/matthew/archives/205-VirtualBox-Networking.html</link>
            <category>Linux</category>
    
    <comments>http://weierophinney.net/matthew/archives/205-VirtualBox-Networking.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=205</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=205</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I use Linux on the desktop (currently &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;), 
    but occasionally need to use Windows for things like webinars, OS-specific
    testing, etc. I started using &lt;a href=&quot;http://virtualbox.org/&quot;&gt;VirtualBox&lt;/a&gt; 
    for virtualization around six months ago, and have been reasonably
    satisfied; Windows boots quickly, and everything &quot;just works.&quot; That is,
    until yesterday.
&lt;/p&gt;

&lt;p&gt;
    I was given a linux VM image running a web server and some applications I
    needed to review. On top of that, I needed to do so over WebEx, so that I
    could share my screen with somebody else. This meant I needed the following
    to work:
&lt;/p&gt;

&lt;ol&gt;
    &lt;li&gt;Internet access for my Windows VM&lt;/li&gt;
    &lt;li&gt;Access to my linux VM from my Windows VM&lt;/li&gt;
    &lt;li&gt;Ideally, access to both guest VMs from my linux host&lt;/li&gt;
    &lt;li&gt;Ideally, internet access for my linux host&lt;/li&gt;
&lt;/ol&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/205-VirtualBox-Networking.html#extended&quot;&gt;Continue reading &quot;VirtualBox Networking&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 17 Jan 2009 10:43:40 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/205-guid.html</guid>
    <category>linux</category>
<category>virtualbox</category>

</item>
<item>
    <title>Server Upgrades... lost entries...</title>
    <link>http://weierophinney.net/matthew/archives/171-Server-Upgrades...-lost-entries....html</link>
            <category>Linux</category>
            <category>PHP</category>
            <category>Programming</category>
    
    <comments>http://weierophinney.net/matthew/archives/171-Server-Upgrades...-lost-entries....html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=171</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=171</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    My good friend, Rob, hosts my site for me, in return for helping with server
    maintenance. After being on Gentoo for the past three years, though, we
    decided it was time to switch to something a little easier to maintain, so
    last night we wiped the system partitions and installed Ubuntu server.
&lt;/p&gt;

&lt;p&gt;
    I&#039;ll say this: the setup is much faster! However, we had a few gotchas that
    surprised us -- it didn&#039;t setup our RAID array out-of-the-box, which led to
    a good hour of frustration as we tried to verify that the install wouldn&#039;t
    wipe it, and then to verify that we could re-assemble it.  (We succeeded.)
    Additionally, we second-guessed a few things we shouldn&#039;t have, which led to
    needing to back out and reconfigure. But what was over a 12 hour install
    with Gentoo we accomplished in a matter of a few hours with Ubuntu server --
    so it was a huge success that way.
&lt;/p&gt;

&lt;p&gt;
    Unfortunately, our mysqldump of all databases... wasn&#039;t, a fact we
    discovered only after importing it into the new system. I ended up losing my
    blog database and PEAR channel database. Fortunately, the PEAR channel
    has not changed at all in the past year, so we had an old backup that
    worked, and I had a snapshot of my blog database from three weeks ago I was
    able to use. As a result, there are a few missing entries, but for the most
    part, all works. If you commented on one of those missing entries, my
    apologies.
&lt;/p&gt;

&lt;p&gt;
    Now that the install is done, I&#039;m also finalizing some design changes to my
    blog -- it&#039;s time to leave the black and white for more colorful grounds.
    Look for a revamp in the coming weeks!
&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Fri, 16 May 2008 09:05:13 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/171-guid.html</guid>
    <category>linux</category>
<category>pear</category>
<category>personal</category>
<category>php</category>
<category>programming</category>
<category>ubuntu</category>

</item>
<item>
    <title>Apache HOSTNAME on Clusters</title>
    <link>http://weierophinney.net/matthew/archives/156-Apache-HOSTNAME-on-Clusters.html</link>
            <category>Linux</category>
            <category>PHP</category>
            <category>Programming</category>
    
    <comments>http://weierophinney.net/matthew/archives/156-Apache-HOSTNAME-on-Clusters.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=156</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=156</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    In an effort to debug issues on a cluster, I was trying to determine which
    machine on the cluster was causing the issue. My idea was that I could
    insert a header token identifying the server.
&lt;/p&gt;

&lt;p&gt;
    My first idea was to add the directive &#039;Header add X-Server-Ip
    &quot;%{SERVER_ADDR}e&quot; in my httpd.conf. However, due to the nature of our load
    balancer, Apache was somehow resolving this to the load balancer IP address
    on all machines of the cluster -- which was really, really not useful.
&lt;/p&gt;

&lt;p&gt;
    I finally stumbled on a good solution, however: you can set environment
    variables in apachectl, and then pass them into the Apache environment using
    the PassEnv directive from mod_env; once that&#039;s done, you can use the
    environment variable anywhere.
&lt;/p&gt;

&lt;p&gt;
    In my apachectl, I added the line &quot;export HOSTNAME=`hostname`&quot;. Then, in my
    httpd.conf, I added first the line &quot;PassEnv HOSTNAME&quot;, followed by the
    directive &#039;Header add X-Server-Name &quot;%{HOSTNAME}e&quot;&#039;. Voila! I now had the
    hostname in the header, which gave me the information I needed for
    debugging.
&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Fri, 25 Jan 2008 17:38:16 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/156-guid.html</guid>
    <category>apache</category>
<category>clusters</category>
<category>linux</category>
<category>php</category>
<category>programming</category>

</item>
<item>
    <title>Gutsy Gibbon review</title>
    <link>http://weierophinney.net/matthew/archives/147-Gutsy-Gibbon-review.html</link>
            <category>Linux</category>
    
    <comments>http://weierophinney.net/matthew/archives/147-Gutsy-Gibbon-review.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=147</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=147</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Early in the week, I decided to avoid the release rush and go ahead and
    update my laptop to &lt;a href=&quot;http://www.ubuntu.com&quot;&gt;Ubuntu&#039;s&lt;/a&gt; Gutsy 
    Gibbon release. Overall, it&#039;s quite good, with one caveat I&#039;ll elaborate on
    later. 
&lt;/p&gt;

 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/147-Gutsy-Gibbon-review.html#extended&quot;&gt;Continue reading &quot;Gutsy Gibbon review&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 20 Oct 2007 07:55:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/147-guid.html</guid>
    <category>linux</category>
<category>ubuntu</category>

</item>
<item>
    <title>Back on Linux Again</title>
    <link>http://weierophinney.net/matthew/archives/136-Back-on-Linux-Again.html</link>
            <category>Linux</category>
    
    <comments>http://weierophinney.net/matthew/archives/136-Back-on-Linux-Again.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=136</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=136</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    A little over a year ago, &lt;a href=&quot;http://weierophinney.net/matthew/archives/101-Using-Windows-XP.html&quot;&gt;I stopped using Linux as my primary desktop&lt;/a&gt; 
    due to the fact that a number of programs we were using were Windows
    dependent. Despite 
    &lt;a href=&quot;http://weierophinney.net/matthew/archives/103-XP-+-Cygwin-+-coLinux-Productivity.html&quot;&gt;getting coLinux running&lt;/a&gt;,
    I&#039;ve never been completely satisfied with the setup. I missed being able to
    paste with my middle-mouse button, and I was constantly having character
    encoding issues pasting back and forth between PuTTY and windows apps,
    couldn&#039;t access mail easily between my coLinux and Windows partitions, and
    overall felt that I was losing out on some productivity by not having a
    native linux environment as my primary OS.
&lt;/p&gt;
&lt;p&gt;
    Last week, we had an infrastructure change at work, and I basically realized
    that my Windows + coLinux setup was going to get in the way of productivity
    -- and that, at this point, there were now Windows applications tying me to
    that OS. So, I decided it was time to go back to Linux.
&lt;/p&gt;

 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/136-Back-on-Linux-Again.html#extended&quot;&gt;Continue reading &quot;Back on Linux Again&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 17 Feb 2007 13:50:58 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/136-guid.html</guid>
    
</item>
<item>
    <title>coLinux Recovery</title>
    <link>http://weierophinney.net/matthew/archives/124-coLinux-Recovery.html</link>
            <category>Linux</category>
    
    <comments>http://weierophinney.net/matthew/archives/124-coLinux-Recovery.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=124</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=124</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    As &lt;a href=&quot;http://weierophinney.net/matthew/archives/103-XP-+-Cygwin-+-coLinux-Productivity.html&quot;&gt;I&#039;ve written previously,&lt;/a&gt;
    I use &lt;a href=&quot;http://www.colinux.org&quot;&gt;coLinux&lt;/a&gt; in order to have a
    Linux virtual machine running on my Windows XP install. It runs Debian
    unstable (SID), which gives me all apt-geet love I could want.
&lt;/p&gt;
&lt;p&gt;
    Except when an apt-get based install goes bad, that is, like it did Saturday
    evening. This is the tale of how I got it back up and running.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/124-coLinux-Recovery.html#extended&quot;&gt;Continue reading &quot;coLinux Recovery&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 25 Sep 2006 17:27:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/124-guid.html</guid>
    
</item>
<item>
    <title>XP + Cygwin + coLinux == Productivity</title>
    <link>http://weierophinney.net/matthew/archives/103-XP-+-Cygwin-+-coLinux-Productivity.html</link>
            <category>Linux</category>
            <category>PHP</category>
            <category>Programming</category>
    
    <comments>http://weierophinney.net/matthew/archives/103-XP-+-Cygwin-+-coLinux-Productivity.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=103</wfw:comment>

    <slash:comments>11</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=103</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I wrote earlier of my experiences &lt;a href=&quot;http://weierophinney.net/matthew/archives/101-Using-Windows-XP.html&quot;&gt;using Windows XP&lt;/a&gt;,
    a move I&#039;ve considered somewhat unfortunate but necessary. I&#039;ve added a
    couple more tools to my toolbox since that have made the environment even
    better.
&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/103-XP-+-Cygwin-+-coLinux-Productivity.html#extended&quot;&gt;Continue reading &quot;XP + Cygwin + coLinux == Productivity&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 05 Jan 2006 16:57:00 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/103-guid.html</guid>
    
</item>
<item>
    <title>File_SMBPasswd woes</title>
    <link>http://weierophinney.net/matthew/archives/93-File_SMBPasswd-woes.html</link>
            <category>Linux</category>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/93-File_SMBPasswd-woes.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=93</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=93</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;ve been cobbling together a system at work for the last couple months to
    allow a single place for changing all network passwords. This includes a
    variety of database sources, as well as &lt;i&gt;passwd&lt;/i&gt; files and
    &lt;i&gt;smbpasswd&lt;/i&gt; files.
    I&#039;ve been making use of PEAR&#039;s &lt;a href=&quot;http://pear.php.net/package/File_Passwd&quot;&gt;File_Passwd&lt;/a&gt; and &lt;a href=&quot;http://pear.php.net/package/File_SMBPasswd&quot;&gt;File_SMBPasswd&lt;/a&gt;, and they&#039;ve
    greatly simplified the task of updating passwords for those types of
    systems. However, I&#039;ve encountered some issues that I never would have
    expected.
&lt;/p&gt;
&lt;p&gt;
    I have the web user in a group called &#039;samba&#039;, and I have the
    &lt;i&gt;smbpasswd&lt;/i&gt; file owned by root:samba. I then set the &lt;i&gt;smbpasswd&lt;/i&gt;
    file to be group +rw. Simple, right? The web user should then be able to
    update the &lt;i&gt;smbpasswd&lt;/i&gt; file without a problem, right? Wrong.
&lt;/p&gt;
&lt;p&gt;
    I kept getting errors, and on investigation continually found that the
    &lt;i&gt;smbpasswd&lt;/i&gt; file permissions had reverted to 0600 -- i.e., only the
    root user could access it. I tried using &#039;chattr -i&#039; on the off-chance that
    the file had been made immutable (which didn&#039;t make sense, as I was able to
    see the permissions change). No luck.
&lt;/p&gt;
&lt;p&gt;
    Based on observations of when the permissions reverted, it appears that the
    various SMB processes will reset the permissions! An example is when
    someone attempts to mount a resource from the server; this accesses the
    smbpasswd file to perform authentication -- and at this point the file
    permissions change.  I can find no documentation to support this; these are
    simply my observations.
&lt;/p&gt;
&lt;p&gt;
    So, to get around the behaviour, I created a script that will set the file
    permissions to what I want them, and then gave &lt;i&gt;sudo&lt;/i&gt; privileges to the
    samba group for that script. This script is then called via &lt;i&gt;system()&lt;/i&gt;
    in the update script just before processing.
&lt;/p&gt;
&lt;p&gt;
    It&#039;s a hack, and could be made more secure, but it works.
&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Wed, 07 Sep 2005 16:20:00 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/93-guid.html</guid>
    
</item>
<item>
    <title>Server upgrades, samba, and permissions, oh my!</title>
    <link>http://weierophinney.net/matthew/archives/89-Server-upgrades,-samba,-and-permissions,-oh-my!.html</link>
            <category>Linux</category>
    
    <comments>http://weierophinney.net/matthew/archives/89-Server-upgrades,-samba,-and-permissions,-oh-my!.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=89</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=89</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Last week, we performed a long needed upgrade to the company
    file/print/intranet server. Basically, we&#039;d been on a Redhat 8 system, and
    there were upgrades we were wanting to perform, and couldn&#039;t due to lack of
    libraries. We could have possibly compiled from source in some occasions...
    but that would likely have shuttled us into a similar dependency hell as
    using Redhat in the first place.
&lt;/p&gt;
&lt;p&gt;
    So, we decided to re-install the OS, and switch to Gentoo in the process.
    We&#039;ve found that Gentoo is a great distro for servers -- it allows us to
    tailor the install to the server purpose, and simultaneously provides a
    clean upgrade path via portage. 
&lt;/p&gt;
&lt;p&gt;
    Things went primarily without a hitch. We lost a few databases due to a bad
    DB backup (argh! there went the wiki!), but that was the primary extent of
    the damage.
&lt;/p&gt;
&lt;p&gt;
    When investigating the sytem post-install, I discovered some connectivity
    issues with Samba. Basically, when connecting via a *nix-based machine, we
    were getting symlinks reported as being local to the connecting machine, not
    the server. This meant that symlinks on the server weren&#039;t being followed --
    which caused major issues for those connecting via FTP, Mac, or Linux.
&lt;/p&gt;

 &lt;br /&gt;&lt;a href=&quot;http://weierophinney.net/matthew/archives/89-Server-upgrades,-samba,-and-permissions,-oh-my!.html#extended&quot;&gt;Continue reading &quot;Server upgrades, samba, and permissions, oh my!&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 19 Aug 2005 11:52:41 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/89-guid.html</guid>
    
</item>
<item>
    <title>PHP, Cgiapp, and extensibility</title>
    <link>http://weierophinney.net/matthew/archives/61-PHP,-Cgiapp,-and-extensibility.html</link>
            <category>Linux</category>
            <category>PHP</category>
    
    <comments>http://weierophinney.net/matthew/archives/61-PHP,-Cgiapp,-and-extensibility.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=61</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=61</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    At work this week, Rob was doing some monitoring of our bandwidth usage. We
    have SNMP on each of our servers now, and he uses MRTG to create bandwidth
    usage graphs that are updated every five minutes or so. He&#039;s been monitoring
    since late last year.
&lt;/p&gt;
&lt;p&gt;
    Before January, we had two systems going. The first, legacy, system hosted
    the majority of the content from garden.org, and was done using Tango 2000,
    a web application server that ran on top of IIS and Windows NT 4. I say
    &#039;ran&#039;, because Tango 2000 was the last version to ship; the company that
    made it stopped supporting it a year later. This meant we could not upgrade
    our server&#039;s OS to Windows 2000 or 2003, nor could we switch to a more
    secure web server, etc. It was a time bomb waiting to happen.
&lt;/p&gt;
&lt;p&gt;
    The second system is a basic LAMP system -- Linux + Apache + MySQL + PHP.
    Rob began migrating applications to it shortly after he started at NGA 3
    years ago, one application at a time. Mostly, new applications were placed
    on it, though in May 2003, he and the other programmer who was there at the
    time started migrating old applications to the techology. Part of the reason
    I was hired was to continue this migration.
&lt;/p&gt;
&lt;p&gt;
    The migration was time consuming, and plenty of other projects often got in
    the way. However, starting last July, we made a big push to get it all
    ported over -- before the old WinNT server fails on us. In January, we were
    able to rollout the new garden.org, which runs on this new technology.
&lt;/p&gt;
&lt;p&gt;
    A big reason we were able to finish is because of Cgiapp. I originally
    ported it to PHP last year around this time, and knew that while I wanted to
    develop new applications using it, I wasn&#039;t so sure I could sell Rob on it.
&lt;/p&gt;
&lt;p&gt;
    Amazingly, it didn&#039;t take much to convince him. We had already started using
    Smarty for templates just before this, and were also using OOP in new
    development. Cgiapp just helped unify these technologies and to provide a
    nice, standard framework with which to program.
&lt;/p&gt;
&lt;p&gt;
    This last can not be emphasized enough. We started developing all
    applications in three places: an API for data access, a Cgiapp-based
    application, and our templates. Either one of us could pick up development
    of an application from the other without having to spend a day or two
    familiarizing ourselves with the idiosyncracies of what the other had
    decided was the programming paradigm of the day. Sure, we still have our own
    programming styles, but the framework makes it easy to debug or extend each
    others programs painlessly.
&lt;/p&gt;
&lt;p&gt;
    Now, back to the bandwidth reports: Rob has noticed that our bandwidth usage
    has been growing steadily on the new server since we switched garden.org
    over -- a 45 degree line. At one point this week, our outgoing bandwidth was
    almost 3 T1s -- and we were having no performance issues whatsoever. This
    simply would not have been possible on the old system -- nor without Cgiapp.
    We&#039;ve managed to produce both a hardware architecture and a programming
    framework that has proved immensely scalable -- which will in turn save the
    organization money.
&lt;/p&gt;
&lt;p&gt;
    I love open source! How else can you create such high-performing software
    without paying through the nose for it?
&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sat, 02 Apr 2005 21:41:10 -0500</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/61-guid.html</guid>
    
</item>
<item>
    <title>Get Firefox!</title>
    <link>http://weierophinney.net/matthew/archives/42-Get-Firefox!.html</link>
            <category>Linux</category>
            <category>Personal</category>
    
    <comments>http://weierophinney.net/matthew/archives/42-Get-Firefox!.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=42</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=42</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Those who know me know that I love linux and open source. One particular
    program that firmly committed me to open source software is the Mozilla
    project -- a project that took the Netscape browser&#039;s codebase and ran with
    it to places I know I never anticipated when I first heard of the project.
&lt;/p&gt;
&lt;p&gt;
    What do I like about Mozilla? Well, for starters, and most importantly,
    tabbed browsing changed the way I work. What is tabbed browsing? It&#039;s the
    ability to have multiple tabs in a browser window, allowing you to switch
    between web pages without needing to switch windows.
&lt;/p&gt;
&lt;p&gt;
    Mozilla came out with a standalone browser a number of months back called,
    first Phoenix, then Firebird, and now Firefox. This standalone browser has a
    conservative number of basic features, which allow for a lean download --
    and yet, these basic features, which include tabbed browsing and disabling
    popups, far surpass Internet Explorer&#039;s features. And there are many
    extensions that you can download and integrate into the browser.
&lt;/p&gt;
&lt;p&gt;
    One such extension is a tabbed browsing extension that makes tabbed browsing
    even more useful. With it, I can choose to have any links leaving a site go
    to a new tab; or have bookmarks automatically load in a new tab; or group
    tabs and save them as bookmark folders; or drag a tab to a different
    location in the tabs (allowing easy grouping).
&lt;/p&gt;
&lt;p&gt;
    Frankly, there&#039;s few things I can find that Firefox can&#039;t do.
&lt;/p&gt;
&lt;p&gt;
    And, on top of that, it&#039;s not integrated into the operating system. So, if
    you&#039;re on Windows, that means if you use Firefox, you&#039;re less likely to end
    up with spyware and adware -- which often is downloaded and installed by
    special IE components just by visiting sites -- ruining your internet
    experience.
&lt;/p&gt;
&lt;p&gt;
    So, spread the word: Firefox is a speedy, featureful, SECURE alternative to
    Internet Explorer!
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.spreadfirefox.com/?q=affiliates&amp;id=0&amp;t=85&quot;&gt;Get
        Firefox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Fri, 24 Sep 2004 10:33:30 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/42-guid.html</guid>
    
</item>
<item>
    <title>What's keeping that device in use?</title>
    <link>http://weierophinney.net/matthew/archives/38-Whats-keeping-that-device-in-use.html</link>
            <category>Linux</category>
            <category>Personal</category>
    
    <comments>http://weierophinney.net/matthew/archives/38-Whats-keeping-that-device-in-use.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=38</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    Ever wonder what&#039;s keeping that device in use so you can&#039;t unmount it? It&#039;s
    happened to me a few times. The tool to discover this information?
    &lt;kbd&gt;lsof&lt;/kbd&gt;.
&lt;/p&gt;
&lt;p&gt;
    Basically, you type something like: &lt;kbd&gt;lsof /mnt/cdrom&lt;/kbd&gt; and it gives
    you a &lt;kbd&gt;ps&lt;/kbd&gt;-style output detailing the PID and process of the
    processes that are using the cdrom. You can then go and manually stop those
    programs, or kill them yourself.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 11 Sep 2004 21:27:11 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/38-guid.html</guid>
    
</item>
<item>
    <title>Binary packages for Gentoo</title>
    <link>http://weierophinney.net/matthew/archives/30-Binary-packages-for-Gentoo.html</link>
            <category>Linux</category>
            <category>Personal</category>
    
    <comments>http://weierophinney.net/matthew/archives/30-Binary-packages-for-Gentoo.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;d read that you could get binary packages for gentoo, thus alleviating the
    need to compile everything. (Of course, then  you lose some of the benefits
    of compiling everything, but you gain in speed...) Unfortunately, I mistook
    this with ebuilds, and never quite figured it out.
&lt;/p&gt;
&lt;p&gt;
    The key is to throw the -g flag:
&lt;/p&gt;
&lt;pre&gt;    % emerge -g gnumeric # which is like &#039;emerge --getbinpkg gnumeric&#039;
&lt;/pre&gt;
&lt;p&gt;
    I also learned how to update packages tonight:
&lt;/p&gt;
&lt;pre&gt;    % emerge sync             # to sync your mirror with the gentoo mirrors
    % emerge --update portage # if necessary
    % emerge --update system  # updates core system files
    % emerge --update world   # updates all packages 
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Tue, 27 Apr 2004 22:48:53 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/30-guid.html</guid>
    
</item>
<item>
    <title>Gentoo for several weeks</title>
    <link>http://weierophinney.net/matthew/archives/31-Gentoo-for-several-weeks.html</link>
            <category>Linux</category>
            <category>Personal</category>
    
    <comments>http://weierophinney.net/matthew/archives/31-Gentoo-for-several-weeks.html#comments</comments>
    <wfw:comment>http://weierophinney.net/matthew/wfwcomment.php?cid=31</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://weierophinney.net/matthew/rss.php?version=2.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    

    <author>nospam@example.com (Matthew Weier O'Phinney)</author>
    <content:encoded>
    &lt;p&gt;
    I&#039;ve had a bunch of problems with my new computer -- it uses ACPI, but if I
    load the ACPI modules, it won&#039;t boot; if I don&#039;t load them, I have to go
    through contortions to get the ethernet working, and it won&#039;t power down;
    and a bunch of other little stuff.
&lt;/p&gt;
&lt;p&gt;
    So, a few weeks ago, I thought, what the heck? Why not try &lt;a href=&quot;http://www.gentoo.org&quot;&gt;Gentoo&lt;/a&gt;? I&#039;ve been reading about it
    since it first came out, and I remember talking with Duane about it once,
    and it has a reputation for both being cutting edge and stable. Heck, even
    Wil Wheaton&#039;s endorsing it... it can&#039;t be &lt;b&gt;all&lt;/b&gt; bad, right?
&lt;/p&gt;
&lt;p&gt;
    I had a few misstarts -- bad CDs, not quite getting how the chroot thing
    worked, problems with DNS (which I &lt;em&gt;still&lt;/em&gt; don&#039;t understand; and Rob
    has them as well, so it&#039;s not just me). But once I got it installed... well,
    I&#039;m impressed.
&lt;/p&gt;
&lt;p&gt;
    The thing about Gentoo is, it &lt;em&gt;compiles&lt;/em&gt; everything from source. It&#039;s
    like &lt;a href=&quot;http://www.debian.org&quot;&gt;Debian&lt;/a&gt;, in that it fetches all
    dependencies and installs those... but it&#039;s all source. So it&#039;s not exactly
    fast. But because everything is compiled, and because you setup C flags
    specific to your machine, what you get is incredibly optimized for your own
    machine. This 1.6GHz machine simply flies. And the memory usage &lt;em&gt;just
        stays low&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
    I&#039;d like to use it for my server... but I can&#039;t really take the server down
    at this point when it&#039;s making both my mom and myself money. But what a
    great system... I only wish I&#039;d used it for the mail server at work.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 22 Apr 2004 22:10:10 -0400</pubDate>
    <guid isPermaLink="false">http://weierophinney.net/matthew/archives/31-guid.html</guid>
    
</item>

</channel>
</rss>