Hacker Newsnew | past | comments | ask | show | jobs | submit | cliff_badger's commentslogin

Fool me once...


This might be the funniest thing I read in a while.


Funny and deeply disturbing.


Holy hell why didn't he say "Jupyter Notebooks Are..."

I sat there reading through this thing, staring at my, spiral bound, paper notebook being utterly confused at what in the hell he was talking about.

I took a random comment, here, saying it for me to realize what was going on.


lol, what does this do?

"I totally promise to not do bad things."


Isn't the task itself time boxed by the points you assign to the story?

> "It is a 2 point story, why have you taken three weeks to complete it?"


Because sometimes you stumble on a graveyard and you end up cleaning out the corpses of developers past.


Beautifully put.


This is only a guideline, don’t treat it like a hard rule. There could easily be good reasons why a 2 point story took three weeks.

Also gotta stop the negative bias. People will want to complain easily if your 2 point story takes you three weeks, but no one will be singing praises if your 5 or 8 point story is done in a day.


    There could easily be good reasons why a 2 point story took three weeks.
If it was because you were interrupted and given other priorities, that is totally valid.

If it was an estimation failure, that really needs to be looked at and learned from.

I find that this is typically a problem with management and/or process, not the engineer. We as an industry typically do not respect the time it takes for engineers to produce an accurate estimate. This time itself needs to be treated as a first-class concept and time needs to be allocated to it which, in practical terms, often means it needs its own task/card/story/ticket/whatever in the framework of one's choice.

There are nearly always unknowns (typically some kind of externality or legacy code) to explore before we really know how much time something will take.


If you finish your 8 point story in a day, you should pace your work better. ;)


Not necessarily. It could take longer because the original estimate was based on incomplete or invalid assumptions.


My assumption was that if you're not performing sprints, you're not assigning points to stories either.

I don't know why I made that assumption.


If anyone knows the creator of this site, they might want to fix the bug of being able to get a different `frame` of reference on all of the images.

Wiki commons may be a great place to find images, but they do too good of a job naming things.


I sorry, but I am truly confused at the logic here.

If X, then Y.

To test X works you first you start on Y?

If Y succeeds then you don't know if X failed or not && if Y fails then you know that X failed too?


In formal logic, it is known as "modus tollens"... if 'if x then y' is true, then 'if not y then not x' is also true. The inverse is not necessarily true, however: 'if x then y' does not mean 'if y then x'.

In the case of a an X that is hard to figure out on its own, and it is easy to figure out Y, then it might be worth testing Y first, even if you will only get useful information if Y is false.


Let's say you're trying to figure out whether you left your coat at work. You could drive to the office and look for it there, and that will definitely tell you the answer. But if you look in your closet at home, then you know that the coat is definitely not at work, so you're done.

If you don't find the coat in your closet, you will don't know whether you left it at work. It could be in your car or maybe you left it on the train. But it's still worth checking your closet first because that gives you an early possible solution.

In logic, that's: If coat is at work, then closet is empty.

X = "Coat is at work".

Y = "Closet is empty".

Modus tollens tells us that "If X, then Y" implies "If not Y, then not X." So: If closet is not empty, then coat is not at work.


Well, assume you have a very, very efficient algorithm to check if normal boolean expressions have a solution. It checks some constant number of things for each variable, and then outputs a solution and it works for a large number of things.

Using the same logic as the parent comment, I would be very suspicious of the general applicability of this algorithm. Because, if this algorithm was correct, P would be equal to NP based off of this algorithm, because you'd have a polynomial solution to SAT. This, in turn, would invalidate pretty much all practical cryptography, most likely turn bitcoin on its head, and cause a significant number of other disruptions.

That is this line of thinking. The formal name is Modus Tollens, but it basically says: If your assumption is right, I can propose a much more preposterous assumption that would also be right. Or I could propose something enabled or validated by your assumption which is much easier to invalidate.

I constantly use this in stupid security discussions as well. There are so many people asking about silly threat scenarios, but the specific threat scenarios generally imply that an attacker already has control of critical infrastructure anyway, and all of these nitpicky things they wonder about are just not relevant. Like, if you assume this action to be possible, they have control of the secret management solution, and then we are doomed already.


An example of how you could fill this in: identify a small subset of the problem that is relatively quick and easy to test. If the entirety of the problem can be solved, then for sure this small subset has to be solvable too. If you can't solve this small sub-problem, then you know there's not much point diving into the larger rabbit hole yet. However if you do solve the sub-problem, then that might show you the potential that exists, it may allow you to already look at adjacent problems using the results of this early test, and also important: it will give you additional motivation to keep going.


Modus tollens. If X -> Y, then the only way for Y to be false is if X is false.


Contrapositive (if ~Y, then ~X) is logically equivalent to the original implication (if X, then Y). Instead of proving the latter, you can prove the former contrapositive.


It’s not to test if X works, it’s to test if X has any chance of working.


When I feel safe enough to do so, I'm leaving the engineering field completely. Hopefully I can find interesting work where I can take large swaths of time off when the kids are out of school. Really the job itself is there to entertain the brain and provide insurance.

After I do that for a while, I'll enjoy the world and what it has to offer. Whatever that means, with whatever savings is still available.


If you have any interest in building the document locally, here is a container I've used in the past.

(I haven't needed it in a year or so, so it may need some updates...)

https://gitlab.com/fearthebadger/latex-build-container


Can I ask, who in the hell agreed to be part of this study?

"After seven weeks, tissue samples from 22 organ groups and the brain were taken at various periods during the day or night to examine their genetic makeup."

They are doing major surgery (multiple times by the looks of it), including removing brain tissue...


> For their research, the scientists looked at two groups of mice.


If I was a mouse I still wouldn't agree to that


Thank you, I missed that. I assumed it was humans.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: