cool hello world
hash = (value) => { | |
if(isNaN(value)) return btoa("NaN" + Number.toString() + Number.name + Number.length) | |
switch(typeof value){ | |
case 'function': | |
return btoa(value.name + value.length + value.toString()) | |
default: | |
return btoa(JSON.stringify(value)) | |
} |
最後我家裡很舒服,可以再玩.
(Skip to the next headding for #dev-diaries you don't want read #me-diaries)
Until recently I have been on an accidental haiatus from writing code for my self for about a year. No regrets here, life just got complicated and I had to focus my attention elsewhere. I had been peddling div tags part time, but due to the life things my head wasn't in it and I wasn't having fun, BUT FOR ME CODING ISSSS FUNNN! I think probbly even the FUNERISTEST. It always was before and now it is again, whoot.
The good news is I have so many new curiosities, and I'm really excited about finding ways to write me-code that will be fun and useful for more that me-peeps. For the near future my biggest intention is to slam my fingers on the keyboard to get my chops back, but I plan on doing a better job of documenting my processes, writing better docs and commit messages, and maybe even capture some video tutorials. My 真的 future plans are to dig in to some open-source projects an
// TEST SPEEDS OF DIFFERINT TYPES OF OBEJCT INSTANTIATION | |
// Im working on github.com/slugbyte/data-structures and have been testing out differnt coding styles for | |
// implamenting my ADSs. At first I was mosly intresed in the asthetics of my coding, because I | |
// have been intrested for a while in expiermenting with coding style. But I recenlty started reading about diffrent | |
// Speed implications using functions like Object.prototype and Object.create so I decited to go ahead write my self | |
// some SPEED TESTS! | |
// I created the following simple note using each instationation method | |
// {type: 'todo', value: 'get eggs'} |
testSpeed = ({cb, tries=10, iterations=Math.pow(2, 20)}) => { | |
let state = { | |
tries, | |
iterations, | |
results: [] | |
} | |
for (var t =0; t < tries; t++){ | |
let startTime = Date.now() | |
for(var i = 0; i < iterations; i++){ | |
cb() |
// worst names ever but it shows that instantionation with the new keyword is many orders of magnitude faster than | |
// using object.create or object.setPrototypeOf or Object.defineProperties :( | |
// WHYYYYYY | |
class cls { | |
constructor(){ | |
this.x = 'x' | |
this.y = 'y' | |
this.z = 'z' | |
} |
// server certs | |
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes | |
// client cert | |
echo quit | openssl s_client -showcerts -servername localhost -connect localhost:3000 > cacert.pem |
let trampoline = (fn) => (...args) => { | |
let next = fn(...args) | |
while(next instanceof Function) | |
next = next() | |
return next | |
} | |
let range = (start, end, result=[]) => { | |
result.push(start) | |
if(start === end) return result |
_main | |
OUT 1 0 | |
JMP _on | |
_loop | |
JGT A 64 _flip | |
OUT x80 A | |
ADD 1 A | |
JMP _loop |