Skip to content

Instantly share code, notes, and snippets.

getEntityBodies :: Envelope -> [EntityBody]
getEntityBodies Envelope{..} = ePrimary : HashMap.elems eDenormalized
gatherMounts :: Envelope -> [Imq.ImqUpdateMount]
gatherMounts envelope = catMaybes $ map eUpdates $ getEntityBodies envelope
setupQueuesForEnvelope :: World m => CustomerId -> Envelope -> m ()
setupQueuesForEnvelope cid envelope = do
RestIMQ.setupQueues cid $ gatherMounts envelope
let imqQueue = Envelope.updateMountForNode feedId
_ <- RestIMQ.setupQueue imqQueue authCid
forM_ feed $ \(elementId, _, _, _) -> do
let updates = Envelope.updateMountForNode elementId
let comments = updateMountForComments elementId
let likes = updateMountForLikes elementId
_ <- RestIMQ.setupQueue comments authCid
_ <- RestIMQ.setupQueue likes authCid
_ <- RestIMQ.setupQueue updates authCid
return ()
walk :: FilePath -> ((FilePath, [FilePath], [FilePath]) -> IO ()) -> IO ()
walk root action = do
entries <- Directory.getDirectoryContents root
directories <- newIORef []
files <- newIORef []
forM_ entries $ \entry -> do
let fullPath = combine root entry
isFile <- Directory.doesFileExist fullPath
if isFile then
__Z7averagePN9northstar7Color32ES1_: ## @_Z7averagePN9northstar7Color32ES1_
.cfi_startproc
## BB#0:
push rbp
Ltmp29:
.cfi_def_cfa_offset 16
Ltmp30:
.cfi_offset rbp, -16
mov rbp, rsp
Ltmp31:
#include <new>
#include <cstdlib>
// malloc cannot fail on Emscripten, so don't even bother checking.
// We also know that `malloc(0)` will return a non-null pointer, so
// don't check that `count` is positive..
__attribute__((__always_inline__)) void* operator new(std::size_t count) {
return std::malloc(count);
}
@chadaustin
chadaustin / audio.js
Created September 17, 2014 05:19
Simple Audio API Test
(function() {
var context = new AudioContext();
// 32000 Hz, 1 second, 200 Hz tone
// 32000 / 200 = exact 160 cycles
function playSineWave() {
var buffer = context.createBuffer(1, 32000, 32000);
var data = buffer.getChannelData(0);
for (var i = 0; i < data.length; ++i) {
data[i] = Math.sin(i / 160 * 2 * Math.PI);
#include <boost/serialization/base_object.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/serialization/export.hpp>
struct base {
virtual ~base() {}
template<class Archive>
void serialize(Archive & ar, const unsigned int version) {
}
uncompressed=80, zlib=17 (0.21), current+zlib=16 (0.20), striped+zlib=12 (0.15), currentsmaller=14 (0.17)
uncompressed=1060, zlib=24 (0.02), current+zlib=20 (0.02), striped+zlib=13 (0.01), currentsmaller=14 (0.01)
uncompressed=5360, zlib=43 (0.01), current+zlib=33 (0.01), striped+zlib=18 (0.00), currentsmaller=19 (0.00)
uncompressed=10480, zlib=55 (0.01), current+zlib=39 (0.00), striped+zlib=22 (0.00), currentsmaller=24 (0.00)
uncompressed=6300, zlib=44 (0.01), current+zlib=34 (0.01), striped+zlib=18 (0.00), currentsmaller=19 (0.00)
uncompressed=1560, zlib=27 (0.02), current+zlib=22 (0.01), striped+zlib=13 (0.01), currentsmaller=14 (0.01)
uncompressed=6880, zlib=46 (0.01), current+zlib=34 (0.00), striped+zlib=18 (0.00), currentsmaller=19 (0.00)
uncompressed=1600, zlib=28 (0.02), current+zlib=22 (0.01), striped+zlib=13 (0.01), currentsmaller=14 (0.01)
uncompressed=500, zlib=19 (0.04), current+zlib=17 (0.03), striped+zlib=13 (0.03), currentsmaller=14 (0.03)
uncompressed=3400, zlib=37 (0.01), current+zlib=29 (0.
original=16, zlib=17 (1.06), quant10+zlib=14 (0.88), quant12+zlib=15 (0.94), quant10+delta+utf8+zlib=14 (0.88), quant12+delta+utf8+zlib=16 (1.00), quant12+delta+utf8+fse=9 (0.56)
original=16, zlib=16 (1.00), quant10+zlib=14 (0.88), quant12+zlib=14 (0.88), quant10+delta+utf8+zlib=14 (0.88), quant12+delta+utf8+zlib=16 (1.00), quant12+delta+utf8+fse=9 (0.56)
original=212, zlib=89 (0.42), quant10+zlib=64 (0.30), quant12+zlib=68 (0.32), quant10+delta+utf8+zlib=72 (0.34), quant12+delta+utf8+zlib=88 (0.42), quant12+delta+utf8+fse=117 (0.55)
original=212, zlib=64 (0.30), quant10+zlib=69 (0.33), quant12+zlib=64 (0.30), quant10+delta+utf8+zlib=69 (0.33), quant12+delta+utf8+zlib=74 (0.35), quant12+delta+utf8+fse=86 (0.41)
original=1072, zlib=248 (0.23), quant10+zlib=283 (0.26), quant12+zlib=245 (0.23), quant10+delta+utf8+zlib=157 (0.15), quant12+delta+utf8+zlib=181 (0.17), quant12+delta+utf8+fse=435 (0.41)
original=1072, zlib=142 (0.13), quant10+zlib=240 (0.22), quant12+zlib=173 (0.16), quant10+delta+utf8+zlib=115 (0.11
original=16, zlib=17 (1.06), interleave+zlib=18 (1.12), quant10+zlib=15 (0.94), quant1+zlib=15 (0.94), quant1+delta+utf8+zlib=16 (1.00), quant1+delta+utf8+fse=9 (0.56)
original=16, zlib=16 (1.00), interleave+zlib=19 (1.19), quant10+zlib=14 (0.88), quant1+zlib=14 (0.88), quant1+delta+utf8+zlib=16 (1.00), quant1+delta+utf8+fse=9 (0.56)
original=212, zlib=89 (0.42), interleave+zlib=134 (0.63), quant10+zlib=68 (0.32), quant1+zlib=68 (0.32), quant1+delta+utf8+zlib=88 (0.42), quant1+delta+utf8+fse=117 (0.55)
original=212, zlib=64 (0.30), interleave+zlib=60 (0.28), quant10+zlib=64 (0.30), quant1+zlib=64 (0.30), quant1+delta+utf8+zlib=74 (0.35), quant1+delta+utf8+fse=86 (0.41)
original=1072, zlib=248 (0.23), interleave+zlib=348 (0.32), quant10+zlib=245 (0.23), quant1+zlib=245 (0.23), quant1+delta+utf8+zlib=181 (0.17), quant1+delta+utf8+fse=435 (0.41)
original=1072, zlib=142 (0.13), interleave+zlib=227 (0.21), quant10+zlib=173 (0.16), quant1+zlib=173 (0.16), quant1+delta+utf8+zlib=138 (0.13), quant1+delta+utf8+fse=398