Skip to content

Instantly share code, notes, and snippets.

View n1k0's full-sized avatar
✏️
writing a github status

Nicolas Perriault n1k0

✏️
writing a github status
View GitHub Profile
@n1k0
n1k0 / words.js
Last active December 20, 2015 22:39
module.exports = function Words(words) {
"use strict";
function frequencies(freq, word) {
freq[word] = word in freq ? freq[word] + 1 : 1;
return freq;
}
return {
get count() {
@n1k0
n1k0 / bob.js
Created August 11, 2013 18:21
"use strict";
function is_silence(message) { return message.length === 0; }
function is_shouting(message) { return message.toUpperCase() === message; }
function is_question(message) { return message.slice(-1) === '?'; }
module.exports = function Bob() {
var defaults = "Whatever.";
var reactions = [[is_silence, "Fine, be that way!"],
[is_shouting, "Woah, chill out!"],
@n1k0
n1k0 / test-http-headers.js
Created July 26, 2013 12:45
Testing HTTP headers using CasperJS
casper.test.begin('Testing HTTP headers', 1, function(test) {
casper.start('http://google.com/', function(res) {
test.assertEquals(res.headers.get('Content-Type'), 'text/html; charset=UTF-8');
});
casper.run(function() {
test.done();
});
});
@n1k0
n1k0 / private1.js
Last active December 19, 2015 13:49
Two alternatives to bring private methods to JavaScript. Prefer method 2.
(function(exports) {
function Universe() {
this.partialAnswer = 21;
}
exports.Universe = Universe;
// private methods
var privatePrototype = {
_computeAnswer: function() {
return this.partialAnswer * 2;
@n1k0
n1k0 / console-toggle.sublime-keymap
Created June 28, 2013 20:57
Toggle the Sublime Text console the same way you do with the Firefox devtools (⌘ + ⌥ + k)
[
{ "keys": ["command+alt+k"], "command": "show_panel", "args": {"panel": "console", "toggle": true} },
]
--
[11:49:56.575] var Model = Backbone.Model.extend({initialize: function() {this.on("change:foo", console.log)}})
[11:49:56.577] undefined
[11:49:58.122] m = new Model({foo: "plop"})
[11:49:58.124] [object Object]
@n1k0
n1k0 / t.js
Created May 26, 2013 12:43
tets case
/* global casper*/
casper.test.begin("tests", 3, function(test) {
"use strict";
var eobDocuments;
function findLinks() {
var map = Array.prototype.map;
return map.call(document.querySelectorAll('li'), function(row) {
return {
@n1k0
n1k0 / herthquake101.md
Last active December 16, 2015 12:38
Hearthquake 101 by @davidbgk

Hearthquake 101

de @davidbgk

  • s'éloigner des fenêtres qui vont voler en éclats + pas cool de tomber du xième étage
  • sortir du bâtiment uniquement après la première réplique qui est la plus violente, courir vers un endroits dégagé si possible non goudronné
  • ne pas prendre l'ascenseur
  • suivre les instructions des secours, pas des gens affolés
  • si tu es en bord de mer, courir vers les hauteurs (pas un immeuble, des collines)
  • si c'est une petite secousse, ne pas s'affoler et apprécier son baptême ;)
@n1k0
n1k0 / eachThen-test.js
Created March 16, 2013 13:58
Casper#eachThen() attempt
casper.test.begin('eachAsync() tests', 1, function(test) {
var received = [];
casper.start().eachThen([1, 2, 3], function(response) {
received.push(response.data);
});
casper.run(function() {
test.assertEquals(received, [1, 2, 3],
'Casper.eachThen() passes item to step data');
<b>iframe</b>