Paul M. Jones

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

Bans on high-capacity magazines are bans on women being able to defend themselves effectively

The woman was working in an upstairs office when she spotted a strange man outside a window, according to Walton County Sheriff Joe Chapman. He said she took her 9-year-old twins to a crawlspace before the man broke in using a crowbar.

But the man eventually found the family.

"The perpetrator opens that door. Of course, at that time he's staring at her, her two children and a .38 revolver," Chapman told Channel 2’s Kerry Kavanaugh.

The woman then shot him five times, but he survived, Chapman said. He said the woman ran out of bullets but threatened to shoot the intruder if he moved.

4 or 5 or 6 rounds may not be enough to stop one bad guy. If there are two or more guys, you might need a *lot* of rounds. Bans on high-capacity magazines are bans on women being able to defend themselves effectively. Via Woman hiding with kids shoots intruder | www.wsbtv.com.


Symfony Components: Sometimes Decoupled, Sometimes Not

Previously, on decoupling and dependencies, I said: "Some [Symfony] commenters were dissatsifed with my use of unit testing requirements to discover what a package really depends on, as opposed to what its composer.json file states."

I'm willing to allow that the Symfony commenters here might be right. Let's try looking at Symfony's claims and see how they stack up. Regarding the decoupling of their components, the Symfony website states:

Beside being a full-stack framework, Symfony is also a set of decoupled and standalone components.

What is a Component?

Symfony Components implement common features needed to develop websites. They are the foundation of the Symfony full-stack framework, but they can also be used standalone even if you don't use the framework as they don't have any mandatory dependencies.

That page then lists the following as their "decoupled" "standalone" components that "don't have any mandatory depedencies":

- BrowserKit             ~ EventDispatcher    ~ Routing
+ ClassLoader            + Finder             - Security
+ Config                 - Form               + Serializer
+ Console                + HttpFoundation     + Templating
+ CssSelector            - HttpKernel         ~ Translation
~ DependencyInjection    + Locale             ~ Validator
~ DomCrawler             + Process            + Yaml

After reviewing the master Github branches for the components' composer.json files, and in some cases the code itself, I conclude that Symfony's claim of "decoupled" "standalone" components is clearly true for 11 of those packages (marked with a + above) and clearly false for 4 of them (marked with a -). I think the claim is debatable for the remaining 6 components (marked with a ~) and I may take up that debate at some later time.

The 11 components for which Symfony's claim is clearly true are: ClassLoader, Config, Console, CssSelector, Finder, HttpFoundation, Locale, Process, Serializer, Templating, Yaml. These composer.json for these components has no "require" for another Symfony component, and my brief review of the codebase did not reveal any hidden dependencies.

The 4 components for which Symfony's claim is clearly false (i.e., composer.json notes at least one "require" for another Symfony component) are:

  • BrowserKit (requires DomCrawler)
  • Form (requires EventDispatcher, Locale, and OptionsReslover [which is not listed in the components])
  • HttpKernel (requires EventDispatcher and HttpFoundation)
  • Security (requires EventDispatcher, HttpFoundation, and HttpKernel)

As such, I think it is clearly false that all Symfony components are standalone and decoupled with no mandatory dependencies. Does having mandatory dependencies make it a bad project? Not at all. It just means their statement of "no mandatory dependencies" (and related statements) is not true for all the components listed.

Now, it may be that the Symfony folk have a different idea of what "decoupled" and "standalone" mean. Are they decoupled from the framework? Sure. But are they decoupled from each other? The answer appears to be "not always."

In comparison, all Aura packages (aside from the Framework package as previously noted) are fully decoupled from the framework composed of them, and also from each other. There no mandatory dependencies, and there are no suggested/optional/sometimes/maybe dependencies. Does that alone make it a good project? Not at all. It just means my claim about decoupled packages in Aura is completely true.


Too Much Wishful Thinking on Middle-Class Tax Rates

When President Obama talks about taxing the rich, he means the top 2 percent of Americans. John A. Boehner, the House speaker, talks about an even thinner slice. But the current and future fiscal imbalances are too large to exempt 98 percent or more of the public from being part of the solution.

Ultimately, unless we scale back entitlement programs far more than anyone in Washington is now seriously considering, we will have no choice but to increase taxes on a vast majority of Americans. This could involve higher tax rates or an elimination of popular deductions. Or it could mean an entirely new tax, such as a value-added tax or a carbon tax.

To be sure, the path ahead is not easy. No politician who wants to be re-elected is eager to entertain the possibility of higher taxes on the middle class. But fiscal negotiations might become a bit easier if everyone started by agreeing that the policies we choose must be constrained by the laws of arithmetic.

Emphasis mine. Via Too Much Wishful Thinking on Middle-Class Tax Rates - NYTimes.com.


Why not let taxes rise on the middle class?

How can we expect people to care about the growth of government if it doesn’t cost them anything?

Instead of paying for the current miasma of spending, we’ve been borrowing the money from our children and grandchildren. The national debt has grown by nearly $6?trillion in the four years since Obama took office. That generational theft cannot continue. We must not keep financing big government by passing the bills on to the next generation. Ideally, we would stop the spending binge and live within our means. But if the nation is not up to that, then we should all pitch in and pay for it -- all of us.

Sorry, taxing the rich won’t solve our problems -- that’s nothing but fiscal snake oil the president has been selling. He is demanding $1.3 trillion in higher taxes on the wealthy over 10 years. Imagine he got it. We are adding nearly that much to the national debt every single year. Taxing the rich would not put even a minor dent in our debt. It would pay for less than three weeks of federal spending every year. The only way to pay for the current expansion of government is to raise taxes on the middle class.

So let’s do it. Let’s all of us experience the true cost of big government in the form of a bigger tax bill.

via Marc Thiessen: Why not let taxes rise on the middle class? - The Washington Post.


Men: To Get Some Peace, Clean Up After Christmas Dinner

Someone has to do the dishes and this is an opportunity at which you should leap.  First of all, your tackling clean-up lets a woman kick back and actually enjoy the meal she's prepared with everyone, without feeling the burden of clean-up looming over her shoulder.  Having gone to the effort to provide such a feast, shouldn't she be able to enjoy it in peace?  Second, it permits you to politely escape the postprandial conversation that, unlike most conversations of the holiday season, necessarily involves the "participation" of both sexes seated at the table, which in practice usually involves the women repeatedly interrupting each other while the men sit in silence wondering when they can escape the performance art and turn on the game.

...

This is a device I learned from that man among men, the Marine's Marine, my grandfather.  I used to marvel at his selfless generosity, and the way after every holiday meal, he would quietly excuse himself and disappear into the kitchen.  By the time everyone had left the table, the dishwasher would be running, the kitchen would be spotless, and everyone was happy and well-loaded with alcohol.  Including, of course, my grandfather.  When I asked him why he felt he needed to do the dishes, when at his age he deserved to take it easy, he laughed and pointed out that while he'd been happily cleaning up, watching the football game, and polishing off the rum, I'd been sitting there for 20 minutes, nursing my wine glass, staring into space, and listening to people ramble on about other people I couldn't identify if my life depended on it.

via Alpha Game: Holidays: postprandial labor.



Why liberals should love the Second Amendment

Liberals can quote legal precedent, news reports, and exhaustive studies. They can talk about the intentions of the Founders. They can argue at length against the tyranny of the government. And they will, almost without exception, conclude the necessity of respecting, and not restricting, civil liberties.

Except for one: the right to keep and bear arms.

When it comes to discussing the Second Amendment, liberals check rational thought at the door. They dismiss approximately 40% of American households that own one or more guns, and those who fight to protect the Second Amendment, as "gun nuts." They argue for greater restrictions. And they pursue these policies at the risk of alienating voters who might otherwise vote for Democrats.

And they do so in a way that is wholly inconsistent with their approach to all of our other civil liberties.

Those who fight against Second Amendment rights cite statistics about gun violence, as if such numbers are evidence enough that our rights should be restricted. But Chicago and Washington DC, the two cities from which came the most recent Supreme Court decisions on Second Amendment rights, had some of the most restrictive laws in the nation, and also some of the highest rates of violent crime. Clearly, such restrictions do not correlate with preventing crime.

So rather than continuing to fight for greater restrictions on Second Amendment rights, it is time for liberals to defend Second Amendment rights as vigorously as they fight to protect all of our other rights. Because it is by fighting to protect each right that we protect all rights.

via Daily Kos: Why liberals should love the Second Amendment.


Why Wait For Sensible Gun-Control Legislation? Become An Ambassador For Gun Control Now!

We should not wait for our elected officials, in President Obama's good words, "to come together and take meaningful action to prevent more tragedies like this, regardless of the politics." We should do our share. One way to proceed is to mark our homes, apartments and condos, with a "gun free" sign. Parents should notify their friends that they would be reluctant to send their child over for a play date unless the home was safe from guns. Residential communities should pass rules that ban bringing guns onto their premises, clearly marking them as gun free.

Anyone who puts up such signs will become an ambassador for gun control, because they are sure to be challenged by gun advocates to explain their anti-gun positions.

Put your safety where your social stand is. Via Amitai Etzioni: Gun-Free Homes and Communities.


A Response To "On php-fig and Shared Interfaces"

(This is a response to Matthew Weier O'Phinney. Full disclosure: MWOP is both my friend and respected peer. Also, like MWOP, I am a voting member of PHP-FIG, and was directly involved in the recent LoggerInterface discussion among that group.)


Matthew wrote:

My primary problem with the idea of shared interfaces is that I feel there is always room for new thinking and ideas in any given problem space, and that this thinking should not be restricted by what already exists.

By definition, truly new thinking is not generally restricted by what already exists. ;-) If lots of developers adopt new thinking on an old problem, I think it is completely within reason to deprecate an older PSR and write a new one that codifies the new approach.

Even so, I always thought a major point of PHP-FIG was to recognize which things we already do much the same way and codify PSRs around them. (I will admit I continue to be frustrated by the unwillingness of other members to do basic research and discovery of this kind.)

Thus, when we consider functionality ...

  • that does already exist,
  • that has been implemented by multiple different projects,
  • in ways that are similar despite their varying origins,

... I think it can be very useful to reduce the differences and combine the commonalities into a shared interface.

In the specific case of logging, as Matthew gives, I reviewed each member project's logging interface or base implementation:

https://groups.google.com/group/php-fig/msg/6e4285dc3116331c?dmode=source&output=gplain&noredirect&pli=1

True, I was examining them in reference to the string-interpolation portion of the proposed LoggerInterface. But I was struck overall by how similar they really were in terms of the basic notification methods. Differences were minor at best. For something like that, a shared interface sounds to me like an unqualified good.


Matthew also wrote:

Secondarily, I feel that it's okay for a given project to be selective about what capabilities it requires for its internal consumption and consistency, and should not limit itself to a standardized interface.

I completely agree. There's nothing that says a development effort is required to adopt anything from PHP-FIG. If someone thinks their way is better, then by all means ignore any and/or all PSRs entirely.


To sum up (and MWOP, please correct me if I'm not getting what you're saying):

One is able to imagine reasons why having shared interfaces of the kind described above is in opposition to, or at best orthogonal to, better development practices and greater innovation across PHP land.

Even so, I assert that shared interfaces as described, while maybe preventing an imaginable ideal in theory, instead promote an actual good in practice.

The actual good can never be as desirable as the imaginable future ideal, but it does have the benefit of being real and present.


UPDATE: MWOP informs me by private communication that I have missed his point. I await his next missive. Here's his response: http://mwop.net/blog/2012-12-20-on-shared-interfaces.html#comment-744905017


Empirical evidence suggests a sure fire way to dramatically lower gun homicides: repeal drug laws

I now want to point out that in fact, while the empirical evidence on the relationship between gun control and homicide is (at this time at least) utterly inconclusive, there certainly are policies out there that we have very solid evidence to believe would reduce gun-related homicides very substantially.

The one at the top of the list, in my view, is to legalize recreational drugs such as marijuana and cocaine.

The theory behind this policy prescription is that illegal markets breed competition-driven violence among suppliers by offering the prospect of monopoly profits and by denying them lawful means for enforcing commercial obligations.

The evidence is ample.  In addition to empirical studies of drug-law enforcement and crime rates, it includes the marked increase in homicide rates that attended alcohol prohibition and the subsequent, dramatic deline of it after repeal of the 18th Amendment.

via Sentencing Law and Policy: "Empirical evidence suggests a sure fire way to dramatically lower gun homicides: repeal drug laws".