Skip to content

Instantly share code, notes, and snippets.

@bzerangue
bzerangue / recursive-convert-js-to-coffeescript.sh
Created December 11, 2012 00:23
RECURSIVELY Bash convert Javascript to Coffeescript; and also Coffeescript to Javascript
find . -name "*.js" | while read i; do js2coffee "$i" > "${i%.*}.coffee"; done
@johnthethird
johnthethird / ReactRenderer.rb
Created February 2, 2014 19:01
React Server-Side Rendering for Rails
require 'connection_pool'
class ReactRenderer
mattr_accessor :pool
def self.setup!
size = ::Rails.configuration.react.max_renderers || 10
timeout = ::Rails.configuration.react.renderer_timeout || 20 #seconds
@@pool ||= ConnectionPool.new(:size => size, :timeout => timeout) { ReactRenderer.new }
@staltz
staltz / introrx.md
Last active November 27, 2025 14:07
The introduction to Reactive Programming you've been missing
@roman01la
roman01la / web-worker-cors.js
Created September 9, 2014 17:26
Cross-origin solution for loading WebWorker
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onload = function() {
if (xhr.status === 200) {
var workerSrcBlob, workerBlobURL;
workerSrcBlob = new Blob([xhr.responseText], { type: 'text/javascript' });
workerBlobURL = window.URL.createObjectURL(workerSrcBlob);
var worker = new Worker(workerBlobURL);
@tkafka
tkafka / LICENSE.txt
Last active September 18, 2025 20:18
Drop-in replacement for ReactCSSTransitionGroup that uses velocity.js instead of CSS transforms. Add your own transitions to `transitions` hash.
The MIT License (MIT)
Copyright (c) 2014 Tomas Kafka
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
@zxbodya
zxbodya / render-react-with-rxjs.md
Last active November 1, 2021 08:49
React with RxJS, reactive way :)

Observable React elements with RxJS

Note: if you want to skip history behind this, and just looking for final result see: rx-react-container

When I just started using RxJS with React, I was subscribing to observables in componentDidMount and disposing subscriptions at componentWillUnmount.

But, soon I realised that it is not fun to do all that subscriptions(that are just updating property in component state) manually, and written mixin for this...

Later I have rewritten it as "high order component" and added possibility to pass also obsarvers that will receive events from component.

@aderaaij
aderaaij / getComputedTranslateXY.ts
Last active February 12, 2023 15:19
Get the computed Translate X and Y values of a given DOM element. Based on https://stackoverflow.com/questions/21912684/how-to-get-value-of-translatex-and-translatey
function getTranslate(item: HTMLElement): number | number[] | undefined {
const transArr = [];
if (!window.getComputedStyle) {
return;
}
const style = window.getComputedStyle(item);
const transform = style.transform || style.webkitTransform;
let mat = transform.match(/^matrix3d\((.+)\)$/);
if (mat) {
return parseFloat(mat[1].split(', ')[13]);
class Identifiable<T> {
Id<T> id;
}
class Id<T> {}
class Person extends Identifiable<Person> {}
class Animal extends Identifiable<Animal> {}
@scivision
scivision / CMakeLists.txt
Last active November 15, 2025 06:08
OpenMP with CMake
cmake_minimum_required(VERSION 3.19)
project(OpenMPdemo LANGUAGES C)
find_package(OpenMP COMPONENTS C REQUIRED)
add_executable(hello hello_openmp.c)
target_link_libraries(hello PRIVATE OpenMP::OpenMP_C)
@TheSantacloud
TheSantacloud / zig-0.13.0-builtins.csv
Created August 16, 2024 17:05
Zig built-ins cheatsheet 0.13.0
@addrSpaceCast(ptr: anytype) anytype Pointer conversion to another address space
@addWithOverflow(a: anytype, b: anytype) struct { @TypeOf(a, b), u1 } Addition with overflow detection
@alignCast(ptr: anytype) anytype Pointer alignment
@alignOf(comptime T: type) comptime_int Alignment for the current target in bytes
@as(comptime T: type, expression) T Safe type coercion
@atomicLoad(comptime T: type, ptr: *const T, comptime ordering: AtomicOrder) T Atomic dereference of pointer
@atomicRmw(comptime T: type, ptr: *T, comptime op: AtomicRmwOp, operand: T, comptime ordering: AtomicOrder) T Atomic modify and return previous value
@atomicStore(comptime T: type, ptr: *T, value: T, comptime ordering: AtomicOrder) void Atomic store of value at address
@bitCast(value: anytype) anytype Type cast at compile time
@bitOffsetOf(comptime T: type, comptime field_name: []const u8) comptime_int Bit offset of field within struct