Skip to content

Instantly share code, notes, and snippets.

View chances's full-sized avatar
🏠
Working from home

Chance Snow chances

🏠
Working from home
View GitHub Profile
@emilbjorklund
emilbjorklund / Pseudo-makefile
Last active January 21, 2020 22:27
Makefile for Sass?
# This is probably some pseudo-makefile syntax, but basically I want to do this:
# - The `assets/scss/` dir has a bunch of "top level" Sass files to
# be compiled - foo.scss, bar.scss etc.
# - Note: these files will each generate one resulting .css file of the
# same name as the source inside the build dir. foo.scss -> foo.css etc.
# - The build needs to be re-run any time any partial inside of a
# subdir in the scss folder changes: if `assets/scss/baz/_baz.scss` changes,
# I want to recompile all of the "root" .scss files.
# I.e. all of the partials in subdirs are prerequisites.
cmake_minimum_required(VERSION 3.2)
project(nisqually)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_definitions(-DENTRY_CONFIG_USE_SDL=1)
add_definitions(-DBGFX_CONFIG_RENDERER_OPENGL=1)
IF(APPLE)
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -framework SDL2 -framework CoreFoundation -framework Cocoa -framework OpenGL -framework GLUT")
@vanhouc
vanhouc / gulpfile.js
Last active November 26, 2022 19:48
screeps typescript stuff
var gulp = require('gulp');
var ts = require('gulp-typescript');
var https = require('https');
var fs = require('fs');
var secrets = require('./secrets.js')
gulp.task('compile', function () {
var tsResult = gulp.src(['src/**/*.ts', 'typings/**/*.d.ts'])
.pipe(ts({
noImplicitAny: true,
@paulirish
paulirish / what-forces-layout.md
Last active November 12, 2025 10:20
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@remojansen
remojansen / class_decorator.ts
Last active July 30, 2025 05:53
TypeScript Decorators Examples
function logClass(target: any) {
// save a reference to the original constructor
var original = target;
// a utility function to generate instances of a class
function construct(constructor, args) {
var c : any = function () {
return constructor.apply(this, args);
}
@parmentf
parmentf / GitCommitEmoji.md
Last active November 5, 2025 16:33
Git Commit message Emoji
@paulvictor
paulvictor / ObservableT.js
Created January 28, 2016 09:06
Demonstrate how to use monadTransformers to combine monads(Observerable and IO in this case) to form higher order monads
"use strict"
var m = require("monet");
var MonadT = m.MonadT;
var IO = m.IO;
var Observable = require("rx").Observable;
class IOObs {
constructor(ioObservable){
this.value = ioObservable;
}
@yang-wei
yang-wei / decode.md
Last active May 24, 2025 09:14
Elm Json.Decode tutorial and cheatsheet

When receiving JSON data from other resources(server API etc), we need Json.Decode to convert the JSON values into Elm values. This gist let you quickly learn how to do that.

I like to follow working example code so this is how the boilerplate will look like:

import Graphics.Element exposing (Element, show)
import Task exposing (Task, andThen)
import Json.Decode exposing (Decoder, int, string, object3, (:=))

import Http
@ericclemmons
ericclemmons / example.md
Last active October 13, 2025 15:16
HTML5 <details> in GitHub

Using <details> in GitHub

Suppose you're opening an issue and there's a lot noisey logs that may be useful.

Rather than wrecking readability, wrap it in a <details> tag!

<details>
 Summary Goes Here
@samthor
samthor / dialog-focus-restore.js
Last active December 1, 2023 14:39
Restore focus after a HTML dialog is shown modally
/**
* Updates the passed dialog to retain focus and restore it when the dialog is closed. Won't
* upgrade a dialog more than once. Supports IE11+ and is a no-op otherwise.
* @param {!HTMLDialogElement} dialog to upgrade
*/
var registerFocusRestoreDialog = (function() {
if (!window.WeakMap || !window.MutationObserver) {
return function() {};
}
var registered = new WeakMap();