Links to some of my blog posts, codepen demos, and github gists.
https://dfkaye.com is built with Hugo.
Some titles:
- Units are Wholes, not Parts
- The Plus and Minus of TDD
- From a great comment to Cedric Beust's 2006 post, Agile people still don't get it.
- Fixing
Number.toFixed()
- JavaScript’s
eval()
andFunction() constructor
- Custom attributes are fast, good, and cheap
- Stop using CSS classes for everything.
- Stop using BEM.
- Use custom (non-standard) attributes in HTML and matching them with CSS attribute selectors
- Use attributes in combination.
- Use attribute values to reflect state.
- Disable JavaScript using browser dev tools
- Using Hugo for TDD With Javascript
- Data-driven testin with wheredoc
- Functionally-numeric objects
- Skip links, jump links, and accessible headings
- We threw out the rule book
- How we wrote a plain JavaScript app from scratch using Mocha for test-driven development and ParcelJS for bundling.
- Attribues and Entities
- Setting up the XML feeds in Hugo.
- Teach Yourself Accessibility
- Accessible CSS-driven Tabs (without JavaScript)
- Safe wrapper for
Object.assign()
- JavaScript's
Object()
vs.Object.create()
- Safer Math operations in JavaScript (using TDD)
- JavaScript's under-appreciated
Object()
constructor- Instead of guard clauses or type annotations, you can use JavaScript's Object() constructor for safe type and value access.
- Switching to Hugo: steps, sequence, troubleshooting
- Switching to Hugo: reasons, resources, more
- First post: Why Hugo?
- I wanted to do more than write or rant about something, like creating CSS and vanilla JavaScript demos and test suites...
These are being migrated to the hugo blog, slowly but inexorably.
Custom attributes are fast, good, and cheap- Two object definition refactorings from 2017
Number.toFixed() rounding errors: broken but fixable- Why input string format matters for JavaScript (and moment.js) dates
- Using only month/year in jqueryUI datepickers
- Pseudo-Comments in CSS (Or, How Browsers Parse Styles)
- CSS
linerule comments - Mocking – not testing – private functions in JavaScript
The Plus & Minus of TDD ~ a commenter’s great response to Cedric Beust.Units are Wholes, not Parts- Problems with static inheritance [in JavaScript]
- Preserve multiline strings with uglify
JavaScript’seval()
andFunction()
- A TDD boilerplate project for JavaScript
- ES6 Generators as State Machines
- Forked from example codepen by Ryan De La Torre.
- The React UI checkbox state app refactored using HTML, CSS, and vanilla JS
- CSS rgba() function's alpha rounding bug
- TAB traversal with grid row rearrangement
- preserve TAB (source) order while rearranging display order using
grid-column: #colnum
,grid-column: span #colcount
,grid-row: #rownum
,grid-row: span #rowcount
, among others.
- preserve TAB (source) order while rearranging display order using
- Traffic-signal using CSS
:target
pseudo class - date-input-element
- Stop using date-pickers. Use input elements that accept
yyyy-mm-dd
formatted text, and then write reader-friendly date strings to a text node.
- Stop using date-pickers. Use input elements that accept
- Djikstra maze algorithm
- A code-along event with @jamonholmgren https://twitter.com/jamonholmgren/status/1289025470235729921
mocha
+chai
BDD setup- CSS
[attr=""]
selector with empty value finds<tag attr>
- This one surprised me.
- Spurred by this tweet.
- Traffic-signal using custom CSS attributes and
next()
- Running version of traffic signal interview test (vevo)
- Revisiting
<abbr>
- Modified from Ire Aderinokun's CodePen, Revisiting abbr.
- Custom
<grid>
element without React or Material-UI- Uses
grid {}
andgrid grid {}
rulesets. - I hate React already, but I really hate Material-UI which is for people who don't know HTML or CSS and refuse to learn.
- Uses
- @keyframers 3.2 flip() transition with CSS vars & border-radius
- Sweet animation using flip transitions.
- Calculator
- My first non-trivial "app" built with the SAM pattern.
- Accessible to keyboard navigation and screen readers.
- Learned a ton.
- Simple Responsive Spreadsheet
- Implements Robin Rendle's CSS-Tricks article code for table with a sticky sticky top row and sticky left column.
- Very nice solution.
- Table with detail expansion rows
- a fork from a pen by Oliver Phillips that adds a details row in an expanded row.
- Start Rating radio group
- An experiment hover state selectors.
- Not screen reader friendly.
- proxy-message.js
- Fun with JavaScript Proxy! Over-engineered solution to Jamon Holmgren's RFP tweet...
- embedded-worker-blob.js
- Create web workers dynamically with an embedded worker blobs. Lots of possibilities here...
- parse-parameter-names.js
- Extract parameter names from JavaScript function argument list.
- algorithm-notation-examples.md
- Couple examples of algorithm notation from academic papers
- repeat-until-cancel.js
- Pretty interesting trick spotted at Matyáš Racek's blog (focuses on stopping workers)
- This version demos a repeat-until-cancel, asynchronous loop with blob URL and
fetch()
- test-observable-fragment.js
- string-based test naming style in the es6 observable proposal suite
- cancel-promise.md
- Notes on cancelable promises: cancel a promise vs. cancel an action
- remembering-freemarker.md
- Testing FreeMarker template rendering with JUnit and XOM
- fix-callable-function.js
- polluted prototypes on callable function objects: a massive red herring
- streams.js
- Streams in the browser - ReadableStream, WritableStream...
- char-frequency.js
- Count the frequency of each letter in a string (JavaScript) - Returns array of { character, count } tuples, sorted by count, then sorted by character.
- proto-pollution.js
- prototype pollution in JavaScript - sources, detection, defenses
- vastly.js
- even more vastly improved structure sharing, performant, cycle tolerant merge algorithm - handles prototype pollution and frozen objects
- array-remove.js
Array.remove()
methods in several flavors (index, value, all values, index at(-9), at(NaN), et al), and as opposite ofArray.filter(f)
- printable.js
- Test whether a value is "printable" (not null, undefined, NaN , empty), thus, suitable for JSX, e.g.
- return-object.js
- The right way to ensure a value or its fallback is an object, or return an empty object.
- date-distance.js
- Get the distance between two JavaScript Dates, in years, months, days, totalDays, et al. (key:
date.toJSON()
)
- Get the distance between two JavaScript Dates, in years, months, days, totalDays, et al. (key:
- custom-data-factory.js
- Make a custom data structure with non-enumerable iterators.
- typescript-headlines.md
- Satirical headlines replacing real terms with "TypeScript"
- cast.js
- Cast any value into another type in JavaScript (doubtful solution).
- cloning_assign-vs-create.md
- Cloning objects in JavaScript:
Object.assign()
vsObject.create()
- Cloning objects in JavaScript:
- html-comments-in-javascript.js
- HTML comments have worked in JavaScript since 1995, modern web development tooling advocates amazed
- object-prototypal-inheritance.md
- Note about objects and prototypal inheritance
- Hash.js
- Use
crypto.subtle.digest
to create hash hex string (Copy+paste+modified from https://stackoverflow.com/a/68545495)
- Use
- css-keylogger-attack-fix.html
- Guard against a CSS keylogger attack using CSS
- for-in-vs-for-of.md
- Differences between the
for...in
andfor...of
loop constructs in JavaScript
- Differences between the
- record-and-tuple.md
- Records and tuples in JavaScript
- read-only.md
- Handling readonly in TypeScript vs. JavaScript
- assert-crash.js
- assert vs crash (crashing assert test)
- strict-mode.md
- Short note about strict mode ("use strict" directive)
- check-instance-type.md
- check instance types in JavaScript without using
instanceof
.
- check instance types in JavaScript without using
- async-promise-iterator.js
- super async iterator function that yields resolved promises from an array but in resolution order
- original version by @reu (Rodrigo Navarro)
- k-values.js
K
is a null-safe, NaN-safe, primitive-safe, object key value function for generating array diffs and intersections.
- object.spread.md
- Short note about object spread (and an array merge function)
- object.assign.md
- Short note about
Object.assign()
.
- Short note about
- break-on.js
- break/stop iteration in forEach, filter, map, reduce and other run-to-completion Array methods
- js-let-keyword-test.js
- where the
let
keyword is not a reserved word in JavaScript
- where the
- safe-resolve.js
- " safe promise wrapper function (made possible by async await)" (@simonhoiberg tweet)
- rest-proxy.js
- "Super low code REST client using JavaScript proxy" (@DavidWells tweet).
- sam-loop-example.md
- SAM pattern, loose example of pattern to click for data, show "loading" status, request data, handle data response, and update status again.
- Structured Behavioral Programming Idioms
- Notes from "structure behavioral programming idioms" paper
- batch.js
- batch update DOM with Worker data ( a sketch ).
- async-assert.js
- Use async assert() in JavaScript instead of "types".
- object-creation.md
- objects in JavaScript, except for literals, depend on functions.
- recover-builtins.js
- Ways to recover built-in constructor functions from literals and syntax tricks in JavaScript
- hyphenate.js
- Axel Rauschma's JavaScript kata: "insert hyphens between pairs of characters in a string"
- camel-case.js
- Improved JavaScript function to convert snake_case, kebab-case, and space-separated strings to camelCase.
- short-circuit.js
- Avoiding if-else in JavaScript with AND, OR, and ternary operators combined with true and false values in various orders and groupings.
- arrow-to-named-function.js
- JavaScript showing how to delegate from arrow functions to named functions for better stack traces
- string-to-bool.js
- JavaScript version of python distutils.util.strtobool(val)
- match-reduce.js
- modified version of @metapgmr's match-reduce
- string-replicate.js
- Port F#'s
String.replicate(value, char)
to JavaScript, with example use in Arabic-to-Roman numeral conversion.
- Port F#'s
- reverse-to-numeric.js
- vanilla JS function reverses a value and switches its sign (positive to negative and vice versa).
[draft blog post]
check value types- Different ways to check value types in JavaScript without using the
typeof
operator.
- Different ways to check value types in JavaScript without using the
- reverse-string.js
- reverse a string - and only a string with a for loop - because a guy on Twitter said
string.split("").reverse().join("")
is inefficient.
- reverse a string - and only a string with a for loop - because a guy on Twitter said
- short vanilla JS leap year check
- alert-dialog-polyfill.js
- Polyfills for
alert()
,confirm()
, andprompt()
functions, in case Google Chrome really does remove them.
- Polyfills for
[in progress]
Error-first Form states- vanilla JS version of ascii to binary
- SAM pattern vs. finite state machines and statecharts
- JJ's quote on how the SAM pattern differs from finite state machines and statecharts.
- date-factory
- Date Factory accepts strings, dates, and numbers, returns dates.
- handle keydown events properly
- Stop form submission on Enter key, readonly input, Space key on buttons, etc.
- verify-generator
- function checks whether given argument is a generator function*.
- store.js
- store.js creates a generator function to store and merge data; includes rudimentary history API.
- parse-integer
- A
parseInt()
that doesn't break on "1.5e+3", "2e7", "FF", "-0", long floats, separators, etc.
- A
mergerino
slightly refactored- refactor of
@fuzetus/mergerino
, "an immutable merge util for state management" at https://github.com/fuzetsu/mergerino/.
- refactor of
flipString
: Turn a string upside-down in JavaScript- Not mine: first published in 2005 or so by David Faden at http://www.revfad.com/flip.html
truthful
- Correct implmentation of a boolean check in TypeScript.
- polyfill for the
Array.prototype.at()
method rAssign
library, slightly refactored- refactored version of https://github.com/micnic/r-assign/, which applies
Object.assign()
to a series of sources, then uses a schema against which to extract defined properties by type and name.
- refactored version of https://github.com/micnic/r-assign/, which applies
- Book list: Multi-stable cognitive phenoma
- Includes more than cognitve phenomena, really.
- Reactive JQuery
- JQuery has all we need to make it reactive, if we add these four things.
- BThreads manager refactored
- 2 refactorings of the behavioral.js class by Luca Matteis @lmatteis
- Actor Model in a Tweet
- 2020 upgrade of @dalnefre (Dale Schumacher)'s "actor model in a tweet."
- Draft of SAM Pattern test strategy using dependency injection
- barebones dependency injection example
- JavaScript variable hoisting and scope
- Hugo blog "search" implementation
- SAM Pattern Boilerplate
- Testing Private Functions in JavaScript: Don't, and Here's How
- JavaScript's numeric_separator_char: test cases
- select-n-most-recent.js
- Interview code challenge: select n most recent movies from a list while preserving their original list order.
- boolean-string-to-boolean.js
- This keeps coming up on twitter. Q: How to convert "true" and "false" to actual boolean true and false?
- format-numeric-string.js
- The number format helper from the Calculator codepen at https://codepen.io/dfkaye/pen/QWjdEZe
- omit.js
omit.js
removes array items that match every key-value in a descriptor
- diff-map.js
diffMap(A, B)
returns a map of dot.delimited.paths showing any differences between object A and object B
- value-guard.js
- not the best name; idea is that guard takes a function plus some extra params to make invariant, pre- or post-condition assertions about a value (details inside, with 3 variations).
- is-value.js checks that a value is not undefined, not null, not NaN, and not an empty string.
- fetch-gists.js helper to retrieve my gists from api.github; only took 5 years to think of this.
- schedule-dom-init
- bare-bones DOM init using
readyState
checks. - supports both
fn()
andfn.handleEvent()
interfaces.
- bare-bones DOM init using
- Keyboard navigation is a function of the View and only the View
- top-level
await
vs.async
IIFE - zip.js merges 2 or more arrays into a matrix
- is-number.js checks that a value is functionally a number and not
NaN
- Boilerplate for using TypeScript as a type checker on JavaScript files containing JSDoc annotations
- html-skeleton-with-csp-aria.html
- Expanded version of Josh W. Comeau (2020), HTML Skeleton (adds CSP, ARIA, custom tag name)
- Against TypeScript
- xor.js
- async-generator-example.js
- is-object.js
- is-promise.js
- get-date-by-offset.js
- Heydon's Flexbox Holy Albatross
- element from DOMParser
- Create empty but iterable arrays by default using
Array.from()
or[...Array(n)]
(i.e., the spread operator) - Better Fisher-Yates array shuffle in ES5
delay()
using a Promise- Viewport Units on Mobile - another handy article from css-tricks
- CSS-only tabs demo
- revised from Bradley Taunt's Tabbed Content without JavaScript
- Remove
<br>
Line Break with CSS and Replace with Space - re-implement
array.map()
as a standalone function (inspired by Nick Scialli) - test for balanced braces, parentheses, brackets
- textarea resize drag handle polyfill for Edge/Internet Explorer
- Safe
eval
with Workers and Content-Security-Policy - Switching to the Hugo static site generator - reasons, resources, more
- data store using HTTP verbs as method names
- TODO, "tables with freeze headers"
- Custom Collections with generators
- I threw out the rules…
- Andy Bell's auto grid CSS without media queries
- Updated solution to @tevko's runtime task problem
- Notes from Bodil Stokke's "The Miracle of Generators"
- Shorthand regex [A-z] to match all ASCII letters, backtick, caret, underscore, opening & closing square brackets… regex-ascii-plus.js
- Using CSS files in React/JSX
- What are CSS relative selectors? (and why aren't there parent, previous sibling selectors?)
insert-at
: insert a new item to an Object at any specific position - a linkedIn question that seemed fun to respond to, using ES5 syntax.no-value
checks whether a value translates to null, undefined, NaN, or an empty stringuuid
function - 3 implementations (blob, generator, simple).- another UTC date string util - format date as a UTC date string - yyyy-mm-ddThh:mm:dd.mmsZ
- graph-query-builder - utility for making
graphQL
queries - more to do - Styling descendants of
<p>
tags with flex - How broadly does your browser support flexbox? - a followup to Does your browser support
flexbox fieldsets
(or other elements)? Here's a test for that... UTCDate(ms)
string - i.e., (ms) - convert 1363358559454 to "March 15, 2013 at 7:42:39 AM"- Accessible Loading Spinner (borrowed from Paul J Adam)
- You Don't Know CSS: attribute selectors are not property selectors
- Does your browser support
flexbox fieldsets
(or other elements)? Here's a test for that... CSV
utils with tests - download, upload, parse, transform, match...- 3 ways to generate
multiline
strings in JavaScript create-selector.js
- derive state from selectorsshuffle.js
- fisher-yates shuffleupdate.js
- another .set() variant- James H. Fisher's generators example slightly refactored...
- HTML
<details>
element for IE/Edge resolve.js
- another .get() variant- format-condition.js
- format-currency.js
React
app refactored- Accessible CSS-driven
loading
indicator - Stop using
fibonacci
as an example of dynamic programming or recursive algorithm in JavaScript undupe
- removing duplicate entries or objects-by-shape from an array...hashcode
- javascript implementation of java'sstring.hashcode()
method- Updated
Number().toFixed()
polyfill to add-then-remove the trailing '1' in every case. fraction
- Get the full decimal fraction of a value, if coercible to a number; exponent notation supported.data-compare
- Couple of tests for date comparisons in vanilla JavaScript vs. moment.js- safe
assign()
- a sensible wrapper forObject.assign()
set
- set a value at a path in an object (- counterpart toget.js
-)s2n
- get numeric value contained in a string; currency-comma-whitespace-friendly version ofparseInt
et al.headline
- Capitalize Each Word In A Headline (Includes Unicode Support)date mask
- returns 'mm/dd/yyyy' or 'dd.mm.yyyy' based on locale param- Example setup for
mocha+chai
in test html with CSP support andlive-server
for live reload... - chained-api-init-pattern - sequential init via single responsibility endpoints
address-helper-copy+pasta
with refactored solution- chained-api-test-pattern - a CRUD service-like test pattern, using mocha + chai in the browser
- @webreflection's
i18n.js
- i18n in 10 lines of code - inject HTMLElement values into data object
remove-xss
- Remove XSS from text usingJSON.stringify
with a replacer function- post-
parcel
build that uses the bundler API to wrap the js output bundle in an IIFE - fun with empty strings and operators
get.js
- variant of _.get() and dlv(), but returnsundefined
when the property found isNaN
,null
, orundefined
flex
layout using onlydata-namespace
attributesquote-text
- (aka, escape for regexp)- RegExp
/g
flag test with interesting side-effect random-hex-string
- create a random hex value stringschema-ensure
- ensure that an object adhere's to a shape or schemaobject-type
- return a value's "object type" in lowercase (soemthing I've done before but can't find...- speed comparison between
merge
andchange
functions that merge 2 objects, b onto a, recursive json-normalize
- normalize a JSON string (add correct quotes, remove comments, blank lines, and so on)array-empty-slots
- surprising behavior in arrays with empty slotsflatten()
,inject()
,merge()
,collect()
, anddom()
functions for building form fields and retrieving their valueswindow.name
in browsers is expected to be a DOMString, or coercible to one. Always.- blog post - Creating arrays from (array-like) objects
- Refactoring the Y-combinator and its hocus pocus functional programming "magic"
- replace the leading + and first two spaces in git diffs for given multiline string
- modified: Paul Kinlan's
simple-dom-template
- forked:
dom-tojson
- Stringify DOM nodes using JSON (and revive again) error-grammar
- check field validation errors like grammarproperty-names
- What property names dofor...in
,Object.keys()
, andObject.getOwnPropertyNames()
return?is-string
checks whether argument is a primitive string or a String object instance- via toptal - React/JSX in vanilla.js
- Whiteboard this: -
rotation-match
- match words by character rotation, not by anagram - The
array.map()
trick examined... - passive data structure - an object without
toString
,valueOf
, or other prototype fields or methods. is-this
- tests that an argument is the scope or that a value is the scope's valueparse-whole
number, akin to parseInt and parseFloatformat-time
for MM:SS outputfeed-shuffle
trick for colleaguefNaN
andnNaN
- howisNaN()
really worksnumeric-first, own-property-keys-sort
- "shared
sessionStorage
" demo (modified) path-map
- Turn an object into a map of path-value pairs and revive it- this
- f-monad, v-monad - revisiting value() monad...
- VASTLY improved version of cycle-tolerant structure-sharing
change()
method - immutability, prototypal history, and protection against prototype pollution - find user-defined globals - response to Wes Bos challenge
- add-remove DOM elements using
Range
andappendChild
- random letter sequence generator
- Linked List exercise
- is-empty.js util [Es5 version]
- things about
Array().fill()
- things about template literals
pipe
: ES5 version of data flow by function compositionSAM pattern
example, drastically modified- post request grid test page using json-p and vanilla.js
- Find duplicate, non-unique values in an array
html5
grid layout boilerplate with semantic elements, preload link tricks, responsive css, etc...clean(object).js
: get a copy of an object of without blank entries (two versions)- JavaScript refactoring example - feel free to disagree
- An "append-only log" experiment in JavaScript
- more fun with number formatting; kind of polyfill for
Intl.NumberFormat()
Math.add()
andMath.prod()
: Safer Math operations in JavaScript- Someone said, "FizzBuzz is hard." Just stop it.
- Array sorting and sub-sorting
- [IN PROGRESS] Component Soup
- some DOM parser rendering against non-standard markup
- feature/scenario test api-we-wish-we-had
- Surprising lte (
<=
) and gte (>=
) operator results in JavaScript fornull
,object
, andundefined
- [IN PROGRESS] Adding TDD with JavaScript to Your Legacy Application
- check whether two strings are anagrams of each other
_.get()
polyfill for the lodash.js method not available in underscore.js- accessible responsive svg - markup borrowed from http://describler.com/#intro
- convert
yyyy-mm-dd
tomm-dd-yyyy
(with optional formatter param) - Some follow-up thoughts to morning discussion on making certain UI components "unit-testable"
- Crockford's Post-JavaScript Apocalypse
debounce()
implentation ~ asked at an interview- Finding max values in arbitrarily structured data arrays using
Math.max()
andArray.reduce()
- answer to @Rich_Harris ~ How to add & remove 'passive' event handlers
- wai-aria-tabs
- wai-aria-alert-dialog
- wai-aria-accordion
- cycle-tolerant structure sharing with immutability
- balanced parentheses string test
- zero-global loader concept
- leaflet's simple template interpolater
- markup-unit - tdd for markup p.o.c based on Heydon's revenge.css...
- utf8 triangle entities
- Notes to Heydon Pickering's Write Less Damn Code
- most boring ToDo list in vanilla.js and barely-tolerable.css
assert()
method on every object- number-sum-product
- collect.js - solution to amazon water problem
- rx-array-observable.js ~ observable array example by @andrestaltz in "You will learn RxJS at ng-europe 2016"
- fix broken code in es6-template-strings.js example...
- visit-once - variation on non-recursive depth-first traversal
- non-blocking computation
eval
- direct vs. indirect- "callback as contract" basics
- scrape-and-sum
- get all childnodes of document fragment before insertion into the dom
- Some differences between JavaScript's Object() and Object.create() functions
- get-type-name (vast improvement over type-describe gist)
- performance of
String(value)
vs'' + value
- tel-phone-input-directive
- shorter-key-path
- camelCase from snake_case or kebab-case
- centering with CSS writing-mode
- find non-enumerable object property names in ES5
- optimized solution for @tevko kata
- handle-event-errors-test.html - "how does the dom really deal with event handler errors on a node with multiple listeners registered for the same event type? [ June 22, 2010 ]
- make namespaces with
reduceRight
- persistent data with structure sharing ~ mutable and immutable examples
enum
in javascript- timing-attack-resistant version of @mathias's
compare(a, b)
fn - Spec-compliant
Object.assign()
polyfill handleEvent
: event handlers as configurations- my version of
leftpad()
Number.isNaN()
polyfill- Getting enumerable and non-enumerable properties on prototypes and built-ins
- Stateless Components are really
string.replace()
… - re-structuring with
array.sort()
, plucking start and end values - ALWAYS set
type
attributes explicitly on<button>
elements - testing
valueOf()
andtoString()
- test xbar computation from @chrisstead's "Extending Functions with Decoration through Composition" post
- loadImgOnScrollIntoView.js
- my original CSS line-comments post
- responsive-table.css
- hyphenate.css
- (fake xslt) st:template:script-element.html
add()
answer to challenge ~ ES3-compatible versionsupports()
function usingFunction()
constructor- jade+backbone+brequire browser example
- fibonacci et al (mobileIron)
- dumplist (weatherbill)
- fluent
operable()
- fluent
comparable()
- state as
function.toString
(orfn.valueOf
) - parenthetical grouping
- reverse-polish reducer interview test (vevo)
- traffic signal interview test (vevo)
- implement a Set in javascript ~ interview test (vevo)
- Safari-wrench xpath library by Ruben Daniels (@javruben) circa 2006-08
- Tiny Observable implementation by @jhusain
- for-in loop implementations in some different languages
- fluent comparators in js (NB: adds to
Boolean
,Number
andString
prototypes) - IE9 layout thrashing issue ~ not solved yet
- extending-native-dom-prototypes-without-collisions ~ alternative implementation of idea by @LeaVerou
- get-factors-fast.js for @tevko
<select>
onchange, onkeyup event fix (actually anti-pattern)- supports-event-type ~ dom level 0 for @Rich_Harris
- javascript garbage collection for @duhroach
- continuous
- clone
- cycle
- stacktrace
- native
- un: function for replacing
undefined
ornull
with empty string. - month: response to @Tevko challenge at
http://codepen.io/tevko/pen/Fkemi
- jsonpath-sans-eval: content-security-policy-friendly version
- type-describe: tiny type
describe()
method for javascript - string#escapeHTML
- string#test
- value.js ~ monad that makes a value immutable
- string-module ~ create module from method on string instances
- function#create
- module.reset()
- js arrays: replace all occurrences of
'x'
with'y'
usingwhile()
&[].indexOf()
- string#as alias
- simple string dependency graph
- constructor function pattern question for @WebReflection
camelCase
pathnames to symbols: path/example-name => path/exampleName- Configure and run multiple framework launchers for testem
- ap:richtexteditor
- ap:packager
- ap:eventsource#subscribe
- customize chrome devtools
- answer to jaroslav tulach's javascript quiz
Function()
constructor for batch processingmetafunction
with insane clj pattern- Insane Parenthetic Style for JavaScript
- sorted hashmap for @jamonholmgren
- Ben Orenstein's simple rules for new programmers ~ condensed
- visit css rules
- JSTL compilation jars
- 80 characters
- js-get-fn-name
- zort
- tdd +plus and -minus
- tdd for qa
- configuration injection vs late-definition for dependency mocking (JavaScript)
- mocking, not testing, private functions
- data URIs in production question for @slicknet
- char-count for siftscience.com
- script-api: serviceable API for loading, caching, remove, refreshing and batching script tags asynchronously in the DOM
- should test 3rd party code
- testling, tape, github
- simple-path-normalize
- requestCSS