If you haven't already set your NPM author info, now you should:
npm set init.author.name "Your Name"
npm set init.author.email "you@example.com"
npm set init.author.url "http://yourblog.com"
npm adduser
| <!DOCTYPE html> | |
| <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
| <style> | |
| body { | |
| background: repeat url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/7QCIUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGscAVoAAxslRxwCAAACAAAcAnQAV8KpIENoYWV5b3VuZ1dpbGxOZXZlckNoYWVvbGQgLSBodHRwOi8vd3d3LnJlZGJ1YmJsZS5jb20vcGVvcGxlL0NoYWV5b3VuZ1dpbGxOZXZlckNoYWVvbAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAA |
Convenience function for performing a groupBy on a list then a sortBy on the resulting groups using Underscore methods.
sortedGroupBy(list, groupByIterator, sortByIterator)
| (function($){ | |
| $.widget("ui.mywidget", { | |
| options: { | |
| autoOpen: true | |
| }, | |
| _create: function(){ | |
| // by default, consider this thing closed. |
| // Cross browser, backward compatible solution | |
| (function( window, Date ) { | |
| // feature testing | |
| var raf = window.mozRequestAnimationFrame || | |
| window.webkitRequestAnimationFrame || | |
| window.msRequestAnimationFrame || | |
| window.oRequestAnimationFrame; | |
| window.animLoop = function( render, element ) { | |
| var running, lastFrame = +new Date; |
| <a class='button ctrl' href='#' tabindex='1'>★</a> | |
| <ul class='tip ctrl'> | |
| <li class='slice'><div>✦</div></li> | |
| <li class='slice'><div>✿</div></li> | |
| <li class='slice'><div>✵</div></li> | |
| <li class='slice'><div>✪</div></li> | |
| <li class='slice'><div>☀</div></li> | |
| </ul> |
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.
elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParentelem.clientLeft, elem.clientTop, elem.clientWidth, elem.clientHeightelem.getClientRects(), elem.getBoundingClientRect()| /** | |
| * demo to explain chained transforms | |
| */ | |
| * { margin: 0; } | |
| .wrap, .wrap * { display: block; width: 4em; height: 4em; } | |
| .wrap { outline: dashed 1px dodgerblue; margin: 13em auto 0; } | |
| .deg45 { | |
| position: absolute; | |
| animation: ani 8s infinite; | |
| } |
| -- randomise a column's values using a list of specified values | |
| IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'ShuffleTable') | |
| DROP TABLE [ShuffleTable]; | |
| IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'InsertDataListTable') | |
| DROP TABLE [InsertDataListTable]; | |
| GO | |
| CREATE TABLE [InsertDataListTable] ([TargetColumn] NVARCHAR(50)); |
This is now an actual repo: