A Microsoft project that compiles a simple, declarative JSON-based spec of a data visualization into a form that Vega-Lite, ECharts or Chart.js can render. It's pitched at agentic use, but is a simple intermediate format humans could benefit from too.
Microsoft Research
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2
Famously, the only thing Java gave JavaScript was the first four letters of its name. That goes unmentioned in 😉 this new documentary about Java (74 minutes), but I enjoyed learning Java's story anyway. It's from the same folks as the fantastic Vite, Angular, and Node.js documentaries.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣4❤3👍2
A dissection of a North Korean campaign that hides malware inside SVG images in a fake job interview's JavaScript 'coding challenge'. The targeting of job-seeking devs is on the increase, as Roman Imankulov recently discovered first-hand.
Daniel Stepanic (Elastic)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣5❤4👍3🔥2
A PDF parser built in Rust with bindings for Node (plus WASM, Rust, and Python) — it worked great in my testing. It includes OCR, handles layouts/is spatially aware, and is fast (a complex 140-page PDF took ~10 seconds). Here's how to get started from Node.
LlamaIndex
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🔥1
CHALLENGE
class Timer {
constructor() { this.seconds = 0; }
start() {
this.tick = () => { this.seconds++; return this.seconds; };
return this.tick;
}
}
const t = new Timer();
const tick = t.start();
const obj = { seconds: 100, tick };
console.log(tick(), obj.tick(), t.seconds);👍3❤1🔥1
❤4👍1🔥1
From the creator of NodeBook, a thorough guide to Node's internals, comes a scroll-driven visualization following every step a single HTTP POST request takes from the user's click to Node's event loop and on to a database behind it.
Ishtmeet Singh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
CHALLENGE
const primArr = [1, 2, 3];
const copyArr = [...primArr];
copyArr[0] = 99;
const objArr = [{ x: 1 }, { x: 2 }];
const copyObjArr = [...objArr];
copyObjArr[0].x = 99;
console.log(primArr[0], copyArr[0], objArr[0].x, copyObjArr[0].x);
❤2
🔥1
CHALLENGE
const arr = [1, [2, 3], [4, [5, 6]], 7];
const a = arr.flat();
const b = arr.flat(2);
const c = arr.flatMap(x => Array.isArray(x) ? x : [x, x]);
const d = [1, 2, 3].flatMap(x => [[x]]);
console.log(JSON.stringify([a, b, c, d]));
❤1👍1🔥1
What is the output?
Anonymous Quiz
20%
[[1,2,3,4,[5,6],7],[1,2,3,4,5,6,7],[1,1,2,3,4,[5,6],7,7],[1,2,3]]
36%
[[1,2,3,4,[5,6],7],[1,2,3,4,5,6,7],[1,1,2,3,4,[5,6],7,7],[[1],[2],[3]]]
34%
[[1,2,3,4,5,6,7],[1,2,3,4,5,6,7],[1,1,2,3,4,[5,6],7,7],[[1],[2],[3]]]
9%
[[1,2,3,4,[5,6],7],[1,2,3,4,5,6,7],[1,1,2,3,4,5,6,7,7],[[1],[2],[3]]]
👍2
CHALLENGE
const source = {
_val: 1,
get val() { return this._val; }
};
const copy1 = Object.assign({}, source);
source._val = 100;
const copy2 = { ...source };
copy1._val = 999;
console.log(copy1.val, copy2.val, source.val, copy1._val);❤7🤣2👍1🔥1
What is the output?
Anonymous Quiz
20%
1 100 1 999
38%
1 100 100 999
30%
100 100 100 999
12%
1 1 100 999
❤4👍1
CHALLENGE
function Animal(name) {
this.name = name;
}
Animal.prototype.speak = function () {
return `${this.name} makes a sound`;
};
function Dog(name) {
Animal.call(this, name);
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function () {
return `${Animal.prototype.speak.call(this)} (bark)`;
};
const d = new Dog('Rex');
console.log(
d.speak(),
d instanceof Animal,
d.constructor === Dog,
Object.getPrototypeOf(d) === Dog.prototype
);
export {};❤1👍1🔥1
CHALLENGE
class Base {
static count = 0;
static #secret;
static {
Base.#secret = 10;
Base.count += 1;
}
static getSecret() {
return Base.#secret;
}
}
class Derived extends Base {
static {
Base.count += 100;
}
}
console.log(Base.count, Derived.count, Base.getSecret());❤1🔥1
👍2🔥1
A practical guide to publishing npm packages more safely in 2026, written by someone who's released several popular packages (like postcss and nanoid). As well as showing how to use things like staged publishing and trusted publishing, he explains why and the security benefits of doing so.
Andrey Sitnik
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2
CHALLENGE
function* inner() {
yield 1;
yield 2;
return 10;
}
function* outer() {
const result = yield* inner();
yield result;
yield 3;
}
const gen = outer();
const a = gen.next().value;
const b = gen.next().value;
const c = gen.next().value;
const d = gen.next().value;
console.log(a, b, c, d);What is the output?
Anonymous Quiz
26%
1 2 3 10
36%
1 2 undefined 3
21%
1 2 10 undefined
17%
1 2 10 3
❤2