Skip to content

Instantly share code, notes, and snippets.

@paulirish
paulirish / what-forces-layout.md
Last active April 4, 2026 18:29
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
@jtrefry
jtrefry / Win10-64bit-npm.md
Last active June 27, 2025 19:45
Configuring Windows 10 (64-bit) for npm and node-gyp
  • Install Git for Windows
  • Install Node
  • Install Python 2.7.3
  • Install Microsoft Visual Studio 2015 Community
  • Open the command prompt as Administrator, run the following commands, then close the command prompt (a new prompt is required before the new environment variables will be available)
    • npm install -g npm
      • (Upgrades to npm v3, which no longer nests dependencies indefinitely. No more "maximum path length exceeded" errors due to the 260 character path limit in Windows, or needing to delete node_modules with rimraf.)
    • setx PYTHON C:\Python27\python.exe /m
      • (May need to change path to your custom install directory.)
  • Open a new command prompt and run the following commands. If these install without errors, you have bypasse
@campaul
campaul / tarnish.rs
Created December 11, 2015 01:52
Simple HTTP proxy in Rust.
/*
Simple HTTP proxy in Rust. Hard coded to proxy rust-lang.org.
*/
extern crate hyper;
use std::io::Read;
use hyper::Client;
use hyper::header::Connection;
#!/bin/sh
set -e
read -p "Username: " username
read -p "Are you sure you want to add $username to all packages (y/n)? " confirm
if [ "$confirm" != "y" ]; then
echo "Ok bye."
exit 0
fi
@yefim
yefim / Dockerrun.aws.json
Last active July 22, 2025 01:10
Build a Docker image, push it to AWS EC2 Container Registry, then deploy it to AWS Elastic Beanstalk
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "<AWS_ACCOUNT_ID>.dkr.ecr.us-east-1.amazonaws.com/<NAME>:<TAG>",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "443"
}
@luser
luser / servo-cross-mac
Created May 26, 2016 18:29
Cross-compile Servo from Linux to OS X
#!/bin/bash
#TODO: you will need to manually get an OS X SDK.
set -e
# Install the proper Rust nightly with rustup, and add the OSX target.
rustup install nightly-`cat rust-nightly-date`
rustup override add nightly-`cat rust-nightly-date`
rustup target install x86_64-apple-darwin
@nolanlawson
nolanlawson / windows.md
Last active December 28, 2018 22:24
Git/Bash/Node/npm on Windows

Git/Bash/Node/npm on Windows

Update: there's an easier way to do this. Check out my new gist instead.

How I set up my Windows 10 machine for Node development. Time to complete: about 2 hours on a fast connection.

Requirements

  • Bash, not Windows shell
@Jaykul
Jaykul / Get-MsdnKeys.ps1
Last active August 3, 2022 20:28
PowerShell + Selenium Demo: Getting Started, and reusing cookies with Invoke-Request
# It might work in 4, but I'm not testing there. Lower you'll have to tweak code
#requires -Version 5.0
param(
# Your Live ID for MSDN login
[Parameter(Mandatory)]
[PSCredential]
[System.Management.Automation.CredentialAttribute()]
$Credential,
# Pick a browser to use. Defaults to Firefox (which doesn't seem to require an external Driver file)
@alekseykulikov
alekseykulikov / index.md
Last active March 23, 2026 03:33
Principles we use to write CSS for modern browsers

Recently CSS has got a lot of negativity. But I would like to defend it and show, that with good naming convention CSS works pretty well.

My 3 developers team has just developed React.js application with 7668 lines of CSS (and just 2 !important). During one year of development we had 0 issues with CSS. No refactoring typos, no style leaks, no performance problems, possibly, it is the most stable part of our application.

Here are main principles we use to write CSS for modern (IE11+) browsers:

@robinst
robinst / thread_pool_with_worker_reuse.rs
Created October 12, 2016 00:25
Rust thread pool with worker reuse for tasks that have an expensive initialization
use std::sync::mpsc;
use std::sync::mpsc::{Receiver, Sender};
use std::sync::{Arc, Mutex};
use std::thread;
fn main() {
let pool = Arc::new(Pool::new());
let mut handles = Vec::new();