<?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>IMO - ASF</title>
    <link>http://jimjag.com/imo/</link>
    <description>Rants from a Curmudgeon</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 2.3.5 - http://www.s9y.org/</generator>
    <pubDate>Mon, 04 Dec 2017 12:57:45 GMT</pubDate>

    <image>
    <url>http://jimjag.com/imo/templates/2k11/img/s9y_banner_small.png</url>
    <title>RSS: IMO - ASF - Rants from a Curmudgeon</title>
    <link>http://jimjag.com/imo/</link>
    <width>100</width>
    <height>21</height>
</image>

<item>
    <title>The Path to Apache OpenOffice 4.2.0</title>
    <link>http://jimjag.com/imo/index.php?/archives/272-The-Path-to-Apache-OpenOffice-4.2.0.html</link>
            <category>ASF</category>
            <category>Open Source</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/272-The-Path-to-Apache-OpenOffice-4.2.0.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=272</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=272</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    &lt;p&gt;It is no secret that, for awhile at least, Apache OpenOffice had lost its groove.&lt;/p&gt;

&lt;p&gt;Partly it was due to external issues. Mostly that the project and the committers were spending a &lt;em&gt;&lt;strong&gt;lot&lt;/strong&gt;&lt;/em&gt;&amp;#160;of their time and energies battling and correcting the FUD associated around the project. Nary a week would go by without the common refrain &amp;quot;&lt;em&gt;OpenOffice is Dead. Kill it already!&lt;/em&gt;&amp;quot; and constant (clueless) rehashes of the history between OpenOffice and LibreOffice. With all that, it is easy and understandable to see why morale within the AOO community would have been low. Which would then reflect and affect development on the project itself.&lt;/p&gt;

&lt;p&gt;So more so than anything, what the project needed was a good ol&amp;#39; shot of adrenaline in the arm and some encouragement to keep the flame alive. Over the last few months this has succeeded beyond our dreams. After an admittedly way-too-long period, we finally &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=720&amp;amp;entry_id=272&quot; title=&quot;https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-1&quot;  onmouseover=&quot;window.status=&#039;https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-1&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;released AOO 4.1.4&lt;/a&gt;. And we are actively working on not only a 4.1.5 release but also preparing plans for our 4.2.0 release.&lt;/p&gt;

&lt;p&gt;And it&amp;#39;s there that you can help.&lt;/p&gt;

&lt;p&gt;Part of what AOO really wants to be is a simple, easy-to-user, streamlined office suite for the largest population of people possible. This includes supporting old and long deprecated OSs. For example, our goal is to continue to support Apple OSX 10.7 (&lt;em&gt;Lion&lt;/em&gt;) with our 4.2.0 release. However, there is one platform which we are simply unsure about what to do, and how to handle it. And what makes it even more interesting is that it&amp;#39;s our reference build system for AOO 4.1.x: CentOS5&lt;/p&gt;

&lt;p&gt;Starting with AOO 4.2.0, we are defaulting to GIO instead of&amp;#160;Gnome VFS. The problem is that CentOS5 doesn&amp;#39;t support GIO, which means that if we continue with CentOS5 as our reference build platform &lt;em&gt;&lt;strong&gt;for our community builds&lt;/strong&gt;&lt;/em&gt;, then all Linux users who use and depend on those community builds will be &amp;quot;stuck&amp;quot; with Gnome VFS instead of GIO. If instead we start using CentOS6 as our community build server. we leave CentOS5 users in a lurch&amp;#160;(NOTE: CentOS5 users would still be able to&amp;#160;&lt;strong&gt;build&lt;/strong&gt;&amp;#160;AOO 4.2.0 on their own, it&amp;#39;s just that the binaries that the AOO project supplies won&amp;#39;t work). So we are looking at 3 options:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;We stick w/ CentOS5 as our ref build system for 4.2.0 but force&amp;#160;Gnome VFS.&lt;/li&gt;
	&lt;li&gt;We move to CentOS6, accept the default of GIO but understand that&amp;#160;this moves CentOS5 as a non-supported OS &lt;em&gt;&lt;strong&gt;for our community builds&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
	&lt;li&gt;Just as we offer Linux 32 and 64bit builds, starting w/ 4.2.0&amp;#160;we offer CentOS5 community builds (w/ Gnome VFS) &lt;em&gt;&lt;strong&gt;IN ADDITION&amp;#160;TO&lt;/strong&gt;&lt;/em&gt; CentOS6 builds (w/ GIO). (i.e.: 32bit-Gnome VFS, 64bit-Gnome VFS,&amp;#160;32bit-GIO, 64bit-GIO).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Which one makes the most sense? Join the conversation and the discussion on the &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=721&amp;amp;entry_id=272&quot; title=&quot;https://lists.apache.org/list.html?dev@openoffice.apache.org&quot;  onmouseover=&quot;window.status=&#039;https://lists.apache.org/list.html?dev@openoffice.apache.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;AOO dev mailing list&lt;/a&gt;!&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Mon, 04 Dec 2017 07:57:45 -0500</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/272-guid.html</guid>
    
</item>
<item>
    <title>Apache httpd Reverse Proxy</title>
    <link>http://jimjag.com/imo/index.php?/archives/266-Apache-httpd-Reverse-Proxy.html</link>
            <category>ASF</category>
            <category>Open Source</category>
            <category>Programming</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/266-Apache-httpd-Reverse-Proxy.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=266</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=266</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    &lt;p&gt;I&amp;#39;ve always considered the reverse proxy capability of &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=714&amp;amp;entry_id=266&quot; title=&quot;http://httpd.apache.org&quot;  onmouseover=&quot;window.status=&#039;http://httpd.apache.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;em&gt;Apache httpd&lt;/em&gt;&lt;/a&gt; as one of the real (hidden) gems of the web server. Of course, httpd has a lot of gems: multiple MPMs; a plethora of content creation and rewriting capabilities; dynamic loadable modules; performance and concurrency easily matching its peers; in-depth Lua, Perl and PHP support; and, of course, the vast number of external, 3rd party modules out there. But, for me, the reverse proxy has always been one of its crowning achievements.&lt;/p&gt;

&lt;p&gt;So even though &lt;em&gt;Apache httpd&lt;/em&gt; excels at delivering both static and dynamic content, an extremely common use-case is for &lt;em&gt;httpd&lt;/em&gt; to be used as a &amp;quot;simple&amp;quot; reverse proxy (aka: &amp;quot;gateway&amp;quot;). In this scenario, &lt;em&gt;httpd&lt;/em&gt; acts basically like a switch, accepting requests but handing those requests off to servers on the backend. Those backend servers (&amp;quot;origin servers&amp;quot;) are where the content really lives, or is created, but the outside never sees them; never even knows they exists. As far as the Web is concerned, that front end gateway is sole server.&lt;/p&gt;

&lt;p&gt;The advantages of this setup are numerous and obvious; The implementation provides for high-availability, load balancing, failover, reliability, etc... but &lt;strong&gt;only&lt;/strong&gt; if the gateway web server, the reverse proxy itself, has that capability. Fortunately, &lt;em&gt;Apache httpd&lt;/em&gt; does. It has all that and more.&lt;/p&gt;

&lt;p&gt;Because it is such a common use-case, and because this capability to so vital to the design and architecture of enterprise web infrastructure, including Cloud setups, I&amp;#39;ve focused a lot of adding features and improvements to &lt;em&gt;httpd&lt;/em&gt;&amp;#39;s reverse proxy. Along with the other committers on the &lt;em&gt;httpd&lt;/em&gt; project, not only has load balancing been added (and has been for quite awhile), but there are various load balancing methods included, with the ability to add your own implementation very easily. With the &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=715&amp;amp;entry_id=266&quot; title=&quot;http://httpd.apache.org/docs/current/mod/mod_proxy_balancer.html#balancer_manager&quot;  onmouseover=&quot;window.status=&#039;http://httpd.apache.org/docs/current/mod/mod_proxy_balancer.html#balancer_manager&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;strong&gt;balancer-manager&lt;/strong&gt;&lt;/a&gt;, the devops admin gets not only &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=716&amp;amp;entry_id=266&quot; title=&quot;http://events.linuxfoundation.org/sites/events/files/slides/HTTPD-2.4-Proxy_0.pdf&quot;  onmouseover=&quot;window.status=&#039;http://events.linuxfoundation.org/sites/events/files/slides/HTTPD-2.4-Proxy_0.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;a view into the current state&lt;/a&gt; of the reverse proxy, but can also &lt;strong&gt;dynamically&lt;/strong&gt; change various reverse proxy parameters &lt;strong&gt;on-the-fly&lt;/strong&gt;, with these changes &lt;strong&gt;surviving a server restart&lt;/strong&gt;. The reverse proxy supports not only &lt;em&gt;HTTP&lt;/em&gt;, but also &lt;em&gt;FastCGI&lt;/em&gt;, &lt;em&gt;Websockets&lt;/em&gt;, &lt;em&gt;AJP&lt;/em&gt; and others. And just recently, I finished work on something that has been on my &lt;strong&gt;TODO&lt;/strong&gt; list for awhile, and something people have wanted for awhile as well: &lt;em&gt;Dynamic Health Checking&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In the normal situations, before &lt;em&gt;httpd&lt;/em&gt; sends a request to the backend origin server, it checks to see if it is still &amp;quot;alive&amp;quot; and able to handle the request. Now this is great but it would be even better if, in parallel, &lt;em&gt;httpd&lt;/em&gt; was also checking if those backend servers were alive or not independent of requests being passed to them. In other words, not only &lt;strong&gt;static&lt;/strong&gt; health checks but also &lt;strong&gt;dynamic&lt;/strong&gt; checks as well.&lt;/p&gt;

&lt;p&gt;Well, now &lt;em&gt;Apache httpd &lt;/em&gt;can &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=717&amp;amp;entry_id=266&quot; title=&quot;http://httpd.apache.org/docs/trunk/mod/mod_proxy_hcheck.html&quot;  onmouseover=&quot;window.status=&#039;http://httpd.apache.org/docs/trunk/mod/mod_proxy_hcheck.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;do exactly that&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Right now this capability exists just on the trunk branch of the server, but I anticipate it being fast-tracked backported to the 2.4.x branch. There are also some addition features I&amp;#39;d like to add in, such as better interaction with the &lt;strong&gt;balancer-manager&lt;/strong&gt; before it is backported. But before too long, the &lt;em&gt;Apache httpd&lt;/em&gt; reverse proxy will have this capability and be even better than it is now, and continuing to be even better than its peers, whether they are &lt;em&gt;Open Core&lt;/em&gt; or commericial or truly &lt;em&gt;Open Source&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Try it out! And if you are interested in helping develop &lt;em&gt;Apache httpd&lt;/em&gt;, jump in and join the fun. Unlike other web server projects, contributor and commit privs can obtained by anyone, not just specially picked people, like &amp;quot;employees&amp;quot; or stuff.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Tue, 26 Jan 2016 08:23:01 -0500</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/266-guid.html</guid>
    
</item>
<item>
    <title>Help Jamal Learn Coding</title>
    <link>http://jimjag.com/imo/index.php?/archives/265-Help-Jamal-Learn-Coding.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/265-Help-Jamal-Learn-Coding.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=265</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=265</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    &lt;p&gt;OK, so my house is basically the official address for the Apache Software Foundation. If you check out the address for the ASF on various documents, as well as our D&amp;amp;B listing, it&amp;#39;ll refer back to my old homestead. This is because back when we founded the ASF, out of the Apache Group, we needed to list some address on our records, and since I had basically just moved, my address seemed the most stable. And then, after serving initially as EVP and Secretary, those roles kind of cemented my address as the canon location for the ASF.&lt;/p&gt;

&lt;p&gt;Over the years this has resulted in a variety of interesting situations, such as random people coming up to ask for job openings, taking pictures of &amp;quot;Apache HQ&amp;quot; and even&amp;#160;numerous visits by the FBI as they investigate various web-related issues. But this also means that I receive a lot of postal mail directed to the ASF as well, and these are just as interesting. There are the numerous requests for help, letters demanding to know why this &amp;quot;Apache stuff&amp;quot; is on their devices and demands that we stop installing our &amp;quot;junk&amp;quot; on their computers, and the occasional &amp;quot;Thank You&amp;quot; letter from someone truly appreciative and what we do.&lt;/p&gt;

&lt;p&gt;And very rarely, a letter which calls me to action.&lt;/p&gt;

&lt;p&gt;I received such &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=713&amp;amp;entry_id=265&quot; title=&quot;http://jimjag.com/misc/HelpJamal.pdf&quot;  onmouseover=&quot;window.status=&#039;http://jimjag.com/misc/HelpJamal.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; id=&quot;helpjamal&quot; name=&quot;helpjamal&quot; onclick=&quot;window.open(this.href, &#039;&#039;, &#039;resizable=yes,status=yes,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=yes,dependent=no&#039;); return false;&quot;&gt;a letter&lt;/a&gt; this week.&lt;/p&gt;

&lt;p&gt;The letter was from Jamal Reid, an inmate at the State Correctional Institution at Dallas in Pennsylvania. While serving his time, he is trying to learn programming and the selection of books available to him are woefully out of date. He sees programming, and career as an Application Developer, as his ticket out from a criminal life. He wants to learn and he wants to be a viable candidate, with the necessary skills, for a job in programming once he completes his sentence. All he asks is that, if possible, if we could &amp;quot;&lt;em&gt;donate a few books&lt;/em&gt;&amp;quot; to help.&lt;/p&gt;

&lt;p&gt;Well, I already have a box of books ready to ship out. But I am reaching out to everyone who follows me, or also believes in the power of community within the Open Source eco-system, to also donate what books you can. During this time of year, one of the most cherished stories is A Christmas Carol, a tale of redemption. Let&amp;#39;s share the potential of that redemption.&lt;/p&gt;

&lt;p&gt;Let&amp;#39;s #HelpJamal.&lt;/p&gt;

&lt;p&gt;His address is in the letter linked to above, and I strongly encourage you to read it. I also include it here to make it even easier.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Jamal Reid&lt;br /&gt;
GF6119&lt;br /&gt;
State Correctional Institution&lt;br /&gt;
1000 Follies Rd&lt;br /&gt;
Dallas, PA 18612&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Wed, 16 Dec 2015 08:59:00 -0500</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/265-guid.html</guid>
    
</item>
<item>
    <title>Being the Old One</title>
    <link>http://jimjag.com/imo/index.php?/archives/260-Being-the-Old-One.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/260-Being-the-Old-One.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=260</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=260</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    &lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;This may come off as &amp;quot;sour grapes&amp;quot;, or being defensive, but that&#039;s not that case. Instead, it&#039;s to show how, even now, when we should know better, technological decisions are sometimes still based on FUD or misinformation, and sometimes even due to &amp;quot;viral&amp;quot; marketing. Instead of making a choice based on &amp;quot;what is best for us&amp;quot;, decisions are being made on &amp;quot;what is everybody else doing&amp;quot; or, even worse, &amp;quot;what&#039;s the new hotness.&amp;quot; Sometimes, being the Old One ain&#039;t easy, since you are seen as past your prime.&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;Yeah, right.&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;Last week, I presented at &lt;a target=&quot;_blank&quot; href=&quot;http://jimjag.com/imo/exit.php?url_id=700&amp;amp;entry_id=260&quot; title=&quot;http://events.linuxfoundation.org/events/apachecon-north-america&quot;  onmouseover=&quot;window.status=&#039;http://events.linuxfoundation.org/events/apachecon-north-america&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ApacheCon NA 2015&lt;/a&gt;, and one of my sessions was &amp;quot;&lt;a target=&quot;_blank&quot; href=&quot;http://jimjag.com/imo/exit.php?url_id=704&amp;amp;entry_id=260&quot; title=&quot;http://events.linuxfoundation.org/sites/events/files/slides/HTTPD-2.4-Whats-New.pdf&quot;  onmouseover=&quot;window.status=&#039;http://events.linuxfoundation.org/sites/events/files/slides/HTTPD-2.4-Whats-New.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;What&#039;s New In Apache httpd 2.4&lt;/a&gt;.&amp;quot; The title itself was somewhat ironic, since 2.4 has been out for a coupla years already. But in the presentation, I address this up front: the reason why the talk was (and is) still needed is that people aren&#039;t even looking at &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; anymore. And they really should be.&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; Now don&#039;t get me wrong, this isn&#039;t about &amp;quot;market share&amp;quot; or anything as trivial as that. Although we want as many people to use Apache projects as possible, we are much more focused about creating quality software, and not so much about being a &amp;quot;leader&amp;quot; in that software space. And we are well aware that there are use cases where &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; is not applicable, or the best solution, and that&#039;s great too.&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;First of all, there is still this persistent claim that &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; is slow... of course, part of the question is &amp;quot;slow how?&amp;quot; If you are concerned about request/response time, then &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; allows you to optimize for that, and provides the &lt;em&gt;Prefork&lt;/em&gt; MPM. Sure, this MPM is more heavyweight, but it also provides the lowest latency and fastest transaction times possible. If instead you are concerned about concurrency, then the &lt;em&gt;Event&lt;/em&gt; MPM is for you. The &lt;em&gt;Event&lt;/em&gt; MPM in 2.4 has performance equal to other performance-focused Web Servers, such as &lt;em&gt;Apache Traffic Server&lt;/em&gt; and &lt;em&gt;NGINX&lt;/em&gt;. Even so, whenever you hear people talk about &lt;strong&gt;&lt;em&gt;httpd&lt;/em&gt;&lt;/strong&gt;, the first thing they will say is that &amp;quot;Apache is slow, where-as &#039;foo&#039; was built for speed.&amp;quot;&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;There is also the claim that httpd is too feature-full (or bloated)... Well, I guess we could say &amp;quot;guilty as charged.&amp;quot; One of the design goals of &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; is to be a performant, general web-server. So it includes lots of features that one would want, or need, at the web-server layer. So yes, it includes caching, and proxy capability, and in-line content filtering, and authentication/authorization, and TLS/SSL (frontend and reverse-proxy), and in-server language support, etc... But if you don&#039;t need any of these capabilities, you simply don&#039;t load the modules in; the module design allows you to pick and choose what capabilities you do, or don&#039;t want, which means that your &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; instance is specific to your needs. If you want a web-server with all the bells and whistles, great. But if you want just a barebones, fast &lt;a target=&quot;_blank&quot; href=&quot;http://jimjag.com/imo/exit.php?url_id=702&amp;amp;entry_id=260&quot; title=&quot;http://events.linuxfoundation.org/sites/events/files/slides/HTTPD-2.4-Proxy_0.pdf&quot;  onmouseover=&quot;window.status=&#039;http://events.linuxfoundation.org/sites/events/files/slides/HTTPD-2.4-Proxy_0.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;reverse proxy&lt;/a&gt;, you can have that too. Of course, I won&#039;t go into the irony of &lt;strong&gt;&lt;em&gt;httpd&lt;/em&gt;&lt;/strong&gt; being &amp;quot;blasted&amp;quot; for being bloated, while the hotness-of-the-day is praised for adding features that &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; has had for years. *grin*&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;Finally, we get to the main point: That Apache httpd is old, after all, we just celebrated our 20th anniversary; &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; is &amp;quot;old and busted&amp;quot;, Foo is &amp;quot;new hotness&amp;quot;(&lt;a target=&quot;_blank&quot; href=&quot;http://jimjag.com/imo/exit.php?url_id=703&amp;amp;entry_id=260&quot; title=&quot;https://www.youtube.com/watch?v=ha-uagjJQ9k&quot;  onmouseover=&quot;window.status=&#039;https://www.youtube.com/watch?v=ha-uagjJQ9k&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;*&lt;/a&gt;). Well, again, guilty as charged. The Apache httpd project &lt;strong&gt;is&lt;/strong&gt; old, but &lt;em&gt;&lt;strong&gt;httpd&lt;/strong&gt;&lt;/em&gt; itself isn&#039;t. It is designed for the needs of today&#039;s, and tomorrow&#039;s, web: Async/event-driven design (if required), dynamic reverse-proxying with advanced load-balancing (and end-to-end TLS/SSL support), run-time dynamic configuration, LUA support (module development and runtime), etc...&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;You know what else is old? Linux.&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
&lt;p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt;Makes you think, huh?&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face=&quot;arial,helvetica,sans-serif&quot;&gt; &lt;/font&gt; 
    </content:encoded>

    <pubDate>Thu, 23 Apr 2015 08:00:00 -0400</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/260-guid.html</guid>
    
</item>
<item>
    <title>The Case for a Universal Web Server Load Value</title>
    <link>http://jimjag.com/imo/index.php?/archives/248-The-Case-for-a-Universal-Web-Server-Load-Value.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/248-The-Case-for-a-Universal-Web-Server-Load-Value.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=248</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=248</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    &lt;p&gt;The reverse proxy feature of Apache httpd is an area which I like to particularly hack on. It&#039;s always been, imo, one of the killer features of httpd, but it is especially useful in the Cloud. Being able to dynamically allocate, enable/disable and load balance between back-ends is a &lt;strong&gt;MAJOR&lt;/strong&gt; capability lacking in almost all other &amp;quot;generic&amp;quot; (and even &amp;quot;special-purpose&amp;quot;) web servers. And the functionality of the reverse proxy in Apache 2.4 is pretty much state-of-the-art.&lt;/p&gt; 
&lt;p&gt;But there&#039;s a problem, which is not unique to Apache itself. In general, load balancers such as Apache do their load balancing determination based on values &lt;strong&gt;it&lt;/strong&gt; calculates on the back-ends. Sure, Apache has a pretty nice set of load-balancing algorithms, but it still implies that the front-end (the reverse proxy) is responsible for &lt;em&gt;predicting&lt;/em&gt; the load on the back-end. This is certainly not optimal.&lt;/p&gt; 
&lt;p&gt;Red Hat&#039;s &lt;em&gt;mod_cluster&lt;/em&gt; works around this by creating a &amp;quot;unique&amp;quot; communication channel between Apache and JBoss, which allows JBoss to tell Apache some basic and useful loading parameters on the JBoss server itself. This is great, but limited (and hardly universal). What we really need, imo, is a general, universally agreed-upon method of the back-end sending server load data to the front-end. Something that all back-ends can easily generate (and enable/disable, of course) and something all reverse-proxies can easily parse and use. In other words, we need some sort of unofficial standard (which could eventually become a de-facto standard).&lt;/p&gt; 
&lt;p&gt;Using the assumption that starting simple is best, what I&#039;ve been looking at is adding a simple HTTP Response header to Apache (via mod_header) which returns some subset of load parameters, the idea being that when the back-end sends the actual response, part of the meta-data it returns is some measure of its health and/or load. The front-end can then tuck that data away and use it in its load-balancing determination (while, of course, ensuring that the header is not forwarded to the client). Currently, in the trunk version of httpd (but hoping to backport it to 2.4), I have traditional Unix-type load-average and the percentage of how &amp;quot;idle&amp;quot; and &amp;quot;busy&amp;quot; the web-server is. But is that enough info? Or is that too much? How much data should the front-end want or need? Maybe a single agreed-upon value (ala &amp;quot;load average&amp;quot;) is best... maybe not. These are the kinds of questions to answer.&lt;/p&gt; 
&lt;p&gt;Knowing that Apache httpd powers between 57% and 89% of the web (based on which surveys you use and/or trust), it seems logical to discuss this, and work out the particulars, on the Apache httpd development mailing list. I think the time for something like this &amp;quot;universal web-server load&amp;quot; value is &lt;strong&gt;&lt;em&gt;long&lt;/em&gt;&lt;/strong&gt; overdue. If interested, join the fun on &lt;em&gt;dev@httpd.apache.org&lt;/em&gt;.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 12 Nov 2012 10:00:00 -0500</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/248-guid.html</guid>
    
</item>
<item>
    <title>The silent drum-beat</title>
    <link>http://jimjag.com/imo/index.php?/archives/246-The-silent-drum-beat.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/246-The-silent-drum-beat.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=246</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=246</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    &lt;p&gt;There are some topics which are just too expansive for a simple tweet. This is one of them.&lt;/p&gt; 
&lt;p&gt;Lately, there have been quite a few posts extolling the assumed decrease in the viability and &amp;quot;reason&amp;quot; for the Apache Software Foundation. It&#039;s always fashionable to lump all FOSS foundations, and related entities (such as Github), into one combined group and pick out the &amp;quot;winners&amp;quot; and &amp;quot;losers&amp;quot; and those whose stars are rising and those whose glory days are fading away. With the hubbub around DVCS and git/Github, people look at the ASF, and our measured approach to incorporating git into our workflow policies, and declare that since we have not drank the Kool-Aid, the ASF&#039;s days are done.&lt;/p&gt; 
&lt;p&gt;But all this misses the point about what the ASF is, and who we are, and &lt;em&gt;&lt;strong&gt;why&lt;/strong&gt;&lt;/em&gt; we are. I hope this blog post will clarify some things. 
&lt;/p&gt; 
&lt;p&gt; &lt;/p&gt; &lt;a class=&quot;block_level&quot; href=&quot;http://jimjag.com/imo/index.php?/archives/246-The-silent-drum-beat.html#extended&quot;&gt;Continue reading &quot;The silent drum-beat&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 28 Nov 2011 23:04:00 -0500</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/246-guid.html</guid>
    
</item>
<item>
    <title>Apache httpd 2.4 - one step closer!</title>
    <link>http://jimjag.com/imo/index.php?/archives/244-Apache-httpd-2.4-one-step-closer!.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/244-Apache-httpd-2.4-one-step-closer!.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=244</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=244</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    Today we released the first public beta of the next-gen version of &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=665&amp;amp;entry_id=244&quot; title=&quot;http://httpd.apache.org/&quot;  onmouseover=&quot;window.status=&#039;http://httpd.apache.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Apache httpd&lt;/a&gt;, &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=666&amp;amp;entry_id=244&quot; title=&quot;http://www.apache.org/dist/httpd/Announcement2.3.txt&quot;  onmouseover=&quot;window.status=&#039;http://www.apache.org/dist/httpd/Announcement2.3.txt&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;version 2.4&lt;/a&gt;.

This release is officially called Apache httpd-2.3.11-beta, since we use odd/even numbering (for the minor version number) to signify alpha/beta vs. stable releases.

Most work has been done in improving performance and stability, but as well as adding lots of useful features, especially as we see the demands placed on web servers by cloud environments. This means that the (reverse) proxy module had gotten a lot of special care and attention. But there are also modules to help with more fine-grained control over timeouts and even a basic bandwidth limiting module bundled in.

With this release and the coming of Apache httpd 2.4 GA, you&#039;ll see the popularity and usage of Apache increase even more, as it becomes &lt;b&gt;the&lt;/b&gt; web server for the cloud, bar none.

Cheers!
 
    </content:encoded>

    <pubDate>Mon, 07 Mar 2011 09:05:19 -0500</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/244-guid.html</guid>
    
</item>
<item>
    <title>The JCP Is Dead</title>
    <link>http://jimjag.com/imo/index.php?/archives/242-The-JCP-Is-Dead.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/242-The-JCP-Is-Dead.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=242</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=242</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    ... and Oracle killed it.

By this time, most people know that the &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=655&amp;amp;entry_id=242&quot; title=&quot;http://s.apache.org/JCPIsDead&quot;  onmouseover=&quot;window.status=&#039;http://s.apache.org/JCPIsDead&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ASF has resigned from the JCP EC&lt;/a&gt;.

What was posted was our final version of the notice, but I&#039;d also like to share with the community an earlier, rougher and more &quot;emotional&quot; version. It says the same, but in a more face-to-face conversational way. I feel that both versions represent the disappointment, anger and sadness over this whole issue, which has been fostering since 2006. The below just captures it from a different point of view:

&lt;blockquote&gt;The Apache Software Foundation is resigning from the Java Community Process (JCP) Executive Committee (EC).

On December 7, 2010, by a vote of 12 YES and 3 NO votes, the EC approved the Java 7 and Java 8 JSRs and TCKs under license terms which are fundamentally incompatible with open source. The results of the Java7/8 JSR votes from yesterday mean that the EC has just approved a major fundamental JCP specification which, along with its TCK license, makes distribution of a tested, compatible implementation impossible under *any* open source license by anyone other than Oracle. The EC, by voting in favor of the Java 7/8 JSRs, have given Oracle, who openly ignored the letter of the law as well as the repeatedly stated intent of the community, tacit approval to willfully ignore its contractual obligations, despite any &quot;protests&quot; within their &quot;YES&quot; vote comments. This approval was at the direct expense of a fellow EC member as well as the Java community at large.

Yesterday&#039;s vote is the final straw in an issue which has been ongoing since August 2006 and as described in our &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=656&amp;amp;entry_id=242&quot; title=&quot;http://www.apache.org/jcp/sunopenletter.html&quot;  onmouseover=&quot;window.status=&#039;http://www.apache.org/jcp/sunopenletter.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Open Letter&lt;/a&gt; dated April 10, 2007. The withholding of an acceptable, FOU-free TCK by Sun, and now Oracle, is against both the spirit and the letter of the JSPA.

What is not new is that Oracle continues to violate and not honor the JSPA agreements, which are a foundation of the JCP. What *is* new is that the EC, by fact of their vote, has allowed them to do it. It is obvious that the JCP is not a standards forum, nor a community process at all, but rather a cabal to control the Java ecosystem. The ASF can no longer justify its continued involvement within this entity.

As such, the ASF is removing all official representatives from any and all JSRs. In addition, we will refuse any renewal of our JCP membership and, of course, our EC position.

The ASF is saddened to have to make this move, but we feel that the JCP is completely broken and makes a mockery of the term &quot;community,&quot; a concept which has great value to Apache.
&lt;/blockquote&gt;

Of course, we had hoped that our &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=657&amp;amp;entry_id=242&quot; title=&quot;https://blogs.apache.org/foundation/entry/statement_by_the_asf_board1&quot;  onmouseover=&quot;window.status=&#039;https://blogs.apache.org/foundation/entry/statement_by_the_asf_board1&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;previous blog post&lt;/a&gt; would have spun up more support, but being the pragmatists that we are, we also knew that the other EC members were being seriously pressured by Oracle to vote YES, and so we held out little hope. We also hoped for a better response from Oracle, but &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=658&amp;amp;entry_id=242&quot; title=&quot;http://blogs.oracle.com/henrik/2010/11/moving_java_forward_open_response_from_oracle_to_apache.html&quot;  onmouseover=&quot;window.status=&#039;http://blogs.oracle.com/henrik/2010/11/moving_java_forward_open_response_from_oracle_to_apache.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;what we got&lt;/a&gt; was basically self-serving lip-service with what is most likely the funniest and yet most inaccurate line yet in the whole ordeal:

&lt;blockquote&gt;&quot;Oracle provides TCK licenses under fair, reasonable, and non-discriminatory terms consistent with its obligations under the JSPA.&quot;&lt;/blockquote&gt;

If that little nugget doesn&#039;t show that Accuracy and Oracle don&#039;t mix, I don&#039;t know what will. The JSPA says, in 5.C.III, that a spec lead can&#039;t:

&lt;blockquote&gt;&quot;impose any contractual condition or covenant that would limit or restrict the right of any licensee to create or distribute such Independent Implementations&quot;&lt;/blockquote&gt;

and, of course, the FOU restriction does exactly that. And as far as &quot;non-discriminatory&quot;, well, Oracle has deemed that OpenJDK (*their* distribution) not have any FOU restrictions on the TCK, but that the ASF&#039;s (Harmony) will. And that isn&#039;t discrimination?

And so, the JCP is dead... All that remains is a zombie, walking the streets of the Java ecosystem, looking for brains...

But maybe, from this death, a new, &lt;strong&gt;true&lt;/strong&gt; community process might arise somewhere, with a different collection of people, one with no entity &quot;more equal than others&quot;. That is something I think the ASF would be quite interested in seeing.

 
    </content:encoded>

    <pubDate>Thu, 09 Dec 2010 15:16:48 -0500</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/242-guid.html</guid>
    
</item>
<item>
    <title>Language diversity</title>
    <link>http://jimjag.com/imo/index.php?/archives/240-Language-diversity.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/240-Language-diversity.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=240</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=240</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    If you look at the projects within the ASF, you&#039;ll notice right off the bat that the vast majority are Java. We do have a handful of other projects based on other languages but, for better or worse, most of &#039;em are Java.

But if you look at the code that *powers* the ASF you&#039;ll notice a big difference. For one thing, for the most part, we do not run anything that requires a JVM (well, we prefer not to). Also, we prefer all of our sites be as static as possible, which makes mirroring them easier. But the biggest surprise might be just how much we use scripting languages for all the tasks/applications/tools that we need. We use a suite of Perl, Python and Ruby, with Perl being the clear frontrunner (mostly since JoeS is such a Perl monger).

What I think is so useful about all this is that it gives a true, clear perspective on how real infrastructure is architectured (my word). People tend to focus, unjustly, on the applications themselves, and give little thought or credence on the infra required to truly support and implement all that. And this skewed perspective can easily result in bad, dangerous mistakes when making the transition from one architectural design to another, because it ignores a big, big part of the puzzle.

As people look at, investigate and migrate into the cloud, this will become even more of an issue. And a concern. 
    </content:encoded>

    <pubDate>Tue, 21 Sep 2010 09:35:30 -0400</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/240-guid.html</guid>
    
</item>
<item>
    <title>Apache HTTP Server 2.3.8-alpha</title>
    <link>http://jimjag.com/imo/index.php?/archives/239-Apache-HTTP-Server-2.3.8-alpha.html</link>
            <category>ASF</category>
    
    <comments>http://jimjag.com/imo/index.php?/archives/239-Apache-HTTP-Server-2.3.8-alpha.html#comments</comments>
    <wfw:comment>http://jimjag.com/imo/wfwcomment.php?cid=239</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jimjag.com/imo/rss.php?version=2.0&amp;type=comments&amp;cid=239</wfw:commentRss>
    

    <author>nospam@example.com (Jim Jagielski)</author>
    <content:encoded>
    Today, I (as Release Manager for the project) &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=650&amp;amp;entry_id=239&quot; title=&quot;http://www.apache.org/dist/httpd/Announcement2.3.txt&quot;  onmouseover=&quot;window.status=&#039;http://www.apache.org/dist/httpd/Announcement2.3.txt&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;released&lt;/a&gt; the latest, and what is expected to be the last, alpha version of the NextGen release of &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=651&amp;amp;entry_id=239&quot; title=&quot;http://httpd.apache.org/&quot;  onmouseover=&quot;window.status=&#039;http://httpd.apache.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Apache httpd&lt;/a&gt;.

This is pretty exciting news because for now on we&#039;ll be focusing on pushing out beta releases in anticipation of a quick trip to 2.4.0-GA.

Certainly, Apache httpd 2.4.0 has been a long time coming, but it will be well worth the wait. The new features, especially related to MPMS, Authn/Authz and the Proxy module, will continue to be the reference standards for web servers. I&#039;m really excited by all the mod_proxy improvements because that&#039;s an area which I, and others, have been giving special attention to. You combine that with the various async changes, the Event and (for the time-being still experimental) Simple MPMs and you have a killer server.

So &lt;a href=&quot;http://jimjag.com/imo/exit.php?url_id=652&amp;amp;entry_id=239&quot; title=&quot;http://httpd.apache.org/download.cgi&quot;  onmouseover=&quot;window.status=&#039;http://httpd.apache.org/download.cgi&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;download&lt;/a&gt; and try it out and give us your feedback.

Cheers! 
    </content:encoded>

    <pubDate>Tue, 31 Aug 2010 10:40:04 -0400</pubDate>
    <guid isPermaLink="false">http://jimjag.com/imo/index.php?/archives/239-guid.html</guid>
    
</item>

</channel>
</rss>
