Take target temperature and pretty print

This commit is contained in:
Swizec Teller 2018-10-10 23:30:22 -07:00
parent 1789987e7d
commit 8b70bad42e
3 changed files with 64 additions and 6 deletions

View file

@ -1,5 +1,7 @@
const si = require("systeminformation");
const mri = require("mri");
const sll = require("single-line-log").stdout;
const kleur = require("kleur");
function collatz_step(n) {
return n % 2 ? n / 2 : 3 * n + 1;
@ -16,17 +18,17 @@ function collatz(n) {
async function readTemp() {
const temp = await si.cpuTemperature();
return temp.main;
return { main: temp.main, cores: temp.cores };
}
async function thawMyCarrots(targetTemp) {
let temp = await readTemp();
console.log(`Warming from ${temp} to ${targetTemp}`);
for (let n = 1; temp < targetTemp; temp = await readTemp(), n += 1) {
console.log("Current temp", temp);
console.log(`Collatz takes ${collatz(n)} steps for n=${n}`);
for (let n = 1; temp.main < targetTemp; n += 1) {
collatz(n);
// console.log(`Collatz takes ${collatz(n)} steps for n=${n}`);
temp = await readTemp();
sll("Current temp", kleur.bold.red(temp.main.toFixed(2)));
}
}

54
package-lock.json generated
View file

@ -4,16 +4,70 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"requires": {
"number-is-nan": "^1.0.0"
}
},
"kleur": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz",
"integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ=="
},
"mri": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/mri/-/mri-1.1.1.tgz",
"integrity": "sha1-haom09ru7t+A3FmEr5XMXKXK2fE="
},
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"osx-temperature-sensor": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/osx-temperature-sensor/-/osx-temperature-sensor-1.0.3.tgz",
"integrity": "sha512-iqgD538Qp6F/RzV+kDeDsoNlSZIFShuS92DE4Zw9VwronG5qWsQIrDzvd777Bv1/+quF0ItR5ooelonENN5AgQ=="
},
"single-line-log": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
"integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
"requires": {
"string-width": "^1.0.1"
}
},
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
"ansi-regex": "^2.0.0"
}
},
"systeminformation": {
"version": "3.45.7",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-3.45.7.tgz",

View file

@ -23,8 +23,10 @@
},
"homepage": "https://github.com/Swizec/thaw-carrots#readme",
"dependencies": {
"kleur": "^2.0.2",
"mri": "^1.1.1",
"osx-temperature-sensor": "^1.0.3",
"single-line-log": "^1.1.2",
"systeminformation": "^3.45.7"
}
}