Skip to content

Instantly share code, notes, and snippets.

@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 / remember.js
Created March 3, 2016 19:40
Remember.js
"use strict";
function remember(...args){
const [key, value] = args;
if(args.length === 1){ // recall
return new Promise(resolve => {
setTimeout(() => {
const val = localStorage.getItem(key);
function makeMembrane(){
var revokableWrappingHandler = new Proxy.revokable({}, {
get: function(target, name){
return Reflect.call.bind(wrap(Reflect[name]));
}
});
var revoke = revokableWrappingHandler.revoke;
var wrappingHandler = revokableWrappingHandler.proxy;
var un2wrapped = new WeakMap();
@DavidBruant
DavidBruant / ScreenTreeNode.js
Created August 25, 2013 21:36
2D BSP in JavaScript
(function(global){
"use strict";
function constEnumPropValueDesc(v){
return {
value: v,
enumerable: true,
configurable: false,
writable: false
};

SSH Wiki for Ants

Basics

ssh user@192.168.20.35 // Basic ssh connection
ssh user@192.168.20.35 -p 33 // Using port 33
ssh user@192.168.20.35 -v // log more info on connection
postgres=# select * from territoires;
created_at | updated_at | id | name | description | user_id
-------------------------------+-------------------------------+--------------------------------------+----------------+---------------------+--------------------------------------
2016-07-06 11:35:33.315887+00 | 2016-07-06 11:35:33.315887+00 | 420d67eb-235b-4c0b-bf75-a7598df56b0b | cb | | a8d86ac9-89b1-4017-8760-4c61074b1f79
2016-07-06 15:40:11.201173+00 | 2016-07-06 15:40:11.201173+00 | 17b2e7f2-9a3a-4ced-9b5a-7c6fa8a7f857 | IC | IC and EE | c090d0aa-b71f-4332-b041-9985e0394a0e
2016-07-07 12:54:01.910133+00 | 2016-07-07 12:54:01.910133+00 | cea352d5-752e-4381-8de6-9b9543ab9a91 | Coeur de Forêt | | 3cf51bd6-d9dc-40a6-aabe-9ebbb8d46f3c
2016-07-08 10:15:35.118294+00 | 2016-07-08 10:15:35.118294+00 | a033691f-9bd4-482b-
@DavidBruant
DavidBruant / gist:6489486
Last active May 28, 2016 19:28
Breaking down attribute moves in d3 to fit in requestAnimationFrame
var moveItems = (function(){
var todoNode = 0;
var todoLink = 0;
var MAX_NODES = 240;
var MAX_LINKS = MAX_NODES/2;
var restart = false;
function moveSomeNodes(){
var n;
@DavidBruant
DavidBruant / url-application-engineering.md
Created February 12, 2016 10:33
URL application engineering

Isomorphic application engineering and URLs in Node.js

A good web application will make good use of URLs and browser history. This allows users to bookmark, use their browser history, etc. However, there are a number of considerations to have in mind when trying to have good URLs

Constraints

  • Good URLs
    • Different objects should have different URLs. The level of granularity is left to the application creator
  • Consistency after a refresh
  • If a user navigate the application and hits refresh, they should see what they left or close enough
@DavidBruant
DavidBruant / assets.js
Last active February 9, 2016 22:42
Turn "HTML" files into JS and CSS TextOutputs
function unescape(content){
return content.replace('&lt;', '<')
.replace('&gt;', '>');
}
function getJavaScriptTextOutput(filename){
var content = HtmlService.createHtmlOutputFromFile(filename).getContent();
content = unescape(content);
return ContentService.createTextOutput( content ).setMimeType(ContentService.MimeType.JAVASCRIPT);
@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.