The site is down
It's available in Google's cache.[1]
[1] http://webcache.googleusercontent.com/search?q=cache:https:/...
HN user
The site is down
It's available in Google's cache.[1]
[1] http://webcache.googleusercontent.com/search?q=cache:https:/...
It does lead to subtle bugs.
Have you encountered any bugs so far while testing NodeScript out? I thought I have taken care of all the gotchas when it comes to semicolons.
The default behaviour is not to shadow variables. If you want to shadow a variable, you have to do so explicitly with the 'let' keyword.
Here is a NodeScript snippet and its equivalent in Python:
// NodeScript
x = 10
function outer() {
y = 20
function inner() {
x = 100
y = 200
}
inner()
console.log(x, y)
}
outer()
# Python
x = 10
def outer():
y = 20
def inner():
global x
nonlocal y
x = 100
y = 200
inner()
print(x, y)
outer()Regarding the semicolons, due to the insertion mechanism JavaScript uses, lines starting with '[', '(', or '`' will get merged with the previous statement. So the example in the repo will get parsed in JavaScript as:
x = 10;
y = 20[x, y] = [y, x];
Your assumption is correct. NodeScript defaults to let-declarations. This leaves you with a block-scoped language and prevents leakage of global variables. If you want to make a global variable, you will have to explicitly write it as a property of the global object.Thanks for the kind words. I really appreciate it.
I also really like Mac OS, even with it's thorns, because its design is much better than whatever version of Linux I would use (not a big fan of Ubuntu's Unity).
I would love to hear your thoughts on the Cinnamon DE. Genuinely curious.
Here is the full text:
1/ The key to finishing projects on time is to start every single step as late as possible (exactly the opposite of what most PMs do)
2/ First, because only progress on the critical path matters for final delivery, therefore all other starts are distractions
3/ It would be like spending hrs on a huge dinner prep by making all the side dishes, only to realize u forgot to pre-heat oven
4/ Second, starting early doesn't mean you'll finish early. Parkinson's Law: the task simply expands to fill the extra space
5/ Third, even if u do finish a step early, that gain will be wasted: next person won't be ready
6/ Starting a step early actually has all sorts of negat conseq, which is why procrastination is evolutionarily & logically a good strategy
7/ Starting early increases likelihood u don't have all info and prereqs, making rework likely (i.e. estimate blowout)
8/ Starting early increases the surface area for interruption attacks (internal & external), since u "have plenty of time"
9/ Starting early explodes the amt of lead time not spent actually working (i.e. Touch time)
10/ 70-99% of task lead time is waiting time, queueing, pending confirmation, waiting on approval, learning, rampup, setup, etc
11/ Ppl complain about estimation being hard, but it's not "uncertainty". It's them starting things early due to supposed uncertainty!
12/ But maybe the worst effect of starting early is that ppl start late anyway. Who actually begins a step before they have to?
13/ So you get worst of both worlds: a LONG plan with huge lead times, which are ignored as ppl do everything last minute. Vicious cycle
14/Last reason early starts suck, is they give illusion of safety. But Murphy doesn't hit everywhere evenly, he concentrates chaos at 1 spot
15/ Irony is this is self-reinforcing: did you hit the deadline because u executed well, or because you had excessive safety (100-200%)?
16/ So person who adds the most excessive safety is rewarded for "hitting their estimate," as if estimating and executing are independent
17/ Late starts fix all this: when the step is "released," they have barely enough time to finish if they go at full speed
18/ This pressure helps them focus, get into flow, ignore distractions/interruptions, optimize for 1 thing, get it done!
19/ Procrastination isn't an issue, because they're already behind, since u also cut their estimated lead time in half (oops!)
20/ If they finish on time it's actually a cause for celebration, and the next person can actually take advantage of the time gained
21/ The PM knows what to focus on, since u start with few steps (critical path ones) and only gradually begin new ones as late as possible
22/ Another benefit: once crit path person passes hot potato, they're free! U don't assign them new work, that would be punishing perform.
23/ Late starts also help with resource contentions (the same person doing 2 steps), esp important in cross-funct creative teams
24/ Instead of "start everything NOW!" You're saying "U must not start anything until the last poss moment. Focus on the current task!"
25/ This helps ppl not multitask, since they only have one task at any given time, and it's late!
26/ Ppl are generally happier: focus + flow + roadrunner mode (only 2 speeds, 100% & 0%) + fast results = happiness for both emp & co
27/ ANOTHER benefit of late starts: u have much better estimation data, since lead time now more closely approximates touch time
28/ 3 main results of all this: throughout (output x sales) explodes, lead time per project plummets, and huge excess capacity is revealed
29/ U read that right: earlier u start steps, the later u deliver projects, the more excess capacity you're likely to have
30/ Why? Because the almost universal response to late projects is "we need more capacity!" False. U need to use what u have
31/ The busier everyone in your co seems to be, the more confident I am that you have tremendous, double-digit excess capacity
32/ To add insult to injury, emps in such companies also say they're "too busy to invest in productivity." Speed up the hamster wheel!
33/ BUT to use late starts, u also need buffers. Bec some steps do in fact go late, just not as many and not as late as u think
34/ And I don't mean buffers as a general concept, u need very precisely placed and sized buffers divided into zones, updated daily
35/ There is a buffer for every purpose: project buffers, feeding buffers, iteration buffers, bottleneck buffers. Gotta know which 1 to use
36/ The PM's job becomes easy: just watch the buffer penetrations. No need to do anything until it gets to Zone 3 or 2, all else is noise
37/ If u want to know where all this comes from, Critical Chain Project Mgmt: https://en.wikipedia.org/wiki/Critical_chain_project_managem...