<?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>&lt;?paul - Op-Ed</title>
    <link>http://blog.preinheimer.com/</link>
    <description>Paul Reinheimer</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.3 - http://www.s9y.org/</generator>
    <pubDate>Mon, 04 Jan 2010 18:59:00 GMT</pubDate>

    <image>
        <url>http://blog.preinheimer.com/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: &lt;?paul - Op-Ed - Paul Reinheimer</title>
        <link>http://blog.preinheimer.com/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>WonderProxy - Server Status</title>
    <link>http://blog.preinheimer.com/index.php?/archives/348-WonderProxy-Server-Status.html</link>
            <category>Op-Ed</category>
    
    <comments>http://blog.preinheimer.com/index.php?/archives/348-WonderProxy-Server-Status.html#comments</comments>
    <wfw:comment>http://blog.preinheimer.com/wfwcomment.php?cid=348</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.preinheimer.com/rss.php?version=2.0&amp;type=comments&amp;cid=348</wfw:commentRss>
    

    <author>nospam@example.com (Paul Reinheimer)</author>
    <content:encoded>
    A few weeks ago I launched the &lt;a href=&quot;http://wonderproxy.com/?from=blog&quot;&gt;WonderProxy&lt;/a&gt; website, one of the first decisions I made when working on it was the network status bar shown on the left side. That&#039;s a nearly live showing of the state of all the servers in the network (as of when the page loads). &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;What I Did&lt;/h3&gt;The box with Nagios running on it runs real tests against all the proxies in the network on a regular basis. I do mean real tests: it uses curl to make a request against a script on a different web server, which checks the headers to ensure that the correct headers are being used. This checks: the proxy is running, the proxy is listening on the correct port, the proxy is able to authenticate users, the proxy is able to retrieve remote documents and return them. Every minute the Nagios box collates the data for all the servers and creates a .json document. That document is then pushed to the web serving machine, ready for consumption by obliging clients. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Note, I&#039;ve said &quot;what I did&quot;, in reality the JavaScript ninjary was done by &lt;a href=&quot;http://neato.co.nz&quot;&gt;Christine&lt;/a&gt;, and the curl ninjary was done by my obliging sys-admin Will&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Why I Did It&lt;/h3&gt;Presently, I deal with upwards of twenty hosts between professional and personal projects, that&#039;s a lot. I&#039;ve probably dealt with another ten that I’ve terminated relationships over my professional career. All in all, I’m sick of the hoops that they make me jump through to find out what&#039;s going wrong. &lt;br /&gt;
Here&#039;s a typical outage for me:&lt;br /&gt;
0 minutes - Nagios notifies me that something is wrong&lt;br /&gt;
+2 - I&#039;ve logged into nagios, and attempted to log into the affected system for more information, confirming the outage&lt;br /&gt;
+9 - I&#039;m on the website for the host of the affected system, finding absolutely no helpful information.&lt;br /&gt;
+10 - I&#039;ve started trying to figure out what my login credentials are for the affected system&#039;s hosting provider.&lt;br /&gt;
+11 - I&#039;ve logged in, found no more information&lt;br /&gt;
+12 - File a ticket with the host&lt;br /&gt;
... &lt;br /&gt;
+35 - Nagios informs me that the service is back up&lt;br /&gt;
+90 - Host replies with some generic &quot;something went wrong on our end, we fixed it, we may credit your account with $0.12 later&quot; message.&lt;br /&gt;
&lt;br /&gt;
I argue this is patently absurd. Some companies put on a front about being better about this sort of thing, but then an outage occurs and the one girl/guy with access to the twitter account is on vacation, or asleep, or at the movies so nothing happens.&lt;br /&gt;
&lt;br /&gt;
When my box goes down its either my fault, in which case I need to start working my rear end off to bring it back up, or the host is experiencing a real outage, in which case I should just sit on my hands and wait. In that typical listing I&#039;ve indicated above I don’t know which situation I’m in until 90 minutes on, though I can start poking at logs 35 minutes in. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;What I Hope This Means&lt;/h3&gt;&lt;br /&gt;
If you&#039;re a WonderProxy customer running tests and something breaks, you can log onto the WonderProxy website and know immediately if the proxy is broken, or if you should be looking harder at your own infrastructure. &lt;br /&gt;
&lt;br /&gt;
Thoughts? Does your host do better? 
    </content:encoded>

    <pubDate>Mon, 04 Jan 2010 13:59:00 -0500</pubDate>
    <guid isPermaLink="false">http://blog.preinheimer.com/index.php?/archives/348-guid.html</guid>
    
</item>
<item>
    <title>Functional URLs - More than Developer Vanity</title>
    <link>http://blog.preinheimer.com/index.php?/archives/346-Functional-URLs-More-than-Developer-Vanity.html</link>
            <category>Op-Ed</category>
    
    <comments>http://blog.preinheimer.com/index.php?/archives/346-Functional-URLs-More-than-Developer-Vanity.html#comments</comments>
    <wfw:comment>http://blog.preinheimer.com/wfwcomment.php?cid=346</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://blog.preinheimer.com/rss.php?version=2.0&amp;type=comments&amp;cid=346</wfw:commentRss>
    

    <author>nospam@example.com (Paul Reinheimer)</author>
    <content:encoded>
    I read &lt;a href=&quot;http://phpadvent.org/2009/do-urls-matter-by-david-sklar&quot;&gt;David Sklar&#039;s post&lt;/a&gt; to the PHP Advent calendar this morning, and as the title rather clearly points out, I disagree with his conclusion. &lt;br /&gt;
&lt;br /&gt;
Before I go any further I&#039;d like to clarify something in the title, namely the word &quot;functional&quot;. I&#039;m using this meaning from &lt;a href=&quot;http://dictionary.reference.com/browse/functional&quot;&gt;dictionary.reference.com&lt;/a&gt;: &lt;br /&gt;
&lt;blockquote&gt;having or serving a utilitarian purpose; capable of serving the purpose for which it was designed: functional architecture; a chair that is functional as well as decorative.&lt;/blockquote&gt;&lt;br /&gt;
If you define a URL&#039;s purpose as simply being an instruction to a browser or other application, then sure a URL such as this one qualifies:&lt;br /&gt;
&lt;blockquote&gt;http://www.realtor.ca/map.aspx?&amp;vs=VEResidential&amp;beds=0-0&amp;baths=0-0&amp;minp=0&amp;maxp=0&amp;area=Montreal%2c+Quebec&amp;trt=2#acr:false;ac:false;baths:0-0;beds:0-0;fp:false;gar:false;pmin:175000;pmax:200000;rmin:0;rmax:0;openh:false;&lt;br /&gt;
pool:false;stories:0-0;buildingstyle:;buildingtypeid:;viewtypeid:;waterfront:false;forsale:true;forrent:false;orderBy:A;sortBy:1;&lt;br /&gt;
LisStartDate:;mapZ:12;page:1;mapC:45.49792488715173, -73.56531143188478;curView:0;&lt;/blockquote&gt;&lt;br /&gt;
That said, the only purpose of a URL isn&#039;t to give an instruction to a browser or other application. It&#039;s an indicator to the user, telling them what the page is about, and one they use quite a bit[1]. It&#039;s an address that does still need to be typed on occasion, or at the very least copy/pasted into a variety of mediums. It should be a destructible resource that users can use to navigate the site and obtain what they&#039;re looking for.&lt;br /&gt;
&lt;br /&gt;
Compare: &lt;br /&gt;
&lt;blockquote&gt;store.example.com/plv2/product.php?refid=4AF82BC932&lt;/blockquote&gt;&lt;br /&gt;
and&lt;br /&gt;
&lt;blockquote&gt;store.example.com/toys/dolls/barbie &lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
In the first case you&#039;re stuck, there&#039;s no options to you for navigating the site beyond the on screen options. In the latter case you can move from looking at Barbie, to looking at all dolls, to looking at all toys, to looking at the entire product line of the store rather easily. I will concede that not all users will think to navigate in that manner, but some will, and they have the option.&lt;br /&gt;
&lt;br /&gt;
In conclusion: URLs are more than some text an end user clicks on, and having good ones has more worth than letting the developer look cool in front of their peers: It&#039;s an actively used resource. Having clear, functional URLs is a worthwhile goal for any web property. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[1] &lt;a href=&quot;http://www.useit.com/alertbox/990321.html&quot;&gt;Jakob Nielsen&#039;s Alertbox, March 21, 1999:&lt;/a&gt; 2007 update at the bottom. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;p.s. I may receive a beating shortly for the rather ugly URL this blog post possess while standing on a soap box shouting for better URLs. Software I build myself does include more functional addressing, compare &lt;a href=&quot;http://wonderproxy.com/servers/Miami&quot;&gt;wonderproxy.com/servers/Miami/&lt;/a&gt; and  &lt;a href=&quot;http://wonderproxy.com/servers/&quot;&gt;wonderproxy.com/servers/&lt;/a&gt; (I&#039;m working on the case sensitivity thing). &lt;/i&gt; 
    </content:encoded>

    <pubDate>Fri, 04 Dec 2009 09:36:04 -0500</pubDate>
    <guid isPermaLink="false">http://blog.preinheimer.com/index.php?/archives/346-guid.html</guid>
    
</item>
<item>
    <title>noreply@ Needs to Die</title>
    <link>http://blog.preinheimer.com/index.php?/archives/344-noreply-Needs-to-Die.html</link>
            <category>Op-Ed</category>
    
    <comments>http://blog.preinheimer.com/index.php?/archives/344-noreply-Needs-to-Die.html#comments</comments>
    <wfw:comment>http://blog.preinheimer.com/wfwcomment.php?cid=344</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://blog.preinheimer.com/rss.php?version=2.0&amp;type=comments&amp;cid=344</wfw:commentRss>
    

    <author>nospam@example.com (Paul Reinheimer)</author>
    <content:encoded>
    It&#039;s 2009, there&#039;s &lt;em&gt;absolutely no reason&lt;/em&gt; to make it hard for your customers to talk to you. The technology exists now, and has for a while, to import whatever mail you receive into whatever ticketing system you&#039;re using. Sure, internally use whatever system you&#039;re happy with, there&#039;s lots of inefficiencies in trying to handle any volume of support through traditional mail clients. Your clients on the other hand, aren&#039;t wizards at whatever system you&#039;re using, but they do know how to use their email client.&lt;br /&gt;
&lt;br /&gt;
When you send a client an email, monitor the address and import replies.&lt;br /&gt;
&lt;br /&gt;
Yes, there&#039;s challenges, watching vacation auto-responders (&quot;Hi, I&#039;m on vacation! I&#039;ll come back on the 20th&quot;) and ticketing systems (“Thank’s for emailing Widget-Co, Your email will be answered soonish!”) get into a reply fight isn&#039;t pretty. Handling character sets, HTML formatted mail, etc. all present challenges. But these are manageable problems.&lt;br /&gt;
&lt;br /&gt;
The only reason not to import email into your ticketing system is if you don&#039;t actually want to talk to your customers.  
    </content:encoded>

    <pubDate>Thu, 19 Nov 2009 21:02:47 -0500</pubDate>
    <guid isPermaLink="false">http://blog.preinheimer.com/index.php?/archives/344-guid.html</guid>
    
</item>

</channel>
</rss>