Paul M. Jones

Don't listen to the crowd, they say "jump."

The Argument from Fallacy

"Argument from fallacy" is the formal fallacy of analyzing an argument and inferring that, since it contains a fallacy, its conclusion must be false. It is also called argument to logic (argumentum ad logicam), fallacy fallacy, fallacists fallacy, and bad reasons fallacy. Fallacious arguments can arrive at true conclusions, so this is an informal fallacy of relevance.

Emphasis mine, via Argument from fallacy - Wikipedia, the free encyclopedia


The Post-Modernist Swindle

1. Let us agree that no framework of interpretation can be demonstrated conclusively to be correct.

2. Let us proceed to rely on a framework of interpretation that explains all social phenomena in terms of the concepts of race, gender, privilege, and power.

Source: The Post-Modernist Swindle | askblog


Telegraph: A Lambda-Style PSR-7 Middleware Dispatcher

On reflecting over the discussions surrounding the proposed PSR for HTTP middleware (on which I am coordinator), I realized there's no reason there should *not* be a "request-only" PSR-7 middleware dispatcher.

So, here is Telegraph to fill that void.

Built over this past weekend, Telegraph is essentially a copy of Relay, which is a "request+response" middleware dispatcher. (There are a couple of minor differences.)

I also took the time to port the existing Relay middleware over to Telegraph. You can find the Telegraph middleware here.

I was asked over the weekend, "Is this a sign that the HTTP middleware proposal is moving from request+response to request-only?" (/me shrugs) I just figure if there's such a need for something like that, perhaps it should be made available.

Oh, and I was able to quality-check and release it using Producer.

Enjoy!



The Iron Law of Evaluation

The The Iron Law of Evaluation (Rossi, 1987) is that the expected value of any net impact assessment of any large scale social program is zero.

...

Why does this happen? The simple answer is that in a largely-rich, largely-free country, with many existing (if confusing) private and public supports for low-income people, it’s just as easy to screw things up than to make things better, no matter how much you spend.

Source: The Iron Law – spottedtoad


Pournelle on Trump and the "Conservative" Label

A great number of Americans had just got used to the notion that they were conservative, and they thought they were being conservative in supporting someone who wanted to make America great again, control the borders, stop policing the world (and if we have to keep doing it, get some other beneficiaries of the expenditure of American blood and treasure to start contributing their fair share, a real portion of their GDP not just token amounts), appoint original intent Justices to the Supreme Court -- well, you know. Put American interests first. Really. With a realistic foreign policy. And if we have to fight a war, then fight it, with enough force to win and win fast and then get out, the way we always have. Didn’t we do that in four years, going from essentially no army at all, and while we were at it becoming the “arsenal of democracy” whatever that means, and doing that in two years? While coming out of a Depression, for heaven’s sake. But, we’re told, that’s not conservative, that’s something else.

So a lot of people are confused. Having been read out of the conservative movement for being insufficiently enthusiastic about globalism, I didn’t figure I owed any obedience to the label, and apparently there are a lot of Americans who feel the same way. I’d say I was for liberty, but that sounds like a liberal, and I know I’m not part of the liberal movement. Whatever I am, I know that Federal aid to education has been a disaster and we had far better schools when it was left to the states, some of whom competed to have schools run to serve the interests of the students, not the interests of the teachers’ unions. But it’s very much in the interest of the ruling class to have awful schools and to keep the price of good ones high; their kids generally don’t go to public schools anyway.

Remember the Northwest Ordinance? Probably you don’t. Or the Land Grant colleges and universities? Can you recall when public state colleges were essentially free to those qualified to be in them? I suspect nostalgia for those days is reactionary, not conservative.

But I also remember when Detroit was the symbol of productivity, and the enemies of America had the goal ending that.

Source: Working on fiction; NSS Acceptance Speech; Trump and the neocons; And a lot more. – Chaos Manor – Jerry Pournelle


The Quakers Tolerated Themselves Out Of Existence

But by 1750, the Quakers were kind of on their way out; by 1750, they were a demographic minority in Pennsylvania, and by 1773 they were a minority in its legislature as well. In 1750 Quakerism was the third-largest religion in the US; by 1820 it was the ninth-largest, and by 1981 it was the sixty-sixth largest. What happened? The Quakers basically tolerated themselves out of existence. They were so welcoming to religious minorities and immigrants that all these groups took up shop in Pennsylvania and ended its status as a uniquely Quaker society. At the same time, the Quakers themselves became more “fanatical” and many dropped out of politics believing it to be too worldly a concern for them; this was obviously fatal to their political domination. The most famous Pennsylvanian statesman of the Revolutionary era, Benjamin Franklin, was not a Quaker at all but a first-generation immigrant from New England. Finally, Quakerism was naturally extra-susceptible to that thing where Christian denominations become indistinguishable from liberal modernity and fade into the secular background.

Source: Book Review of Albion's Seed by Slate Star Codex


Multi-Project Issue Tracking With Producer

With Producer, you can get a list of the open issues from your remote origin by running producer issues from the project repository:

$ cd ~/Code/radarphp/Radar.Adr
$ producer issues
radarphp/Radar.Adr

    14. Separate Package for ResponderAcceptsInterface?
        https://github.com/radarphp/Radar.Adr/issues/14

    29. Service level actions?
        https://github.com/radarphp/Radar.Adr/issues/29

$

However, I’m the lead on about 40 different packages and projects, and at one point or another many of them have issues to be tracked on Github. It’s tedious to go to each package repository to list its issues separately. I want to be able to see a list of all issues on all my projects; then I can review them all at once to see what gets my attention.

To get a list of all open issues on several projects, you can create a bash script that changes to each project directory and runs project issues in each one:

cd ~/Code/atlasphp/Atlas.Cli; producer issues;
cd ~/Code/atlasphp/Atlas.Orm; producer issues;
cd ~/Code/auraphp/Aura.Accept; producer issues;
; ...
cd ~/Code/radarphp/Radar.Project; producer issues;
cd ~/Code/relayphp/Relay.Relay; producer issues;
cd ~/Code/relayphp/Relay.Middleware; producer issues;

Call the script all-issues.sh, make it executable with chmod +x all-issues.sh, and then you can issue ./all-issues.sh to get a list of all open issues on all your projects. Pipe the result to a file for easy viewing if you like!



Producer 2.0.0 Released!

Just a short note to say that most (all?) of the feedback from last month’s inital release of Producer has been incorporated into today’s 2.0.0 stable release!

The major changes are:

  • You are no longer required to install Producer globally. You can now install it as a require-dev in your project and call it as ./vendor/bin/producer. (Personally, I prefer to have it global, but that's mostly because I manage so many different libraries.)

  • Along with that, Producer now recognizes a project-specific .producer/config file so you can override Producer settings on a per-project basis.

  • Finally, Producer does not install phpunit and phpdoc any more. You will need to install them yourself, either globally or as part of your package. The benefit here is that you can now specify custom paths to phpunit and phpdoc commands in your .producer/config file.

(Producer is a command-line quality-assurance tool to validate, and then release, your PHP library package. It supports Git and Mercurial for version control, as well as Github, Gitlab, and Bitbucket for remote origins.)



Empirical Research On Software-Engineering Myths

(Heavily condensed from the original, which you should read in its entirety.)

More Isn’t Always Better: Higher code coverage was not the best measure of post-release failures in the field. If 99 percent of the code has been tested, but the 1 percent that did not get tested is what customers use the most, then there is a clear mismatch between usage and testing. It is more beneficial to achieve higher code coverage of more complex code than to test less complex code at an equivalent level. Those are the kinds of tradeoffs that development managers need to keep in mind.

Write Test Code First: TDD teams produced code that was 60 to 90 percent better in terms of defect density than non-TDD teams. They also discovered that TDD teams took longer to complete their projects--15 to 35 percent longer. “Over a development cycle of 12 months, 35 percent is another four months, which is huge. However, the tradeoff is that you reduce post-release maintenance costs significantly, since code quality is so much better. Again, these are decisions that managers have to make--where should they take the hit?”

Proving the Utility of Assertions: More assertions and code verifications means fewer bugs. Looking behind the straight statistical evidence, they also found a contextual variable: experience. Software engineers who were able to make productive use of assertions in their code base tended to be well-trained and experienced, a factor that contributed to the end results. What kind of action should development managers take based on these findings? The research team believes that enforcing the use of assertions would not work well; rather, there needs to be a culture of using assertions in order to produce the desired results.

Organizational Structure Does Matter – a Lot: Organizational metrics, which are not related to the code, can predict software failure-proneness with a precision and recall of 85 percent. This is a significantly higher precision than traditional metrics such as churn, complexity, or coverage that have been used until now to predict failure-proneness.

Geographical Distance Doesn’t Matter – Much: Most people preferred to talk to someone from their own organization 4,000 miles away rather than someone only five doors down the hall but from a different organization. Organizational cohesiveness played a bigger role than geographical distance.

Source: Exploding Software-Engineering Myths - Microsoft Research


Why Wasn't I Consulted?

(Greatly condensed from the original, which you should read in its entirety; all emphasis in original.)

I like to think about media in terms of questions answered.

Like other media (the web) has a question that it answers better than any other. That question is:

Why wasn't I consulted?

“Why wasn't I consulted,” which I abbreviate as WWIC, is the fundamental question of the web. It is the rule from which other rules are derived. Humans have a fundamental need to be consulted, engaged, to exercise their knowledge (and thus power), and no other medium that came before has been able to tap into that as effectively.

WWIC is the thing people talk about when they talk about nicer-sounding things like “the wisdom of crowds” or “cognitive surplus.” It has become the first thing I think about when I think about the web. I start by asking: “How do we deal with the WWIC problem?” Everything else comes after.

The obvious example of WWIC at work is Wikipedia, created for free by unpaid labor. It tapped into the basic human need to be consulted and never looked back.

Once you see [thumbs-up/thumbs-down icons so that you can rank the comments], a website is complete. You're down to the bedrock. A boolean or integer value is the digital equivalent of a grunt. You can't get any more basic than a like, or a thumbs-up, or a favorite.

Source: The Web Is a Customer Service Medium (Ftrain.com)