The cognitive differences between men and women - <AUTHOR> https://stanmed.stanford.edu/2017spring/how-mens-and-womens-brains-are-different.html <comment><USER2> This topic has obviously become highly socio-political. The current fashion is that there are basically NO biological sex-type differences; that any sex-type differences are socially imposed and generally disadvantageous to women. I think a meta-study style article like this useful to show all the rich and varied science on the matter and to help spark a dialogue around "what if?". If we assume even half of the implications of the cited studies here are true, then that is plenty of sex-type difference to recon with. The citings show as many differences favoring women as they do men. They are just that -- differences, each with their requisite pros and cons. It just makes sense that an intelligent evolutionary process would have lead to the sexes as being best as partners with a division of complimentary abilities and preferences. I can't see us making much progress on the societal equalization across sexes if we don't embrace and harness the very real differences that exist between them.

<comment><USER3> "The current fashion is that there are basically NO biological sex-type differences" \- seriously who argues this? I asked below and only got two examples of rebuttals, not examples of people actually arguing this.

<comment><USER4> It said so right in the article: "Social psychologists and sociologists pooh- poohed the notion of any fundamental cognitive differences between male and female humans, notes Halpern"

</comment></comment></comment><comment><USER5> From the article.

"Men, on average, can more easily juggle items in working memory. They have superior visuospatial skills: They're better at visualizing what happens when a complicated two- or three-dimensional shape is rotated in space, at correctly determining angles from the horizontal, at tracking moving objects and at aiming projectiles."

From this article: [http://mitadmissions.org/blogs/entry/picture-yourself-as- a-s...](http://mitadmissions.org/blogs/entry/picture-yourself-as-a- stereotypical-male)

"As it turns out, there is zero statistically significant gender difference in mental rotation ability after test-takers are asked to imagine themselves as stereotypical men for a few minutes. None. An entire standard deviation of female underperformance is negated on this condition, just as a man's performance is slightly hindered if he instead imagines himself as a woman."

What gives?

<comment><USER6> "Stereotype threat" isn't doing well in replication.

[https://replicationindex.wordpress.com/2017/04/07/hidden- fig...](https://replicationindex.wordpress.com/2017/04/07/hidden-figures- replication-failures-in-the-stereotype-threat-literature/)

Money quote:

"Research on stereotype threat and women's performance on math tests is one example where publication bias undermines the findings in a seminal study that produced a large literature of studies on gender differences in math performance. After correcting for publication bias, this literature shows very little evidence that stereotype threat has a notable and practically significant effect on women's math performance (Flore & Wicherts, 2014)."

<comment><USER7> If "male visuospatial advantage" isn't being replicated when stereotype threat is taken into account, and stereotype threat isn't being replicated when other experimental variables are taken into account, I don't think that necessarily proves or disproves male visuospatial advantage or that it can or can't be explained by stereotype threat.

I think we need some meta-analyses here.

<comment><USER8> A meta-analysis wouldn't solve the problem unless it somehow included previously unpublished data. Publication bias has left whole fields of science untrustable.

If an individual scientist cherry-picked interesting data the way publications cherry-pick results to publish, it would be called fraud.

<comment><USER7> Very true. I should've said "more studies _and_ more meta-analyses need to be conducted".

</comment></comment></comment></comment></comment><comment><USER9> I'd like to think society can _truely_ embrace diversity instead of uniformity.

Sadly, racial and sex discrimination still exist leaving society stuck with imperfect solutions to deep rooted problems.

<comment><USER10> ^ this ^ so much. It makes me very sad to see male masculinity being shamed and female empathy mocked as a weakness. The important differences should be celebrated, not viewed as a superiority contest.

<comment><USER11> How are you going to do that in a way that isn't shitty to "feminine" men or "masculine" women?

<comment><USER12> You can't save everyone from feeling shitty. It's a similar argument overweight people have against ads showing fit and healthy people, they want those ads removed cause it makes them feel shitty about themselves. What they need to do is analyze why it makes them feel shitty, and if they don't like what they see, rather than try to change everyone else, they should look into changing themselves. If you accept who you are and are content with it, there is no reason to feel shitty in the first place.

<comment><USER11> Being a sensitive man, an ambitious/aggressive woman, etc. is not and should not be treated like obesity. Expecting conformity to these norms causes a great deal of real-world harm (for starters: repressed emotions creating mental health crises in manly men, timidity leading to poor career outcomes for feminine women), and it is right and proper that we ostracize and exclude people who are looking to do so.

We should celebrate people displaying traits that are well-adapted to the situation at hand, not the traits they "should" have based on some immutable identity bit.

<comment><USER13> What makes you think you can socially engineer people to appreciate sensitive men? The root of sensitivity is not a respect producing trait for men is because women do not find that sexually desirable on average. Properties that make men respected are the properties that women like: men compete physically (sports or physique), on social status, and on financial success. There is a reason why parents traditionally toughen up boys.

The same applies with the genders reversed.

<comment><USER11> We already _have_ done the social engineering by creating communities where it's not socially acceptable to reinforce gender roles. Now we're talking about protecting them from you.

<comment><USER13> You can enforce political correctness but you cannot enforce respect or attraction.

<comment><USER11> Attraction is the _last_ thing we're trying to engineer in the workplace.

<comment><USER13> This isn't just about the workplace. It is about behavior in general and where this behavior comes from. Even feminists have admitted to me and other feminists have written articles describing that they find the opposite of what they advocate attractive, and if they are unable to socially engineer themselves there is little chance with society in general. Gendered behaviour is incentivised that way. You find reinforcement of gendered behaviour problematic but forget the most powerful reinforcer.

<comment><USER11> People are adaptable. You don't need to behave the same way at work as you do in your dating life. We should not be enforcing standards of gendered behavior in a business context because they increase attractiveness.

In fact this is a common form of sexual harassment - telling women they ought to make themsleves more attractive to you (smile, dress a certain way, etc) when you are strangers or colleagues.

<comment><USER13> Who said anything about telling others at work to make themselves more attractive? We're talking about people making themselves more attractive, such as men who purposely avoid appearing sensitive, and why men do that.

You said:

> Being a sensitive man, an ambitious/aggressive woman, etc. is not and should > not be treated like obesity.

My point is that being a sensitive man _is_ treated like obesity, and I mentioned the most powerful driver behind men acting more stoic than they naturally would. Note that I have not made a single normative statement in this thread. I'll make the first one now: if you truly care about not reinforcing gender stereotypes, you should tackle the source not the symptom.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Here in Sweden if you are of the opinion that men and women are biologically different, people will call you "racist", bigot, idiot, and so on.

It is terrifying, difference has somehow become connected to the thought that one gender should be inferior.

Personally i don't care particularly much WHY the sexes are different, we are different that is enough knowledge for me in my life at the moment.

I do however care about people communicating facts that are not based on science.

<comment><USER5> As a fellow swede I don't have the same experience. I instead see many cases of biological differences between sexes (that exists) being over emphasized in order to rationalize maintaining status quo.

</comment></comment><comment><USER15> Men are, by far, more violent. This is a major weakness, or "defect". Why women shouldn't have their own, peculiar, weaknesses? I think that even psychiatric conditions like depression, borderline, ADD, etc. manifest very differently in men and women.

<comment><USER16> Statistically women appear to have less deviation physically, mentally or socially.

It could be a result of how primates have evolved. For males increasing standard deviation in traits makes it more likely that they are among the few top males that can mate with multiple females. For female being more robust ensures maximum number of children.

Women have both glass ceiling and glass floor. There are far less successful women, but there are also far less women living in the streets.

<comment><USER17> Some variation could be explained by the existence of a second X chromosome. This redundancy hides variation that could otherwise be exposed by a recessive gene on a male's sole X chromosome, without the chance of a dominant gene on the second X chromosome to mask it.

</comment></comment></comment><comment><USER18> Food for thought:

* Trans people of Reddit, what was something you weren't expecting to be told, find out, or experience when going through your transition ([https://www.reddit.com/r/AskReddit/comments/4g1pgu/serious_t...](https://www.reddit.com/r/AskReddit/comments/4g1pgu/serious_trans_people_of_reddit_what_was_something/))

So yes, even hormones by themselves make changes, going beyond cultural pressure and upbringing. Exposure for different chromosomes, and hormones, though all live (including prenatal development) may have even stronger impact.

<comment><USER19> Interesting reading. Here's a relevant snippet from that page:

"I was extremely egalitarian prior to my transition I staunchly didn't want to think there were any neurological differences between men and women, it became obvious over time to me begin on estrogen there were. It's just tricky to discern the difference. It was distressing to realize that it makes a big difference and my brain and mind were just playthings of my body."

[https://www.reddit.com/r/AskReddit/comments/4g1pgu/serious_t...](https://www.reddit.com/r/AskReddit/comments/4g1pgu/serious_trans_people_of_reddit_what_was_something/d2e6fho/)

</comment></comment><comment><USER20> The brain is a physical, biological organ just like the heart, eyes, etc. So yes, just as there are minor physical differences between men and women in other ways, there are minor physical differences in the brain as well. Across a sufficiently large sample set, men will on average be slightly better at some things, and women will on average be slightly better at other things.

For the reactionary crowd, please note I said "minor differences" and "slightly better". There's a ton of overlap and much more similarity than difference. Also I want to be clear to separate biological differences from culturally trained differences. The things we do and are exposed to growing up certainly have an effect on brain development, just as they do on the rest of the body.

To further that last point, IMO it is almost certain that culturally assigned gender roles have played a part in our evolutionary biology. So this is not a discussion that can really be separated from the role of culture.

I hope that continuing research in this field helps educate people to see that men and women are far more alike than different.

<comment><USER21> This ^. Indeed, men and women are different and some tasks, mental models may be different over the average. Even traits such as the propensity for aggression as a side effect of more testerone in the body. This certainly doesn't mean you won't find aggressive women, but on the whole the nuances seem quite a lot simpler when you take into account varying levels of hormones and neuroplasticity.

I think it is worth exploring the effects of culture on gender, but I honestly think the simpler answer is one of neuroplasticity and the brains adaptation to selection, hormones and environmental stress. When you stop thinking in diametrically opposing ways of being, you realize humans on the whole (men and women) are far far more alike than we let on.

</comment></comment><comment><USER22> Seems like the "google memo guy" just expressed many of the view points of the youtube famous psychologist and UofT professor Jordan Peterson. I'm not sure if its related, but Jordan's channel was shut down for a day for an unexplained reason, fueling many conspiracy theories.

</comment><comment><USER21> The Google memo guy would of made a lot more inroad had he referenced this material.

Nothing in this article screams controversial to me. I also don't see a problem with wanting to hire more women in tech. These differences outlined do not all appear advantageous or otherwise disadvantage one gender over another and lend better credence to being a great engineer. Anything that makes that claim is conflating a false narrative on extremely weak grounds.

Having said that, the memo is a trigger for people on multiple extremes. The reaction from both sides of this reminds me of forums on parenting nature vs nurture.

<comment><USER23> The Google memo author _did_ reference similar material. The fucking Gizmodo leak stripped out all author's hyperlinks. The hyperlinks were how he cited his sources. This fact keeps getting lost on people: the document was not only well-written, but also well-supported!

<comment><USER21> I don't buy that argument. Referencing work doesn't mean you just slap a bunch of links and call it good. Build up of context; heck even just mention Google Project Aristole. Are you saying Gizmodo stripped links and all paragraphs that provided reference context and explanation of said material?

Sorry, I think perhaps to me his writing style came off as amateur at best to me. It seemed rushed, wavering, and made irrelevant arguments without proper build up or context. It wasn't until the very end that he even decided to state the context of mountain view to begin with. Reading it made it sound like over generalizations and frankly just a long reddit rant.

Reading through this article linked here, nothing came off as especially controversial to me. Seeing that the author of the memo seems to have some professional background in the field of biology I would of expected better; at least check for typos.

</comment></comment></comment><comment><USER3> Can someone point out to me an example of someone arguing there is no difference between men and women? I regularly see people arguing against this viewpoint, but I am not sure I have ever seen the viewpoint itself.

<comment><USER24> Regarding the mind, "The Blank Slate" is actually the dominant viewpoint.

[https://en.wikipedia.org/wiki/Tabula_rasa](https://en.wikipedia.org/wiki/Tabula_rasa)

Deviations are not tolerated.

For more details, see Pinker (who then debunks this): [https://en.wikipedia.org/wiki/The_Blank_Slate](https://en.wikipedia.org/wiki/The_Blank_Slate)

</comment></comment><comment><USER25> Here's an interesting piece by a female Associate Professor of Sociology at Stockholm University.

[https://econjwatch.org/file_download/943/SternSept2016.pdf?m...](https://econjwatch.org/file_download/943/SternSept2016.pdf?mimetype=pdf)

The paper is titled "Undoing Insularity: A Small Study of Gender Sociology's Big Problem" and it's core theme is that gender sociology insulates itself from ideas that are contrary to status quo. Do give it a read.

</comment><comment><USER26> The problem is that rather than evaluating actual individuals who of course vary widely, these tendencies are used as justification for pre-judgement or inequality.

</comment><comment><USER27> How do we now this isn't something that is being caused due to the female being suppressed in our history? This studies are biased due to the fact that females haven't been treated equally for centuries and this affects on how the female see the world, affecting the real meaning of the study.

It's like taking a male that you have treated emotionally bad and you tell him thru all his life he can't do this and that and a male where you tell him he must be strong, he must do this and that. Boths are males and I bet you will find the same differences between these two males and between a male and a female.

</comment><comment><USER28> As a trans person, I have read that changing the hormones changes the brain shape quite a bit towards the cross sex sizes.

It will be a very interesting experience...

</comment><comment><USER29> Similarly, some leftists claim that race is a social construct because there is more genetic variation within a race than across them. Except you have genetic tests that easily identify race: [https://www.wired.com/2007/12/ps- dna/](https://www.wired.com/2007/12/ps-dna/) and medical studies that indicate the race of patients studied, because it is a medically significant concept: [http://news.softpedia.com/news/Different-Races-Are- Genetical...](http://news.softpedia.com/news/Different-Races-Are-Genetically- Prone-to-Different-Diseases-44056.shtml).

<comment><USER30> Which races are you talking about?

The ones leftover from 19th century pseudoscience?

Can you point me to a science paper that shows a genetic basis for these so- called races?

Not, notably, working back from genes to crazy theories. I could genetically detect ginger haired people, or people with green eyes, that doesn't make those races.

So what defines your races?

<comment><USER5> I have deviced a test that can, with 100% accuracy, detect a dark skinned individualist. I call it "ocular inspection" and it uses eye tools.

<comment><USER31> Using the same tools I can with 100% accuracy detect someone with red hair from someone with brown hair. What is your basis for separating people with different skin colors into different races but not people with different hair colors?

</comment></comment></comment></comment><comment><USER32> My response here will be unpopular but. Yes, there are cognitive difference, but it doesn't matter. Building software is a complex social event and requires incalculable amount of different skills sets and team effort. To use single differences to claim men are better at software like the Google guy did is just stupid. It's unscientific conjecture born out of likely deep seated issues many nerds, like me and others, have with the opposite sex. In other words programming likely has become a "safe place" for a certain group of people and they want to protect that space. However, in doing so they end up with a bankrupt culture which likely has a negative effect on the quality of the very software they write.

EDIT: in reference to my "Google guy" remark. I think this fight is ultimately about growth vs fixed mindsets. My hunch is self proclaimed "conservatives" have a fixed mindset. Meaning they think people are born a certain way and can't grow.

<comment><USER33> >Yes, there are cognitive difference, but it doesn't matter.

Do you have any evidence to back up this claim? You make a lot of assertions that I think these guys scientific experiments refute.

<comment><USER34> Not OP, but the wiki entry on cognitive differences in the sexes does a good job listing many of them and is well cited:

[https://en.m.wikipedia.org/wiki/Sex_differences_in_cognition](https://en.m.wikipedia.org/wiki/Sex_differences_in_cognition)

<comment><USER33> the guy said that the differences don't matter. I was asking him to back that assertion up.

</comment></comment></comment></comment><comment><USER33> For thousands of years men have run society and women have been homemakers. We are biologically wired with those roles in our DNA. Today we are trying to upset those roles, and It causes a huge amount of psychological problems. Women are not designed to run their own lives. They are designed to follow the significant man in Their life. Today since they are expected to be like men, they are completely overwhelmed and are now doped up on drugs like xanax to cope.

More freedom is not always a good thing. Studies show that with more rights women are actually less happy today than they were 40 years ago.

</comment><comment> torrent-of-ions Here on HN you'll be banned if you're not careful too.

<comment><USER35> Do you have an example of that?

My experience on HN is that there exists a small minority of users who might shout you down, but I've never seen or heard of a user being banned for discussing something like this in good faith.

<comment><USER36> I've seen it claimed, without substantiation, that anyone who argues against the fashionable position can't possibly be doing so "in good faith" \- because the unfashionable position itself is declared to be a bad faith position.

I've seen this repeatedly on HN.

</comment></comment></comment><comment><USER37> 1) There are sex-differentiated characteristics of the brain.

2) Those sex-differentiated characteristics tend to be a mosaic in the brain [1].

3) Despite being a mosaic, statistics can still differentiate sex based on individual brain characteristics [2].

4) Therefore the current social structures that differentiate the roles men and women play in society are biologically derived /s /s /s /s

A long time ago, it was decided that women and men had their place because god ordained it. When that fell out of fashion (still fashionable in many places), shallow thinkers used sed to make it seem more respectable.

Putting this into the context of the recent discussion about the role of sex/gender in the tech industry, let's suppose that biological differences influence a person' career choice. Let's also acknowledge that until the last 60 or so years women were basically barred from pursuing technical work in great numbers by social obstacles. The question is, when did those social obstacles become so negligible that only biological factors are left as plausible reasons for gender disparities in, say, programming?

Very few people disagree with the idea that society should treat people equally irrespective of their gender. There's just a contingent of people who say that such social parity has already been achieved (or maybe we've gone _too far_ ), and another contingent who say that parity has not been achieved. If we're already in an egalitarian society, then clearly the only reason for significant differences in the division of labor and social participation between different genders must be of biological origin.

In other words, the contentious issue of biological differences between men and women isn't contentious because of the biology, but because of the assumptions that need to be made in order to correlate those differences with the structure of society.

[1] [http://www.pnas.org/content/112/50/15468](http://www.pnas.org/content/112/50/15468)

[2] [http://www.pnas.org/content/113/14/E1968.short](http://www.pnas.org/content/113/14/E1968.short)

<comment><USER38> > There's just a contingent of people who say that such social parity has > already been achieved (or maybe we've gone too far), and another contingent > who say that parity has not been achieved.

There also is a contingent of people who say that equal treatment will not lead to social parity.

<comment><USER37> I used social parity as a synonym for equal treatment, as indicated by the word 'such', to make it clear what sort of parity I was talking about.

<comment><USER39> Ah, but this synonymy obscures the all-important difference between equality- of-opportunity and equality-of-outcome.

The former is a noble goal; the latter will likely lead to tyranny if implemented fully - or require tyranny for full implementation. (cf. Kurt Vonnegut's _Harrison Bergeron_ )

<comment><USER37> That's why I tried to identify precisely which equality I meant to avoid that issue.

By the way, Harrison Bergeron was a critical satire of the position you're describing.

<comment><USER39> > By the way, Harrison Bergeron was a critical satire of the position you're > describing.

Of equality-by-outcome? Yes, that was exactly why I cited it.

<comment><USER37> It was a satire of the attitude of American society towards communism during the cold war. The equality-by-outcome it presents is a strawman, precisely the strawman attributed by conservative politics to people who want to make society more equitable not just in "opportunity" but "outcome" as well. Vonnegut was a socialist and was quite warm to concepts such as "from each according to his ability, to each according to his need".

It's really hard to see how people miss this subtext when the main character of the story declares himself the emperor that all must obey and defies gravity. It's so cartoonishly heavy handed!</comment></comment></comment></comment></comment></comment></comment>


On Pair Programming - <AUTHOR> https://martinfowler.com/articles/on-pair-programming.html <comment><USER2> As a "senior" the thing I find about pair programming is that it forces code review - it's waaay too easy to blip over code in a review. It really is higher quality code review

but boy it smashes productivity with a frying pan and keeps hitting it.

Pair programming - bad for startups that want to hammer out quick code, bad for enterprises that want to hit deadlines on stretched resources.

It's a tough one to argue for.

Edit: Things I want to try - Tennis Programming - sit next to each other, one writes the tests, one writes the code, swap round often, run on shared disk space or something. Spending ages watching someone else code is just being a human syntax checker. Swapping and diving in to code after ten minutes might be more interesting.

It's like writing a joke or a scene in a movie then handing the paper to your writing partner. You need fast feedback.

<comment><USER3> I used pair programming at a startup with a heavy junior engineering team. I loved it cause I could pair with any one of them and that "mentoring session" would be retaught without me having to do it. Our junior engineers progressed really fast in a short amount of time and I didn't lose my mind having to reteach the same lessons over and over.

<comment><USER4> I find pairing works well for onboarding new members.

Let them watch for a bit (no more than a few hours) to learn how things work. Then let them drive. Let them explore, make mistakes, but accomplish something and push to prod.

This should make sure all the gaps get filled in quickly. And not 2 weeks later they still don't know how to connect to the database or something basic. Quickly the new members are full team members that can join the normal pairing schedule of the experienced team members.

</comment></comment></comment><comment><USER5> We pair when we get stuck. It isn't our standard way to work, and it is difficult, in particular for remote teams. But still, spend 15-20 minutes screen-sharing with a coworker, and you find one of two things happen:

1) They see something you did not, you get past your block, and start being productive again.

2) They see nothing else, so you know that you actually have a thorny problem to solve, so you get to it.

In those small doses, I like pair programming. But I would not care to do it more.

</comment><comment><USER6> I wrote this after almost exclusively pairing for 3 years: [https://www.mattgreer.org/articles/pair-programming-is- not-a...](https://www.mattgreer.org/articles/pair-programming-is-not-a- panacea/)

In general I think this article is pretty good. It seems to bias towards "pair programming is better" where as I biased towards "pair programming can be really bad". In the end, it's a tool like anything else. Sometimes pairing is the perfect way to tackle something, and other times it's the last thing you should be doing.

</comment><comment><USER7> I read through this quickly, but I couldn't find any mention of pair programming not being suitable for sensitive and introverted people - especially those that suffer from anxiety and other mental illnesses that can be made worse by the stress of pair programming.

Whilst the article mentions that it "can be hard and stressful" there is still the assumption that most people are more or less the same in terms of mental resilience, that most people would be okay and that everybody should "give it a go". I don't feel that's true at all, and certainly I'm one of those people that would be made ill by an environment of constant forced pair programming _even though_ I manage to hold down a job, appear "fairly normal" from the outside and do pretty well as a mostly solo programmer.

<comment><USER8> It's not even an issue of "mental resilience". Pair programming, like any other close human interaction, is strongly weighted toward the most aggressive or insensitive (or autistic) personality.

And in the tech world, it's very easy to encounter people more weighted toward the autistic end of the spectrum. Pair one of those with one of the HSP people, and you have a really shitty combination. The HSP will expend most of their energy appeasing and compensating for the needs of the autist. The autist will feel frustrated, and the HSP will feel fully exhuasted.

<comment><USER9> Just a heads up, HSP is often comorbid with autism as are plenty of other atypical sensory processing manifestations.

<comment><USER8> Every label probably has a range of details which can describe it, but in my experience autistic people are marked by their relative inability to understand social cues and other non-verbal (and even verbal) indications of emotion.

Highly sensitive people, however, seem to be given to feeling the emotions of others without even the necessity of verbal indications.

In my experience, they are opposite ends of some spectrum. Perhaps "normal" people fall rather in the middle.

</comment></comment></comment></comment><comment><USER10> I had someone in an interview once "confess" that they did so much pair programming they had forgotten how to quickly do things on their own. It was said as if it was one of the pro's of pair prog., but I saw it as a huge downside that this person was so dependent on others to complete their day to day tasks.

<comment><USER11> I'm torn. I don't feel comfortable pair programming, but I think looking at an individual's speed is too narrow. Consider, you probably don't criticize this person's use of an IDE. Why is that different?

Effectively, in places we are comfortable adding AI style assistance, odd that we shun just the I.

To that end, we agree teams are typically needed. Shame we don't focus our measurements on the team. Feels a great way to kill a team is to measure it's individuals. :(

<comment><USER12> If someone can't program without an IDE, there are plenty of free ones that they can download, and they're unlikely to ever be in a situation where they can't find an IDE but they _can_ run and test their code.

Being unable to program without a partner is a serious handicap and will happen many times in a year, especially if people are sick or on vacation.

<comment><USER11> This still feels over simplistic. If there isn't someone else in the office to pair with, the code isn't getting pushed anyway, as it will lack a review.

I get that it is a flag. But a lot depends on degree. Sport metaphors are often a stretch, but if they are saying they need their team to play, that isn't super scary on its own.

If they need their full team to practice, that changes. And if they need a specific team member or they refuse to play, that is terrible.

And you simplify the IDE point heavily. Just picking up one is not going to get you productive right away. Might as well have that sick partner. :)

</comment></comment></comment></comment><comment><USER13> If forced to choose between pair programming and not programming at all, I think I would choose the latter.

<comment><USER14> Why?

<comment><USER15> Not OP, but for me, it's like having someone stand over my head with a pot, banging it with a spoon incessantly. It utterly destroys my ability to concentrate.

Had a chance to closely observe a session once. Looked through the code later --total garbage.

Apparently it works for some, but you couldn't pay me to do it.

(Also, seems unfair to programmers that can't hear well or need other accommodations.)

<comment><USER3> Pairing programming is like any skill. If you never do it, you will be terrible at it. I also believe that pair programming requires a level of psychological safety that not all orgs possess.

<comment><USER15> Possibly, but the time and energy it would take to do that would be far better spent brushing up on new and not-recently-used technologies. Ability to produce quality code is far down the list of my weaknesses, and life is short.

<comment><USER3> Goal of pair programming isn't better quality code, that is a side effect, but better quality solutions. It's one of those 1+1=3 types of things.

It is also a great training tool. Can't tell you how many times I've had junior engineers ask me about something that I thought was common knowledge or wouldn't have thought to mention cause I thought it was trivial.

It's a tool in your toolbox. Don't use it on every problem.

<comment><USER15> I'm happy to discuss things at the water cooler or in front of a whiteboard, and this seems to be an efficient way to discuss design or help junior people. But sitting next to someone at length is rarely helpful, to me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> Personally when approach a task I like to be alone and do design. At this point I do not need anyone messing with my thoughts. If I need advice sometime during the process due to let's say lack of experience in particular area I'll call someone who does and ask for advice. Does not take long. Few minutes usually.

When the design is ready I want to present it to people and they have to prove to me that I produced crap. If they do I am back to a drawing board . If not (and that became the most often outcome after few years in the industry) then f.. off leave me alone and I'will put my design into a code. The last thing I need at this point is someone breathing down my neck.

After the code is finished and I am reasonably happy with it I would like me some code review if condition allow. Not very often as I mostly work either on my own products and do not have people around for code review and/or making some extra dosh doing the same thing as consultant and consultants do not often get this luxury.

All in all I can see no benefits at all in doing pair programming for myself. If someone is happy with it and their boss lets them do it then sure, go full monty. Just please do not force this style on people. Not everyone can tolerate close contact for extended time.

</comment><comment><USER17> I would take less money to get to work like this. The isolation is what I find hardest about being a developer. I work far better in a team with people relying on me. Direct interaction like that makes the days so much more enjoyable. I really hope to one day find an employer willing to adopt this practice.

If anyone is hiring I'll apply.

<comment><USER18> I work for a company that takes agile development practices seriously, and I pair program all day, every day. I absolutely love it -- primarily for the reason you cite (I previously worked mostly solo as a freelancer or remote teammate)... having the direct accountability all the time makes me much more focused and productive. (fwiw, I am definitely an introvert, but a one-on-one situation is much easier for me than a group).

My company (World Wide Technology - Application Services) is hiring -- we have some physical offices across the U.S. and a few in other countries, as well as a growing "virtual office" team (which, while remote, is still in frequent communication and pairs remotely). Email me if you want to talk more or be put in touch with someone about applying (my email address is in my profile).

</comment></comment><comment><USER19> My experience of pair programming, which spanned about 4.5-5 years of working for Pivotal Labs and in Pivotal R&D, was pretty much universally positive.

But it's a complex skillset in its own right, hard to learn from a book. And in turn it requires a degree of corporate sanity and cultural safety that is quite rare. It's also a very humbling experience.

Lots of people have had bad experiences, or believe that they would have a bad experience. I just like to place on the record that my experience of pair programming has been amazing and I look forward to the day when I can return to it.

</comment><comment><USER20> Nothing wrong with "pair programming". It's only natural when people are friendly, engaged and cooperating, in that order.

It's the environment that actively sabotage such way of working, or attempts to mandate it as a ritualistic practice, that is unnatural.

A natural extension of two people in front of a whiteboard, nothing more.

<comment><USER21> Agreed. The stigma around it seems to be that either side can treat pair- programming as a pop quiz when really it's just another set of eyes and a discussion.

</comment></comment><comment><USER22> Pair programming is a nightmare for introverted people. Part of the appeal of coding is the relative solitude of the work. I think any company that mandates it is just a place I won't work.

</comment><comment><USER23> I'm always slightly surprised when I see an article on martinfowler.com that isn't by Martin Fowler. I can't think of many other personally-branded domains like this that feature guest author content so often.

... which is really me distracting myself, because the guest content is usually of a very high quality. Maybe the personal branding is justified here because Martin Fowler curates and edits the pieces?

<comment><USER23> [https://martinfowler.com/aboutMe.html](https://martinfowler.com/aboutMe.html) helps explain what's going on here:

> As the site got more popular, I felt I could use it to help other people get > more visibility for their writing, so I've steadily increased publications > from others here. I vet each article before accepting it - and often do a > considerable amount of developmental editing too - so there isn't a high > rate of publication. I do believe, however, that the quality of the articles > matters much more than the quantity.

</comment></comment><comment><USER24> My experience of PP has been that it's often a way for one of the devs to prove that they are the smartest person at the desk, and its far from a collaborative effort.

A lot of dev teams suffer from the iamverysmart problem already, and PP just seems like a way to exacerbate it.

</comment><comment><USER25> I have somewhere between moderate and severe social anxiety. Was on a team earlier this year that did 100% pair programming. Was the worst 6 months of my career. I had weekly breakdowns, my mental health got much worse ect. Once I was moved to a different team, my mental health quickly recovered.

</comment><comment><USER26> I had a coworker with whom I did some pair programming and it was painful. He was very talkative, to the point of forcing me to interrupt him every time to come back to what we were doing. Also most of the time he made really hard to follow the code because he took every opportunity to show off his keyboard- shortcut-skills, jumping from file to file, jumping between lines of code, commenting and uncommenting code... all that very fast.

<comment><USER27> 1) You can make pairing part of the interview

2) You'll pick up his shortcut fluency in about two days of pairing ... I taught my co-founder Emacs and Clojure at the same time in about two days of pairing

</comment></comment><comment><USER28> The problem is treating this stuff in an "inheritance" rather than "composition" manner. Which is precisely how most managers think, AKA management fads.

Instead of absorbing the concepts behind PP into the mamagement, they'll declare "our team does PP". We're a PP team now. Or Agile. Or Lean. Or whatever. And they'll fit the team to the book, rather than the other way around. It's rife and terrible.

Sure, I "do" PP... maybe a total of an hour a week, to mentor a junior. Which I do without knowing it's "PP", or calling it that, or caring about that as a practice.

When a managerial practice gets a name, it causes more harm than benefit, because every drone manager out there will get all procrustean and damage existing workflows with it.

</comment><comment><USER29> I have never once been able to look at this and think it was a good idea outside of specific training sessions with specific coworkers for specific purposes.

I think programmers should be considered professionals who can do their own work quite well on their own, and held to that standard.

<comment><USER19> What about pairing strikes you as not considering programmers to be professionals?

I've done a lot of pairing and never felt that I was somehow being slighted or considered incapable. I've felt slighted in cases when I _wasn 't_ pairing, though.

</comment></comment><comment><USER30> the thought of pair programming nearly gives me an anxiety attack. the second it's mentioned in the interview process, it's an automatic no from me. what other industry or domain does this? none that i know of.

first of all, working in pairs creates a problem when there's disagreement. you need a group of three to five to find agreement in those cases. working in pairs also requires a very tight alignment of style in programming, thinking, speed, brainstorming, etc. it simply does not allow for moments of thoughtful rumination or experimentation. it's just like having pairs in school. it never works unless the two people are copies of each other or both people have spent time doing and thinking about the task themselves independently _beforehand_.

i think working in pairs or small groups for design, review (or a post-review discussion), and especially debugging works quite well. it also works well when there's a new person being ramped up or someone in the pair who is particularly knowledgeable about a portion of the interfacing code or sticky points. but two people sitting at a computer implementing? that only works for a very, very short amount of time, if at all.

i refuse to work for any place that forces this upon workers. it creates just another selection bias in interviews. engineers already look for people _just_ like them, and this just adds to that bias.

and the articles for the benefits does nothing to say what pair programming does to actually enable the benefits listed. all of the benefits can be accomplished by shared design plus individual design, shared review, shared debugging, and individual implementation.

<comment><USER19> > _what other industry or domain does this? none that i know of._

Aviation, some surgeries.

You know, low-stakes stuff.

<comment><USER30> those aren't analogous, like at all. or actually, they are analogous, just not in the sense you mean, as they don't serve as examples of "pair <whatever work>".

for both pilots and surgeons, no one is doing the _same_ job at the _same_ time. pilots and surgeons, when performing on the same flight or surgery, have _different_ roles, and it's actually extremely important that they stick to and abide by those roles. you know, because it's high-stakes stuff.

however, before and after the flights or surgeries (akin to design or planning in software), or perhaps during sticky situations or emergencies (akin to debugging in software), or during post-flight or surgery reviews (akin to code reviews) they do work together on the same thing. during the sticky situation, emergency, or debugging stage, that thing is the emergency at hand. once it's dealt with, the separate, individual roles are assumed.

so thanks for your examples, as they just serve to further my point.

<comment><USER19> > _for both pilots and surgeons, no one is doing the same job at the same > time._

Do you think pair programmers are literally bashing the keyboard simultaneously?

Your point, as I read it, wasn't that "only programmers do pair programming". That's as trite as "only surgeons do pair surgery" or "only aviators do pair aviation", because it includes the profession. It's that only programmers doing any kind of assigning two minds to cooperatively navigate one problem space, which is demonstrably false.

<comment><USER30> > Do you think pair programmers are literally bashing the keyboard > simultaneously?

that's how the article and other articles define it: two people sitting at the same machine writing code. what is your definition?

my point was indeed: what other industry practices "pair <work or implementation>" on the same task?

and why would it be the second? we're literally talking about pair programming here, not just cooperative work.

<comment><USER31> One person is sitting at the machine, the other is sitting beside them. Like how one person is flying the plane, the other is sitting beside them. Pilot/navigator is a common role division. In pair programming, the person at the keyboard is doing the minutiae of the immediate task at hand (the pilot), while the other person is thinking through the next steps or how it fits into the whole (the navigator). They are not actually typing at the same time.

</comment></comment></comment></comment></comment></comment><comment><USER18> As a counterpoint to most of the comments here: I work at a company where almost every developer pairs all the time. I absolutely _love_ it. I thought I would hate it. I'm an introvert. I previously worked as a solo freelancer and then as a remote teammate. So I was very nervous about this aspect of the job, but figured I'd give it a shot (other things about the job were appealing enough that I was willing to try it out).

Some thoughts based on my own personal experience:

* The biggest win for me is I am much more focused and productive throughout the day. Having an actual person to be accountable to on a continual basis keeps me from meandering down unimportant rabbit holes, unnecessary/premature refactoring or re-organizing, and general procrastinating (reddit, HN, etc)

* Development is definitely at a slower pace on a daily basis than what I'm used to working on my own, but over time I think it evens out in terms of quality of code and maintainability.

* Knowledge sharing is huge -- when I was solo, I could never truly take a vacation because I was the only one responsible for my piece of work. Now I'm on a team where we all pair with each other and switch around every day... if someone is out, it's no big deal. Also makes it much easier to onboard new people (the company I work at is a consultancy so projects are always ending and new ones beginning).

* Despite being an introvert, I feel no more "drained" of energy at the end of the day than I ever did at any other job. One-on-one interactions with people I know and build trust with just doesn't affect me the way other social interactions do.

* Pairing is not a panacea. Some of the comments I've seen here are about how horrible it would be to pair and feel judged all the time or one personality overriding the other... I suppose that's possible but it doesn't happen at my job because my company values and encourages trust. My team is comprised of mature people who all value team cohesion and working together towards a goal over having to be right all the time or proving to someone that we're better or whatever.

* I am never "stuck" pairing with just 1 person for a long time... we switch around every day. I probably pair with any given person only once per week (on a team with 6 developers). But each team has autonomy to structure the pair switching however they want.

Those are just some thoughts off the top of my head. Happy to answer any questions anyone may have (and if it sounds interesting to you, my company is always hiring... we have physical offices around the world, as well as a "virtual office" for remote employees).

<comment><USER32> You're not an introvert.

<comment><USER18> I sure am! Introversion doesn't mean you don't like interacting with other people, rather it's that such interaction is draining, and you need to be alone to "recharge" (whereas extroverts "recharge" by talking to others). Even the exhaustion of interacting with people is more of a scale than a binary thing -- I personally find one-on-one interactions much easier than groups.

</comment></comment></comment><comment><USER33> At my first job I mandatorily pair programmed with someone every day for months and we had very different personalities. Neither he nor I wanted to and the result was we wore on each other, decorum broke down and the code itself was weaker because we would take turns ignoring the situation to get what few moments of peace we could in the day. We both left that company around our 1-year mark even though otherwise it wasn't bad got out at 5pm every day, catered lunch sometimes etc. I understand it is useful in certain situations but that largely turned me off from it as a concept and I still doubt the benefits when used "properly".

Pair programming is a very intense experience and had it stopped a few weeks in that situation then maybe my thoughts on it would be different.

</comment><comment><USER34> Pair programming is fantastic.

There is no better way to educate a newer team member to code standards and procedures as well as business domain. It also helps to reign in over- engineering and bad approaches. For more senior developers, it can expose them to newer approaches and technologies that they might not be aware of.

I had a great experience pairing on a complex feature request (convert desktop version of an app to a mobile version) that was planned for 3 months. We finished it in a month with full test coverage and every little change to PM, PO, and UX designer could throw at us. Because we both had knowledge of the systems, we could later work independently on simpler tasks and regroup later to combine our efforts.

</comment><comment><USER35> I been working full time now about 15 years and I think Martin Fowler's blog and especially articles like this do more harm than good.

Typically I find Pair Programming pretty pointless for most tasks. Where it works is when one developer knows the code base and another knows about the new piece they are trying to implement e.g. something external they are interfacing with.

Much like other subjects on Martin Fowlers blog, it will get picked up by some which will religiously adhere to it and not consider where it will be best suited.

</comment><comment><USER36> All around pretty good article. Never thought about using the pomodor technique while pair programming.

The part about "informal hierarchies" threw me off, and comes off a bit sexist and racist to me. I read this as "hierarchies that are generally recognized/accepted by the public". I don't believe Fowler intended it to read this way. I think it's okay however to recognize people may have interpersonal issues, for a wide range of reasons.

<comment><USER37> I think that section makes good points about hierarchies between more and less senior people, and between people with a CS degree and people without, but yea I think it is unnecessary to single out white men and imply that they are more likely to try and hog the keyboard or always be in teaching mode.

</comment></comment><comment><USER38> Pair programming is by no means "crucial".

It is an approach that probably works quite well in some contexts and some teams. In other team, different approaches work.

In the end what matters is that the team is highly motivated, has a strong sense of ownership and takes appropriate measures to reduce defects. How it achieves that doesn't really matter from a business POV and is more a subjective preference. In my team, we mostly achieve this through extremely thorough code reviews that dig into a lot of details and that works well for us.

edit: another thing that we do is careful discussion and planning of features (where we will sit together in a small group and discuss approaches) and, for more complex things, architecture decision records (similar to RFCs) that get reviewed before they are implemented.

</comment><comment><USER39> I'm sure pair programming is great for certain personality types, but please do not treat it as a panacea.

I've done pair programming enough now in my career to be able to say that it stifles me, interrupts my flow, kills my creativity, decreases my productivity, and leaves me exhausted at the end of the day. I don't necessarily think it's a bad idea for certain people, but I resent it when it becomes a blanket policy. In fact, I've left jobs that started requiring pair programming.

There's a reason why it's only received tepid acceptance in industry.

If it works for you, great. But don't force it on me.

</comment><comment><USER40> I find PP useful for complex tasks where two devs can bounce ideas off each other (preferably in a breakout room with a whiteboard).

For the majority of time, it's just not necessary. If the domain is well understood, the code base is familiar and the requirements are well defined, most units of work (stories, PRs, whatever) shouldn't need two people.

</comment><comment><USER41> I've worked at places in the past that forced pairing. One monitor and two keyboards style. It was painful; impossible to get into flow state.

All of your mental maps need to be communicated repeatedly to the other person - and it's slow. It's like the difference between L1 cache lookup and sending an email and waiting for a response.

</comment><comment><USER42> Here is a beautiful example. Using "screen" to switch every 5 minutes or so... [https://www.youtube.com/watch?v=yG- UaBJXZ80](https://www.youtube.com/watch?v=yG-UaBJXZ80)

</comment><comment><USER43> I fake it by doing a screen capture of myself working and then playing it back.

<comment><USER44> Who are you fooling with this screen capture? Your programming partner?

<comment><USER45> Perhaps by "fake it" they meant "emulate it" rather than "deceptively produce the appearance of it".

This would allow one to double check ones actions in order to notice and correct mistakes one made the first time?

</comment></comment></comment><comment><USER46> So while pair programming what happens with the never ending string of distracting Slack messages and diversions? It just seems completely impractical for the environments I've had experienced.

<comment><USER47> Having another person around helps me stay on task. I have to put off engaging with those distractions until a scheduled break. For that reason alone, pair programming can be more productive.

</comment></comment><comment><USER48> Anyone know of a good, open source, cross-platform video conferencing application?

<comment><USER49> Not exactly what you asked for, but I have had success with pair programming using VS Code Live Share[1] and Mumble for VoIP[2]. I don't think video is particularly important when you're both seeing the same screen and able to talk about it.

[1] [https://docs.microsoft.com/en- us/visualstudio/liveshare/use/...](https://docs.microsoft.com/en- us/visualstudio/liveshare/use/vscode)

[2] [https://www.mumble.info](https://www.mumble.info)

<comment><USER50> I've been trying this recently, but find it hard to debug issues because I can't see the output of the program being run or use a debugger on it. We got to the point of sending Dropbox links to screenshots of chrome with the devtools console open, which seems absurd. Maybe chrome remote debugging could help?

Maybe I'm just not good at writing code correctly the first time, but when I program I usually fix at least one error per compile/run. So I have trouble pair programming when eg the other person likes to write larger chunks of code before running/testing.

<comment><USER50> Edit: Completely missed that VS Live Share has a solution for this. Amending my complaint to be about the discoverability of the UX</comment></comment></comment></comment>


How Purism avoids Intel's Active Management Technology - <AUTHOR> https://puri.sm/learn/avoiding-intel-amt/ <comment><USER2> Clearly there's demand for an Intel product with these features absent from the platform controller hub.

I acknowledge that hardware products take years to develop, and they already have a lot on their plate.

Perhaps Intel doesn't care about consumer whims, but clearly there's demand from companies like Google.

I'm just generally surprised at the lack of public-facing responses from Intel's leadership around this and other security issues facing their platform. It all reads like lawyers trying to minimize their liability.

They're one of the most important technology platforms today. Everything besides cellphones runs on Intel.

Despite actually being a monopoly or duopoly, they don't have to be so stodgy. I want to love them for their profound impact these past few decades, but it's hard when it feels like they don't listen to their customers.

<comment><USER3> The remote access features are probably removed or disabled via microcode changes. As Purism referred to sourcing recent CPUs without vPro, they are either directly or indirectly getting those kind of vPro-disabled variants.

</comment></comment><comment><USER4> I've been hearing about Intel's Active Management Technology for years, but I'd like to see a demonstration of how an attack would work. I have an unused laptop with:

1\. an Intel CPU that supports the vPro feature set

2\. an Intel networking card

3\. the corporate version of the Intel Management Engine (Intel ME) binary (well, definitely, a corporate laptop that used to get updates, but how do I check for ME?)

Is there a website I can visit that can initiate a remote takeover (I'm consenting to it)? Why isn't this possible? What other step is required on my side to make it possible? Is it possible only through the physical ethernet connection? Why aren't we seeing wide scale exploits based on AMT?

<comment><USER5> Absence of evidence is not the evidence for absence.

If the backdoor exists you will need to know a secret to open it. Currently, the public obviously doesn't know this secret or the doors would be wide open for virtually anybody. Because we don't know the secret key, we cannot open them to prove that they exist. So we don't know for sure if the backdoors exist. But the way the IME is designed and handled makes it possible and plausible that backdoors could exist. It's up to Intel to prove that they don't exist.

<comment><USER6> >It's up to Intel to prove that they don't exist.

That seems a bit over the top to ask them to prove a negative.

<comment><USER7> Releasing the code would allow people to verify it.

<comment><USER8> Releasing the code would _help_ to make it more auditable.

</comment></comment></comment></comment></comment><comment><USER9> Purism just needs TrackPoint and thicker keyboards, and I can upgrade my stockpile of ThinkPads. :) [https://www.neilvandyke.org/coreboot/](https://www.neilvandyke.org/coreboot/)

<comment><USER10> The trackpoint is the single reason I never bought a Thinkpad.

<comment><USER11> It's certainly one of those "acquired tastes", though like with 3.5mm elimination, I don't understand the sheer vitriol against it by those who happen not to use it. Why do you care? If everything else in Thinkpad appealed to you, why would an eminently ignorable feature be such a HUGE ("single reason") deal breaker?

In my mind, either a) There are other reasons and this is a convenient conscious or subconscious scapegoat; or b) it's an extremely emotional decision, and as such certainly relevant to holder ("Whatever floats your boat!":) but not necessarily applicable or translatable to anybody else.

I'd be curious (genuinely!) to hear more - were you actually tempted by any Thinkpads in the past but rejected them due to trackpoint, and if so can you elaborate why - what use case did they prevent or what inconvenience did they cause? Thx muchly! :)

<comment><USER12> The trackpoint is ugly. It's a giant throwback pimple in the middle of the keyboard, which there's no way to get around looking at all the time. Thinkpads being ugly is kind of their thing, so it doesn't surprise me that lots of Thinkpad people don't mind it or even see it as a plus, but to me seeing a trackpoint is like seeing a floppy drive. I used one for years, and I'm really happy that trackpads have gotten good enough that I'll never need to use one again.

Edit: display notches are actually probably a better comparison. They're ugly and even though I don't use it I can't get rid of it except by using hardware designed not to have it.

<comment><USER13> I feel TrackPoint and Trackpad both present at the same time is ugly

But FWIW the inspiration for the red cap is from pickled plum in bento boxes[0] so

[0]: [https://images.app.goo.gl/Xf3kHjv9JVMdeXA77](https://images.app.goo.gl/Xf3kHjv9JVMdeXA77)

<comment><USER14> > But FWIW the inspiration for the red cap is from pickled plum in bento boxes

I get now why so many anime people love thinkpads.

<comment><USER13> lol you're downvoted but right. IBM had a lab to the west of Tokyo where lots of ThinkPads were said to have born there so not just people like them but same people make them.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> > _We choose Intel CPUs that do not have vPro_

The Wikipedia article they link about vPro says:

> _Intel vPro technology ... [includes] VT-x, VT-d..._

Does this mean that Purism hardware won't support virtualization extensions? Seems like that would be a big downside, and would make it a non-starter for a lot of people (including myself).

<comment><USER16> You have dig past the marketing labels and into the actual specs. Some CPUs have VT-x but not vPro

[https://ark.intel.com/content/www/us/en/ark/products/149091/...](https://ark.intel.com/content/www/us/en/ark/products/149091/intel- core-i7-8565u-processor-8m-cache-up-to-4-60-ghz.html)

<comment><USER17> where "some" means pretty much _all_ consumer CPUs.

<comment><USER12> That's absolutely not true, there are a ton of modern consumer CPUs with vpro. Here's a comparison of the 10500 through the 10900{,k}, all of which have vpro. [https://ark.intel.com/content/www/us/en/ark/compare.html?pro...](https://ark.intel.com/content/www/us/en/ark/compare.html?productIds=199316,199335,199311,199332,199273,199328,199277)

Here's the more complete list of Core processors which have vpro platform eligibility. It's quite long. [https://ark.intel.com/content/www/us/en/ark/search/featurefi...](https://ark.intel.com/content/www/us/en/ark/search/featurefilter.html?productType=873&0_VProTechnology=True&1_Filter- Family=122139)

</comment></comment></comment></comment><comment><USER18> Looking forward to AMD laptops with Coreboot support as well.

<comment><USER19> Probaly won`t happen since AMD have their own secret code which no one could neutralize yet.

<comment><USER20> Recent (1-2 years?) AMD BIOS supports disabling the Platform Security Processor (their ME equivalent).

I haven't been able to figure out what exactly this means, but it does seem to be disabled _after_ system initialization. Kind of like Intel's HAP bit, except user-settable.

<comment><USER17> Either like the HAP bit, or less — only disabling its visibility to the OS on the PCIe bus.

<comment><USER20> Yeah, I'm a little confused as to why they'd bother implementing and deploying this feature without even a cursory explanation of what it does...

<comment><USER13> Maybe it's literally classified

</comment></comment></comment></comment></comment></comment><comment><USER21> I hear a lot about disabling the management engines... what about activating them for yourself?

<comment><USER22> Your computer could run Linux or Doom even while it's off!

<comment><USER23> The idea of gaining control of the management hardware like this is really exciting. Can anyone here comment on whether it could plausibly happen? I'm guessing it would require leaks from Intel because otherwise whoever develops the capability would presumably keep it close to the vest or sell it for major $ right?

<comment><USER24> The ME is running Minix/x86 and presumably a vulnerability could be used to inject new code that isn't signed by Intel.

But what would you do with it? Why not just use the OS?

<comment><USER23> I can't put it into words well but it's like if I discovered a vestigial limb attached to my body. I'd want to try firing it up.

</comment></comment></comment></comment></comment><comment><USER25> What are the odds that the chips that don't feature AMT/ME don't have it physically as opposed to it just being crippled in firmware ? In which case if one is worried about government backdoors this should alleviate exactly zero concerns.

<comment><USER24> This topic is well understood so there's no need for "odds". All the chips have ME. AMT is a firmware feature that can be removed or not bought.

</comment></comment><comment><USER26> Another vector for attack is shipping. Do you trust that this won't be intercepted and "customized" on its way to your address from the factory?

<comment><USER27> They offer "anti-interdiction service"

[https://puri.sm/posts/anti-interdiction- services/](https://puri.sm/posts/anti-interdiction-services/)

From the site:

-Customized tamper-evident tape on the sealed plastic bag surrounding the laptop itself

-Customized tamper-evident tape on the internal, branded box

-Glitter nail polish covering the center (or all) screws on the bottom of the laptop

-Pictures of all of the above plus pictures of the inside of the laptop before sealing the bottom case

-All pictures sent to the customer out-of-band, signed by Purism and encrypted against the customer's GPG key

-All coordination occurring over GPG-protected email

</comment></comment><comment><USER28> (2017)

</comment><comment><USER29> "with the intention of reverse-engineering the remaining parts"

this line strikes me as odd. Don't OEMs normally have a contract with Intel (or someone that does) for licensing the motherboard design that would prevent them from doing this?

<comment><USER24> I have no idea what the contracts say, but Purism seems to be comfortable operating "outside the system" so maybe they just won't have any contract with Intel.

</comment></comment><comment><USER30> Disabling is not removing. People have found motherboards that should ostensibly not support vPro (e.g. Asus gaming motherboards) that do report vPro ME functionality.

There is no reason to believe the software switch is working, especially when even a system integrator can accidentally enable the features. If someone wants them on they turn on.

Purism sells snakeoil. Presenting their offerings as FOSS-compatible would be honest. Claiming additional security is not.

<comment><USER31> It's not possible to remove, or at least account for all behavior of, the ME entirely until the BUP part is reverse engineered. You can't take that part out yet and have a working CPU as far as I understand.

I'm surprised you didn't mention the FSP which is a binary blob from Intel required to be run by any boot firmware (UEFI, Coreboot, or whatever) very early in the platform initialization process (to my understanding, basically as soon as possible after the reset vector, in the PEI phase) before anything is useable.

Baby steps. Don't let perfect be the enemy of good. Success here could indicate to CPU vendors there are people who care about these things.

<comment><USER30> I know it isn't possible. Half measures are attractive short term but can serve to normalize failure, as is currently happening. Most people I know view Purism favorably and think it has actually made ME irrelevant. It hasn't, all the hardware is still there and can be enabled. You still are not the de facto owner of the machine.

<comment><USER31> > It hasn't, all the hardware is still there and can be enabled.

Can it be enabled by Intel?

A system that has ME installed with a NIC the ME can't access (non-Intel) seems like it makes the ME irrelevant via suffocation.

I'm not sure of the technical details of this board or if the ME can access non-Intel NICs.

<comment><USER32> Well, if ME was activated by the byte sequence PLEASE_ENABLE_ME_42 being present in RAM, which caused it to look for the Firefox / Chrome network stack in memory and use _that_ to send passwords to Intel…

Unlikely? Amazingly so. Technically possible? Yes.

</comment></comment></comment></comment></comment><comment><USER33> How I avoid Intel's Active Management Technology: I don't buy Intel.

Even neutered Intel seems unnecessarily risky.

<comment><USER34> Unfortunately the same business types who demanded such a ridiculous self-own as an integrated CPU-level backdoor also pressured AMD into shipping the same thing. And we know less about the AMD PSP than we do about Intel ME.

ARM is no better, either, at least in practice. Their relatively friendly licensing terms would allow a vendor willing to make their own silicon in volume to ship a no-TrustZone, no-Secure-Boot SOC. However, nobody does this. In fact, moving to ARM has traditionally been used as an excuse to lock out third-party operating systems and unlicensed software. (Remember Windows RT tablets?)

</comment></comment><comment> ur-whale Their claim demonstrate good itent, but the unfortunate truth is they have no way of proving or even knowing that it holds.

</comment><comment><USER35> Still no 16x10 screens. Welcome to the failbin.

<comment><USER36> A bit harsh, but sure, once you go 16:10 it's very hard to go back to 16:9 laptops.

<comment><USER37> I've been able to make the adjustment by buying something with a slightly larger display. A 13" 16:10 display is comparable to 14" 16:9. At 1080p/1200p you lose some vertical pixels and a very tiny amount of physical vertical length, but you gain horizontal pixels and length, along with potentially more ports.

This was my recent experience choosing between a new XPS 13 or a T14s amd. Side by side the screens weren't that different. Port selection, keyboard quality, and trackpoint availability were the tiebreakers in favor of the Thinkpad. (Didn't care much about the performance difference due to my light use case.)

<comment><USER36> I can't really stay productive on anything less than 15". Right now I'm currently enjoying this years lineup of 17" laptops whose body is basically what a 15" was some years ago. I do graphics and sound production aside from programming so I'm really enjoying the extreme screen-to-body ratios. Vapor chamber cooling is also a nice addition.

But the thing that really gets me is the 16:10 resolution, I could personally never go back after using it, it just _feels_ correct (to me).

<comment><USER37> >I can't really stay productive on anything less than 15".

Agreed. Without a dock/external monitor 13" and 14" are really not the sizes one should focus on for productivity, except in short bursts. 16:10 really makes an impact on displays smaller than 17". It took serious justification for me to give up the XPS 13" 16:10 display in favor of a 16:9 14" laptop. I absolutely would not have chosen a 13" 16:9 display because of how big of a net loss it is.</comment></comment></comment></comment></comment>


Ask HN: How much should you spend on a great domain name?  - <AUTHOR>

For a startup or individual looking to launch a new site, how much are you willing to spend on the domain name? $10? $100? $1000? More? <comment><USER2> It's best to prove there's market demand for your product before investing in the domain name. A great domain name can do a _lot_ for a service, but it's not going to make a site successful if the site has little else going for it. Also, if you discover that you need to pivot your offering, you don't want to have a domain name that locks you in to your old hypothesis.

If you're looking for a number, if I really believe a domain has potential and it's currently available, I'll drop the $10 to snag the domain. If the domain is currently held by someone else and the expiration is coming up, I mark it on my calendar and check back later. If the domain is being held, has been held for a while, and doesn't look like it's coming up for air in the near term, I move on.

<comment><USER3> That's really solid advice. When I began my startup I had a domain that was really, really limited in scope, it took just 6 months for me to realize what a terrible mistake that is and to start sniffing around for something more versatile.

To answer the OP: unless you're after something ridiculous like word.com you should pay $8 - $10, domains aren't a brand until you make them one.

</comment></comment><comment><USER4> If SEO is going to part of your strategy and it's an exact match domain, then you could reasonably spend 4, 5, or even 6 figures. Internships.com is a good example of an expensive domain that was bought for a startup - here's a Mixergy interview with the founder that tells part of the story: <http://mixergy.com/robin-richards-interview/>

I also wonder why startups never seem to consider buying existing sites. Yes, your app is different from what's already there, but you could stand to gain a lot from the existing content, traffic, and incoming links that the site already has.

</comment><comment><USER5> I bought <http://properprocess.com> for $900 from squatters because it was an exact match. I don't think I'd pay much more than that.

I was going to go with <http://properprocesshq.com> (which I also own) until I spoke with some clients that use our Basecamp and Campfire. They say its near impossible for them to remember where to go. They know its (someword).campfire(something).com but have difficulty remembering someword and something if they ever need to access from home... Right then and there I bit the bullet and paid up.

</comment><comment><USER6> For a startup or an individual, $10 (maybe $30 for a fancy TLD), minus coupon code. I'd wait until you have mad profits, or funding to spend anything more than that.

Chances are you'll re-brand or pivot between now and then anyway.

</comment><comment><USER7> $7.49 for 1 year. Just prefix it with a "get" or append it with an "it" or "hq" etc.. be creative. You can usually "get" any domain you want this way.

Successful examples: GetDropbox.com and Highrisehq.com.

<comment><USER8> Not sure why this comment was originally downvoted because its very good advice.

Your domain is your brand.

Your brand is whatever you make it into.

Who would have thought that "Apple" would be synonymous with high-end laptop designs and innovative products?

Would "eBay" be your first thought when looking for an online auction?

Is "craigslist" the word that conjures up hookers and apartments (or now, just apartments).

And so on.

</comment></comment><comment><USER9> The short answer: it depends. For a personal one-off without any chance of profit? $10 (or whatever a 1-yr reg is). For anything else, it would be some spectrum depending on how profitable/viable the idea was, balanced against how important the domain name in question might realistically be to success.

But usually, it seems that the domain matters far less than just about everything else (so long as it is usable, reasonable length, etc).

</comment><comment><USER10> There are plenty of good domain names you can build into great brand names once you build an awesome service. You could pick up a potentially awesome domain name right now for only $4.95 at NetFirms. Just use promo code PROMO495. And no I am not affiliated with NetFirms in any way. Just thought I would help. :)

</comment><comment><USER11> My experience was that if the name we wanted was taken, it is worth spending time thinking of another catchy name instead of spending extra bucks. At the end, it's the quality of your service that contribute to your success, rather than your domain name.

</comment><comment><USER8> $12.50. Maybe less.</comment>


Ask HN: Any GUI designers like Blend but for C++? - <AUTHOR> Something that's actually cross-platform(without having to resemble the OSs controls) and intuitive/easy to use as Blend? <comment><USER2> QtDesigner/QtCreator are in my mind easier to use than Blend. And they are cross platform.</comment>


0 XP: The Zynga Counterrevolution - <AUTHOR> http://www.mediumdifficulty.com/2012/07/11/0-xp-the-zynga-counterrevolution/ <comment><USER3> The article inaccurately represents TF2: you _can_ buy weapons for a few dollars (not 10), but random drops are common enough that even a new player can fairly easily trade them for any weapon he wants, and eventually you'll end up with most of the weapons in the game with no effort, so you never really need to pay. (I've made a point of never buying weapons simply because I think trading is fun.) High-end items like hats _are_ highly priced in trading, making them more attractive to buy, and the rarest ones are worth hundreds of dollars, but they are (with minor exceptions that are around for historical reasons) purely cosmetic.

</comment><comment><USER4> I would really like to play a Role Playing Game without any kind of XP mechanic. I think it'd be really cool to play through an epic storyline that my character came through about as strong at the end as it was at the beginning.

<comment><USER5> I want to make an RPG with a reverse XP mechanic. You start the game at level 99 and a full suite of skills, and they disappear as you progress. You fight the final boss with nothing but a few HP, your wits, and a wooden sword.

<comment><USER6> So at the start of the game, when you're new, your battles are about choosing optimally between 20 different powers. And at the end, with maximum experience, the battle is about pressing "sword attack" repeatedly until the enemy dies.

</comment></comment></comment><comment><AUTHOR> "There may be no shortage of commentators ready to decry pay-to-win grindfests as 'evil' design, but what's still needed is a code of ethical game mechanics that provides a yardstick to measure which games and which game designers can be trusted not to unduly manipulate their audience."

Couldn't agree more. It's easier than ever to get games in the hands of eager/bored people via mobile and Facebook, and companies are thus capitalizing on these users by building shallow experiences while optimizing for revenues _instead of_ fun.

Additionally, I think more game devs need to speak out against the "evil" design. I hear a lot of tech-savvy people talking about this stuff verbally, but is the common person really aware of the amount of time that is spent trying to engineer them into being addicted? I realize that as developers, we don't necessarily benefit from spending a lot more time building something just to end up making less money, but the line needs to be drawn somewhere.

<comment><USER7> > It's easier than ever to get games in the hands of eager/bored people via > mobile and Facebook, and companies are thus capitalizing on these users by > building shallow experiences while optimizing for revenues instead of fun.

Change some of the nouns and that describes most capitalist consumerism. Entertainment, cloths, cars, starbucks et al, etc. (rest of it is based on fear/shame).

The root cause is much, much deeper than Zynga or Facebook.

<comment><USER8> "Creating a need" is certainly an often employed strategy.

I love technology. I'm not very good, I'm not very clever or a great coder, but I'm still more geeky than non-geeks. Now, There are plenty of people who are not deeply fascinated with it, but use technology to make their lives easier.

Why can't we just built good things for them, and everybody can go home knowing they haven't been ripping off or been ripped off -- ??

This focus on profit and fads, it's doing my head in. When I was a kid I was ashamed because computers weren't cool, now I'm ashamed because they _are_ , and because of what is done with them without blinking. They're just tools, but he haven't improved much, so we just use them to do BS faster. Come on, there has to be more. /rant

</comment></comment></comment><comment><USER9> Wow, Zynga seems to be proving a Poe's Law for videogame design. Cow Clicker seemed like funny satire, but it can no longer compete with this apparently _earnest_ game design, which is literally a slot machine game, except that after inserting your "Bucket of Coins, $19.99", you don't even have a remote chance of getting it back.

</comment><comment><USER10> Zynga aren't really designing games, they're designing drugs.

<comment><USER11> But what's the difference really? Zynga games vs. non-Zynga games, slot machines vs. WoW, and games vs drugs?

All of these things are designed to let you go somewhere else for a while. I partake in all of them, but also spend time volunteering and going outside.

I don't get the author's argument about how much better he is than slot machine players because he spends his free time using more intricate games than they do. Not to mention he gets about half his assumptions wrong, as pointed out in this thread. As in, which casinos charge money for drinks to anyone who's playing a game?

<comment><USER12> > _"As in, which casinos charge money for drinks to anyone who's playing a > game?"_

Every casino I've been to, ever.

<comment><USER13> I went to Vegas once. One night I hit a few casinos. I drank a fair amount, and didn't pay for one.

<comment><USER12> I think Vegas is the exception, to be honest. And it's ruined my perception! Before I was old enough to visit the casinos, I assumed they all served free drinks. I've never experienced it (though 90% of my trips are within Canada).

</comment></comment></comment></comment></comment><comment><USER14> Nitpick alert: Minecraft lets you "manually adjust the number of farmable resources in your inventory"? I wasn't aware cheating tools should be factored into this game ethic. Unless something has radically changed since I last played it?

Honestly, I can only _hope_ that this is accurate, and that the downward trends for slot machine games is real and will continue. It's ruining gaming and _fun_ in general, and replacing it with causing - and then satisfying - <USER2> addiction.

I remain unconvinced that it will actually _happen_ , though. This current crop of Zyngaville gamers may be tiring of the shenanigans, but I expect it to merely be replaced with something equally draining that people aren't desensitized to, hooking the next generation. We're still addicted to the TV, last time I looked. If anything, games provide _more_ opportunity than one-way media, I would expect them to strictly out-last TV in lifespan and damage.

<comment><USER15> If you play on a server that you control, it is trivial to 'give' resources to anyone in the game. You type 'give <username> <item_id> <quantity>' and that resource will drop in front of the desired player.

I find that this instant gratification quickly spoils survival mode. You can give yourself thousands of diamonds without the thrill and danger of mining them the real way. Inevitably I just give myself tons of TNT and blow up the world.

Similarly, if you play chess against a stupid computer, it gets boring.

</comment></comment><comment><USER16> I doubt that Zynga's decline has anything to do with their flawed mechanics (I'd argue that it's flawed too), and everything with Facebook effectively killing it (specifically, 'Requests') in feed.

There's no feedback loop in there anymore for Zynga's cows.</comment>


Keyboard Not Found. Press F1 to Continue. Why? - <AUTHOR> https://alphahole.net/?p=1011 <comment><USER2> This is spectacularly badly written, it's truly bafflingly bad.</comment>


Why Google Health Failed—It's because of how Doctors are reimbursed - <AUTHOR> http://techcrunch.com/2011/06/26/why-google-really-failed-money/

<comment><USER2> Any competent analysis which relies on the US system as the model for healthcare has to address the non-compliance of Google Health with HIPAA and the inability of healthcare providers to enter data into an insecure system.

That's not to say that reimbursement is not at the root of many of the unique problems of US healthcare. But nevertheless, Google Health was fatally flawed from inception.

[<http://en.wikipedia.org/wiki/Hipaa>]

<comment><USER3> <https://www.google.com/intl/en-US/health/hipaa.html>

</comment></comment><comment><USER4> Google "failed" because they didn't have to succeed. In terms of corporate culture Google makes products that do well with the general public, but anything with health is both very niche and mission critical. To really crack that market takes a singular focus -- and that's not just creating the product but dealing with things like lobbying and sales. I'll grant you that the folks at Google are very bright, but very bright doesn't mean you can do anything. And I suspect that this was just a bit too much of a stretch for them (unless they purchased a company that was already in that space).

</comment><comment><USER5> The author is correct in suggesting that for any such system to work, there has to be involvement of health care providers and, without being reimbursed, they are not likely to get involved.

But I really feel Google Health failed because there simply wasn't enough consumer involvement. It could have continued as a system that allowed patients to monitor their own medication use, blood sugar, blood pressure, etc. and analyze it for them and provide information for them to take to their physician - but that never happened. By and large, most consumers of healthcare in this country are the elderly, and a lot of the current generation is not going to go online and store and update all their healthcare data.

I do some work in the long term care setting and recently I saw an older patient in this setting get an iPad. Some of the facilities have started talking about implementing wifi, a few already have because gradually some patients are beginning to demand it. When you see this becoming more widespread, you'll know there's a paradigm shift taking place, and that's when you'll see things like Google Health, or Microsoft Health Vault or Avado really start taking off.

</comment><comment><USER6> I don't think the problem with Google Health was really money or lack of reimbursement. My employer OptumInsight has software to push out copies of medical data to personal health record (PHR) systems within the context of a larger health information exchange (HIE). So if the community has an HIE in place then the data just flows (almost) automatically after the patient has signed up with a supported PHR: it doesn't cost the physicians any more. I think our competitors and even stand-alone electronic health record vendors have similar capabilities.

I think the real problem with Google Health is that they just didn't try. After the initial launch there were minimal resources devoted to it. Their data model was obsolete from the beginning. And they could only accept data in Continuity of Care Record (CCR) format which is itself an obsolete and poorly supported standard, now supplanted by various specializations of HL7 CDA. Those were fixable problems but would have required a lot of work.

</comment><comment><USER7> This post is entirely self serving and misses a key point: Why would I want the world's largest advertising company to have access to my healthcare data?!

<comment><USER3> The answer is, supposedly, data portability, which is a pain in the ass from hospital to hospital, or even doctor to doctor in the same hospital system. My wife, a nurse, has horror stories about how they sometimes have to fax info to other departments, just to have it re-entered into the same software.

Also, Google doesn't advertise on their Health product.

<comment><USER8> Just a silly story: some hospitals here in Norway print out patient- information, get an ambulance (an ambulance!) to drive it to the other hospital, and a nurse will type it into the other system (45 minutes she says it takes her). 2011 AD. <http://www.nrk.no/nett-tv/indeks/250622/>

</comment></comment></comment><comment><USER9> Most doctors work for a big healthcare system these days. For better or worse, those systems are already using Epic, or something like it.</comment>


You can now send and receive money through gmail - <AUTHOR> https://yanado.com/blog/breaking-you-can-now-send-and-receive-money-through-gmail/ <comment><USER2> Sounds like this may be new in the UK, but it's been available in the US for a long time[1]. May want to update the title.

[1] [http://gmailblog.blogspot.com/2013/05/send-money-to- friends-...](http://gmailblog.blogspot.com/2013/05/send-money-to-friends-with- gmail-and.html)</comment>


Show HN: A smart contract for Super Bowl Ethereum bets - <AUTHOR> http://CryptoBowl.co <comment><USER2> It is trivial to make this contract forfeit money so no one can withdraw anything including owners.

You really need professional advice and audit.

<comment><AUTHOR> And how would you go about doing that? Can't think of how you would go about that, we did search around a lot for security advice

<comment><USER2> I emailed you on gmail posted on the web site.

Let's chat.</comment></comment></comment>


Go 1.13 Default Module Proxy Privacy - <AUTHOR> https://codeengineered.com/blog/2019/go-mod-proxy-psa/ <comment><USER2> Yarn proxies requests through Facebook's servers. It doesn't have a privacy policy, but they were thoughtful enough to have a code of conduct. The Java package repo is in the In-Q-Tel portfolio, which does funding for a certain intelligence agency. Microsoft compiler used to add telemetry around main. If anything, Google is late to the party.

</comment><comment><USER3> Mods, can we link to the linked article [0] instead of a tweet pointing to it with nothing added?

[0]: [https://codeengineered.com/blog/2019/go-mod-proxy- psa/](https://codeengineered.com/blog/2019/go-mod-proxy-psa/)

</comment><comment><USER4> Golang, not Goland.

<comment><USER5> Clicked the link cursing out JetBrains, closed the link cursing out Google.</comment></comment>


[ask] have you used Heroku? - <AUTHOR>

We are thinking about using http://heroku.com/. Anybody has any experience with them ? <comment><USER2> I have limited experience with Heroku, tested the beta for a bit. For small/development apps I say you can't go wrong. I don't know anybody running production apps on Heroku yet, but it wouldn't surprise me if they are.

The Heroku guys are friendly and competent. If you don't have a dev environment, they provide one for you. If you have your own, their gem makes it cake to sync your changes to their servers.

My only beef would be that they have a custom Rails install that you're forced to use, so you lose a little flexibility, but all in all that's not a major hold-up.</comment>


Ask HN: Good pixel artists/icon designers? - <AUTHOR>

I'm working on a new project and I'll be in need of some good "small" art, these will be similar to "digg" buttons that also contain the count of votes up/down and possibly views.
These icons will range from standard button sized to small (ie, 16 pixels tall, X wide) and so I'm looking for someone who's really good at pixel art/icons to really make them look attractive.
Anyone have any suggestions? <comment><USER2> I do a lot if icon design. Drop me an email if you're interested. My portfolio/site is off line at the moment, but I'll be glad to send you some samples. - email@example.com

</comment><comment><USER3> <http://99designs.com/buttons-icons></comment>


America's only water sommelier justifies his restaurant's 44-page water menu - <AUTHOR> https://qz.com/300351/inside-the-44-page-menu-of-americas-only-water-sommelier/ <comment><USER2> Quoting W.C.Fields... I never drink water because of the disgusting things that fish do in it.

<comment><USER3> I suppose you might as well stop breathing as well.

</comment></comment><comment><USER4> What a dickhead.</comment>


Top Node.js Frameworks for web developers 2018 - <AUTHOR> https://www.codemeals.com/node-js-tutorials/best-node-js-frameworks-for-web-developers/ <comment><USER2> Not sure if the person who posted this is the author of the article, however, it says

>Total.js is the last in our Node.js web framework comparison list; however, it also deserves our attention.

Yet, Total.js is the second framework mentioned with many frameworks following it.</comment>


Math behind Dope Wars drug trading for profit - <AUTHOR> http://jmtame.posterous.com/math-behind-dope-wars-drug-selling-for-profit

<comment><USER2> I used to play Drug Wars on my calculator in high school. It was a really fun game, and I'm surprised it hasn't made it into the iPhone app store yet. Maybe because it's all about drugs.

I was thinking about this a few months ago. You could adapt the game to Color Wars--it'd be just as fun with the added bonus of way cooler graphics. Imagine the context is a world devoid of bright colors, and each drug is instead a color. It could look something like the food fight in Hook.

</comment><comment><USER3> I'm a little surprised such rudimentary math made it to the front page of Hacker News (at #2 even). Maybe it's time to pick a FP language and make posts about it all day, to scare some people away?

<comment><USER4> I agree, this math is terrible. Just. Terrible.

Please no one believe this post, it uses dubious statistics.

<comment><AUTHOR> it depends on your assumptions. i updated some of the numbers, but if you have suggestions definitely feel free to add a comment.

<comment><USER4> Sorry to be so harsh, but this analysis is really lacking.

If you want to learn more about how to hedge bets, read about things like moment theory or the Kelly criterion.

Also, taking a measure like variance would be much more meaningful than just the spread of the payoff.

</comment></comment></comment></comment><comment><USER5> Plus with coke, the buzz is fairly short compared to the other listed drugs so your users will be wanting more sooner.

<comment><AUTHOR> i think a more realistic algorithm would detect how much coke is sold in a city, increase the demand+price appropriately based on some type of addiction multiplier, as well as increase the amount of police.

</comment></comment><comment><USER6> There are some inaccuracies when it comes to the relative drug prices. They got the general picture right (coke most expensive, heroin in between, weed on the bottom) but some price comparisons are a bit inaccurate (shrooms < weed).

</comment><comment><USER7> I used to play that game on my Handspring all the time. Geex I feel old suddenly.

</comment><comment><USER8> I thought drug dealing cost money?

Isn't that why they have to subsidize it with pirate videos - at least thats what the ad at the cinema said,</comment>


A Quine in Clojure - <AUTHOR> http://jng.imagine27.com/articles/2009-09-18-203946_clojure_quine.html

<comment><USER2> This is a reimplementation of a Scheme quine. It is slightly more verbose than the Scheme version from wikipedia ([http://en.wikipedia.org/wiki/Quine_(computing)#Scheme_.28als...](http://en.wikipedia.org/wiki/Quine_\(computing\)#Scheme_.28also_valid_Common_Lisp.29)) because 'quote x is expanded to (quote quote) x. Contrariwise, lisps may contract (quote quote) to 'quote, which is, for example, what Allegro CL 8.1 is doing.

According to <http://www.nyx.net/~gthompso/self_lisp.txt>, the original implementation is attributed to Chris Hruska. Other lisp implementations mentioned there tend to expand to clojure.core/seq and clojure.core/list in Clojure; expansions usually work as quines in Clojure. This is an easy exercise. :-)

</comment><comment><USER3> A reanimated zombie corpse of a dream that prints itself.</comment>