Paul M. Jones

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

A Catch-22 When Acting In "Provider" Role

Choreplay doesn't work. Romance doesn't work. Vacations don't work. Talk doesn't work. Men have tried those things many, many, many times. Here is why it will never work to do what a woman says you need to do in order to make her want to have sex: the moment you do what she tells you is necessary, that "creates pressure" on her to fulfill her end of the implicit bargain. And women under pressure to have sex don't want to have sex, because women don't want to have sex under pressure, ergo doing what she tells you necessarily ENSURES that she will not want to have sex.

This also applies to providing "emotional support" for a woman you're attracted to. Via Alpha Game: Female advice and the Sex-22.


Voting For Moral Purity, Instead Of Policy

The average voter -- in particular, the average primary voter -- cares a lot about moral purity and expressive politics. So if you disempower the money, you empower the ideological purists who want candidates first and foremost to demonstrate fidelity to shared principles.

Everyone with a party affiliation (formal or informal) thinks this applies only to people of other parties. Bad news: it applies to you too.

Also, as I have opined in other venues, if you remove the money then you are left only with personal connections. Money is a much more transparent and quantifiable way to see who is influencing whom, than trying to decipher who is connected to whom.

Via Money Still Fuels the Political Machine - Bloomberg View.




Endogenous Sexism?

Claim: Even in this rarefied setting, sexism will endogenously arise.  Men will find the men they personally know to be better than the women they personally know.  Women will find the women they personally know to be better than the men they personally know.  And if people extrapolate from the people they personally know to all humanity, men will think that men are better than women, and women will think that women are better than men.

Read the whole article before commenting. I thought it was an interesting exercise, and sure to make a certain subset of readers irate. Via Endogenous Sexism, Bryan Caplan | EconLog | Library of Economics and Liberty.


Soccer, Development, and The Value Of Teamwork

The lesson of soccer is that individual effort will often suffice when things are relatively easy. But in order to surmount the more difficult challenges, you will almost always need reliable teammates of one sort or another.

I assert the same is true in development efforts. A single developer working alone can do good work, but a team of frontend devs, backend devs, devops, and DBAs can do stuff that is truly amazing. Combine your comparative advantages instead of trying to do everything yourself. Via Vox Popoli: Calcio is life.


Action-Domain-Responder, Content Negotiation, and Routers

While talking about Action-Domain-Responder on the Crafting Code Tour, one of the common questions I got was: "Where does content negotiation happen?" My response was always: "Where does it happen in Model-View-Controller?" That opened up a discussion on how content negotiation is a tricky bit that can go in different places, depending on how you want the concerns separated, and is not a problem specific to ADR.

However, I've not really been satisfied with that outcome. I enjoyed the question and the discussion, but it never seemed to resolve itself. We were left with this tension between resource conservation and proper separation of concerns. Should negotiation happen in the the Action (Controller), the Domain (Model), or the Responder (View)?

At first it seems like this is clearly a (re)presentation issue, and as such ought to go in the Responder or View. But if the Responder cannot present an acceptable content type for the request, that means we have done a lot of work in the Domain to build objects that will be discarded in favor of a "406 Not Acceptable" response. This is not a good use of our limited resources.

Perhaps the Domain is the place for negotiation? I think we can dismiss this outright. The Domain should not be in charge of returning different presentations of its data.

Finally, we might try negotiation in the Action (Controller). Here we examine the request, and query the Responder to see what content types it can present in responses. (Alternatively, we embed the available content types in both the Action and Responder, duplicating that information somewhat.) If the negotiation fails in the Action, we skip the Domain work and instruct the Responder to return a "406 Not Acceptable". But that means the Action is now responsible for at least a little bit of the response-building logic. It's not horrible, but it does not seem as clean as it could be.

After thinking about this for a while, I am beginning to think it is reasonable to perform what I will call a "first filter" on the Accept header at the Front Controller level, specifically in the Router. We already consider the Router as a guard to map incoming requests to appropriate Actions, inspecting the path, HTTP method, and other request information. Inspecting the acceptable types seems a reasonable addition to these elements.

A full content negotiation at the Router level is probably overkill. Really, all the Router needs to know is what content types are provided through particular Route (whether an MVC or ADR one). The matching logic can do a naive check of the Accept request header to see if one of the provided types is present with a non-zero "q" value. If none of the types is present, the Router can move along to the next route, possibly tracking the failure so a Dispatcher can directly invoke a Responder for routing failures. This way, the Router never invokes a non-matching Action, thereby conserving the Domain resources. If the match is successful, the Responder can do the "real" content negotiation work, using an Accept header value passed to it as input from the Action along with the Domain data.

As a proof of concept, I have modified the Aura.Router library to recognize "accept" specifications on the route, and the tests indicate it seems to work just fine.



The Women's Movement

To read even desultorily in this literature was to recognize instantly a certain dolorous phantasm, an imagined Everywoman with whom the authors seemed to identify all too entirely.

This ubiquitous construct was everyone's victim but her own. She was persecuted even by her gynecologist, who made her beg in vain for contraceptives. She particularly needed contraceptives because she was raped on every date, raped by her husband, and raped finally on the abortionist's table. During the fashion for shoes with pointed toes, she, like "many women," had her toes amputated. She was so intimidated by cosmetic advertising that she would sleep "huge portions" of her day in order to forestall wrinkling, and when awake she was enslaved by detergent commercials on television. She sent her child to a nursery school where the little girls huddled in a "doll corner," and were forcibly restrained from playing with building blocks. Should she work, she was paid "three to ten times less" than an (always) unqualified man holding the same job, was prevented from attending business lunches because she would be "embarrassed" to appear in public with a man not her husband, and, when she traveled alone, faced a choice between humiliation in a restaurant and "eating a doughnut" in her hotel room.

The half-truths, repeated, authenticated themselves. The bitter fancies assumed their own logic. To ask the obvious-why she did not get herself another gynecologist, another job, why she did not get out of bed and turn off the television set, or why, the most eccentric detail, she stayed in hotels where only doughnuts could be obtained from room service-was to join this argument at its own spooky level, a level which had only the most tenuous and unfortunate relationship to the actual condition of being a woman. That many women are victims of condescension and exploitation and sex-role stereotyping was scarcely news, but neither was it news that other women are not: nobody forces women to buy the package.

via The Women's Movement.


Birth Control Mandate Waivers For Me, But Not For Thee

Some 204 outfits favored by Democrats were granted waivers by the president from ObamaCare, which means their employees do not have the right to employer provided birth control. These include upscale restaurant, nightclubs, and hotels in then-Speaker Pelosi’s district; labor union chapters; large corporations, financial firms, and local governments.

Women did not march through the streets to complain on behalf of their downtrodden sisters at Boboquivari in San Francisco which sells porterhouse steaks at $59 a pop and such. Apparently they are up with laws written on Etch-a-Sketch boards which the president can rewrite at whim. And their moral outrage is dependent on whether or not the employer is a Democrat crony.

via Articles: Let's Build a Stairway to Alberta.


New Vocabulary Word: "Duckspeak"

As applied here this is duckspeak, pure and simple – a catchphrase intended not to express or provoke thought but to shut it down. If anything, this particular shibboleth of the left has become worse overused and more emptied of meaning in the thirteen years since.

Emphasis mine. Via Have you no decency, sir?.