<story><title>My Quest for a New Browser</title><url>http://spolu.github.io/exo_browser/2013/09/11/my-quest-for-a-new-browser.html</url></story><parent_chain><item><author>negativity</author><text>Yeah, a lot of this is about personal preferences, and preserving them across time and space. It&amp;#x27;s not always a bad thing. There&amp;#x27;s always a trade-off between convenience, automation, predictability and security.&lt;p&gt;Another good point spolu brings up:&lt;p&gt;&lt;pre&gt;&lt;code&gt;  The chrome&amp;#x2F; subdirectory of the chromium project (all 
  that makes up the Google Chrome experience: tabs, settings, 
  sync, omnibox) is made up of 5,343 C++ implementation files, 
  adding up to 1,449,451 lines of C++ code (as of 2013&amp;#x2F;09&amp;#x2F;11). 
  It&amp;#x27;s hardly tractable by one person, and hints to the fact 
  that it&amp;#x27;s probably impossible for a one guy to modify it 
  alone to come up with a profoundly different experience.
&lt;/code&gt;&lt;/pre&gt;
This detail doesn&amp;#x27;t get a lot of discussion, but I think it&amp;#x27;s sometimes an essential fallacy of the very premise of the open source concept, that having the &lt;i&gt;ability&lt;/i&gt; to audit source code, doesn&amp;#x27;t necessarily make it a realistic option.&lt;p&gt;Lots of modern contraptions are simply too complex for any individual to ever claim a hope of gaining an honest understanding of their inner workings, nevermind an unskilled layman. At least, not without living like a cleric, cloistered away in the library of some convent or monastery for most of one&amp;#x27;s life. Sometimes I feel that the real hazard is that we gloss over the idea that we&amp;#x27;re trying to exert control over a massive arrangement of billions of transistors, however small they may be. If we were confronted with an elaborate array of ordinary light switches, and told to conquer the same tasks, I think it&amp;#x27;d be easier to realize the true scale of some of the things we fiddle with on an everyday basis.</text></item><item><author>__david__</author><text>&amp;gt; This is a bad thing, not a good thing.&lt;p&gt;For you, perhaps. &lt;i&gt;I&lt;/i&gt; use my open browser tabs as a current &amp;quot;state&amp;quot; of my mind. My todo list, if you will. You might use a different method for keeping track of what you have to do. Maybe you have a good memory.&lt;p&gt;At least the browser tabs come back after the browser quits. My main reason I never reboot is my terminal tabs. Each one is cd-ed to a project directory and each has command line history and scrollback history that are potentially important reminders of where I am on that particular project. I go for weeks without rebooting (even in the face of OS updates) because I don&amp;#x27;t want to lose my terminal tabs.&lt;p&gt;Powering off machines is a detail. They should go into low power mode and switch themselves off when they are not being used. Why should I have to remember to do it? They are machines, they&amp;#x27;re built to remember things like that. As long as they save their state, it doesn&amp;#x27;t matter.&lt;p&gt;State is good. I like state.</text></item><item><author>negativity</author><text>&lt;p&gt;&lt;pre&gt;&lt;code&gt;  Today, our computers are always on, never restarted, 
  always connected.
&lt;/code&gt;&lt;/pre&gt;
This is a bad thing, not a good thing.&lt;p&gt;My personal machines and devices are not high-availability servers, and don&amp;#x27;t need to be powered on all the time. I close my browser windows, and power off my machines frequently, and deliberately. I generally don&amp;#x27;t gain very much from the practice of leaving the room for an hour, with my machine powered on.&lt;p&gt;I&amp;#x27;d like to dissent from this echo chamber of constantly advocating promiscuous systems, that tend to do things for us without asking us first, and promote biased decisions in favor of permissiveness. I pretty much hate that you can&amp;#x27;t remove the battery from an iPhone.&lt;p&gt;That said, there was an time when client&amp;#x2F;server computing delivered a lot of the kind of functionality, via a fragmented industry of proprietary &amp;quot;enterprise&amp;quot; applications, that has, lately, been re-cast as the broad ecosystem of &amp;quot;mobile apps&amp;quot; (which are essentially the same thing, only smaller and portable). Also, since HTTP is a stateless protocol, &amp;quot;rich web applications&amp;quot; (aka: HTML5+ &amp;amp; JS), have been able to fill in a lot of gaps in web browser behavior with asynchronous requests. I tend to think that JavaScript will become the open version of the once proprietary non-interoperable model of native binaries and client&amp;#x2F;server computing.</text></item></parent_chain><comment><author>bithive123</author><text>It&amp;#x27;s more than just the ability to audit, it&amp;#x27;s the ability to fix specific problems so you can focus on your business requirements.  This happened to me recently -- I was using Apache in a rather unusual reverse proxy configuration and was unable to suppress (using the usual directives) certain headers which were causing problems upstream.  I could have spent a long time researching other solutions or coming up with clean workarounds but at the end of the day it was quick and effective to simply edit mod_proxy_http.c and fix the problem directly.  Now that the service is up again, I have time to come up with better solutions if I desire.&lt;p&gt;When our closed systems misbehave, my only option is to shrug and ask if we have a support contract.</text></comment>
<story><title>My Quest for a New Browser</title><url>http://spolu.github.io/exo_browser/2013/09/11/my-quest-for-a-new-browser.html</url></story><parent_chain><item><author>negativity</author><text>Yeah, a lot of this is about personal preferences, and preserving them across time and space. It&amp;#x27;s not always a bad thing. There&amp;#x27;s always a trade-off between convenience, automation, predictability and security.&lt;p&gt;Another good point spolu brings up:&lt;p&gt;&lt;pre&gt;&lt;code&gt;  The chrome&amp;#x2F; subdirectory of the chromium project (all 
  that makes up the Google Chrome experience: tabs, settings, 
  sync, omnibox) is made up of 5,343 C++ implementation files, 
  adding up to 1,449,451 lines of C++ code (as of 2013&amp;#x2F;09&amp;#x2F;11). 
  It&amp;#x27;s hardly tractable by one person, and hints to the fact 
  that it&amp;#x27;s probably impossible for a one guy to modify it 
  alone to come up with a profoundly different experience.
&lt;/code&gt;&lt;/pre&gt;
This detail doesn&amp;#x27;t get a lot of discussion, but I think it&amp;#x27;s sometimes an essential fallacy of the very premise of the open source concept, that having the &lt;i&gt;ability&lt;/i&gt; to audit source code, doesn&amp;#x27;t necessarily make it a realistic option.&lt;p&gt;Lots of modern contraptions are simply too complex for any individual to ever claim a hope of gaining an honest understanding of their inner workings, nevermind an unskilled layman. At least, not without living like a cleric, cloistered away in the library of some convent or monastery for most of one&amp;#x27;s life. Sometimes I feel that the real hazard is that we gloss over the idea that we&amp;#x27;re trying to exert control over a massive arrangement of billions of transistors, however small they may be. If we were confronted with an elaborate array of ordinary light switches, and told to conquer the same tasks, I think it&amp;#x27;d be easier to realize the true scale of some of the things we fiddle with on an everyday basis.</text></item><item><author>__david__</author><text>&amp;gt; This is a bad thing, not a good thing.&lt;p&gt;For you, perhaps. &lt;i&gt;I&lt;/i&gt; use my open browser tabs as a current &amp;quot;state&amp;quot; of my mind. My todo list, if you will. You might use a different method for keeping track of what you have to do. Maybe you have a good memory.&lt;p&gt;At least the browser tabs come back after the browser quits. My main reason I never reboot is my terminal tabs. Each one is cd-ed to a project directory and each has command line history and scrollback history that are potentially important reminders of where I am on that particular project. I go for weeks without rebooting (even in the face of OS updates) because I don&amp;#x27;t want to lose my terminal tabs.&lt;p&gt;Powering off machines is a detail. They should go into low power mode and switch themselves off when they are not being used. Why should I have to remember to do it? They are machines, they&amp;#x27;re built to remember things like that. As long as they save their state, it doesn&amp;#x27;t matter.&lt;p&gt;State is good. I like state.</text></item><item><author>negativity</author><text>&lt;p&gt;&lt;pre&gt;&lt;code&gt;  Today, our computers are always on, never restarted, 
  always connected.
&lt;/code&gt;&lt;/pre&gt;
This is a bad thing, not a good thing.&lt;p&gt;My personal machines and devices are not high-availability servers, and don&amp;#x27;t need to be powered on all the time. I close my browser windows, and power off my machines frequently, and deliberately. I generally don&amp;#x27;t gain very much from the practice of leaving the room for an hour, with my machine powered on.&lt;p&gt;I&amp;#x27;d like to dissent from this echo chamber of constantly advocating promiscuous systems, that tend to do things for us without asking us first, and promote biased decisions in favor of permissiveness. I pretty much hate that you can&amp;#x27;t remove the battery from an iPhone.&lt;p&gt;That said, there was an time when client&amp;#x2F;server computing delivered a lot of the kind of functionality, via a fragmented industry of proprietary &amp;quot;enterprise&amp;quot; applications, that has, lately, been re-cast as the broad ecosystem of &amp;quot;mobile apps&amp;quot; (which are essentially the same thing, only smaller and portable). Also, since HTTP is a stateless protocol, &amp;quot;rich web applications&amp;quot; (aka: HTML5+ &amp;amp; JS), have been able to fill in a lot of gaps in web browser behavior with asynchronous requests. I tend to think that JavaScript will become the open version of the once proprietary non-interoperable model of native binaries and client&amp;#x2F;server computing.</text></item></parent_chain><comment><author>fallse7en</author><text>I don&amp;#x27;t think the studious hermit going over every line of open source code was how it was supposed to work either though.&lt;p&gt;It&amp;#x27;s more just that you have lots of groups exercising the code and looking into various portions of the code - if every group decides &amp;quot;Yep, the portion we use&amp;#x2F;looked at is solid&amp;quot;, then you gain &lt;i&gt;some&lt;/i&gt; confidence that the code does what it&amp;#x27;s supposed to. The more groups using&amp;#x2F;perusing the code, the more confidence you gain.</text></comment>