Skip to content

Instantly share code, notes, and snippets.

@DavidBruant
DavidBruant / maker.js
Created August 22, 2014 12:13
Destructured Math
var decls = Object.getOwnPropertyNames(Math).map(function(k){
return k+" = Math."+k;
}).join(',\n');
console.log("var "+decls+';');
@DavidBruant
DavidBruant / gist:4fd1384487c867b04d21
Created August 9, 2014 16:06
draw with replacement
function yesProbabilityOverNDraws(p, n){
return p * ( (1- Math.pow(1-p, n) ) )/(1- (1-p));
}
console.log(yesProbabilityOverNDraws(0.01, 10) )
@DavidBruant
DavidBruant / dirty-debug.css
Created August 1, 2014 22:18
CSS dirty debug
*:hover::before, *:hover::after{
color: black;
position: fixed;
background-color: white;
padding: 0.5em;
}
*:hover::before{
content: '#' attr(id);
top: 0;
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>yo</title>
</head>
<body>
<object type="application/x-shockwave-flash" data="anim.swf" width="800" height="600">
<param name="movie" value="anim-animation.swf" />
<param name="quality" value="high" />
[{"created_at":"Wed Apr 09 10:56:24 +0000 2014","id":453848900273987584,"id_str":"453848900273987584","text":"OH: \"Me lib\u00e9rer l'esprit pour avancer sur ce projet.\nCoder et r\u00eaver\"","source":"web","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":217829531,"id_str":"217829531","name":"David Bruant","screen_name":"DavidBruant","location":"Home is wherever I'm with you","description":"A bridge between machines and people, but mostly between people. Bridging in French, JavaScript and English","url":"https:\/\/t.co\/wgWqdD3suo","entities":{"url":{"urls":[{"url":"https:\/\/t.co\/wgWqdD3suo","expanded_url":"https:\/\/longtermlaziness.wordpress.com\/","display_url":"longtermlaziness.wordpress.com","indices":[0,23]}]},"description":{"urls":[]}},"protected":false,"followers_count":947,"friends_count":375,"listed_count":76,"created_at":"Sat Nov 20 17:10:21 +0000 2010","favourite

Pourquoi

De l'informatique, on peut attendre de vivre de meilleures vies. Mieux comprendre le monde qui nous entoure, mieux communiquer, être plus efficace, compenser certaines de nos limitations.

Nous utilisons du logiciel via nos ordinateurs, nos smartphones, les services dans le "cloud". Ces services et produits sont principalement issus d'organisations à but lucratif. Ces organisations appartiennent souvent tout ou partie à des sociétés de capital-risque dont l'objectif non-dissimulé est la fructification du capital investi. Si cette motivation n'est pas malicieux en soi, elle a pour conséquence naturelle la convergence de tout l'écosystème startup sur les problèmes dont les solutions peuvent "scaler" et maximiser la métrique profit. Toute une classe de problèmes dont la solution n'a pas vocation à "scaler" est donc complètement ignorée par cette partie de l'industrie.

Nous avons vocation à occuper ce quasi-vide. Les problèmes que nous résoudrons ne seront pas motivés par la recherche du profit (nous

@DavidBruant
DavidBruant / gist:9549803
Last active December 13, 2017 13:40
Réponse à Un gros Troll de plus sur Javascript sametmax.com/un-gros-troll-de-plus-sur-javacscript/

C’est quand Google a enfin pu donner des perfs décentes – c’est à dire celles qu’ont d’autres langage depuis une décennie – à Javascript que les gens ont envisagé de l’utiliser sur le serveur.

Nan, c'est parce que Ryan Dahl a compris l'importance de la programmation asynchrone et que les gens qui font du JS sont déjà dans le moule de l'asynchrone et que c'était donc une communauté facile à convaincre. C'est juste une bonne coïncidence qu'au moins une VM très performante est dispo.

Node.js massacre beaucoup d'autres langages en performance grâce à l'asynchrone, pas grand chose d'autre, sûrement pas la "vitesse du langage".

Javascript (...) ne sert absolument à rien sans un framework côté serveur

On compare des choux et des carottes. Un langage (syntaxe, sémantique) ne sert à rien. Il faut toujours des trucs en plus. Dans un contexte web, à quoi sert Ruby sans Rails ?

@DavidBruant
DavidBruant / review.md
Last active August 29, 2015 13:55
Sigma.js Review

Reviewing this verion

Overall comments

ids

Why are ids strings (instead of numbers)? More importantly, why are ids needed at all? In JavaScript, objects can be unambiguously identified with their reference.

var o = {};
@DavidBruant
DavidBruant / gist:8519103
Last active June 3, 2018 22:08
Guide pratique à destination des preneurs de décisions pour faire des applications partagées pérennes disponibles sur une majorité de plateformes

Problème

Créer des applications partagées pérennes qui peuvent être déployées à grande échelle.

Partagées signifie que différents utilisateurs vont pouvoir interagir et "travailler" ensemble sur l'application

Grande échelle, en 2013, signifie que des dizaines à des millions de personnes peuvent utiliser l'application. Une majorité de plateforme doit être accessibles (ordis de bureaux, portables, tablettes, téléphones mobiles) de préférence à moindre coût et donc sans avoir à tout refaire pour chaque appareil. Vivant dans un monde régit par certaines lois physiques, il sera raisonnable de supposer que le réseau de communication est au pire ouvert. La sécurité de l'application ne devra pas supposer le contrôle du réseau, même dans si l'environnement de déploiement est considéré contrôlé.

Pérennes signifie que l'arrivée de nouveaux appareils sur le marché ne remet pas en cause plus de 1% du temps de développement. Personne ne peut prévoir le futur ; il conviendra de garder un œil ouvert sur les ten

@DavidBruant
DavidBruant / yo.md
Last active January 3, 2016 18:59
Comment éviter que ce genre d'aventure nous arrive dans les futures épiceries décentralisées de Mozilla ? (après https://twitter.com/clochix/status/424824354124230657 )

Clochix

Comment éviter que ce genre d'aventure nous arrive dans les futures épiceries décentralisées de Mozilla ?

n1k0

apprendre aux gens à ne pas installer n'importe quoi me semble un premier combat de premier plan :) après, qu'ils comprennent ce que ça induit d'installer quelque chose, de se responsabiliser vis à vis de ça

C'est important, mais pas suffisant.