For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | more slindsey's commentsregister

Such a pet peeve of mine. Define it, at least on the page. From wikipedia.

> NAT64 is an IPv6 transition mechanism that facilitates communication between IPv6 and IPv4 hosts by using a form of network address translation (NAT). The NAT64 gateway is a translator between IPv4 and IPv6 protocols, for which function it needs at least one IPv4 address and an IPv6 network segment comprising a 32-bit address space.


Fun fact: I wrote the initial version of that page. I taught networking lessons at a university, IPv6 transition mechanisms were one of the topics we covered, and this one didn't have an article, so I wrote it. It was quite funny when one of the students realised it was who wrote it when they went to Wikipedia wanting to learn more :)


It's a follow up to the second part and covered in the first minute of the video as review anyways.


Presumably saying that India represents 14% of the world population. Recent look suggests it's 17%.


A company I was at 20 years ago did a variation of this for software estimation. It resulted in some good discussions. It wasn't anonymous as mentioned here.

When one person on the team says an element will take one week and another says 8 weeks, there are fundamental differences in assumptions that need to be worked out. That was the good part of the process. The bad was when the Project Manager doesn't let the process play out and simply takes the shortest of the available estimates.


This triggered my PTSD with regards to project managers. People whine about agile and scrum etc. but what they don’t realise is that the biggest benefit of those processes was that they replaced project management led, waterfall based processes.

Waterfall failed for many reasons, but one of them was because you’d get asshole project managers constantly taking minimal estimates exactly as you describe and then applying pressure on individual devs when they overrun the minimum estimates.

One of the biggest contributors to developer happiness and productivity over the last 20 years has been to escape this tyranny.


Professional project management (PMI) embraces critical path, iron triangle, risk management. Iteration was always The Correct Answer™.

Kids today conflate "throw it over the wall" with waterfall.

Agile rejects planning, foresight, vision, end goals. Agile was explicitly concocted to manage upwards, in those organizations unable or unwilling to do proper planning. Unfortunately, the originators wrote down their survival tips, which were then misunderstood by noobs and embraced by profiteers. Just like every other religious text.

Agile is not the victory of iteration over some imagined dark ages of project chaos. The Agile Methodology is to argue about the Agile Methodology. The cult(ural) spread of Agile is no different than any other vacuous self-help omni-fix content-free dogma.


Agile does not reject those things. That’s just a nonsensical statement at best and a straw man at worst.


Nothing in this discussion seems to even mention the most important part of agile: talking to customers often


Absolutely!

That's the genius of the Agile Methodology. Per the Zeroth Law of True Agility [0], we're both utterly correct. With no contradiction.

[0] The Agile Methodology is to argue about the Agile Methodology.


The obvious response is that PMI is a cargo cult. I mean if we're straw-manning everything.


The more interesting question is: Why did Agile beat PMI?

Because project management is not a critical success factor.

Most projects are late, buggy, or outright failures.

One response was to improve project management. That worked okay. But like with most knowledge work, requires some effort.

Another response was to accept the failure rate and simply throw more resources at the problem.

aka Worse is better.


Worse is Better is something else altogether.


But wasn't waterfall always a description of what not to do?

https://en.wikipedia.org/wiki/Waterfall_model#History


It was supposed to be. Then some brilliant folks at the US DOD wrote it into some documents on how to manage large scale software projects.


Any decent project manager know their people,so if Mark says it will take 2 days but in reality takes 5, the PM should see these patterns and either help the person to improve estimations,or adjust project deliverables based on this knowledge.


That's true if the project manager's personal and organizational incentives are to make estimates that are as accurate as possible.

For some people and organizations, the purpose of estimates is not primarily informational.


It's one of the many tools in the efficient tyrannical manager's toolbox, with a motto of "my goal is not to have you do effective work, my aim is to advance my goals and keep everyone below as a non-threat to those goals". Keep em busy and insecure.

Sure nice it doesn't work on competent developers, not with the current job market.


> One of the biggest contributors to developer happiness and productivity over the last 20 years has been to escape this tyranny.

We've only replaced the tyranny of deadline crunch with the tyranny of daily micromanagement. You can't even wipe your own ass without so much as a Jira ticket and half a dozen people signing off on it.

And despite all of the rigmarole and rituals, you still have deadlines. Doesn't matter what the Jira board says. If some upper management dickweasel wants their feature, they will get it. Forget the story points and estimates.


You should look up "Conjoined Triangles of Success". It might do something to heal that PTSD.


Sounds like an unstructured planning poker?


It’s wideband Delphi, which predates planning poker by several decades.

https://en.m.wikipedia.org/wiki/Wideband_delphi

Edit: as I recall from doing estimating using wideband Delphi circa 2004, the main differences with planning poker as I see it practiced today are that estimates were in real time like days or weeks, and votes were collected and displayed anonymously, though as you would expect there was temptation for people to de-anonymize their own votes.


Ah interesting! Thanks for the link. Everything old is new and the cycle continues.


PM should always work with/as a business analyst to figure out the business requirements. A lot of times it is the ambiguity of business requirements that leads to bad decisions.


That's just planning poker.


This is the exact reason that I started writing "posts" or "articles" even though I haven't put any on a site yet. I was putting stuff in a wiki and felt like they were unfinished ideas. I've found that the wiki is where the idea goes and the article is where I can really flesh out understanding. When you take the time to write something out with an outline and real consideration, you understand it better. It has helped me figure out my own thoughts on a subject when previously I only had surface opinions.


Really? Cool. I don't know why, but I've avoided Go for some reason. I didn't even realize it had pointers. Thanks.


My experience with code reviews is that they always became adversarial. I tried to implement code reviews in my group many times and it didn't provide a lot of value.

We finally did it by using GitLab and requiring that every merge request to master must be reviewed by two team members. This provided code review on every piece of code instead of only on select pieces. GitLab allows us to enforce it easily, but the process can be done anywhere.

The nit-picky code reviewer gets overwhelmed defending his point of view and starts being a little more selective. The lazy programmer gets overwhelmed with constant changes and actually starts paying more attention. Somewhere along the way it has actually balanced out.

Discussions have allowed us to identify poor practices, new techniques, and implement some standards.


Where I saw it be successful it was a pretty good team actually. Like pretty much everyone on the team was a reasonable person. The way they did it was before you check into any branch (other than master) you need to get a code review from one other person. So you'd go into the chat room, ask for the review and either get a :shipit or an email/notification on github about whatever was flagged. That worked pretty good but idk if the main reason it worked is because it was a reasonable group of people.


And it can be completely subjective. I applied for a position and interviewed with two different teams there. I had a friend on the interview board. One team said that I seemed "inflexible" and the other team thought I was "too compliant" and potentially wishy-washy. So my feedback consisted of opposite perspectives.


Thanks. I've read everything by McConnell and I remember Code Complete as a good book, and the closest I came to an answer as well. I'm familiar with Martin but haven't read The Clean Coder. I'll check it out.


It looks like a book at first glance but is really an outline with a list of references to other locations to read more about each of the topics. Useful but no new or interesting content on its own.


This is what I'm working through and I like it. I've read a ton but nothing clicked until I started actually "doing". And the components are all available in kits. (Make: Electronics Components Pack 1, etc). You can get the stuff cheaper, but this puts it all together in one place for you.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search:

HN For You