- speed up time to first byte
- improve viewing experience for a variety of devices and networks
- HLS automatically switches bitrates/resolutions based on bandwidth
- allow all kinds of clients to play the video reliably
| #EXTM3U | |
| #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=232370,CODECS="mp4a.40.2, avc1.4d4015" | |
| gear1/prog_index.m3u8 | |
| #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=649879,CODECS="mp4a.40.2, avc1.4d401e" | |
| gear2/prog_index.m3u8 | |
| #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=991714,CODECS="mp4a.40.2, avc1.4d401e" |
| const Promise = require('bluebird'); | |
| const memwatch = require('memwatch-next'); | |
| function async() { | |
| return Promise.resolve(); | |
| } | |
| function run(iter=0) { | |
| if (iter >= 10000000) { return Promise.resolve(); } | |
| return async() |
| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
| <plist version="1.0"> | |
| <dict> | |
| <key>Label</key> | |
| <string>com.artem.kubernetes-proxy</string> | |
| <key>ProgramArguments</key> | |
| <array> | |
| <string>/Users/artem/code/tools/google-cloud-sdk/bin/kubectl</string> |
| 'atom-workspace atom-text-editor:not([mini])': | |
| 'cmd-g': 'find-and-replace:find-next' | |
| 'cmd-G': 'find-and-replace:find-previous' | |
| 'cmd-s': 'core:save' | |
| 'cmd-shift-s': 'core:save-as' | |
| 'atom-workspace atom-text-editor': | |
| 'cmd-down': 'core:move-to-bottom' | |
| 'cmd-up': 'core:move-to-top' |
| const Promise = require('bluebird'); | |
| function iterator(entities = [], mapFn, concurrent = 2) { | |
| const partitionSize = entities.length / concurrent; | |
| const partitions = []; | |
| for (let i = 0; i < concurrent; i++) { | |
| const start = i * partitionSize; | |
| const entitiesInPartition = entities.slice(start, start + partitionSize); | |
| partitions.push(Promise.mapSeries(entitiesInPartition, mapFn)); | |
| } |
I hereby claim:
To claim this, I am signing this object:
| module Main where | |
| import Data.List (transpose, words, lines, unwords, unlines) | |
| import Data.Text (justifyLeft, unpack, pack) | |
| prettyText :: [[String]] -> [[String]] | |
| prettyText inputRows = | |
| let colWidths = map (maximum . map length) (transpose inputRows) | |
| indentFn = map (\x -> unpack . justifyLeft (x+2) ' ' . pack) colWidths -- right-pad each elem by col width + 2 | |
| in map (zipWith ($) indentFn) inputRows -- apply each column's padding to each element |
| set nocompatible " be iMproved, required | |
| " use bash as the shell instead of fish | |
| set shell=/bin/bash | |
| " launch pathogen | |
| execute pathogen#infect() | |
| "" | |
| "" General Settings |
| var wordIsFlamingo = function (word) { | |
| var isFlamingo = false; | |
| switch (word) { | |
| case "flamingo": | |
| isFlamingo = true; | |
| break; | |
| default: | |
| isFlamingo = false; | |
| break; |