Skip to content

Instantly share code, notes, and snippets.

View romainl's full-sized avatar
💰
Alwayz Into Somethin'

Romain Lafourcade romainl

💰
Alwayz Into Somethin'
  • Razorfish France
  • Paris, France
View GitHub Profile
@paulirish
paulirish / what-forces-layout.md
Last active August 2, 2025 07:28
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
@plugnburn
plugnburn / README.md
Last active November 16, 2019 10:42
ZenQRXT - all nano-goodness, combined

ZenQRXT - all nano-goodness, combined

This page aims to provide a downloadable bundle of four awesome nano-libraries that offer a complete client-side barebones stack: Zen.js, Q.js, R.js and XT.js. Please read about each library at its README page.

Using the bundle

Bundle size is 2641 bytes (1303 bytes gzipped). Download it right here or include it into your code:

@plugnburn
plugnburn / README.md
Last active March 27, 2016 16:09
Psto: a single package.json to scaffold and run your single-post web page in no time

Psto

This is a no-brainer to get your single-post web page up and running. Just have to have Node and NPM installed, and /bin/sh pointing to Bash shell. Styling is powered by 999.css.

Steps:

  1. Place the below package.json into an empty directory and enter this directory in your command line prompt.
  2. Run npm run scaffold.
  3. Edit domain, title and author in the config section of your package.json. The domain may be either a Surge subdomain or your own (please refer to the Surge docs). If you're going to host your page yourself, you may leave domain empty.
@plugnburn
plugnburn / README.md
Last active July 7, 2016 19:45
Z5: a nano-library bundle for client-side development

Z5

Move all your frontend development to real programming with Z5 nano-library bundle that contains:

  • Zen.js (v2) for reactive in-memory storage;
  • Q.js for DOM manipulation;
  • R.js for client-side routing;
  • XT.js for dynamic DOM construction/templating;
  • XS.js for dynamic stylesheet construction.
@plugnburn
plugnburn / README.md
Last active January 31, 2023 15:02
DaBi - live two-way DOM-to-data binding in 25 lines of JS

DaBi: data binding library that keeps it simple

DaBi (short for Data Binding) is a dead simple yet complete and self-contained DOM-to-JS and JS-to-DOM data binding library in just 25 lines of pure ES5 and 454 bytes when minified.

How to obtain

Download it right here or include it into your HTML:

" Add this to your vimrc to get a minimalist autocomplete pop
" Or use as a plugin : https://github.com/maxboisvert/vim-simple-complete
" Minimalist-TabComplete-Plugin
inoremap <expr> <Tab> TabComplete()
fun! TabComplete()
if getline('.')[col('.') - 2] =~ '\K' || pumvisible()
return "\<C-P>"
else
anonymous
anonymous / minimalist.vim
Created July 6, 2016 20:23
hi clear
if exists("syntax_on")
syntax reset
endif
let colors_name = "minimalist"
hi Normal cterm=NONE ctermbg=233 ctermfg=255
set background=dark
# Seems supported in $TERM_PROGRAM_VERSION 370
> cat nsterm-256color
# A xterm-256color based TERMINFO that adds the escape sequences for italic.
xterm-256color|xterm with 256 colors and italic,
sitm=\E[3m, ritm=\E[23m,
use=xterm-256color,
> tic nsterm-256color
> ENV TERM=nsterm-256color tput sitm; echo italics
@elerch
elerch / arch-usb-uefi.md
Last active June 27, 2025 11:47
Installation of Arch Linux on a USB stick with UEFI and legacy BIOS Support

Our goal here is to have one USB stick to rule them all. Objectives:

  • We want a full system - not a live CD
  • We want to boot this system on a Macbook Pro (requires UEFI)
  • We want to boot this system on a Acer C720 Chromebook (requires Legacy BIOS support)
  • We want the system "functional"

The last bullet is subject to interpretation, but I'm defining functional as:

  • X Windows works (with LXDE)
@felixSchl
felixSchl / run.sh
Last active November 15, 2016 16:46
Typescript 2 -> ES6 -> Babel -> ES5 (+ watchable / NO gulpfile! - just unix pipes) https://asciinema.org/a/20h1t61ky43xvszkrcl8h24jo
#!/bin/bash
#
# Task wrapper. Runs various chores in a cross platform manner.
#
# Usage: run [-h] <command>
#
# Available commands are:
# build: Build the project
# <other>: Run any other command available in the NPM path
#