intertwingly

It’s just data

FacePalm

Automated Publishing with Instant Articles

<description> A summary of your article, in plain text form.

<pubDate> The date of the article’s publication, in ISO-8601 format.

Related: plaintext, May Day, June Bug, Another Month, and numerous others.


Brief history of the ASF Board Agenda tool

the current implementation is a lot more fun to develop and easier to maintain than prior versions.  As an example, if it were decided that the moment the secretary clicked the ‘timestamp` button on the 'Call to order’ page, all comment buttons are to be removed from all windows and all comment modal dialogs are to be closed, this could be implemented using a single if statement as the event is already propagated, and a re-render is already triggered.  All that would be required is to change the conditions under which the comment button appears.

The board agenda tool has been tested on Linux, Mac OS/X, Vagrant, and Docker.  It contains a suite of tests.

...


Spartan Test Results

I replaced IE results with Spartan results in my urltests.  Other than the user agent string, nothing changed.

Following are selected examples where three out of four of the top browsers agree, identified by the odd browser out:


Ruby2JS 2.0

I’ve released Ruby2JS version 2.0.  Key new features:

The Whimsy Agenda rewrite-in-progress (previously based on Angular.js, now being rebased on React.js) can be used to explore both of these features.


React.rb updates

I’ve made a number of updates to the demos.  The tutorial demo has been updated to do server side rendering.  This means that it is able to be used by clients which either don’t support or have turned off JavaScript. 

The second demo is a calendar.  Unlike the tutorial which is a single file, this application is organized in a manner more consistent with how I expect projects to be organized.

...


DSL for JavaScript

W]></text> </svg><p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://twitter.com/jashkenas/status/562635888753377281">Jeremy Ashkenas</a>: <em>&#8220;work towards building a language that is to ES6 as CoffeeScript is to ES5&#8221;&#8230; close, but&#8212;do it for [ES6+HTML+CSS], and you&#8217;ll win ;)</em></p> <p>It occurs to me that there is a shortcut available.&#160; Let a library like React replace [ES6+HTML+CSS].&#160; Then build a <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://en.wikipedia.org/wiki/Domain-specific_language">DSL</a> for that library.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/02/03/DSL-for-JavaScript">...</a></p> <footer> <a title="DSL for JavaScript" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/02/03/DSL-for-JavaScript#comments">Add comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/02/02/Web-Components">Web Components</a></h3> <time title="GMT" datetime="2015-02-02T22:28:32Z">Mon 02 Feb 2015 at 22:28</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100"> <g transform="translate(50,50)"> <circle fill="#00D8FF" r="8"></circle> <g fill="none" stroke="#00D8FF" stroke-width="4"> <ellipse rx="45" ry="17"></ellipse> <ellipse rx="45" ry="17" transform="rotate(60)"></ellipse> <ellipse rx="45" ry="17" transform="rotate(120)"></ellipse> </g> </g> </svg><p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://twitter.com/brianleroux/status/561594569913950208">Brian Leroux</a>: <em>ES6 and Web Components</em></p> <p>My take is that this talk lumps React in with others based on when it was introduced; but that it is fundamentally different from, say Angular.js as Angular.js is from jQuery.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/02/02/Web-Components">...</a></p> <footer> <a title="Web Components" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/02/02/Web-Components#comments">3 comments</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/28/Email-addresses">Email addresses</a></h3> <time title="GMT" datetime="2015-01-28T16:48:39Z">Wed 28 Jan 2015 at 16:48</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="167" height="60" viewbox="0 0 167 60"> <rect x="32" y="15" fill="#f3b457" rx="3" height="37" width="113"></rect> <g stroke="#FFF" stroke-width="2"> <path d="M38,9c-3,17-11,31-12,33c11,4,21,9,31,15c3-8,5-16,7-24-8-11-17-17-26-24" fill="#64a15a"></path> <path d="M38,9c5,12,8,20,11,30l15-6" fill="#64a15a"></path> <path d="M53,14c10,12,20,24,24,38c10-8,20-16,29-22-1-15-8-23-17-29z" fill="#57a295"></path> <path d="M53,14c13,0,26,2,38,6c0-6,1-13-2-20" fill="#57a295"></path> <path d="M91,33c11-7,22-13,38-15c17,6,16,11,21,17-14,3-25,14-35,23-7-16-16-18-24-25z" fill="#d37736"></path> <path d="M91,33c14-2,26-1,39,0v-14" fill="#d37736"></path> </g> <path d="M4,24l5,4-5,4h7v-8z" fill="#FFF200"></path> <path d="M25,27l-5-3h-16l9,4-9,4h16l5-3z" fill="#d4477e"></path> <path d="M27,28l-4-2h-14l4,2-4,2h14l5-3z" fill="#e55d9c"></path> <path d="M61,27h38l-4,2h-32zM31,27h-28l-3,1l4,1h27zM122,27h33v2h-31z" fill="#303f7a"></path> <path d="M151,31l17-3-17-3c4,2,4,4,0,6" fill="#303f7a"></path> </svg> <p>I have been telling all non-IBMers to not use my ibm.com email address for years, but this advice is routinely ignored.&#160; I&#8217;ve repeated the reaons behind why I ask this enough times that it makes sense for me to post the reasons in one place so that I can point to it.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/28/Email-addresses">...</a></p> <footer> <a title="Email addresses" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/28/Email-addresses#comments">Add comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/22/React-rb">React.rb</a></h3> <time title="GMT" datetime="2015-01-23T01:54:56Z">Fri 23 Jan 2015 at 01:54</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100"> <g transform="translate(50,50)"> <circle fill="#00D8FF" r="8"></circle> <g fill="none" stroke="#00D8FF" stroke-width="4"> <ellipse rx="45" ry="17"></ellipse> <ellipse rx="45" ry="17" transform="rotate(60)"></ellipse> <ellipse rx="45" ry="17" transform="rotate(120)"></ellipse> </g> </g> </svg> <p>Having determined that Angular.js is overkill for my <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/12/19/Weblog-Software-Rewrite-Underway">blog rewrite</a>, I started looking more closely at <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://facebook.github.io/react/">React</a>.&#160; It occurred to me that I could do better than <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://facebook.github.io/jsx/">JSX</a>, so I wrote a <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://github.com/rubys/ruby2js">Ruby2JS</a> filter.&#160; Compare for yourself.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/22/React-rb">...</a></p> <footer> <a title="React.rb" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/22/React-rb#comments">1 comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/17/RFC-3986bis">RFC 3986bis</a></h3> <time title="GMT" datetime="2015-01-17T18:55:26Z">Sat 17 Jan 2015 at 18:55</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="132" height="76" viewbox="0 0 132 76"> <path d="M57,29c0-9,18-12,17-2c0,7-12,10-12,18v5h8v-3c0-7,13-9,13-21c-1-16-34-16-34,3zM62,53h8v8h-8z" fill="#371"></path> <circle cy="38" stroke="#371" fill="none" r="33" stroke-width="10" cx="66"></circle> <path d="M45,17l9,9l-9,10l-9-10zM67,17l9,9l-9,10l-10-10zM88,17l9,9l-9,10l-9-10zM14,28l9,9l-9,9l-9-9zM35,28l9,9l-9,9l-9-9zM56,28l9,9l-9,9l-9-9zM77,28l9,9l-9,9l-9-9zM98,28l9,9l-9,9l-9-9zM119,28l10,9l-10,9l-9-9zM45,39l9,9l-9,9l-9-9zM67,39l9,9l-9,9l-10-9zM88,39l9,9l-9,9l-9-9z" fill="#bdbdc5"></path> <path d="M44,13l9,31l9-31h25v3l-10,16c23,7,2,52-16,21l6-2c11,21,24-16,2-14v-3l9-15h-11l-13,44h-1l-10-31l-9,31h-1l-15-50h7l9,31l6-21l-3-10z" fill="#005A9C"></path> <path stroke="#000" d="M5,36h20l10,10l10-10l11,10l21-21l11,11l10-11l12,11h19v3h-20l-11-11l-10,11l-11-11l-21,21l-11-10l-10,10l-11-10h-19z" fill="#ffd652" stroke-width="0.5"></path> <path d="M88,49c11,24,22,11,26,5l-1-5c-12,20-24,2-25,0M109,21c-8-16-26,0-16,23c-4-23,12-29,17-16l4-8l-1-6"></path> <path d="M2,35h5v5h-5zM127,35h5v5h-5z"></path> <path d="M57,29c0-9,18-12,17-2c0,7-12,10-12,18v5h8v-3c0-7,13-9,13-21c-1-16-34-16-34,3zM62,53h8v8h-8z" fill="#371"></path> </svg> <p>URL parsers consume URLs and generate URIs.&#160; Such URIs are not <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a> complaint.&#160; I&#8217;d like to fix that.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/17/RFC-3986bis">...</a></p> <footer> <a title="RFC 3986bis" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/17/RFC-3986bis#comments">Add comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/11/URL-Work-Status">URL Work Status</a></h3> <time title="GMT" datetime="2015-01-11T14:46:06Z">Sun 11 Jan 2015 at 14:46</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="132" height="76" viewbox="0 0 132 76"> <path d="M57,29c0-9,18-12,17-2c0,7-12,10-12,18v5h8v-3c0-7,13-9,13-21c-1-16-34-16-34,3zM62,53h8v8h-8z" fill="#371"></path> <circle cy="38" stroke="#371" fill="none" r="33" stroke-width="10" cx="66"></circle> <path d="M45,17l9,9l-9,10l-9-10zM67,17l9,9l-9,10l-10-10zM88,17l9,9l-9,10l-9-10zM14,28l9,9l-9,9l-9-9zM35,28l9,9l-9,9l-9-9zM56,28l9,9l-9,9l-9-9zM77,28l9,9l-9,9l-9-9zM98,28l9,9l-9,9l-9-9zM119,28l10,9l-10,9l-9-9zM45,39l9,9l-9,9l-9-9zM67,39l9,9l-9,9l-10-9zM88,39l9,9l-9,9l-9-9z" fill="#bdbdc5"></path> <path d="M44,13l9,31l9-31h25v3l-10,16c23,7,2,52-16,21l6-2c11,21,24-16,2-14v-3l9-15h-11l-13,44h-1l-10-31l-9,31h-1l-15-50h7l9,31l6-21l-3-10z" fill="#005A9C"></path> <path stroke="#000" d="M5,36h20l10,10l10-10l11,10l21-21l11,11l10-11l12,11h19v3h-20l-11-11l-10,11l-11-11l-21,21l-11-10l-10,10l-11-10h-19z" fill="#ffd652" stroke-width="0.5"></path> <path d="M88,49c11,24,22,11,26,5l-1-5c-12,20-24,2-25,0M109,21c-8-16-26,0-16,23c-4-23,12-29,17-16l4-8l-1-6"></path> <path d="M2,35h5v5h-5zM127,35h5v5h-5z"></path> <path d="M57,29c0-9,18-12,17-2c0,7-12,10-12,18v5h8v-3c0-7,13-9,13-21c-1-16-34-16-34,3zM62,53h8v8h-8z" fill="#371"></path> </svg><p>I have <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://url.spec.whatwg.org/interop/test-results/">test results</a> that show that there is much work to be done.</p> <p>The most likely path forward at this point is to get representatives from browser vendors into a room and go through these results and make recommendations. This likely will happen in the spring, and in the SF Bay Area. With that in place, I can work with authors of libraries in popular programming languages to produce web-compatible versions. This work will take the form of bug reports, patches, or — when required — authoring new libraries.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/11/URL-Work-Status">...</a></p> <footer> <a title="URL Work Status" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/11/URL-Work-Status#comments">Add comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/08/Ununzippable-Modern-IE">Ununzippable Modern.IE</a></h3> <time title="GMT" datetime="2015-01-08T11:55:41Z">Thu 08 Jan 2015 at 11:55</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100"> <path d="M57,11c40-22,42-2,35,12c8-27-15-20-30-11z" fill="#47b"></path> <path d="M36,56h56c4-60-83-60-86-6c13-16,26-26,36-30l-29,53c20,23,64,26,79-12h-30c0,14-26,12-25-5zM37,43c0-17,26-17,26,0zM39,89c-10,7-42,15-26-16l29-52c-15,6-36,40-37,48c-12,35,14,37,37,20" fill="#47b"></path> </svg> <p>I&#8217;ve downloaded the multi-part zip archive for IE11 on Win10 for VirtualBox on OS/X from <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://www.modern.ie/">modern.ie</a>.&#160; I&#8217;ve downloaded the single-file archive on both OS/X and Linux.&#160; I&#8217;ve verified the md5 signatures for each.&#160; Yet each time, when I try to unzip the result, I fail.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/08/Ununzippable-Modern-IE">...</a></p> <footer> <a title="Ununzippable Modern.IE" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/08/Ununzippable-Modern-IE#comments">5 comments</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/06/New-PhantomJS-and-Capybara-fan">New PhantomJS and Capybara fan</a></h3> <time title="GMT" datetime="2015-01-06T19:47:40Z">Tue 06 Jan 2015 at 19:47</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="96" height="104" viewbox="0 0 96 104"> <path d="M4,88c4,3,10,1,16,3c4,1,6,11,11,9c5-1,14-6,20-4c6,1,13,12,17,7c4-5,6-16,16-15c10,1,12,1,11-12c-1-7,5-13-3-18c-13-9-34-3-46,5c-14,10-47,20-42,25" fill="#000" fill-opacity="0.23"></path> <path d="M82,43c0,22,9,27,9,37c0,5-12,1-17,4c-4,3-2,7-9,9c-4,2-10-6-17-6c-5,0-14,7-19,4c-4-2-4-9-10-10c-6,0-19,7-19,1c0-7,8-14,8-39c0-23,17-43,37-42c21,0,37,20,37,44" fill="#ccc" fill-opacity="0.63" stroke="#000"></path> <path d="M33,22c-5,0-9,4-9,10c0,6,4,10,9,10c4,0,7-2,9-6c1,4,4,6,8,6c5,0,9-4,9-10c0-6-4-10-9-10c-4,0-7,2-8,6c-2-4-5-6-9-6" fill="#fff" stroke="#000"></path> <circle cx="36" cy="34" r="4"></circle> <circle cx="48" cy="34" r="4"></circle> <path d="M69,15c2,0,9,9,10,19l2,23c1,6,10,22,6,21c-8,0-13-13-12-33c3-21-9-29-6-30M73,82c-2,2-6,11-7,7c-2-4-1-11-2-22c-1-8-5-18-2-16c3,1,5,5,7,13c3,7,6,16,4,18M45,85c-2,2-6,4-9,3c-3,0-3-10-2-17c1-6,4-16,6-17c2-2,0,6,2,18c2,8,5,11,3,13 M20,79c-2,0-5,0-7,1c-3,1,0-4,4-11c3-6,4-12,5-14c2-2,0,6-1,13c0,7,1,11-1,11" fill-opacity="0.12"></path> </svg> <p>While I&#8217;m clearly late to the party, I&#8217;ve already become a huge fan of <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://jnicklas.github.io/capybara/">capybara</a> and <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://phantomjs.org/">phantomjs</a>.&#160; I&#8217;m now using both with my <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/12/19/Weblog-Software-Rewrite-Underway">previously mentioned</a> <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://github.com/rubys/wicker">blogging software</a> rewrite.</p> <p>My original intent was to aggressively prune unnecessary function with the intent of producing a more maintainable result, but with the ability to have automated acceptance tests, this is now less of a concern.</p> <footer> <a title="New PhantomJS and Capybara fan" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/06/New-PhantomJS-and-Capybara-fan#comments">1 comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/05/Apple-Apostasy">Apple Apostasy</a></h3> <time title="GMT" datetime="2015-01-05T20:09:46Z">Mon 05 Jan 2015 at 20:09</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="90" height="100" viewbox="0 0 90 100"> <path d="M62,0c2,10-9,24-20,24c-3-14,9-22,20-24M5,36c5-8,13-12,21-12c7,0,12,4,19,4c6,0,10-4,19-4c6,0,14,3,19,10c-16,4-15,35,3,39c-7,17-18,27-24,27c-7,0-8-5-17-5c-9,0-11,5-17,5c-7-1-13-7-17-13c-9-10-15-40-6-51" fill="#AAA"></path> </svg> <p>Looks like <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://wozniak.ca/why-i-quit-os-x">Why I quit OS X</a> struck a nerve &#8212; it is currently down (see <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://web.archive.org/web/20150105063342/http://wozniak.ca/why-i-quit-os-x">web archive</a>).&#160; Also good: <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.marco.org/2015/01/04/apple-lost-functional-high-ground">Apple has lost the functional high ground</a>.</p> <p>I particularly like the comment that <em>&#8220;It just works&#8221; was never completely true</em>.&#160; My experience is that when working with open source codebases, doing so on an Linux operating system comes much closer to &#8220;It just works&#8221; than doing so on any other.</p> <footer> <a title="Apple Apostasy" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/05/Apple-Apostasy#comments">8 comments</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/03/Rack-broke-Sinatra">Rack broke Sinatra</a></h3> <time title="GMT" datetime="2015-01-04T01:31:33Z">Sun 04 Jan 2015 at 01:31</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="90" height="111" viewbox="0 0 90 111"> <g stroke-linejoin="bevel" stroke-linecap="square" fill="none" stroke="#000"> <path d="M6,15l30-10l49,11v82v-82l-24,8v83v-83l-55-9v83l56,8l23-8" stroke-width="4"></path> <path d="M6,98l27-9v-13l-26-4l27-8v-20l-27-5l28-8v-11v11l49,10l-24,8l-26-5v20l50,8l-24,9l-27-5v13l51,8" stroke-width="2"></path> </g> </svg> <p>Not rack&#8217;s fault, but Sinatra hasn&#8217;t released in a while.&#160; Problem has been known since <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://github.com/sinatra/sinatra/pull/907">July</a>, and a fix was merged into master in <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://github.com/sinatra/sinatra/commit/a43ba2c65a79bf58adc1291b0079ea889310e072">August</a>.&#160; One <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://github.com/honeybadger-io/honeybadger-ruby/commit/0e1d652992160fcf1bb3f2e53fbfafdad4d9047d">possible workaround</a> has been posted.&#160; An alternate workaround:</p> <pre class="code">module Rack class ShowExceptions alias_method :old_pretty, :pretty def pretty(*args) result = old_pretty(*args) def result.join; self; end def result.each(&amp;block); block.call(self); end result end end end</pre> <footer> <a title="Rack broke Sinatra" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2015/01/03/Rack-broke-Sinatra#comments">Add comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/12/19/Weblog-Software-Rewrite-Underway">Weblog Software Rewrite Underway</a></h3> <time title="GMT" datetime="2014-12-19T14:56:29Z">Fri 19 Dec 2014 at 14:56</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100"> <defs xmlns:xlink="http://www.w3.org/1999/xlink"> <radialgradient id="s1" fx=".4" fy=".2" r=".7"> <stop stop-color="#FE8"></stop><stop stop-color="#D70" offset="1"></stop> </radialgradient> <radialgradient id="s2" fx=".8" fy=".5" xlink:href="#s1"></radialgradient> <radialgradient id="s3" fx=".5" fy=".9" xlink:href="#s1"></radialgradient> <radialgradient id="s4" fx=".1" fy=".5" xlink:href="#s1"></radialgradient> </defs> <g stroke="#940"> <path d="M73,29c-37-40-62-24-52,4l6-7c-8-16,7-26,42,9z" fill="url(#s1)"></path> <path d="M47,8c33-16,48,21,9,47l-6-5c38-27,20-44,5-37z" fill="url(#s2)"></path> <path d="M77,32c22,30,10,57-39,51l-1-8c3,3,67,5,36-36z" fill="url(#s3)"></path> <path d="M58,84c-4,20-38-4-8-24l-6-5c-36,43,15,56,23,27z" fill="url(#s4)"></path> <path d="M40,14c-40,37-37,52-9,68l1-8c-16-13-29-21,16-56z" fill="url(#s1)"></path> <path d="M31,33c19,23,20,7,35,41l-9,1.7c-4-19-8-14-31-37z" fill="url(#s2)"></path> </g> </svg><p>I&#8217;ve clearly been neglecting my little spot on the web.</p> <p>It has gotten so bad that <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://twitter.com/BrendanEich/status/544975709404282881">Brendan Eich</a> had to link to a web archive copy of a page of mine.&#160; I must say, however, that it is very ironic and amusing that it is was <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.intertwingly.net/blog/2005/03/15/Dont-Panic">that particular page</a>.&#160; General outline of my current approach:</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/12/19/Weblog-Software-Rewrite-Underway">...</a></p> <footer> <a title="Weblog Software Rewrite Underway" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/12/19/Weblog-Software-Rewrite-Underway#comments">Add comment</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/11/20/WHATWG-W3C-Collaboration">WHATWG/W3C Collaboration</a></h3> <time title="GMT" datetime="2014-11-20T16:55:43Z">Thu 20 Nov 2014 at 16:55</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="132" height="76" viewbox="0 0 132 76"> <path d="M57,29c0-9,18-12,17-2c0,7-12,10-12,18v5h8v-3c0-7,13-9,13-21c-1-16-34-16-34,3zM62,53h8v8h-8z" fill="#371"></path> <circle cy="38" stroke="#371" fill="none" r="33" stroke-width="10" cx="66"></circle> <path d="M45,17l9,9l-9,10l-9-10zM67,17l9,9l-9,10l-10-10zM88,17l9,9l-9,10l-9-10zM14,28l9,9l-9,9l-9-9zM35,28l9,9l-9,9l-9-9zM56,28l9,9l-9,9l-9-9zM77,28l9,9l-9,9l-9-9zM98,28l9,9l-9,9l-9-9zM119,28l10,9l-10,9l-9-9zM45,39l9,9l-9,9l-9-9zM67,39l9,9l-9,9l-10-9zM88,39l9,9l-9,9l-9-9z" fill="#bdbdc5"></path> <path d="M44,13l9,31l9-31h25v3l-10,16c23,7,2,52-16,21l6-2c11,21,24-16,2-14v-3l9-15h-11l-13,44h-1l-10-31l-9,31h-1l-15-50h7l9,31l6-21l-3-10z" fill="#005A9C"></path> <path stroke="#000" d="M5,36h20l10,10l10-10l11,10l21-21l11,11l10-11l12,11h19v3h-20l-11-11l-10,11l-11-11l-21,21l-11-10l-10,10l-11-10h-19z" fill="#ffd652" stroke-width="0.5"></path> <path d="M88,49c11,24,22,11,26,5l-1-5c-12,20-24,2-25,0M109,21c-8-16-26,0-16,23c-4-23,12-29,17-16l4-8l-1-6"></path> <path d="M2,35h5v5h-5zM127,35h5v5h-5z"></path> <path d="M57,29c0-9,18-12,17-2c0,7-12,10-12,18v5h8v-3c0-7,13-9,13-21c-1-16-34-16-34,3zM62,53h8v8h-8z" fill="#371"></path> </svg> <p>I’ve been having fun working on the <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://url.spec.whatwg.org/">URL Living Standard</a>. All good things must come to an end. Now it is time to spell out a path forward.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/11/20/WHATWG-W3C-Collaboration">...</a></p> <footer> <a title="WHATWG/W3C Collaboration" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/11/20/WHATWG-W3C-Collaboration#comments">2 comments</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/10/21/pegurl-js">pegurl.js</a></h3> <time title="GMT" datetime="2014-10-21T15:17:36Z">Tue 21 Oct 2014 at 15:17</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100"> <path d="M38,38c0-12,24-15,23-2c0,9-16,13-16,23v7h11v-4c0-9,17-12,17-27c-2-22-45-22-45,3zM45,70h11v11h-11z" fill="#371"></path> <circle cx="50" cy="50" r="45" fill="none" stroke="#371" stroke-width="10"></circle> </svg><p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/projects/pegurl/">pegurl.js</a> is the result of two days worth of work.&#160; While it is undoubtedly buggy and incomplete, it does pass 255 out of <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://raw.githubusercontent.com/w3c/web-platform-tests/master/url/urltestdata.txt">256 tests</a> and that <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://krijnhoetmer.nl/irc-logs/whatwg/20141021#l-399">last test is wrong</a>.&#160; For comparison: <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/stories/2014/10/16/urltest-results/">results from other user agents</a>.</p> <p>Current work products and future work</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/10/21/pegurl-js">...</a></p> <footer> <a title="pegurl.js" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/10/21/pegurl-js#comments">3 comments</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/10/02/WHATWG-URL-vs-IETF-URI">WHATWG URL vs IETF URI</a></h3> <time title="GMT" datetime="2014-10-02T20:46:29Z">Thu 02 Oct 2014 at 20:46</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100"> <path d="M38,38c0-12,24-15,23-2c0,9-16,13-16,23v7h11v-4c0-9,17-12,17-27c-2-22-45-22-45,3zM45,70h11v11h-11z" fill="#371"></path> <circle cx="50" cy="50" r="45" fill="none" stroke="#371" stroke-width="10"></circle> </svg> <p>I&#8217;ve been looking into differences between the <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://url.spec.whatwg.org/">WHATWG URL Living Standard</a> and the combination of <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a> and <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>.&#160; I&#8217;ve come up with an indirect but effective way to identify the differences using <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://raw.githubusercontent.com/w3c/web-platform-tests/master/url/urltestdata.txt">urltestdata.txt</a> and <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/https://github.com/sporkmonger/addressable">addressable</a>.</p> <p><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/10/02/WHATWG-URL-vs-IETF-URI">...</a></p> <footer> <a title="WHATWG URL vs IETF URI" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/10/02/WHATWG-URL-vs-IETF-URI#comments">9 comments</a> </footer> </article> <hr/> <article> <header> <h3><a rel="bookmark" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/09/29/Dreamhost-upgrade">Dreamhost upgrade</a></h3> <time title="GMT" datetime="2014-09-29T23:45:08Z">Mon 29 Sep 2014 at 23:45</time> </header> <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100"> <rect fill="#039" x="0" y="3" height="95" width="95" rx="15"></rect> <path d="M20,56L19,35C19,30,27,20,33,21L55,21A30,30,0,0,1,20,56Z" fill="#369" stroke="#369" stroke-linejoin="round" stroke-width="5px"></path> <path d="M17,67A37,37,0,0,0,67,18A36,36,0,1,1,17,67" fill="#FFF"></path> </svg> <p>Dreamhost <a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.dreamhoststatus.com/2014/09/22/upgrading-100-shared-web-hosting-servers-to-ubuntu-12-04-precise-september-28th-8pm-1am-pdt/">upgraded my server to Ubuntu 12.04</a>.&#160; I noticed things breaking in preparation for the move, and things that broke after the move.&#160; If you see something not working correctly, please let me know.</p> <footer> <a title="Dreamhost upgrade" href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://intertwingly.net/blog/2014/09/29/Dreamhost-upgrade#comments">3 comments</a> </footer> </article> <hr/> <aside> <h2>mingle</h2> <nav> <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://en.wikipedia.org/wiki/Sam_Ruby">About</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://twitter.com/samruby">Twitter</a></li> <li><a href="/National_Library/20160521004321mp_/http://intertwingly.net/blog/comments.html">Comments</a></li> <li><a id="navbar_register" href="/National_Library/20160521004321mp_/http://intertwingly.net/blog/registry/">Register</a></li> <li><a href="/National_Library/20160521004321mp_/http://intertwingly.net/stats/">Statistics</a></li> <li><a href="/National_Library/20160521004321mp_/http://intertwingly.net/blog/archives/">Archives</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://planet.intertwingly.net/">Planet</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://code.intertwingly.net/public/">Code</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.pragprog.com/titles/rails4/agile-web-development-with-rails-4th-edition">Rails</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.oreilly.com/catalog/9780596529260/">RESTful</a></li> <li><a href="/National_Library/20160521004321mp_/http://intertwingly.net/blog/2005/05/16/Disclaim-This">Disclaimer</a></li> </ul> </nav> </aside> <footer> <ul> <li>HTTP <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://tools.ietf.org/html/rfc2616">RFC 2616</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.ietf.org/html.charters/httpbis-charter.html">httpbis</a></li> <li>URI <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://tools.ietf.org/html/rfc3986">RFC 3986</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://bitworking.org/projects/URI-Templates/">URI Template</a></li> </ul> </li> </ul> </li> <li>HTML <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.w3.org/html/wg/">Working Group</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.whatwg.org/">WHATWG</a></li> <li>Specs <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.w3.org/TR/REC-html40/">HTML 4.01</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.w3.org/TR/xhtml1/">XHTML 1.0</a></li> </ul> </li> <li>Drafts <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.w3.org/html/wg/html5/">HTML 5</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.w3.org/html/wg/markup-spec/">Markup Language</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/offline-webapps/">Web Workers</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/html-author/">HTML Author</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/rdfa/Overview.html#rdfa">RDFa</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/pubnotes/">Publication Notes</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/html4-differences/">HTML4 Differences</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/offline-webapps/">Offline Web Applications</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/html-design-principles/">Design Principles</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://dev.w3.org/html5/web-forms-2/">Web Forms 2.0</a></li> </ul> </li> </ul> </li> <li>Atom <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.atomenabled.org/developers/syndication/atom-format-spec.php">Format</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://www.atomenabled.org/developers/protocol/atom-protocol-spec.php">Protocol</a></li> <li>Extensions <ul> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://tools.ietf.org/html/rfc4685">Threading</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://tools.ietf.org/html/rfc5005">Paging and Archiving</a></li> <li><a href="https://web-archive.nli.org.il/National_Library/20160521004321mp_/http://tools.ietf.org/html/rfc4946">License</a></li> </ul> </li> </ul> </li> </ul> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 100 100"> <defs xmlns:xlink="http://www.w3.org/1999/xlink"> <radialgradient id="i1" fx=".4" fy=".2" r=".7"> <stop stop-color="#FE8" offset="0"></stop> <stop stop-color="#D70" offset="1"></stop> </radialgradient> <radialgradient id="i2" fx=".8" fy=".5" xlink:href="#i1"></radialgradient> <radialgradient id="i3" fx=".5" fy=".9" xlink:href="#i1"></radialgradient> <radialgradient id="i4" fx=".1" fy=".5" xlink:href="#i1"></radialgradient> </defs> <g stroke="#940"> <path d="M73,29c-37-40-62-24-52,4l6-7c-8-16,7-26,42,9z" fill="url(#i1)"></path> <path d="M47,8c33-16,48,21,9,47l-6-5c38-27,20-44,5-37z" fill="url(#i2)"></path> <path d="M77,32c22,30,10,57-39,51l-1-8c3,3,67,5,36-36z" fill="url(#i3)"></path> <path d="M58,84c-4,20-38-4-8-24l-6-5c-36,43,15,56,23,27z" fill="url(#i4)"></path> <path d="M40,14c-40,37-37,52-9,68l1-8c-16-13-29-21,16-56z" fill="url(#i1)"></path> <path d="M31,33c19,23,20,7,35,41l-9,1.7c-4-19-8-14-31-37z" fill="url(#i2)"></path> </g> </svg> </footer> </body> </html> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9af39b717f5336a7',t:'MTc2NTk0NTAwOA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>