Skip to content

Instantly share code, notes, and snippets.


Lance Pollard lancejpollard

View GitHub Profile
View gist:9042712

HLS streaming from node

Provided that you already have a file or stream segmenter generating your .m3u8 playlist and .ts segment files (such as the ffmpeg 'hls' muxer), this little node server will serve up those files to an HLS compatible client (e.g. Safari). If you're using node for your streaming app already, this obviates the need to serve the HLS stream from a separate web server.

loosely based on

// loosely based on
// requires node.js >= v0.10.0
// assumes that HLS segmenter filename base is 'out'
// and that the HLS playlist and .ts files are in the current directory
lancejpollard /
Last active Aug 29, 2015
The Client-Side Rendering Problem

The Client-Side Rendering Problem

The core problem with UI rendering boils down to these two questions:

  1. How do you know when something has changed?
  2. How do you most optimally update the UI with those changes?

What has changed?

There are several implementations that can tell you what has been changed, some of which are:

lancejpollard / Flex Keyboard Handler
Created Jan 18, 2010
Simple Example of Using Keyboard Events from Javascript to Actionscript, so you can hijack Browser Keyboard Handlers
View Flex Keyboard Handler
var FlexKeyboardHandler = FlexKeyboardHandler || {}
FlexKeyboardHandler.setup = function ()
window.addEventListener("keypress", FlexKeyboardHandler.keydownHandler, true);
window.addEventListener("keydown", FlexKeyboardHandler.keydownHandler, true);
getFlexApplication("MyApp").addEventListener("keypress", FlexKeyboardHandler.keydownHandler, true);
getFlexApplication("MyApp").addEventListener("keypress", FlexKeyboardHandler.keydownHandler, false);
View Post with Slug DB Call
SQL (0.4ms) SELECT COUNT(*) AS count_id FROM "posts" WHERE ("posts"."parent_id" IS NULL)
Post Load (0.7ms) SELECT "posts".* FROM "posts" WHERE ("posts"."parent_id" IS NULL) ORDER BY "lft"
Slug Load (0.4ms) SELECT "slugs".* FROM "slugs" WHERE ("slugs".sluggable_id = 13 AND "slugs".sluggable_type = 'Post') ORDER BY id DESC LIMIT 1
SQL (0.3ms) SELECT COUNT(*) AS count_id FROM "posts" WHERE ("posts".parent_id = 13)
Post Load (0.7ms) SELECT "posts".* FROM "posts" WHERE ("posts".parent_id = 13) ORDER BY "lft"
Post Load (0.4ms) SELECT "posts".* FROM "posts" WHERE ("posts"."id" = 13) LIMIT 1
CACHE (0.0ms) SELECT "slugs".* FROM "slugs" WHERE ("slugs".sluggable_id = 13 AND "slugs".sluggable_type = 'Post') ORDER BY id DESC LIMIT 1
Slug Load (0.4ms) SELECT "slugs".* FROM "slugs" WHERE ("slugs".sluggable_id = 39 AND "slugs".sluggable_type = 'Post') ORDER BY id DESC LIMIT 1
SQL (0.4ms) SELECT COUNT(*) AS count_id FROM "posts" WHERE ("posts".parent_id = 39)
CACHE (0.0ms) SELECT "posts".* FROM "po
View jquery.parse-child-html-document-from-remote-string.js
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">
<html xmlns="" lang="en" xml:lang="en">
<title>Parent Page wanting to Parse Children</title>
<script type="text/javascript" src=""></script>
<meta name="keywords" content="parent, html, parsing">
<script type="text/javascript">
$(document).ready(function() {
View basic-html5-layout.html
<section class="top" role="definition">
<div class="header">
<div class="frame">
<section class="main" role="main">
View scss-structure.markdown
View How to Install Node.js on a
git clone git://
cd node
sudo make install
View Recursively Symbolize Keys in Ruby.rb
class Hash
def recursively_symbolize_keys!
self.values.each do |v|
if v.is_a? Hash
elsif v.is_a? Array
View Cross Browser CSS Opacity (with and without Sass).css
// css
.opacity {
opacity: .80;
filter: alpha(opacity=80);
-ms-filter: "alpha(opacity=$value)";
-khtml-opacity: .80;
-moz-opacity: .80;
// sass
You can’t perform that action at this time.