<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://pinboard.in">
    <title>Pinboard (jm)</title>
    <link>https://pinboard.in/u:jm/public/</link>
    <description>recent bookmarks from jm</description>
    <items>
      <rdf:Seq>	<rdf:li rdf:resource="https://nchan.slact.net/"/>
	<rdf:li rdf:resource="http://async-io.org/games.html"/>
	<rdf:li rdf:resource="http://chimera.labs.oreilly.com/books/1230000000545"/>
	<rdf:li rdf:resource="http://www.strchr.com/strcmp_and_strlen_using_sse_4.2"/>
      </rdf:Seq>
    </items>
  </channel><item rdf:about="https://nchan.slact.net/">
    <title>Nchan</title>
    <dc:date>2016-01-12T09:58:54+00:00</dc:date>
    <link>https://nchan.slact.net/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>Nchan is a scalable, flexible pub/sub server for the modern web, built as a module for the Nginx web server. It can be configured as a standalone server, or as a shim between your application and tens, thousands, or millions of live subscribers. It can buffer messages in memory, on-disk, or via Redis. All connections are handled asynchronously and distributed among any number of worker processes. It can also scale to many nginx server instances with Redis.  Messages are published to channels with HTTP POST requests or websockets, and subscribed also through websockets, long-polling, EventSource (SSE), old-fashioned interval polling, and more. Each subscriber can listen to up to 255 channels per connection, and can be optionally authenticated via a custom application url. An events meta channel is also available for debugging.</blockquote>

Also now supports HTTP/2.  This used to be called the Nginx HTTP Push Module, and I used it with great results in that form.  This is the way to do HTTP push in all its forms....]]></description>
<dc:subject>nginx pubsub websockets sse http http-push http2 redis long-polling nchan</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:07bf4fd5598d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:nginx"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pubsub"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:websockets"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sse"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http-push"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:redis"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:long-polling"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:nchan"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://async-io.org/games.html">
    <title>NettoSphere demo</title>
    <dc:date>2013-11-04T10:24:06+00:00</dc:date>
    <link>http://async-io.org/games.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA['This article will use NettoSphere, a framework build on top of the popular Netty Framework and Atmosphere with support of WebSockets, Server Side Events and Long-Polling. NettoSphere allows [async JVM framework] Atmosphere's applications to run on top of the Netty Framework.']]></description>
<dc:subject>atmosphere netty async java scala websockets sse long-polling http demos games</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:fd998c63d7d8/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:atmosphere"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:netty"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:async"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:scala"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:websockets"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sse"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:long-polling"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:demos"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:games"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://chimera.labs.oreilly.com/books/1230000000545">
    <title>&quot;High Performance Browser Networking&quot;, by Ilya Grigorik, read online for free</title>
    <dc:date>2013-10-15T09:57:32+00:00</dc:date>
    <link>http://chimera.labs.oreilly.com/books/1230000000545</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Wow, this looks excellent.  A must-read for people working on systems with high-volume, low-latency phone-to-server communications -- and free!

<blockquote>How prepared are you to build fast and efficient web applications? This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications—including HTTP 2.0 and XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC.

Author Ilya Grigorik, a web performance engineer at Google, demonstrates performance optimization best practices for TCP, UDP, and TLS protocols, and explains unique wireless and mobile network optimization requirements. You’ll then dive into performance characteristics of technologies such as HTTP 2.0, client-side network scripting with XHR, real-time streaming with SSE and WebSocket, and P2P communication with WebRTC.

Deliver optimal TCP, UDP, and TLS performance;
Optimize network performance over 3G/4G mobile networks;
Develop fast and energy-efficient mobile applications;
Address bottlenecks in HTTP 1.x and other browser protocols;
Plan for and deliver the best HTTP 2.0 performance;
Enable efficient real-time streaming in the browser;
Create efficient peer-to-peer videoconferencing and low-latency applications with real-time WebRTC transports</blockquote>

Via Eoin Brazil.]]></description>
<dc:subject>book browser networking performance phones mobile 3g 4g hsdpa http udp tls ssl latency webrtc websockets ebooks via:eoin-brazil google http2 sse xhr ilya-grigorik</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5312bd9b166a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:book"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:browser"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:networking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:performance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:phones"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mobile"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:3g"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:4g"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hsdpa"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:udp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tls"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ssl"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:latency"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:webrtc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:websockets"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ebooks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:eoin-brazil"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:google"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:http2"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sse"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:xhr"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ilya-grigorik"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.strchr.com/strcmp_and_strlen_using_sse_4.2">
    <title>Implementing strcmp, strlen, and strstr using SSE 4.2 instructions - strchr.com</title>
    <dc:date>2013-01-27T22:46:47+00:00</dc:date>
    <link>http://www.strchr.com/strcmp_and_strlen_using_sse_4.2</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Using new Intel Core i7 instructions to speed up string manipulation. Fascinating stuff. SSE ftw]]></description>
<dc:subject>sse optimization simd assembly intel i7 intel-core strstr strings string-matching strchr strlen coding</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:dc8ab7793636/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sse"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:optimization"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:simd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:assembly"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:intel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:i7"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:intel-core"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:strstr"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:strings"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:string-matching"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:strchr"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:strlen"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
</rdf:Bag></taxo:topics>
</item>
</rdf:RDF>