Skip to content

Instantly share code, notes, and snippets.

View enesser's full-sized avatar

Eric J Nesser enesser

View GitHub Profile
@enesser
enesser / Article.md
Last active August 29, 2015 14:16 — forked from Warry/Article.md

How to make faster scroll effects?

  • Avoid too many reflows (the browser to recalculate everything)
  • Use advanced CSS3 for graphic card rendering
  • Precalculate sizes and positions

Beware of reflows

The reflow appens as many times as there are frames per seconds. It recalculate all positions that change in order to diplay them. Basically, when you scroll you execute a function where you move things between two reflows. But there are functions that triggers reflows such as jQuery offset, scroll... So there are two things to take care about when you dynamically change objects in javascript to avoid too many reflows:

@enesser
enesser / msdeploy.bat
Created January 23, 2015 00:34
msdeploy - Typical Sitecore Deployment Options
msdeploy -verb:sync -source:package=C:\path\to\deploy.zip -dest:auto -enableRule:DoNotDelete
@enesser
enesser / Category.js
Created December 10, 2014 03:16
Food Item Hierarchy Sample in Keystone
'use strict';
var keystone = require('keystone'),
Types = keystone.Field.Types;
/**
* Content page represents user generated pages
* @type {keystone}
*/
var Category = new keystone.List('Category', {
@enesser
enesser / gulpfile.js
Last active August 29, 2015 14:08 — forked from mlouro/gulpfile.js
"use strict";
/* global console */
var gulp = require('gulp');
var gutil = require('gulp-util');
var browserify = require('gulp-browserify');
var jshint = require('gulp-jshint');
var watch = require('gulp-watch');
var stylish = require('jshint-stylish');
var refresh = require('gulp-livereload');
var sass = require('gulp-sass');
var myEfficientFn = debounce(function() {
// All the taxing stuff you do
}, 250);
window.addEventListener('resize', myEfficientFn);
@enesser
enesser / chown.usrlocal.sh
Created September 8, 2014 20:52
Take ownership of /usr/local
# Takes ownership of /usr/local
# Not the best approach, but makes using programs like Homebrew easier
# Alternative would be to make Homebrew run off ~/usr/local and keep /usr/local owned by root
sudo chown -R `whoami` /usr/local
@enesser
enesser / svgAnimateTransform.js
Last active August 29, 2015 14:06
Animating an SVG via scale using animateTransform
// animating an SVG via scale using transform child without using any frameworks
// compatible with IE9.
// write out an SVG-compatible XML tag, not easy to do in jQuery
function makeSVG(tag, attrs) {
var el= document.createElementNS('http://www.w3.org/2000/svg', tag);
for (var k in attrs)
el.setAttribute(k, attrs[k]);
return el;
}
@enesser
enesser / mountsmbfs.sh
Last active April 8, 2020 00:14
Mount SMB Drive in Mac OS X Shell
#view available shares
smbutil view //username:password@server.name
#make the mount target
mkdir share_name
#mount the share
mount -t smbfs //username:password@server.name/share_name share_name/
#unmount the share
@enesser
enesser / sitecore-publishmultiplecds.cs
Last active August 29, 2015 14:01
Publishing to Multiple CDs in Sitecore w/ C#
//Getting the context of a Sitecore user that should be used by the loader. Default is extranet\Anonymous
Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName("loaderuser", false);
// 1) Switching the user context to the loader user
using (new Sitecore.Security.Accounts.UserSwitcher(user))
{
// 2) Switching to the site context that contains workflow
using (new SiteContextSwitcher(SiteContextFactory.GetSiteContext("shell")))
{
// 3) Making sure that the database context is master. Shell defaul is core
@enesser
enesser / portablenodemodule.js
Last active August 29, 2015 13:58
Portable Node.JS modules
"use strict";
(function(exports) {
// Your Node.js code goes here
}(typeof exports === "undefined"
? (this.moduleName = {})
: exports));